/* ============================================================
   TARJETAS · 04-programa  (#programa-tarjeta) — prefijo tp
   "El estanque quieto": panel casi a pantalla completa con el estanque de oro muy oscurecido
   e inmóvil al fondo; la tarjeta real reposa sobre él con su reflejo (CSS); la placa de
   comisiones es un .glass sobrio cuyo hilo de oro se llena de abajo arriba (una vez) y por
   cuyo canto resbala una gota. Lectura primero: sin pin ni scrub.
   Escritorio: izquierda H2 + emisión + enlaces + tarjeta; derecha la placa; abajo, a todo lo ancho, el cierre (frase + botón en una línea).
   Celular: apilado (H2 → tabla → enlaces → tarjeta → cierre).
   ============================================================ */
@property --tp-p{syntax:"<percentage>";inherits:false;initial-value:110%}

#programa-tarjeta{position:relative;padding-block:clamp(14px,2.2vw,34px);background:var(--ink);color:var(--cream);isolation:isolate}

/* ---------- Panel ---------- */
#programa-tarjeta .tp__panel{position:relative;margin-inline:clamp(10px,1.6vw,26px);min-height:calc(100svh - clamp(28px,4.4vw,68px));
  border-radius:clamp(22px,2.6vw,40px);overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 60% at 30% 100%,rgba(167,121,39,.22) 0%,rgba(5,9,15,0) 70%),var(--ink-2);
  box-shadow:inset 0 0 0 1px var(--hair),0 40px 120px -60px rgba(216,166,70,.25);
  display:flex;align-items:center;padding-block:clamp(56px,6.2vw,100px)}

/* Fondo: estanque inmóvil, muy oscurecido */
#programa-tarjeta .tp__bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
#programa-tarjeta .tp__bg picture,#programa-tarjeta .tp__bg-img,#programa-tarjeta .tp__video{position:absolute;inset:0;width:100%;height:100%;max-width:none}
#programa-tarjeta .tp__bg-img,#programa-tarjeta .tp__video{object-fit:cover;object-position:40% 100%;color:transparent;font-size:0;user-select:none}
#programa-tarjeta .tp__bg-img{filter:brightness(.62) saturate(.9)}
#programa-tarjeta .tp__video{opacity:0;transition:opacity 1.6s ease;filter:brightness(.62) saturate(.9)}
#programa-tarjeta.tp--video .tp__video{opacity:1}
#programa-tarjeta .tp__shade{position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(5,9,15,.92) 0%,rgba(5,9,15,.72) 42%,rgba(5,9,15,.38) 78%,rgba(5,9,15,.62) 100%),
    linear-gradient(90deg,rgba(5,9,15,.55) 0%,rgba(5,9,15,0) 55%,rgba(5,9,15,.5) 100%)}

/* ---------- Rejilla ---------- */
#programa-tarjeta .tp__grid{position:relative;display:grid;align-items:start;
  grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);column-gap:clamp(40px,6vw,112px);row-gap:clamp(22px,2.4vw,34px);
  grid-template-areas:"head plate" "links plate" "rest plate" "close close";grid-template-rows:auto auto 1fr auto}
@media (min-width:1366px){#programa-tarjeta .tp__grid{padding-right:calc(var(--gut) + 40px)}}  /* aire para el riel de capítulos */
#programa-tarjeta .tp__head{grid-area:head}
#programa-tarjeta .tp__plate{grid-area:plate;align-self:start}
#programa-tarjeta .tp__links{grid-area:links}
#programa-tarjeta .tp__rest{grid-area:rest}
#programa-tarjeta .tp__close{grid-area:close}

/* ---------- Encabezado ---------- */
#programa-tarjeta .tp__kicker{margin:0 0 22px}
#programa-tarjeta .tp__title{font-size:clamp(2.3rem,4.2vw,4.4rem);line-height:1;letter-spacing:-.025em;text-wrap:balance;max-width:16ch}
#programa-tarjeta .tp__emision{margin:24px 0 0;max-width:46ch;padding-left:16px;border-left:1px solid var(--gold);
  font:600 .9rem/1.6 var(--sans);letter-spacing:.01em;color:var(--cream-2)}

