/* Time Proof Core · solo el interior de los componentes con datos variables.
   Contenedores, fondos, radios, sombras, espaciados, titulares y textos: Elementor.
   Los colores salen de las variables globales del kit de Elementor (se prueban el nombre y el id de la variable):
   si cambias "verde-bosque" en Elementor, cambia también aquí. El segundo valor es solo el respaldo. */
:root{
  --tp-forest:var(--verde-bosque,var(--e-gv-5063449,#2E4B3C));
  --tp-coral:var(--coral-acento,var(--e-gv-7659c89,#E4633A));
  --tp-amber:var(--ambar-acento,var(--e-gv-d822b9c,#F2A93B));
  --tp-text:var(--verde-tinta,var(--e-gv-b5ec8a5,#33372F));
  --tp-soft:var(--gris-oliva,var(--e-gv-2361a8a,#6E7367));
  --tp-cream:var(--crema-fondo,var(--e-gv-53959d0,#FFF6EB));
  --tp-white:var(--blanco,var(--e-gv-ebb003e,#FFFFFF));
  --tp-on-dark:var(--texto-claro-verde,var(--e-gv-674390b,#B9CCBF));
  --tp-title-font:var(--font-titulos,var(--e-gv-0b609f7,Epilogue)),sans-serif;
  /* bandas de la tabla (de mejor a peor) */
  --tp-b90:#E3EEDF;--tp-b80:#EEF3E9;--tp-b50:#FBF7F0;--tp-b20:#FDF1EA;--tp-b0:#FBE6DB;
}

/* [tp_medians] · móvil primero: una fila por edad con barras horizontales */
.tp-medians{display:grid;gap:9px}
.tp-mrow{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px}
.tp-age{order:-1;font-family:var(--tp-title-font);font-weight:800;font-size:13px;color:var(--tp-forest);font-variant-numeric:tabular-nums}
.tp-mbars{display:flex;flex-direction:column;gap:3px}
.tp-bar{position:relative;height:11px;width:var(--v);border-radius:2px 6px 6px 2px;transform-origin:left;animation:tp-grow-x .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0s)}
.tp-bar.tp-m{background:var(--tp-forest)}
.tp-bar.tp-w{background:var(--tp-coral)}
.tp-bar span{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;line-height:1;color:var(--tp-forest);white-space:nowrap;font-variant-numeric:tabular-nums}
.tp-bar.tp-w span{color:var(--tp-coral)}
@keyframes tp-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tp-grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(min-width:768px){ /* escritorio y tablet: columnas verticales */
  .tp-medians{grid-template-columns:repeat(var(--n,7),1fr);gap:0}
  .tp-mrow{display:flex;flex-direction:column;gap:8px}
  .tp-age{order:0;text-align:center;font-size:12.5px}
  .tp-mbars{flex-direction:row;align-items:flex-end;justify-content:center;gap:5px;height:170px;border-bottom:2px solid rgba(46,75,60,.18)}
  .tp-bar{height:var(--v);width:18px;border-radius:6px 6px 2px 2px;transform-origin:bottom;animation-name:tp-grow-y}
  .tp-bar span{left:50%;top:auto;bottom:calc(100% + 4px);transform:translateX(-50%);font-size:10px}
}

/* [tp_chart] */
.tp-chart-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.tp-unit{font-size:13px;font-weight:700;color:var(--tp-soft);letter-spacing:.04em;text-transform:uppercase}
.tp-tabs{display:inline-flex;background:var(--tp-cream);border-radius:100px;padding:5px}
.tp-tabs button,.tp-tabs button:hover,.tp-tabs button:focus{border:0;background:transparent;padding:9px 22px;border-radius:100px;font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;color:var(--tp-soft);cursor:pointer;box-shadow:none}
.tp-tabs button.on,.tp-tabs button.on:hover{background:var(--tp-forest);color:var(--tp-white)}
.tp-tbl{overflow-x:auto}
.tp-tbl table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;min-width:640px;margin:0;border:0;font-variant-numeric:tabular-nums}
.tp-tbl th,.tp-tbl td{padding:10px 12px;text-align:center;border:0}
.tp-tbl thead th{white-space:nowrap;font-family:var(--tp-title-font);font-size:14px;color:var(--tp-forest);border-bottom:2px solid var(--tp-forest);background:transparent}
.tp-tbl tbody th{text-align:left;font-weight:700;color:var(--tp-forest);white-space:nowrap;font-size:14px}
.tp-tbl th small{font-size:inherit;font-weight:inherit}
.tp-tbl th:first-child{position:sticky;left:0;z-index:1}
.tp-tbl thead th:first-child{background:var(--tp-white)}
.tp-swipe{display:none;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--tp-soft)}
.tp-tbl tr.b90>*,.tp-legend i.b90{background:var(--tp-b90)}
.tp-tbl tr.b80>*,.tp-legend i.b80{background:var(--tp-b80)}
.tp-tbl tr.b50>*,.tp-legend i.b50{background:var(--tp-b50)}
.tp-tbl tr.b20>*,.tp-legend i.b20{background:var(--tp-b20)}
.tp-tbl tr.b0>*,.tp-legend i.b0{background:var(--tp-b0)}
.tp-tbl tr.median>*{font-weight:800;color:var(--tp-forest);box-shadow:inset 0 2px 0 var(--tp-amber),inset 0 -2px 0 var(--tp-amber)}
.tp-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px;font-size:13.5px;font-weight:600;color:var(--tp-soft)}
.tp-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px}

/* [tp_where] (va dentro del contenedor oscuro de Elementor) */
.tp-w-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;position:relative;z-index:1}
.tp-w-form label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-on-dark)}
.tp-w-form input,.tp-w-form select{border:0;border-radius:12px;padding:0 14px;height:50px;box-sizing:border-box;font-family:inherit;font-size:16px;color:var(--tp-text);background:var(--tp-white)}
.tp-w-form input:focus,.tp-w-form select:focus{outline:3px solid var(--tp-amber);outline-offset:1px}
.tp-w-form button{align-self:end;cursor:pointer}   /* estilo del botón: Astra (botón principal) */
.tp-w-form button:hover{background:#C94F2A;color:#fff} /* el hover de Astra (verde) no se ve sobre el fondo verde */
.tp-w-out{margin-top:22px;background:rgba(255,255,255,.08);border-radius:16px;padding:20px 22px;display:none;position:relative;z-index:1;color:var(--tp-white)}
.tp-w-out.show{display:block}
.tp-w-out .big{font-family:var(--tp-title-font);font-size:34px;font-weight:800;color:var(--tp-amber)}
.tp-w-out .band{font-weight:700;margin-top:4px}
.tp-w-bar{height:12px;border-radius:100px;background:linear-gradient(90deg,#F4C9B3 0%,#F4C9B3 20%,#F6E7CF 20%,#F6E7CF 50%,#CFE1C8 50%,#CFE1C8 80%,#9CC29A 80%);margin:14px 0 6px;position:relative}
.tp-w-bar .pin{position:absolute;top:-6px;left:50%;width:24px;height:24px;border-radius:50%;background:var(--tp-coral);border:3px solid #fff;transform:translateX(-50%);transition:left .4s}
.tp-w-bar-l{display:grid;grid-template-columns:20% 30% 30% 20%;text-align:center;font-size:12px;line-height:1.3;color:var(--tp-on-dark);font-weight:600}
.tp-w-bar-l span:first-child{text-align:left}
.tp-w-bar-l span:last-child{text-align:right}
.tp-w-out .w-note{font-size:14px;color:var(--tp-on-dark);margin-top:14px}

/* [tp_faq] */
.tp-qa{background:var(--tp-white);border-radius:16px;margin-bottom:10px;box-shadow:0 3px 10px rgba(46,75,60,.05);transition:box-shadow .2s}
.tp-qa[open]{box-shadow:0 8px 22px rgba(46,75,60,.09)}
.tp-qa summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--tp-title-font);font-weight:700;font-size:18px;line-height:1.35;color:var(--tp-forest);display:flex;justify-content:space-between;align-items:center;gap:14px}
.tp-qa summary::-webkit-details-marker{display:none}
.tp-qa summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:rgba(228,99,58,.12);color:var(--tp-coral);font-size:20px;line-height:30px;text-align:center;transition:transform .2s}
.tp-qa[open] summary::after{transform:rotate(45deg)}
.tp-qa .ans{padding:0 22px 18px}
.tp-qa .ans p{margin:0}

/* [tp_sources] */
.tp-sources{margin:0 0 0 20px;padding:0;font-size:14.5px;color:var(--tp-soft)}
.tp-sources li{margin-bottom:8px}
.tp-sources a{font-weight:700}

/* [tp_related] */
.tp-rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tp-rel{background:var(--tp-white);border-radius:20px;padding:24px;box-shadow:0 4px 14px rgba(46,75,60,.07);display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s;text-decoration:none;color:var(--tp-text)}
.tp-rel:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(46,75,60,.12)}
.tp-rel .t{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tp-coral)}
.tp-rel .h{font-family:var(--tp-title-font);font-weight:800;font-size:19px;line-height:1.3;letter-spacing:-.01em;color:var(--tp-forest)}
.tp-rel .d{font-size:14px;color:var(--tp-soft)}
.tp-rel .go{margin-top:auto;padding-top:6px;font-weight:700;font-size:14px;color:var(--tp-forest)}

@media(max-width:1024px){
  .tp-w-form{grid-template-columns:1fr 1fr}
  .tp-rel-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .tp-chart-top{margin-bottom:14px}
  .tp-tbl table{min-width:470px;font-size:14px}
  .tp-tbl th,.tp-tbl td{padding:9px 8px}
  .tp-tbl tbody th{font-size:13px}
  .tp-tbl th small{display:block;font-size:11px;font-weight:600;opacity:.8}
  .tp-tbl th small i{display:none}
  .tp-tbl th:first-child{box-shadow:4px 0 6px -4px rgba(46,75,60,.18)}
  .tp-tbl tr.median th:first-child{box-shadow:inset 0 2px 0 var(--tp-amber),inset 0 -2px 0 var(--tp-amber),4px 0 6px -4px rgba(46,75,60,.18)}
  .tp-swipe{display:block}
  .tp-w-form{grid-template-columns:1fr 1fr;gap:10px}
  .tp-w-form label:nth-of-type(3),.tp-w-form button{grid-column:1 / -1}
  .tp-w-form button{width:100%}
  .tp-w-out{padding:16px}
  .tp-w-out .big{font-size:28px}
  .tp-w-bar-l{font-size:11px}
  .tp-qa summary{font-size:17px;padding:16px 18px}
  .tp-qa .ans{padding:0 18px 16px}
  .tp-rel-grid{grid-template-columns:1fr}
}

/* ═════ [tp_calc_form] · calculadoras (serie C) · móvil primero ═════
   La tarjeta blanca que lo rodea es un contenedor de Elementor. Aquí solo el interior.
   Selectores con .tpc delante para ganar a los estilos de botones y campos de Astra y del kit. */
.tpc{margin:0;color:var(--tp-text)}
.tpc .tpc-step{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-family:var(--tp-title-font);font-weight:700;font-size:18px;line-height:1.2;letter-spacing:-.01em;color:var(--tp-forest)}
.tpc .tpc-step .n{width:28px;height:28px;border-radius:50%;background:var(--tp-forest);color:var(--tp-white);font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.tpc .tpc-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 24px}
.tpc .tpc-method{position:relative;text-align:left;background:var(--tp-cream);border:2px solid transparent;border-radius:14px;padding:12px 12px 11px;min-height:96px;margin:0;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--tp-text);font:inherit;line-height:1.3;text-transform:none;letter-spacing:0;box-shadow:none;transition:border-color .2s,background .2s}
.tpc .tpc-method:hover,.tpc .tpc-method:focus{background:var(--tp-cream);color:var(--tp-text);border-color:rgba(46,75,60,.18)}
.tpc .tpc-method[aria-checked="true"]{background:#EAF0E4;border-color:var(--tp-forest)}
.tpc .tpc-method[aria-checked="true"]::after{content:"";position:absolute;right:9px;top:9px;width:18px;height:18px;border-radius:50%;background:var(--tp-forest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.tpc .tpc-method .ic{width:32px;height:32px;border-radius:10px;background:var(--tp-white);display:inline-flex;align-items:center;justify-content:center;color:var(--tp-forest)}
.tpc .tpc-method .ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tpc .tpc-method b{font-family:var(--tp-title-font);font-weight:700;font-size:15px;line-height:1.2;color:var(--tp-forest);padding-right:18px}
.tpc .tpc-method small{display:none;font-size:12.5px;line-height:1.35;color:var(--tp-soft);font-weight:500}
.tpc .tpc-effort{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-soft);margin-top:auto}
.tpc .tpc-effort i{width:7px;height:7px;border-radius:50%;background:#DCD6CB}
.tpc .tpc-effort i.on{background:var(--tp-coral)}
.tpc .tpc-effort span{margin-left:3px}
.tpc .tpc-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.tpc .tpc-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}
.tpc .tpc-field label,.tpc .tpc-field .l{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-forest);line-height:1.3;margin:0}
.tpc .tpc-hint{font-size:13.5px;color:var(--tp-soft);font-weight:500;line-height:1.4}
.tpc .tpc-ctl{display:flex;align-items:stretch;min-height:50px;background:var(--tp-cream);border:1.5px solid transparent;border-radius:12px;overflow:hidden;transition:border-color .2s,background .2s}
.tpc .tpc-ctl:focus-within{border-color:var(--tp-forest);background:var(--tp-white)}
.tpc .tpc-ctl input{border:0;background:transparent;padding:12px 14px;margin:0;font-family:inherit;font-size:16px;line-height:1.3;color:var(--tp-text);outline:none;min-width:0;width:100%;height:auto;border-radius:0;box-shadow:none}
.tpc .tpc-ctl .u{display:flex;align-items:center;padding:0 14px 0 4px;font-size:13px;font-weight:700;color:var(--tp-soft);white-space:nowrap}
.tpc .tpc-ctl select{flex:0 0 auto;width:auto;min-width:78px;height:auto;margin:0;border:0;border-left:1.5px solid #EFE6D8;border-radius:0;background-color:transparent;font-family:inherit;font-size:15px;font-weight:700;color:var(--tp-forest);padding:0 12px;cursor:pointer;box-shadow:none}
.tpc .tpc-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tpc .tpc-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--tp-cream);border-radius:12px;padding:4px;min-height:52px}
.tpc .tpc-seg button{border:0;margin:0;background:transparent;border-radius:9px;padding:0 8px;font-family:inherit;font-weight:700;font-size:16px;line-height:1;text-transform:none;letter-spacing:0;color:var(--tp-soft);cursor:pointer;box-shadow:none}
.tpc .tpc-seg button:hover,.tpc .tpc-seg button:focus{background:transparent;color:var(--tp-forest)}
.tpc .tpc-seg button[aria-pressed="true"]{background:var(--tp-forest);color:var(--tp-white)}
.tpc .tpc-panel[hidden]{display:none}
.tpc .tpc-how{margin:4px 0 0;background:#FDF0D5;border-radius:12px;padding:13px 15px;font-size:14.5px;line-height:1.5;color:var(--tp-text)}
.tpc .tpc-how b{color:var(--tp-forest)}
.tpc .tpc-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:20px}
.tpc .tpc-go{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin:0;background:var(--tp-coral);color:var(--tp-white);border:0;border-radius:100px;padding:14px 28px;font-family:inherit;font-weight:700;font-size:16px;line-height:1.2;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;transition:background .2s}
.tpc .tpc-go:hover,.tpc .tpc-go:focus{background:var(--tp-forest);color:var(--tp-white)}
.tpc .tpc-reset{align-self:center;background:none;border:0;margin:0;font-family:inherit;font-weight:700;font-size:14.5px;line-height:1.3;text-transform:none;letter-spacing:0;color:var(--tp-soft);cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:10px 16px;min-height:44px;box-shadow:none}
.tpc .tpc-reset:hover,.tpc .tpc-reset:focus{background:none;color:var(--tp-forest)}
.tpc .tpc-err{font-size:14px;font-weight:600;color:#C94F2A;text-align:center}
.tpc .tpc-err:empty{display:none}

/* ═════ [tp_calc_result] · dentro del panel Forest de Elementor ═════ */
.tpr{position:relative;color:var(--tp-white);scroll-margin-top:16px}
.tpr .tpr-lbl{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tp-amber)}
.tpr .tpr-big{display:flex;align-items:baseline;gap:8px;margin:4px 0 2px}
.tpr .tpr-big b{font-family:var(--tp-title-font);font-size:60px;font-weight:800;line-height:1;letter-spacing:-0.04em;color:var(--tp-white);font-variant-numeric:tabular-nums}
.tpr .tpr-big span{font-size:14px;font-weight:700;color:var(--tp-on-dark)}
.tpr .tpr-method{font-size:14px;line-height:1.4;color:var(--tp-on-dark);font-weight:500}
.tpr .tpr-sep{height:1px;background:rgba(255,255,255,.12);margin:18px 0}
.tpr .tpr-pct{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap}
.tpr .tpr-pct b{font-family:var(--tp-title-font);font-size:24px;font-weight:800;line-height:1.2;color:var(--tp-amber)}
.tpr .tpr-pct span{font-size:14px;font-weight:700;color:var(--tp-white)}
.tpr .tpr-bar{height:12px;border-radius:100px;background:linear-gradient(90deg,#F4C9B3 0%,#F4C9B3 20%,#F6E7CF 20%,#F6E7CF 50%,#CFE1C8 50%,#CFE1C8 80%,#9CC29A 80%);margin:14px 0 6px;position:relative}
.tpr .tpr-bar .pin{position:absolute;top:-6px;left:50%;width:24px;height:24px;border-radius:50%;background:var(--tp-coral);border:3px solid var(--tp-white);transform:translateX(-50%);transition:left .5s cubic-bezier(.2,.7,.2,1)}
.tpr .tpr-bar-l{display:grid;grid-template-columns:20% 30% 30% 20%;font-size:11px;color:var(--tp-on-dark);font-weight:600;line-height:1.25}
.tpr .tpr-bar-l span:nth-child(2),.tpr .tpr-bar-l span:nth-child(3){text-align:center}
.tpr .tpr-bar-l span:last-child{text-align:right}
.tpr .tpr-bar-l i{font-style:normal}
.tpr .tpr-bar-l .long{display:none}
.tpr .tpr-age{font-family:var(--tp-title-font);font-size:18px;font-weight:700;line-height:1.3;color:var(--tp-white)}
.tpr .tpr-age em{font-style:normal;color:var(--tp-amber)}
.tpr .tpr-ruler{position:relative;height:62px;margin:16px 0 2px}
.tpr .tpr-ruler .track{position:absolute;left:0;right:0;top:31px;height:4px;border-radius:4px;background:rgba(255,255,255,.14)}
.tpr .tpr-ruler .gap{position:absolute;top:31px;height:4px;border-radius:4px;background:var(--tp-amber);transition:left .5s,width .5s}
.tpr .tpr-ruler .tk{position:absolute;top:44px;font-size:11px;font-weight:700;line-height:1.2;color:#8FA596;transform:translateX(-50%)}
.tpr .tpr-ruler .dot{position:absolute;top:26px;width:14px;height:14px;border-radius:50%;border:3px solid var(--tp-forest);transform:translateX(-50%);transition:left .5s}
.tpr .tpr-ruler .lab{position:absolute;top:0;font-size:10.5px;font-weight:800;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:3px 8px;border-radius:100px}
.tpr .tpr-ruler .dot.you{background:var(--tp-white)}
.tpr .tpr-ruler .lab.you{background:rgba(255,255,255,.16);color:var(--tp-white)}
.tpr .tpr-ruler .dot.fit,.tpr .tpr-ruler .lab.fit{background:var(--tp-amber)}
.tpr .tpr-ruler .lab.fit{color:var(--tp-forest)}
.tpr .tpr-note{font-size:13.5px;color:var(--tp-on-dark);line-height:1.5;margin:14px 0 0}
.tpr .tpr-link{display:inline-flex;margin-top:12px;font-weight:700;font-size:15px;color:var(--tp-amber);text-decoration:underline;text-underline-offset:4px}
.tpr .tpr-link:hover{color:var(--tp-white)}
.tpr .tpr-empty{display:none;font-size:15px;color:#CFDDD3;margin:6px 0 0}
.tpr.empty .tpr-empty{display:block}
.tpr.empty .tpr-live{opacity:.35;filter:grayscale(1)}

@media(min-width:768px){
  .tpc .tpc-step{font-size:20px}
  .tpc .tpc-methods{grid-template-columns:repeat(4,1fr)}
  .tpc .tpc-method small{display:block}
  .tpc .tpc-fields{grid-template-columns:1fr 1fr}
  .tpc .tpc-field.full{grid-column:1/-1}
  .tpc .tpc-actions{flex-direction:row;align-items:center}
  .tpc .tpc-reset{align-self:auto}
  .tpc .tpc-err{text-align:left}
  .tpr .tpr-big b{font-size:72px}
  .tpr .tpr-bar-l .long{display:inline}
  .tpr .tpr-bar-l .short{display:none}
}
@media(min-width:1025px){
  .tpr .tpr-big b{font-size:76px}
}
