/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("0002d302-6f9e-4e22-917b-03accfac5d7f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("a10489ad-968d-47f7-8dc3-e1e8d13ab26b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("0002d302-6f9e-4e22-917b-03accfac5d7f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("a10489ad-968d-47f7-8dc3-e1e8d13ab26b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("0002d302-6f9e-4e22-917b-03accfac5d7f.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("a10489ad-968d-47f7-8dc3-e1e8d13ab26b.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("e32d2b06-a5b9-4d15-bd47-9761b813eb5d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("5359fb64-5826-4f33-af66-81ec32a45da1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("e32d2b06-a5b9-4d15-bd47-9761b813eb5d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("5359fb64-5826-4f33-af66-81ec32a45da1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("e32d2b06-a5b9-4d15-bd47-9761b813eb5d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("5359fb64-5826-4f33-af66-81ec32a45da1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("e32d2b06-a5b9-4d15-bd47-9761b813eb5d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("5359fb64-5826-4f33-af66-81ec32a45da1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("e32d2b06-a5b9-4d15-bd47-9761b813eb5d.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("5359fb64-5826-4f33-af66-81ec32a45da1.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ==========================================================================
   rar-curso.css · sistema visual de las páginas de curso de rafabascal.com
   Creado: 18-09-2026 · Alan (agente de desarrollo)
   Propósito: reutilizar la identidad de la portada (Montserrat + Cormorant,
   azul noche #070e18, oro #B2894A, retícula hexagonal) en páginas de venta
   autónomas, sin depender del runtime de la portada.
   ========================================================================== */

:root{
  --bg:#070e18; --bg2:#0a1626; --panel:rgba(10,20,34,.85); --panel2:rgba(10,20,34,.7);
  --oro:#B2894A; --oro-claro:#d8bd84; --oro-borde:rgba(194,168,120,.22);
  --tinta:#f4efe3; --texto:#eee7d8; --suave:#aab3c0; --tenue:#8b94a1; --apagado:#7c8795;
  --mp:#00b1ea;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(18px,5vw,64px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--texto);font-family:var(--sans);font-weight:300;
     -webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.7}
::selection{background:var(--oro);color:#0a1622}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--oro-claro);outline-offset:3px}

/* retícula hexagonal de fondo, idéntica a la portada */
.malla{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="56" height="96" viewBox="0 0 56 96"><path d="M28 0L56 16V48L28 64L0 48V16Z M28 64L56 80" fill="none" stroke="%23B2894A" stroke-opacity="0.10" stroke-width="1"/></svg>');
  background-size:84px 144px}

/* ---------- cabecera ---------- */
.hdr{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
     gap:14px;padding:13px var(--gutter);background:rgba(7,14,24,.9);backdrop-filter:blur(10px);
     border-bottom:1px solid rgba(194,168,120,.16)}
.hdr .marca{display:flex;align-items:center;gap:11px}
.hdr .marca span{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#bcc4d0;white-space:nowrap}
.hdr nav{display:flex;gap:26px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#bcc4d0;font-weight:500}
.hdr nav a:hover{color:var(--oro)}
@media(max-width:860px){
  .hdr nav{display:none}
  /* En telefono la compra vive en la barra fija de abajo: el boton del
     encabezado estorbaria y empujaria el nombre. Alan, 18-09-2026. */
  .hdr>.btn{display:none}
  .hdr .marca span{font-size:11px;letter-spacing:.2em}
}
@media(max-width:380px){.hdr .marca span{display:none}}

/* ---------- estructura ---------- */
.wrap{max-width:1080px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);position:relative;z-index:2}
.wrap.angosto{max-width:820px}
section{position:relative;z-index:2}
.sec{padding:clamp(56px,8vw,104px) 0}
.sec.filo{border-top:1px solid rgba(194,168,120,.12)}
.kick{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--oro);display:block;margin-bottom:12px}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--tinta);line-height:1.08}
h1{font-size:clamp(38px,7vw,68px);letter-spacing:-.01em}
h2{font-size:clamp(27px,4.2vw,46px)}
h3{font-size:clamp(20px,2.6vw,26px)}
p{max-width:44em}
.lede{font-size:clamp(15.5px,1.7vw,18.5px);color:var(--suave);line-height:1.75}
.p{font-size:15.5px;color:var(--suave);line-height:1.75;margin-top:14px}
strong{color:var(--tinta);font-weight:500}
.sep{height:1px;background:rgba(194,168,120,.16);margin:0}

/* ---------- héroe ---------- */
.hero{padding:clamp(44px,7vw,86px) 0 clamp(40px,6vw,72px);
      background:radial-gradient(120% 80% at 50% 0%,#13243b 0%,#0a1828 46%,#070e18 80%)}
.hero .placa{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(194,168,120,.4);
      padding:7px 15px;margin-bottom:22px}
.hero .placa i{width:7px;height:7px;background:var(--oro);display:block;
      clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hero .placa span{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--oro);font-style:normal}
.hero h1 .tono{color:var(--oro)}
.hero .bajada{margin-top:18px;font-size:clamp(16px,1.9vw,20px);color:var(--tinta);font-weight:300;max-width:24em;
      font-family:var(--serif);font-size:clamp(20px,2.6vw,27px);line-height:1.3}
.hero .lede{margin-top:18px;max-width:38em}

/* fichas de datos duros */
.datos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(194,168,120,.18);
      border:1px solid rgba(194,168,120,.18);margin-top:30px}
.datos div{background:#0a1521;padding:16px 18px}
.datos dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue);margin-bottom:5px}
.datos dd{font-size:14.5px;color:var(--tinta);font-weight:500;line-height:1.35}
.datos dd b{font-weight:600}
@media(max-width:700px){.datos{grid-template-columns:1fr 1fr}}

/* ---------- botones ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);
     font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer;
     padding:16px 28px;border:1px solid transparent;transition:transform .25s,box-shadow .25s,border-color .25s,color .25s;
     text-align:center}
.btn-oro{background:var(--oro);color:#0a1622}
.btn-oro:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(194,168,120,.6)}
.btn-linea{border-color:rgba(188,196,208,.35);color:var(--texto);background:none}
.btn-linea:hover{border-color:var(--oro);color:var(--oro)}
.btn-mp{background:var(--mp);color:#fff}
.btn-mp:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.6;cursor:default;transform:none}
.bajocta{font-size:12.5px;color:var(--tenue);margin-top:14px;max-width:34em}
.seguro{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--tenue)}
.seguro i{width:8px;height:8px;border-radius:50%;background:var(--mp);display:block}

/* ---------- rejillas y tarjetas ---------- */
.cols{display:grid;gap:18px;margin-top:34px}
.c2{grid-template-columns:1fr 1fr}
.c3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.c2,.c3{grid-template-columns:1fr}}
.caja{border:1px solid var(--oro-borde);background:var(--panel2);padding:26px 26px}
.caja h3{margin-bottom:10px}
.caja p{font-size:14.5px;color:#9aa6b4;line-height:1.7}
.caja .num{font-family:var(--serif);font-size:16px;color:var(--oro);display:block;margin-bottom:14px}

/* listas */
.lista{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:20px}
.lista li{display:flex;gap:11px;font-size:15px;color:#bcc4d0;line-height:1.65}
.lista li::before{content:"◆";color:var(--oro);flex:none;font-size:11px;line-height:1.7}
.lista.si li::before{content:"✓";color:var(--oro);font-size:13px}
.lista.no li::before{content:"✕";color:#8a6a63;font-size:13px}

/* ---------- programa (acordeones) ---------- */
.mod{border:1px solid var(--oro-borde);background:var(--panel2);margin-top:12px}
.mod>summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:16px;padding:20px 22px}
.mod>summary::-webkit-details-marker{display:none}
.mod>summary:hover{background:rgba(194,168,120,.05)}
.mod .idx{font-family:var(--serif);font-size:22px;color:var(--oro);line-height:1;flex:none;width:34px;padding-top:2px}
.mod .tit{flex:1}
.mod .tit b{display:block;font-family:var(--serif);font-size:21px;color:var(--tinta);font-weight:500;line-height:1.25}
.mod .tit em{display:block;font-style:normal;font-size:13.5px;color:var(--tenue);margin-top:5px;line-height:1.55}
.mod .mas{flex:none;color:var(--oro);font-size:20px;line-height:1;padding-top:4px;transition:transform .25s}
.mod[open] .mas{transform:rotate(45deg)}
.mod .cuerpo{padding:0 22px 22px 72px;border-top:1px solid rgba(194,168,120,.1);margin-top:2px;padding-top:18px}
.mod .cuerpo .lista{margin-top:0}
.mod .cuerpo .lista li{font-size:14.5px}
.mod .queda{margin-top:16px;padding:13px 15px;border-left:2px solid var(--oro);background:rgba(178,137,74,.07);
     font-size:13.5px;color:#cdc6b6;line-height:1.6}
.mod .queda b{color:var(--oro);font-weight:600;display:block;font-size:10.5px;letter-spacing:.16em;
     text-transform:uppercase;margin-bottom:5px}
@media(max-width:640px){.mod .cuerpo{padding-left:22px}}

/* ---------- pasos ---------- */
.pasos{counter-reset:p;margin-top:30px;display:grid;gap:2px;background:rgba(194,168,120,.14);
     border:1px solid rgba(194,168,120,.16)}
.pasos li{background:#0a1521;padding:20px 22px;display:flex;gap:16px;align-items:flex-start;list-style:none}
.pasos li::before{counter-increment:p;content:counter(p,decimal-leading-zero);font-family:var(--serif);
     font-size:17px;color:var(--oro);flex:none;width:30px;padding-top:2px}
.pasos b{display:block;color:var(--tinta);font-weight:500;font-size:15px;margin-bottom:4px;font-family:var(--sans)}
.pasos span{font-size:14px;color:#9aa6b4;line-height:1.65}

/* ---------- testimonios ---------- */
.resena{border:1px solid rgba(194,168,120,.16);background:var(--panel2);padding:24px;display:flex;flex-direction:column}
.resena .est{color:var(--oro);letter-spacing:3px;font-size:13px;margin-bottom:12px}
.resena blockquote{font-size:14px;line-height:1.65;color:#cdc6b6;font-weight:300;flex:1}
.resena figcaption{font-size:12.5px;color:var(--tenue);margin-top:16px}
.resena figcaption b{color:#e8e0cf;font-weight:600}
.resena figcaption a{color:var(--oro);font-size:11.5px}
.resena figcaption a:hover{text-decoration:underline}

/* ---------- autoridad ---------- */
.autor{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,54px);align-items:center}
@media(max-width:820px){.autor{grid-template-columns:1fr}}
.retrato{position:relative;width:100%;max-width:330px;justify-self:center}
.retrato img{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:100%;
     aspect-ratio:1/1.16;object-fit:cover;filter:saturate(.92)}

/* ---------- faq ---------- */
.faq{border-bottom:1px solid rgba(194,168,120,.14)}
.faq>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;
     padding:18px 2px;font-size:15.5px;color:var(--tinta);font-weight:400}
.faq>summary::-webkit-details-marker{display:none}
.faq>summary:hover{color:var(--oro)}
.faq .mas{color:var(--oro);font-size:19px;line-height:1.2;flex:none;transition:transform .25s}
.faq[open] .mas{transform:rotate(45deg)}
.faq .r{padding:0 2px 20px;font-size:14.5px;color:#9aa6b4;line-height:1.75;max-width:52em}

/* ---------- cierre ---------- */
.cierre{background:radial-gradient(100% 100% at 50% 50%,#13243b 0%,#0a1828 55%,#070e18 88%);text-align:center}
.cierre .wrap{max-width:760px}
.cierre p{margin-left:auto;margin-right:auto}
.cierre .btns{justify-content:center}
.recap{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(194,168,120,.18);
     border:1px solid rgba(194,168,120,.18);margin-top:30px;text-align:left}
.recap div{background:#0a1521;padding:15px 17px}
.recap dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tenue);margin-bottom:4px}
.recap dd{font-size:14.5px;color:var(--tinta);font-weight:500}

/* ---------- pie ---------- */
.pie{border-top:1px solid rgba(194,168,120,.16);background:#05080f;padding:36px var(--gutter);position:relative;z-index:2}
.pie .in{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:space-between}
.pie a{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue)}
.pie a:hover{color:var(--oro)}
.pie .legal{display:flex;flex-wrap:wrap;gap:20px}
.pie small{font-size:11.5px;color:var(--apagado);letter-spacing:0;text-transform:none}

/* ---------- barra fija de compra (móvil) ---------- */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:12px;align-items:center;
     justify-content:space-between;padding:11px 16px calc(11px + env(safe-area-inset-bottom));
     background:rgba(7,14,24,.96);backdrop-filter:blur(10px);border-top:1px solid rgba(194,168,120,.25)}
.barra .pre b{display:block;font-size:17px;color:var(--tinta);font-weight:600;line-height:1.15}
.barra .pre span{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue)}
.barra .btn{padding:14px 20px;font-size:12px;flex:1;max-width:210px}
@media(max-width:860px){.barra{display:flex}body{padding-bottom:78px}}

/* ---------- modal de compra ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;
     padding:20px;background:rgba(4,8,13,.76);backdrop-filter:blur(4px)}
.modal[data-abierto="1"]{display:flex}
.modal .ficha{background:#0a1422;border:1px solid rgba(194,168,120,.3);max-width:430px;width:100%;
     padding:32px 28px;position:relative;max-height:92vh;overflow-y:auto;
     clip-path:polygon(0 0,100% 0,100% 100%,16px 100%,0 calc(100% - 16px))}
.modal h2{font-size:25px;text-align:center}
.modal .cerrar{position:absolute;top:10px;right:13px;background:none;border:0;color:var(--tenue);
     font-size:24px;cursor:pointer;line-height:1;padding:4px 8px}
.modal .cerrar:hover{color:var(--oro)}
.modal .resumen{margin:18px 0 0;border:1px solid rgba(194,168,120,.2);background:rgba(7,14,24,.6)}
.modal .resumen div{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;
     border-bottom:1px solid rgba(194,168,120,.1);font-size:13.5px}
.modal .resumen div:last-child{border-bottom:0}
.modal .resumen dt{color:var(--tenue);font-size:12.5px}
.modal .resumen dd{color:var(--tinta);font-weight:500;text-align:right}
.modal .resumen dd.precio{color:var(--oro);font-weight:600;font-size:15px}
.modal .cup{margin:16px 0 0;text-align:left}
.modal .cup button.liga{background:none;border:0;color:var(--oro);font-size:12px;cursor:pointer;padding:0;
     text-decoration:underline;font-family:var(--sans)}
.modal .cup .campo{display:none;margin-top:10px}
.modal .cup .campo.abierto{display:block}
.modal .cup .fila{display:flex;gap:8px}
.modal .cup input{flex:1;min-width:0;background:#070e18;border:1px solid rgba(178,137,74,.28);
     padding:11px 13px;color:var(--tinta);font-family:var(--sans);font-size:13px;letter-spacing:.06em;
     text-transform:uppercase}
.modal .cup .aplicar{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
     color:#0a1622;background:var(--oro);border:0;padding:0 16px;cursor:pointer;font-family:var(--sans)}
.modal .msg{font-size:12px;margin:9px 0 0;display:none}
.modal .tras{margin-top:16px;font-size:12.5px;color:#9aa6b4;line-height:1.6;text-align:left;
     border-top:1px solid rgba(194,168,120,.14);padding-top:14px}
.modal .tras b{display:block;color:var(--texto);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
     margin-bottom:6px;font-weight:600}
.modal .seguro{justify-content:center;width:100%;margin-top:16px}
.modal .btn{width:100%;margin-top:12px}
.modal .fino{font-size:11px;color:var(--apagado);margin-top:11px;text-align:center;line-height:1.5}

/* ---------- animación de entrada ---------- */
[data-sube]{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-sube].vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-sube]{opacity:1;transform:none;transition:none}
  .btn{transition:none}
}