/* ---------- Enlaces al pie compartido ---------- */
#programa-tarjeta .tp__links{display:flex;flex-wrap:wrap;gap:12px}
#programa-tarjeta .tp__link{min-height:46px;white-space:normal;text-align:left}
#programa-tarjeta .tp__link svg{width:16px;height:16px;flex:none}
#programa-tarjeta .tp__link:hover svg{transform:translateY(3px)}

/* ---------- Placa de comisiones ---------- */
#programa-tarjeta .tp__plate{--tp-p:110%;position:relative;padding:clamp(26px,2.8vw,44px) clamp(24px,2.8vw,46px) clamp(22px,2.4vw,36px);
  background:linear-gradient(180deg,rgba(13,27,40,.64),rgba(8,18,28,.74));border-color:var(--line);
  box-shadow:0 50px 100px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(243,234,219,.06)}
/* Hilo de oro del borde: se llena de abajo arriba por ambos lados */
#programa-tarjeta .tp__thread{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;border:1px solid var(--gold);
  box-shadow:0 0 18px -4px rgba(216,166,70,.55),inset 0 0 14px -6px rgba(244,213,138,.45);
  -webkit-mask-image:linear-gradient(0deg,#000 calc(var(--tp-p) - 9%),transparent var(--tp-p));
  mask-image:linear-gradient(0deg,#000 calc(var(--tp-p) - 9%),transparent var(--tp-p))}
/* Gota que resbala por el canto derecho */
#programa-tarjeta .tp__drop{position:absolute;right:-3.5px;top:14%;width:6px;height:9px;border-radius:50% 50% 50% 50%/62% 62% 40% 40%;
  background:radial-gradient(circle at 40% 62%,#fff4cf 0%,var(--gold-2) 30%,var(--gold) 64%,var(--gold-3) 100%);
  box-shadow:0 0 8px rgba(244,213,138,.6);opacity:0;pointer-events:none}
/* Estela corta: la gota se lee como oro que escurre por el filete, no como un punto suelto */
#programa-tarjeta .tp__drop::before{content:"";position:absolute;left:50%;bottom:55%;width:1.5px;height:34px;transform:translateX(-50%);border-radius:2px;
  background:linear-gradient(180deg,rgba(244,213,138,0),rgba(244,213,138,.85))}
#programa-tarjeta.is-live .tp__drop{animation:tp-drop 9s cubic-bezier(.55,0,.75,.4) 1.2s infinite}
@keyframes tp-drop{
  0%{top:12%;opacity:0;transform:scale(.4)}
  8%{opacity:1;transform:scale(1)}
  46%{opacity:1}
  58%{top:calc(100% - 14px);opacity:0;transform:scale(1,1.15)}
  100%{top:calc(100% - 14px);opacity:0}}

/* Sello */
#programa-tarjeta .tp__seal{position:absolute;top:clamp(18px,2vw,28px);right:clamp(20px,2.4vw,36px);width:62px;height:auto;opacity:.92}

/* Tabla */
#programa-tarjeta .tp__tbl{margin-top:clamp(22px,2.2vw,34px);font-size:1rem}
#programa-tarjeta .tp__tbl th[scope=row]{padding:clamp(11px,1.65vh,17px) 12px clamp(11px,1.65vh,17px) 0;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);
  font:500 clamp(1rem,1.08vw,1.06rem)/1.35 var(--sans);letter-spacing:0;text-transform:none;color:var(--cream)}
