/* Calculadora y ventanas de Tu Seguro Dental.
   Solo estructura: colores, tipografías y esquinas vienen de los controles del widget en Elementor
   (variables --tsd-*). Los valores de abajo son el respaldo si un control queda vacío. */

.tsd-root{--tsd-ink:#24456A;--tsd-ink-2:#5B7188;--tsd-blue:#1E63B5;--tsd-blue-d:#164E91;--tsd-ice:#EAF3FB;--tsd-ice-2:#D6E6F5;--tsd-mint:#14A38B;--tsd-mint-bg:#E3F5F1;--tsd-on-dark:#B9CDE2;--tsd-card:#fff;--tsd-r-lg:28px;--tsd-r-md:16px;--tsd-r-sm:10px;--tsd-r-btn:999px;color:var(--tsd-ink);font-variant-numeric:tabular-nums}
.tsd-root *{box-sizing:border-box}

/* Tarjeta */
.tsd-calc{background:var(--tsd-card);border-radius:var(--tsd-r-lg);overflow:hidden;scroll-margin-top:100px}
.tsd-calc-head{padding:24px 28px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.tsd-root h2,.tsd-root h3{color:var(--tsd-ink);margin:0;line-height:1.1}
.tsd-calc-head h2{font-size:26px}
.tsd-no-data{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--tsd-ink-2)}
.tsd-no-data svg{width:16px;height:16px;color:var(--tsd-mint);flex:none}
.tsd-calc-body{padding:16px 28px 4px}
.tsd-counters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tsd-count{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--tsd-ice-2);border-radius:var(--tsd-r-md)}
.tsd-count b{display:block;font-weight:600;font-size:16px;line-height:1.3}
.tsd-count span{font-size:13.5px;color:var(--tsd-ink-2);line-height:1.4;display:block;margin-top:4px}
.tsd-stepper{display:flex;align-items:center;align-self:flex-start;border:1.5px solid var(--tsd-ice-2);border-radius:999px;padding:4px}
.tsd-root .tsd-stepper button{width:40px;height:40px;min-height:0;border-radius:50%;border:0;background:var(--tsd-ice);color:var(--tsd-ink);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;box-shadow:none;text-transform:none}
.tsd-root .tsd-stepper button:hover,.tsd-root .tsd-stepper button:focus{background:var(--tsd-ice-2);color:var(--tsd-ink)}
.tsd-root .tsd-stepper button:disabled{opacity:.35;cursor:default}
.tsd-stepper output{width:44px;text-align:center;font-size:22px;font-weight:600}
.tsd-people{display:flex;flex-wrap:wrap;gap:6px;padding:14px 0 0;min-height:58px}
.tsd-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border-radius:15px;font-size:11.5px;line-height:1.15;animation:tsd-pop .22s ease-out}
.tsd-chip svg{width:20px;height:20px;margin-bottom:2px}
.tsd-chip.adult,.tsd-chip.kid-pay{background:var(--tsd-ice);color:var(--tsd-ink)}
.tsd-chip.kid{background:var(--tsd-mint-bg);color:var(--tsd-mint);font-weight:700}
@keyframes tsd-pop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
.tsd-people-empty{color:var(--tsd-ink-2);font-size:14.5px;align-self:center}
.tsd-period{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--tsd-ice);border-radius:14px;padding:4px;margin:14px 0 4px}
.tsd-period input{position:absolute;opacity:0;pointer-events:none}
.tsd-period label{text-align:center;padding:10px 4px;border-radius:11px;cursor:pointer;font-size:14px;font-weight:600;color:var(--tsd-ink-2);line-height:1.2;margin:0}
.tsd-period label small{display:block;font-weight:600;font-size:12px;color:var(--tsd-mint);margin-top:2px}
.tsd-period input:checked+label{background:var(--tsd-card);color:var(--tsd-ink);box-shadow:0 1px 3px rgba(15,43,70,.15)}
.tsd-period input:focus-visible+label{outline:3px solid var(--tsd-blue);outline-offset:2px}
.tsd-result{background:var(--tsd-ink);color:#fff;padding:22px 28px 24px;margin-top:14px}
.tsd-result-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.tsd-price{font-weight:700;font-size:50px;letter-spacing:-.04em;line-height:1;color:#fff}
.tsd-price small{font-size:.4em;font-weight:600;letter-spacing:0;margin-left:4px;color:var(--tsd-on-dark)}
.tsd-result-sub{font-size:14.5px;color:var(--tsd-on-dark);text-align:right;line-height:1.5}
.tsd-result-sub b{color:#fff;font-weight:600}
.tsd-breakdown{font-size:14.5px;color:var(--tsd-on-dark);margin:10px 0 0;min-height:22px}
.tsd-actions{display:grid;gap:10px;margin-top:16px}
.tsd-actions-2{display:grid;grid-template-columns:1fr;gap:10px}
.tsd-fine{font-size:12px;color:var(--tsd-on-dark);opacity:.85;line-height:1.5;margin:14px 0 0}
.tsd-fine-d{margin:14px 0 0}
.tsd-fine-d summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:13px;color:var(--tsd-on-dark)}
.tsd-fine-d summary::-webkit-details-marker{display:none}
.tsd-fine-d summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.tsd-fine-d[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.tsd-fine-d .tsd-fine{margin-top:8px}
/* Acabado: tarjeta de cristal (control del widget) */
.tsd-cristal-yes .tsd-calc{background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.75);box-shadow:0 30px 60px -32px rgba(15,43,70,.35)}
.tsd-cristal-yes .tsd-count{background:rgba(255,255,255,.6);border-color:rgba(214,230,245,.9)}
.tsd-cristal-yes .tsd-period{background:rgba(234,243,251,.75)}
/* Acabado: bloque del precio claro (control del widget) */
.tsd-claro-yes .tsd-result{background:linear-gradient(165deg,rgba(255,255,255,.55) 0%,var(--tsd-ice) 100%);color:var(--tsd-ink);border-top:1px solid var(--tsd-ice-2)}
.tsd-cristal-yes.tsd-claro-yes .tsd-result{background:linear-gradient(165deg,rgba(255,255,255,.25) 0%,rgba(234,243,251,.92) 100%);border-top-color:rgba(214,230,245,.8)}
.tsd-claro-yes .tsd-price{color:var(--tsd-ink)}
.tsd-claro-yes .tsd-price small,.tsd-claro-yes .tsd-result-sub,.tsd-claro-yes .tsd-breakdown,.tsd-claro-yes .tsd-fine,.tsd-claro-yes .tsd-fine-d summary{color:var(--tsd-ink-2)}
.tsd-claro-yes .tsd-result-sub b{color:var(--tsd-ink)}
.tsd-claro-yes .tsd-root .tsd-b-light{background:linear-gradient(100deg,var(--tsd-blue) 0%,#3F9BE8 50%,var(--tsd-blue) 100%);background-size:200% 100%;background-position:0 0;color:#fff;box-shadow:0 12px 24px -14px rgba(30,99,181,.8);transition:background-position .5s,box-shadow .3s,transform .2s}
.tsd-claro-yes .tsd-root .tsd-b-light:hover,.tsd-claro-yes .tsd-root .tsd-b-light:focus{background:linear-gradient(100deg,var(--tsd-blue) 0%,#3F9BE8 50%,var(--tsd-blue) 100%);background-size:200% 100%;background-position:100% 0;color:#fff;box-shadow:0 16px 28px -14px rgba(30,99,181,.9);transform:translateY(-1px)}
.tsd-claro-yes .tsd-root .tsd-b-line{color:var(--tsd-ink);border-color:var(--tsd-ice-2);background:rgba(255,255,255,.7)}
.tsd-claro-yes .tsd-root .tsd-b-line:hover,.tsd-claro-yes .tsd-root .tsd-b-line:focus{color:var(--tsd-ink);border-color:var(--tsd-blue);background:#fff}
.tsd-claro-yes .tsd-root .tsd-b-line svg{color:var(--tsd-blue)}
.tsd-claro-yes .tsd-root .tsd-b-line .wa{color:#1FAF54}
/* Versión compacta (controles del widget) */
.tsd-sin-fichas-yes .tsd-people{min-height:0;padding-top:0}
.tsd-sin-fichas-yes .tsd-people:not(:has(.tsd-people-empty)){display:none}
.tsd-sin-fichas-yes .tsd-period{margin-top:14px}
.tsd-compacto-yes .tsd-count{padding:12px 14px;gap:10px}
.tsd-compacto-yes .tsd-count b{font-size:15px}
.tsd-compacto-yes .tsd-count span{font-size:12.5px;line-height:1.35}
.tsd-finos-yes .tsd-actions{gap:8px}
.tsd-finos-yes .tsd-actions-2{gap:8px}
.tsd-root .tsd-finos-yes .tsd-actions-2 .tsd-b,.tsd-finos-yes .tsd-root .tsd-actions-2 .tsd-b{padding:11px 14px;font-size:14.5px}
@media (max-width:480px){.tsd-actions-2,.tsd-counters{grid-template-columns:1fr}.tsd-price{font-size:44px}.tsd-calc-head,.tsd-calc-body,.tsd-result{padding-left:20px;padding-right:20px}}

/* Botones de la calculadora y las ventanas (blindados frente a estilos globales de botón) */
.tsd-root .tsd-b{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:16px;line-height:1;padding:16px 22px;border-radius:var(--tsd-r-btn);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s;width:auto;min-height:0;box-shadow:none;text-transform:none;letter-spacing:0}
.tsd-root .tsd-b svg{width:20px;height:20px;flex:none}
.tsd-root .tsd-b:disabled{opacity:.5;cursor:default}
.tsd-root .tsd-b-primary{background:var(--tsd-blue);color:#fff}
.tsd-root .tsd-b-primary:hover,.tsd-root .tsd-b-primary:focus{background:var(--tsd-blue-d);color:#fff}
.tsd-root .tsd-b-ghost{background:#fff;color:var(--tsd-ink);border-color:var(--tsd-ice-2)}
.tsd-root .tsd-b-ghost:hover,.tsd-root .tsd-b-ghost:focus{border-color:var(--tsd-blue);color:var(--tsd-blue);background:#fff}
.tsd-root .tsd-result .tsd-b{width:100%}
.tsd-root .tsd-actions-2 .tsd-b{padding:14px 16px;font-size:15px}
.tsd-root .tsd-b-light{background:#fff;color:var(--tsd-ink)}
.tsd-root .tsd-b-light:hover,.tsd-root .tsd-b-light:focus{background:var(--tsd-ice);color:var(--tsd-ink)}
.tsd-root .tsd-b-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.tsd-root .tsd-b-line:hover,.tsd-root .tsd-b-line:focus{border-color:#fff;color:#fff;background:transparent}
.tsd-root .tsd-b-line .wa{color:#5BD98A}

/* Ventanas */
.tsd-root dialog.tsd-dlg{border:0;border-radius:var(--tsd-r-lg);padding:0;width:min(640px,94vw);max-height:92vh;color:var(--tsd-ink);background:#fff;font-size:16px;line-height:1.55;box-shadow:0 40px 80px -20px rgba(15,43,70,.5)}
.tsd-root dialog.tsd-dlg::backdrop{background:rgba(15,43,70,.55)}
.tsd-dlg h2{font-size:26px}
.tsd-dlg h3{font-size:21px;margin-bottom:4px}
.tsd-dlg-head{padding:26px 30px 0;display:flex;justify-content:space-between;gap:16px}
.tsd-root .tsd-x{border:0;background:var(--tsd-ice);color:var(--tsd-ink);width:40px;height:40px;min-height:0;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;flex:none;padding:0;display:grid;place-items:center;box-shadow:none}
.tsd-root .tsd-x:hover{background:var(--tsd-ice-2);color:var(--tsd-ink)}
.tsd-progress{display:flex;gap:6px;padding:18px 30px 0}
.tsd-progress span{flex:1;height:5px;border-radius:5px;background:var(--tsd-ice-2)}
.tsd-progress span.on{background:var(--tsd-blue)}
.tsd-sum{margin:18px 30px 0;background:var(--tsd-ice);border-radius:var(--tsd-r-sm);padding:12px 16px;font-size:14.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tsd-sum.tsd-sum-3{margin:12px 0 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tsd-dlg-body{padding:20px 30px 30px;margin:0}
.tsd-hint{color:var(--tsd-ink-2);font-size:15px;margin:0 0 16px}
.tsd-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tsd-fields .full{grid-column:1/-1}
.tsd-field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--tsd-ink)}
.tsd-root .tsd-field input,.tsd-root .tsd-field select{width:100%;font-size:16px;padding:12px 14px;border:1.5px solid var(--tsd-ice-2);border-radius:var(--tsd-r-sm);color:var(--tsd-ink);background:#fff;box-shadow:none;height:auto;min-height:0;margin:0}
.tsd-root .tsd-field input:focus,.tsd-root .tsd-field select:focus{border-color:var(--tsd-blue);outline:none;box-shadow:0 0 0 3px rgba(30,99,181,.15)}
.tsd-root .tsd-field input:disabled{background:var(--tsd-ice)}
.tsd-root .tsd-field.err input{border-color:#B42318}
.tsd-err{color:#B42318;font-size:13px;margin-top:4px;display:none}
.tsd-field.err .tsd-err{display:block}
.tsd-yesno{display:flex;gap:10px}
.tsd-yesno label{flex:1;border:1.5px solid var(--tsd-ice-2);border-radius:var(--tsd-r-sm);padding:12px;text-align:center;cursor:pointer;font-weight:600;margin:0}
.tsd-yesno input{position:absolute;opacity:0}
.tsd-yesno label:has(input:checked){border-color:var(--tsd-blue);background:var(--tsd-ice);color:var(--tsd-blue)}
.tsd-insured{border:1px solid var(--tsd-ice-2);border-radius:var(--tsd-r-md);padding:18px;margin-bottom:14px}
.tsd-insured h4{margin:0 0 12px;font-size:16px;display:flex;justify-content:space-between;gap:8px;font-weight:700;letter-spacing:0;color:var(--tsd-ink)}
.tsd-insured h4 span{font-weight:500;color:var(--tsd-ink-2);font-size:14px}
.tsd-dlg-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.tsd-check{display:flex;gap:10px;font-size:14px;color:var(--tsd-ink-2);margin-top:14px;align-items:flex-start;line-height:1.45;cursor:pointer}
.tsd-check input{margin-top:3px;width:18px;height:18px;flex:none}
.tsd-check a{color:var(--tsd-blue)}
.tsd-check.err{color:#B42318}
.tsd-rgpd{font-size:12px;line-height:1.5;color:var(--tsd-ink-2);margin:10px 0 0;padding:10px 12px;background:var(--tsd-ice);border-radius:var(--tsd-r-sm)}
.tsd-rgpd a{color:var(--tsd-blue)}
.tsd-root .tsd-alt{background:none;border:0;color:var(--tsd-blue);font-weight:600;font-size:15px;cursor:pointer;padding:0;margin-top:14px;text-decoration:underline;box-shadow:none}
.tsd-root .tsd-alt:hover{background:none;color:var(--tsd-blue-d)}
.tsd-done{text-align:center;padding:30px 10px 10px}
.tsd-done .ok{width:72px;height:72px;border-radius:50%;background:var(--tsd-mint-bg);color:var(--tsd-mint);display:grid;place-items:center;margin:0 auto 18px}
.tsd-done .ok svg{width:36px;height:36px}
.tsd-done p{color:var(--tsd-ink-2);margin:12px 0 0}
.tsd-alert{background:#FEF3F2;color:#B42318;border-radius:var(--tsd-r-sm);padding:12px 14px;font-size:14.5px;margin-top:14px;display:none}
.tsd-alert.on{display:block}
.tsd-confirm-phone{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}
.tsd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:560px){.tsd-fields{grid-template-columns:1fr}.tsd-dlg-head,.tsd-dlg-body{padding-left:20px;padding-right:20px}.tsd-progress{padding-left:20px;padding-right:20px}.tsd-sum{margin-left:20px;margin-right:20px}.tsd-sum.tsd-sum-3{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tsd-chip{animation:none}}
/* WhatsApp y agente como enlaces pequeños en una línea */
.tsd-enlaces-yes .tsd-actions{gap:12px}
.tsd-enlaces-yes .tsd-actions-2{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px}
.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b,.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b:hover,.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b:focus{width:auto;padding:4px 0;border:0;background:none;box-shadow:none;font-size:14px;font-weight:500;gap:7px}
.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b:hover,.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b:focus-visible{text-decoration:underline;text-underline-offset:3px}
.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b svg{width:17px;height:17px}
@media (max-width:480px){.tsd-enlaces-yes .tsd-actions-2{flex-direction:column;align-items:center;gap:2px}.tsd-enlaces-yes .tsd-root .tsd-actions-2 .tsd-b{white-space:nowrap;font-size:13.5px}}
