/* t1487u: CSS da data de nascimento (3 selects) - antes inline em includes/cv2-address-form.php (t1474u). */
.cv2-field--bday { padding: 10px 12px 10px !important; }
.cv2-field--bday .cv2-bday-hint { margin: 0 0 8px !important; font-size: 12px; line-height: 1.35; }
.cv2-dob__legend { font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--cv2-ink, #1b1519); margin: 0 0 8px; }
.cv2-dob { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.45fr) minmax(0, 1fr); gap: 8px; }
.cv2-dob[data-dob-en] { grid-template-columns: minmax(0, 1.45fr) minmax(0, .8fr) minmax(0, 1fr); }
.cv2-dob > .cv2-field.cv2-dob__part { margin: 0 !important; min-width: 0; width: auto !important; max-width: none !important; flex: none !important; }
.cv2-dob > .cv2-dob__part > select { width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box; }
.cv2-dob__err { margin: 6px 0 0; font-size: 12.5px; line-height: 1.35; color: #b42318; }
.cv2-dob__err[hidden] { display: none; }
.cv2-dob select[aria-invalid='true'] { border-color: #b42318 !important; }
@media (max-width: 380px) { .cv2-dob { gap: 6px; } }
#panel-signup .cv2-dob > .cv2-dob__part > .floatl__label { margin: 0 0 4px !important; font-size: 12px !important; }
#panel-signup .cv2-dob > .cv2-dob__part > select.floatl__input { padding: 10px 8px !important; font-size: 15px; }

/* t1534u: checkout Envio - bloco opcional (prototipo) */
.cv2-optcard{margin:0;background:#fff;border:1px solid #ebe5de;border-radius:20px;padding:24px;}
.cv2-optsec{margin-top:24px;}
.cv2-optcard[open]{display:flex;flex-direction:column;gap:24px;}
.cv2-optcard[open]>summary{margin-bottom:-8px;}
.cv2-optcard>summary{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;cursor:pointer;list-style:none;}
.cv2-optcard>summary::-webkit-details-marker{display:none;}
.cv2-opt__head{display:flex;flex-direction:column;gap:2px;}
.cv2-opt__title{font-size:18px;font-weight:600;color:#7a1c3c;}
.cv2-opt__sub{font-size:14px;color:#8a8286;}
.cv2-opt__chev{flex:0 0 auto;width:10px;height:10px;border-left:2px solid #7a1c3c;border-top:2px solid #7a1c3c;transform:rotate(225deg);margin-top:6px;transition:transform .15s;}
.cv2-optcard[open] .cv2-opt__chev{transform:rotate(45deg);}
.cv2-optcard .cv2-opt__block,.cv2-optcard__dob{display:flex;flex-direction:column;gap:10px;margin:0;}
.cv2-optcard .cv2-opt__label{font-size:14px;font-weight:500;color:#1f1a1c;}
.cv2-opt__lblwrap{display:flex;flex-direction:column;gap:2px;}
.cv2-opt__help{font-size:13px;color:#8a8286;}
.cv2-pills{display:flex;flex-wrap:wrap;gap:8px;}
.cv2-pill{position:relative;margin:0;cursor:pointer;}
.cv2-pill__in{position:absolute;opacity:0;width:1px;height:1px;margin:0;}
.cv2-pill__txt{display:inline-block;font-size:15px;padding:10px 16px;border-radius:999px;border:1px solid #e3ddd6;background:#fff;color:#1f1a1c;}
.cv2-pill__in:checked+.cv2-pill__txt{background:#7a1c3c;border-color:#7a1c3c;color:#fff;}
.cv2-pill__in:focus-visible+.cv2-pill__txt{outline:2px solid #7a1c3c;outline-offset:2px;}
.cv2-optcard .cv2-dob{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:8px;}
.cv2-optcard .cv2-dob select{color:#1f1a1c;font-size:15px;padding:12px;border:1px solid #e3ddd6;border-radius:12px;background:#fff;width:100%;height:auto;}
.cv2-tgls{border-top:1px solid #f0ebe5;margin-top:0;}
.cv2-tgl:last-child{padding-bottom:0;}
.cv2-tgl{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #f0ebe5;margin:0;cursor:pointer;position:relative;}
.cv2-tgl:last-child{border-bottom:0;}
.cv2-tgl__txt{display:flex;flex-direction:column;gap:2px;}
.cv2-tgl__t{font-size:15px;font-weight:500;color:#1f1a1c;}
.cv2-tgl__d{font-size:13px;color:#8a8286;}
.cv2-tgl__in{position:absolute;opacity:0;width:1px;height:1px;margin:0;right:0;}
.cv2-tgl__track{flex:0 0 auto;position:relative;width:44px;height:26px;border-radius:999px;background:#e3ddd6;transition:background .15s;}
.cv2-tgl__track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s;}
.cv2-tgl__in:checked+.cv2-tgl__track{background:#7a1c3c;}
.cv2-tgl__in:checked+.cv2-tgl__track::after{left:21px;}
.cv2-tgl__in:focus-visible+.cv2-tgl__track{outline:2px solid #7a1c3c;outline-offset:2px;}

/* t1539u: NIF + Telemovel 50/50 (mobile e desktop); ajuda do telemovel por baixo do proprio campo */
.checkout-modern.checkout-v2 .cv2-grid.cv2-grid--nif-tel{flex-direction:row;align-items:flex-start;}
.checkout-modern.checkout-v2 .cv2-grid--nif-tel>.cv2-field{flex:1 1 0;min-width:0;}
.checkout-modern.checkout-v2 .cv2-field--nome{margin-bottom:var(--sp-4,16px);}
/* t1539u: escolha da transportadora dentro do cartao Envio, a seguir ao Pais */
#delivery_methods #cv2-shipmethod-wrap{margin:16px 0;} /* t1543u: sem titulo, espaco normal entre campos a seguir ao Pais */
/* t1541u: o cartao opcional saiu do Envio e herdava o contexto mobile do form (text-align:center, .floatl_form select margin-top:10px, select.floatl__input padding/height !important). Componente define o seu proprio alinhamento e medidas. */
.checkout-modern.checkout-v2 .cv2-optcard{text-align:left;}
.checkout-modern.checkout-v2 .cv2-optcard[open]{display:flex;flex-direction:column;gap:24px;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-opt__head,.checkout-modern.checkout-v2 .cv2-optcard .cv2-opt__label,.checkout-modern.checkout-v2 .cv2-optcard .cv2-dob__legend{text-align:left;align-self:stretch;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-pills{justify-content:flex-start;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-dob__part{padding:0 !important;margin:0 !important;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-dob select.floatl__input{margin:0 !important;height:48px !important;line-height:normal !important;padding:0 32px 0 12px !important;border:1px solid #e3ddd6 !important;border-radius:12px !important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237d757a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center !important;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-tgls{padding-top:8px;margin-top:0;}

/* t1544u: ajuda do telemovel numa linha a 100% com icone (i) */
.cv2-tel-hint{display:flex;align-items:center;gap:6px;width:100%;margin:8px 0 0;font-size:12.5px;line-height:1.4;color:#7d757a;text-align:left;}
.cv2-tel-hint__ico{flex:none;color:#9a9297;}

/* t1547u: causa do «colado» = a regra legada .cv2-field--sexo{flex:1 1 100%} (checkout-modern.css) encolhia o bloco no flex do cartao; a classe saiu do cartao e os filhos nao encolhem */
.checkout-modern.checkout-v2 .cv2-optcard[open]>*{flex:none;}
/* Dia/Mes/Ano: rotulo pequeno em cima dentro da caixa, como os outros campos */
.checkout-modern.checkout-v2 .cv2-optcard .cv2-dob__part{position:relative;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-dob__part>.floatl__label{position:absolute;top:6px;left:13px;margin:0;font-size:11.5px;line-height:1.2;font-weight:500;color:#7d757a;pointer-events:none;z-index:1;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-dob select.floatl__input{height:52px !important;padding:18px 30px 2px 12px !important;}
.checkout-modern.checkout-v2 .cv2-optcard .cv2-tgls{padding-top:16px;}

/* t1551u: caixas info/OBS do painel CTT com texto auxiliar (14px) e icone proporcional */
.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-note,.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-obs{padding:12px 14px;gap:10px;}
.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-note>div,.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-obs>div,.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-morelink{font-size:14px;line-height:1.45;}
.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-noteicon{flex:0 0 32px;width:32px;height:32px;}
.checkout-modern.checkout-v2 #delivery_api_output .cv2-ctt-noteicon svg{width:17px;height:17px;}
/* t1551u: espaco normal entre a escolha do envio (e o painel CTT) e o Nome; sem escolha no DOM nao ha margem */
.checkout-modern.checkout-v2 #delivery_methods .cv3-choices{margin-bottom:16px;}

/* t1552u: causa real do espacamento: o cartao e um <details>; em Safari/iOS (e Chrome < 131) display:flex + gap no <details>
   nao se aplica aos filhos (o conteudo fica num slot interno), por isso Sexo/Data/divisor ficavam colados. Espacos passam a margens explicitas. */
.checkout-modern.checkout-v2 .cv2-optcard[open]{display:block;}
.checkout-modern.checkout-v2 .cv2-optcard[open]>summary{margin-bottom:0;}
.checkout-modern.checkout-v2 .cv2-optcard>.cv2-opt__block--sexo{margin-top:16px;}
.checkout-modern.checkout-v2 .cv2-optcard>.cv2-optcard__dob{margin-top:24px;}
.checkout-modern.checkout-v2 .cv2-optcard>.cv2-tgls{margin-top:24px;}
/* t1552u: badge de preferencias preenchidas */
.cv2-optcard>summary .cv2-opt__cnt{flex:0 0 auto;margin-left:auto;min-width:24px;height:24px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:#f6eef1;color:#7a1c3c;font-size:12.5px;font-weight:700;line-height:24px;text-align:center;}
.cv2-optcard>summary .cv2-opt__cnt+.cv2-opt__chev{margin-left:-4px;margin-top:7px;}
/* t1555u: divisor -> «Newsletter» igual ao divisor -> «Newsletter Festas Swing» (padding 14px do .cv2-tgl) */
.checkout-modern.checkout-v2 .cv2-optcard>.cv2-tgls{padding-top:0;}
