/* ============================================================
   TICO PLUNGE · REGALOS
   Todo con los tokens de marca — sin colores hardcodeados.
   ============================================================ */

.regalo-hero-cta{margin-top:28px;display:inline-block;}
.regalo-section{background:var(--paper);padding-top:56px;}
.regalo-inner{max-width:1060px;margin:0 auto;padding:0 5vw;}

/* ---------- Barra de pasos ---------- */
.rg-steps{display:flex;gap:6px;margin-bottom:44px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;}
.rg-steps::-webkit-scrollbar{display:none;}
.rg-step{flex:1 0 auto;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:100px;
  background:var(--paper-warm);border:1px solid var(--line);white-space:nowrap;transition:all .25s;}
.rg-step span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:var(--line-strong);color:var(--paper);font-size:11px;font-weight:700;flex-shrink:0;}
.rg-step em{font-style:normal;font-size:12px;font-weight:600;color:var(--ink-soft);letter-spacing:.02em;}
.rg-step.is-active{background:var(--ink);border-color:var(--ink);}
.rg-step.is-active span{background:var(--ice);color:var(--paper);}
.rg-step.is-active em{color:var(--paper);}
.rg-step.is-done span{background:var(--ice);color:var(--paper);}
.rg-step.is-done span::after{content:'✓';}
.rg-step.is-done span{font-size:0;}
.rg-step.is-done span::after{font-size:12px;}

/* ---------- Paneles ---------- */
.rg-panel{display:none;animation:rgFade .3s cubic-bezier(.22,.61,.36,1);}
.rg-panel.is-active{display:block;}
@keyframes rgFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.rg-title{font-family:var(--font-display);font-size:clamp(26px,4vw,36px);font-weight:400;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em;}
.rg-lead{font-size:15px;line-height:1.65;color:var(--ink-soft);margin-bottom:28px;max-width:60ch;}

/* ---------- Filtros ---------- */
.rg-filtros{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.rg-filtro{padding:9px 18px;border-radius:100px;border:1px solid var(--line-strong);background:transparent;
  font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .18s;}
.rg-filtro:hover{border-color:var(--ink);}
.rg-filtro.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* ---------- Tarjetas de producto ---------- */
.rg-productos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.rg-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;}
.rg-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-strong);}
.rg-card.is-sel{border-color:var(--ice);box-shadow:var(--shadow-md);}
.rg-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--paper-warm);}
.rg-card-media img{width:100%;height:100%;object-fit:cover;}
.rg-card-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.rg-card-tag{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ice);margin-bottom:8px;}
.rg-card-name{font-family:var(--font-display);font-size:21px;font-weight:400;color:var(--ink);margin-bottom:8px;line-height:1.25;}
.rg-card-desc{font-size:13.5px;line-height:1.6;color:var(--ink-soft);margin-bottom:14px;}
.rg-card-inc{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:5px;}
.rg-card-inc li{font-size:12.5px;color:var(--ink-soft);padding-left:16px;position:relative;line-height:1.5;}
.rg-card-inc li::before{content:'✓';position:absolute;left:0;color:var(--ice);font-weight:700;}
.rg-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap;}
.rg-card-price{font-family:var(--font-display);font-size:24px;color:var(--ink);}
.rg-card-btn{background:var(--ink);color:var(--paper);border:none;padding:11px 18px;border-radius:100px;
  font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:background .2s;}
.rg-card-btn:hover{background:var(--ice);}
.rg-vacio{padding:40px;text-align:center;color:var(--ink-soft);font-size:14px;}

/* ---------- Formularios ---------- */
.rg-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:30px;}
.rg-field{display:flex;flex-direction:column;}
.rg-field-full{grid-column:1/-1;}
.rg-field label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:7px;}
.rg-opt{text-transform:none;letter-spacing:0;font-weight:400;opacity:.7;}
.rg-field input,.rg-field textarea{width:100%;padding:13px 15px;border:1px solid var(--line-strong);border-radius:8px;
  font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--paper);transition:border-color .2s;}
.rg-field input:focus,.rg-field textarea:focus{outline:none;border-color:var(--ice);}
.rg-field textarea{resize:vertical;line-height:1.6;}
.rg-hint{font-size:11.5px;color:var(--ink-soft);margin-top:6px;line-height:1.45;}
.rg-hint.is-ok{color:var(--green);font-weight:600;}
.rg-contador{font-size:11.5px;color:var(--ink-soft);margin-top:6px;text-align:right;}

/* ---------- Entrega ---------- */
.rg-entregas{display:grid;gap:12px;margin-bottom:22px;}
.rg-entrega{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--line-strong);
  border-radius:10px;cursor:pointer;transition:all .2s;background:var(--paper);}
.rg-entrega:hover{border-color:var(--ink);}
.rg-entrega.is-active{border-color:var(--ice);background:var(--paper-warm);}
.rg-entrega input{margin-top:3px;accent-color:var(--ice);width:18px;height:18px;flex-shrink:0;}
.rg-entrega-body{display:flex;flex-direction:column;gap:4px;}
.rg-entrega-body strong{font-size:15px;color:var(--ink);font-weight:600;}
.rg-entrega-body span{font-size:13px;color:var(--ink-soft);line-height:1.55;}
.rg-fecha{max-width:320px;margin-bottom:22px;}