#programa-tarjeta .tp__tbl td{padding:clamp(11px,1.65vh,17px) 0 clamp(11px,1.65vh,17px) 12px;text-align:right;vertical-align:middle;white-space:nowrap;border-bottom:1px solid var(--line)}
#programa-tarjeta .tp__tbl tr:last-child th,#programa-tarjeta .tp__tbl tr:last-child td{border-bottom-color:var(--hair)}
#programa-tarjeta .tp__tbl .cifra{font-size:clamp(1.15rem,1.4vw,1.4rem);line-height:1;color:var(--gold-2)}
#programa-tarjeta .tp__row{transition:background-color .4s}
@media (hover:hover){#programa-tarjeta .tp__row:hover{background:linear-gradient(90deg,rgba(216,166,70,0),rgba(216,166,70,.07))}}

#programa-tarjeta .tp__pies{display:grid;gap:10px;margin-top:22px}
#programa-tarjeta .tp__pies .nota{margin:0;font-size:.86rem;color:#A3AEB8}

/* ---------- La tarjeta que reposa + reflejo ---------- */
#programa-tarjeta .tp__rest{display:flex;align-items:flex-end;justify-content:center;min-height:0}
#programa-tarjeta .tp__card{--w:clamp(200px,16.5vw,262px);position:relative;width:var(--w);aspect-ratio:1000/631;margin:8px 0 calc(var(--w)*.22);perspective:1100px}
#programa-tarjeta .tp__card-face,#programa-tarjeta .tp__card-mirror{position:absolute;inset:0;border-radius:calc(var(--w)*.045);overflow:hidden}
#programa-tarjeta .tp__card-face{transform:rotateX(16deg) rotateZ(-4deg);transform-origin:50% 100%;
  box-shadow:0 0 0 1px rgba(244,213,138,.55),0 2px 0 1px #a77927,0 4px 0 1px #6f4e17,0 28px 50px -24px rgba(0,0,0,.9)}
#programa-tarjeta .tp__card img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
/* Arte de producto real (no se recolorea): en reposo baja su presencia para que la placa mande */
#programa-tarjeta .tp__card-face img{filter:brightness(.85) saturate(.8)}
#programa-tarjeta .tp__card-mirror{top:calc(100% + 4px);bottom:auto;height:100%;transform-origin:50% 50%;
  transform:scaleY(-1) rotateX(-16deg) rotateZ(4deg);opacity:.3;filter:blur(1px) brightness(.7) saturate(.7);
  -webkit-mask-image:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 58%);mask-image:linear-gradient(0deg,rgba(0,0,0,.9) 0%,transparent 58%)}
#programa-tarjeta .tp__contact{position:absolute;left:-10%;right:-10%;top:calc(100% - 6px);height:22px;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(244,213,138,.45) 0%,rgba(216,166,70,.12) 45%,rgba(216,166,70,0) 72%);pointer-events:none}
#programa-tarjeta .tp__gloss{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,246,220,.36) 50%,transparent 65%);
  transform:translateX(-120%);pointer-events:none}
#programa-tarjeta.is-live .tp__gloss{animation:tp-gloss 2.2s var(--ease) .6s 1 both}
@keyframes tp-gloss{to{transform:translateX(120%)}}

/* ---------- Cierre ---------- */
/* Frase y botón componen una sola línea: «Con la Tarjeta Fital → Obtener tarjeta» */
#programa-tarjeta .tp__close{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:clamp(24px,2.6vw,40px);row-gap:18px;
  padding-top:clamp(20px,2.2vw,30px);border-top:1px solid var(--line)}
#programa-tarjeta .tp__reprise{margin:0;font:600 clamp(2rem,3.6vw,3.6rem)/1 var(--serif);letter-spacing:-.025em;color:var(--cream);text-wrap:balance}
#programa-tarjeta .tp__reprise em{font-style:italic;font-weight:500;padding-right:.1em;margin-right:-.1em}
#programa-tarjeta .tp__cta{margin:0}

/* ---------- Escritorio ≥1280: el cierre y el CTA asoman completos al llegar ---------- */
@media (min-width:1280px){
  #programa-tarjeta .tp__panel{padding-block:clamp(40px,4vw,68px)}
  #programa-tarjeta .tp__title{font-size:clamp(2.3rem,3.6vw,4rem)}
  #programa-tarjeta .tp__reprise{font-size:clamp(2rem,3.1vw,3.2rem)}
}