/* ---------- Certificado ---------- */
.rg-cert{margin-bottom:30px;display:flex;justify-content:center;}
.cert{width:100%;max-width:560px;background:var(--ink);color:var(--paper);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-xl);}
.cert-top{padding:30px 32px 0;text-align:center;}
.cert-logo-img{width:130px;max-width:50%;height:auto;display:block;margin:0 auto 18px;}
.cert-eyebrow{font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;opacity:.65;}
.cert-body{padding:26px 32px 30px;text-align:center;}
.cert-para{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-bottom:6px;}
.cert-name{font-family:var(--font-display);font-size:clamp(28px,6vw,40px);font-weight:400;margin-bottom:20px;line-height:1.1;}
.cert-msg{font-style:italic;font-size:15px;line-height:1.7;opacity:.9;margin:0 0 24px;padding:0 8px;
  border:none;max-width:44ch;margin-left:auto;margin-right:auto;}
.cert-exp{background:rgba(255,255,255,.07);border-radius:10px;padding:18px;margin-bottom:20px;}
.cert-exp-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-bottom:6px;}
.cert-exp-name{font-family:var(--font-display);font-size:20px;margin-bottom:4px;}
.cert-exp-meta{font-size:12.5px;opacity:.7;}
.cert-code{border:1px dashed rgba(255,255,255,.3);border-radius:8px;padding:14px;margin-bottom:18px;}
.cert-code-label{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-bottom:5px;}
.cert-code-value{font-size:18px;font-weight:700;letter-spacing:.12em;}
.cert-code-pending{font-size:12px;font-weight:500;letter-spacing:.02em;opacity:.7;font-style:italic;}
.cert-cta{font-size:13px;opacity:.8;}
.cert-foot{padding:16px 32px;background:rgba(0,0,0,.25);display:flex;justify-content:space-between;
  align-items:center;gap:12px;font-size:11.5px;flex-wrap:wrap;}
.cert-slogan{font-style:italic;opacity:.6;}

/* ---------- Resumen y pago ---------- */
.rg-resumen{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px;}
.rg-res-row{display:flex;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line);
  font-size:14px;align-items:baseline;flex-wrap:wrap;}
.rg-res-row:last-child{border-bottom:none;}
.rg-res-row span{color:var(--ink-soft);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;}
.rg-res-row strong{color:var(--ink);font-weight:600;text-align:right;flex:1;}
.rg-res-total{background:var(--paper-warm);}
.rg-res-total strong{font-family:var(--font-display);font-size:26px;font-weight:400;}
.rg-trust{margin-bottom:20px;padding:16px 18px;background:var(--paper-warm);border-radius:10px;border:1px solid var(--line);}
.rg-trust ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;}
.rg-trust li{font-size:12.5px;color:var(--ink-soft);line-height:1.5;}
.rg-legal{font-size:12px;color:var(--ink-soft);line-height:1.6;margin-top:16px;}
.rg-msg{padding:13px 16px;border-radius:8px;font-size:13.5px;font-weight:600;margin-bottom:16px;line-height:1.5;}
.rg-msg.is-err{background:#fdecea;color:#b71c1c;border:1px solid #f5c6c6;}
.rg-msg.is-ok{background:#e8f7ec;color:#1b5e20;border:1px solid #bfe8c8;}

/* ---------- Navegación del wizard ---------- */
.rg-nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px;}
.rg-btn-back{background:transparent;border:1px solid var(--line-strong);color:var(--ink);padding:13px 22px;
  border-radius:100px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;}
.rg-btn-back:hover{border-color:var(--ink);}
.rg-btn-next,.rg-btn-pay{background:var(--ink);color:var(--paper);border:none;padding:14px 30px;border-radius:100px;
  font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:all .2s;}
.rg-btn-next:hover:not(:disabled),.rg-btn-pay:hover:not(:disabled){background:var(--ice);}
.rg-btn-next:disabled,.rg-btn-pay:disabled{opacity:.4;cursor:not-allowed;}
.rg-btn-pay{flex:1;min-width:220px;background:var(--ice);font-size:14px;padding:16px 30px;}
.rg-btn-pay:hover:not(:disabled){background:var(--ice-light);}

/* ---------- Confirmación ---------- */
.rg-ok{text-align:center;max-width:560px;margin:0 auto;padding:20px 0;}
.rg-ok-icon{font-size:48px;margin-bottom:16px;}
.rg-ok-steps{text-align:left;background:var(--paper-warm);border:1px solid var(--line);border-radius:10px;
  padding:20px;margin:24px 0;display:grid;gap:10px;}
.rg-ok-steps p{font-size:13.5px;line-height:1.6;color:var(--ink);margin:0;}
.rg-ok-steps a{color:var(--ice);}

/* ---------- Cómo funciona ---------- */
.regalo-como{background:var(--paper-warm);}
.rg-pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:40px;}
.rg-paso span{font-family:var(--font-display);font-size:34px;color:var(--ice);display:block;margin-bottom:10px;}
.rg-paso h3{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--ink);margin-bottom:8px;}
.rg-paso p{font-size:14px;line-height:1.65;color:var(--ink-soft);}

/* ---------- Móvil ---------- */
@media(max-width:760px){
  .rg-step em{display:none;}
  .rg-step{flex:0 0 auto;padding:9px 11px;}
  .rg-productos{grid-template-columns:1fr;}
  .rg-card-foot{flex-direction:column;align-items:stretch;}
  .rg-card-btn{width:100%;padding:13px;}
  .rg-nav{flex-direction:column-reverse;align-items:stretch;}
  .rg-btn-back,.rg-btn-next,.rg-btn-pay{width:100%;}
  .cert-body{padding:22px 20px 26px;}
  .cert-top{padding:24px 20px 0;}
  .cert-foot{padding:14px 20px;flex-direction:column;align-items:flex-start;gap:6px;}
  /* 16px evita el zoom automático de iOS al enfocar un campo */
  .rg-field input,.rg-field textarea{font-size:16px;}
}