/* ---------- Tableta: apilado a partir de 1023px ---------- */
@media (max-width:1023px){
  #programa-tarjeta .tp__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;row-gap:clamp(26px,5vw,40px);
    grid-template-areas:"head" "plate" "links" "rest" "close"}
  #programa-tarjeta .tp__panel{padding-block:clamp(64px,9vw,100px)}
  #programa-tarjeta .tp__plate{align-self:stretch}
  #programa-tarjeta .tp__title{max-width:18ch}
  #programa-tarjeta .tp__rest{justify-content:center}
}

/* ---------- Celular ---------- */
@media (max-width:767px){
  #programa-tarjeta{padding-block:0}
  #programa-tarjeta .tp__panel{margin-inline:0;border-radius:0;min-height:0;padding-block:clamp(72px,18vw,96px) clamp(80px,20vw,104px);
    box-shadow:inset 0 1px 0 var(--hair),inset 0 -1px 0 var(--hair)}
  #programa-tarjeta .tp__bg-img,#programa-tarjeta .tp__video{object-position:50% 100%}
  #programa-tarjeta .tp__shade{background:linear-gradient(180deg,rgba(5,9,15,.94) 0%,rgba(5,9,15,.84) 50%,rgba(5,9,15,.76) 78%,rgba(5,9,15,.86) 100%)}
  /* Final de capítulo: fundido a tinta, sin corte duro */
  #programa-tarjeta .tp__panel::after{content:"";position:absolute;inset:auto 0 0;height:150px;z-index:-1;pointer-events:none;
    background:linear-gradient(180deg,rgba(5,9,15,0),var(--ink))}
  #programa-tarjeta .tp__kicker{margin-bottom:16px;font-size:.78rem;letter-spacing:.22em}
  #programa-tarjeta .tp__title{font-size:clamp(2rem,9vw,2.6rem);line-height:1.04}
  #programa-tarjeta .tp__emision{font-size:.95rem;margin-top:18px}
  #programa-tarjeta .tp__plate{padding:22px 18px 18px;border-radius:20px}
  #programa-tarjeta .tp__seal{width:52px;top:18px;right:18px}
  #programa-tarjeta .tp__tbl{margin-top:30px}
  #programa-tarjeta .tp__tbl th[scope=row]{font-size:1rem;padding-block:14px}
  #programa-tarjeta .tp__tbl td{padding-block:14px}
  #programa-tarjeta .tp__tbl .cifra{font-size:1.18rem}
  #programa-tarjeta .tp__pies .nota{font-size:.94rem;line-height:1.55}
  #programa-tarjeta .tp__links{display:grid;grid-template-columns:minmax(0,1fr)}
  #programa-tarjeta .tp__link{width:100%;min-height:52px;justify-content:space-between;font-size:.96rem;padding-inline:22px}
  #programa-tarjeta .tp__card{--w:min(56vw,230px);margin:4px auto calc(var(--w)*.3)}
  #programa-tarjeta .tp__close{flex-direction:column;align-items:stretch;text-align:center;border-top:0;padding-top:0;row-gap:16px}
  #programa-tarjeta .tp__reprise{font-size:clamp(2.1rem,10vw,2.7rem)}
  #programa-tarjeta .tp__cta .btn{width:100%;min-height:56px}
}

/* ---------- Gama baja: sin backdrop-filter, fondo opaco ---------- */
#programa-tarjeta.tp--lite .tp__plate{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0A1622}
#programa-tarjeta.tp--lite .btn--ghost{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0E1A26}

/* ---------- Movimiento reducido: borde lleno, sin gota ni brillo ---------- */
html.reduce #programa-tarjeta .tp__drop,html.reduce #programa-tarjeta .tp__gloss{display:none}
html.reduce #programa-tarjeta .tp__plate{--tp-p:110%}
@media (prefers-reduced-motion:reduce){#programa-tarjeta .tp__drop,#programa-tarjeta .tp__gloss{display:none}}
#programa-tarjeta .tp__tbl thead th{font-size:.8rem}

/* Enlaces al pie compartido: que el destino no quede bajo la barra fija.
   (Petición al integrador: mover esta regla a css/footer.css.) */
:where(#documentos-programa-tarjeta,#bridge-disclosure){scroll-margin-top:var(--tp-anchor-offset,104px)}
