/* ReviveRecuerdos — sistema visual (tokens + componentes). Prefijo rr- */
*,*::before,*::after{box-sizing:border-box}
:root{
  --rr-purple-50:#f5f0ff;--rr-purple-100:#ece3ff;--rr-purple-200:#ddd0fd;--rr-purple-300:#c4b0fa;
  --rr-purple-500:#7c3aed;--rr-purple-600:#6d28d9;--rr-purple-700:#5b21b6;--rr-purple-900:#2e1065;
  --rr-grad:linear-gradient(135deg,#7c3aed 0%,#5b21b6 100%);
  --rr-bg:#faf9fb;--rr-surface:#fff;--rr-ink:#1b1b1f;--rr-ink-2:#45424f;--rr-muted:#6b6776;
  --rr-line:#e8e5ee;--rr-line-2:#d6d0e0;
  --rr-warm:#fff1e3;--rr-peach:#fde6d2;--rr-rose:#fbdde5;--rr-sand:#f3e9d6;
  --rr-amber-bg:#fff4dc;--rr-amber-line:#f0c987;--rr-amber-ink:#5c2d00;--rr-amber-600:#d97706;--rr-amber-700:#b45309;
  --rr-error:#b42318;--rr-ok:#0f6b4b;
  --rr-radius:12px;--rr-radius-lg:20px;
  --rr-shadow-1:0 1px 2px rgba(27,27,31,.04);
  --rr-shadow-hover:0 14px 32px -10px rgba(91,33,182,.28),0 2px 6px rgba(27,27,31,.06);
  --rr-font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
body{margin:0;background:var(--rr-bg)}
.rr-page{font-family:var(--rr-font);color:var(--rr-ink);line-height:1.55;-webkit-font-smoothing:antialiased;text-size-adjust:100%}
.rr-page h1,.rr-page h2,.rr-page h3,.rr-page h4,.rr-page p,.rr-page ul,.rr-page ol,.rr-page figure{margin:0;padding:0}
.rr-page ul,.rr-page ol{list-style:none}
:where(.rr-page) a{color:inherit}
.rr-page button,.rr-page input,.rr-page textarea,.rr-page select{font-family:inherit}
.rr-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}
.rr-section{padding:88px 0}
.rr-eyebrow{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--rr-purple-700)}
.rr-h1{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.025em;font-weight:800}
.rr-h2{font-size:clamp(27px,3.2vw,40px);line-height:1.12;letter-spacing:-.022em;font-weight:800}
.rr-h3{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.01em}
.rr-lead{font-size:18px;line-height:1.6;color:var(--rr-ink-2)}
.rr-muted{color:var(--rr-muted)}
.rr-link{color:var(--rr-purple-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.rr-link:hover{color:var(--rr-purple-900)}
.rr-i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;display:inline-block}
.rr-art{display:block;width:100%;height:auto;aspect-ratio:1/1}
.rr-art.is-photo{object-fit:cover;aspect-ratio:1/1;border-radius:8px}

/* ---------- Botones ---------- */
.rr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--rr-radius);border:1.5px solid transparent;font:600 15px/1 var(--rr-font);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s,color .2s}
.rr-btn--primary{background:var(--rr-grad);color:#fff;box-shadow:0 1px 2px rgba(91,33,182,.35)}
.rr-btn--primary:hover{background:linear-gradient(135deg,#6d28d9,#4c1d95);box-shadow:0 12px 24px -8px rgba(91,33,182,.6);transform:translateY(-1px)}
.rr-btn--primary:active{background:#4c1d95;transform:translateY(0);box-shadow:inset 0 2px 5px rgba(0,0,0,.28)}
.rr-btn--outline{background:#fff;color:var(--rr-purple-700);border-color:var(--rr-purple-300)}
.rr-btn--outline:hover{background:var(--rr-purple-50);border-color:var(--rr-purple-500);box-shadow:var(--rr-shadow-hover)}
.rr-btn--outline:active{background:var(--rr-purple-100)}
.rr-btn--ghost{background:transparent;color:var(--rr-ink)}
.rr-btn--ghost:hover{background:#efecf4}
.rr-btn--light{background:#fff;color:var(--rr-purple-700)}
.rr-btn--light:hover{box-shadow:0 12px 24px -8px rgba(0,0,0,.35);transform:translateY(-1px)}
.rr-btn:focus-visible{outline:3px solid var(--rr-purple-300);outline-offset:2px}
.rr-btn[disabled]{background:#ebe8f0;color:#767281;border-color:transparent;box-shadow:none;transform:none;cursor:not-allowed}
.rr-btn--lg{min-height:56px;padding:0 32px;font-size:16px}
.rr-btn--sm{min-height:44px;padding:0 18px;font-size:14px}
.rr-btn--block{width:100%}

/* ---------- Insignia de cotización (pill) y etiquetas ---------- */
.rr-qbadge{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--rr-grad);color:#fff;font:600 13.5px/1 var(--rr-font);text-decoration:none;white-space:nowrap;box-shadow:0 1px 2px rgba(91,33,182,.35);transition:box-shadow .2s,transform .15s}
.rr-qbadge:hover{box-shadow:0 10px 22px -8px rgba(91,33,182,.65);transform:translateY(-1px)}
.rr-qbadge:focus-visible{outline:3px solid var(--rr-purple-300);outline-offset:2px}
.rr-qbadge--lg{min-height:52px;padding:0 24px;font-size:15px}
.rr-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--rr-purple-100);color:var(--rr-purple-700);font:600 12.5px/1 var(--rr-font)}
.rr-tag--warm{background:var(--rr-peach);color:#7a3b00}
.rr-tag--on-img{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94);box-shadow:0 1px 3px rgba(27,27,31,.08)}
.rr-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--rr-line-2);background:#fff;font:600 14px/1 var(--rr-font);color:var(--rr-ink);text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .2s,background .2s}
.rr-chip:hover{border-color:var(--rr-purple-500);background:var(--rr-purple-50)}
.rr-chip.is-active{background:var(--rr-purple-700);border-color:var(--rr-purple-700);color:#fff}

/* ---------- Tarjetas ---------- */
.rr-card{background:var(--rr-surface);border:1px solid var(--rr-line);border-radius:var(--rr-radius);box-shadow:var(--rr-shadow-1);transition:box-shadow .25s,transform .25s,border-color .25s}
.rr-card--hover:hover{box-shadow:var(--rr-shadow-hover);transform:translateY(-3px);border-color:var(--rr-purple-200)}
.rr-card--quote{background:var(--rr-purple-50);border-color:var(--rr-purple-200)}
.rr-pcard{display:flex;flex-direction:column;height:100%;overflow:hidden}
.rr-pimg{position:relative;display:block;aspect-ratio:1/1;padding:12%;overflow:hidden;text-decoration:none}
.rr-pimg .rr-art{transition:transform .35s}
.rr-pcard:hover .rr-pimg .rr-art{transform:scale(1.04) rotate(-1deg)}
.rr-pbody{display:flex;flex-direction:column;gap:8px;padding:16px 18px 20px;flex:1}
.rr-card--quote .rr-pbody{border-top:1.5px dashed var(--rr-purple-300)}
.rr-pcat{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--rr-muted)}
.rr-pname{font-size:17px;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.rr-pname a{text-decoration:none;color:inherit}
.rr-pfoot{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.rr-pnote{font-size:13px;color:var(--rr-muted)}
.rr-price{font-size:20px;font-weight:800;letter-spacing:-.01em}
.rr-price small{font-size:13px;font-weight:500;color:var(--rr-muted)}
.rr-price del,.rr-price .amount:first-child:not(:only-child){font-weight:500;opacity:.55;font-size:.75em;margin-right:6px}
.rr-tint-lilac{background:#ece3ff}.rr-tint-peach{background:#fde6d2}.rr-tint-rose{background:#fbdde5}.rr-tint-sand{background:#f3e9d6}.rr-tint-iris{background:#dccffb}

/* ---------- Formularios ---------- */
.rr-label{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px}
.rr-label small{font-weight:500;color:var(--rr-muted)}
.rr-hint{font-size:13.5px;color:var(--rr-muted);margin-top:8px}
.rr-input{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--rr-line-2);border-radius:var(--rr-radius);background:#fff;font:400 16px/1.4 var(--rr-font);color:var(--rr-ink);transition:border-color .2s,box-shadow .2s}
.rr-input::placeholder{color:#767281}
.rr-input:hover{border-color:#b9b1c9}
.rr-input:focus{outline:none;border-color:var(--rr-purple-500);box-shadow:0 0 0 4px rgba(124,58,237,.16)}
.rr-input.is-error{border-color:var(--rr-error);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
.rr-input[disabled]{background:#f2f0f5;color:#767281;cursor:not-allowed}
textarea.rr-input{min-height:120px;resize:vertical}
.rr-err{display:flex;gap:6px;align-items:center;color:var(--rr-error);font-size:13.5px;margin-top:8px;font-weight:600}
.rr-check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--rr-ink-2);cursor:pointer}
.rr-check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--rr-purple-600);flex:none}
.rr-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 16px;border:2px dashed var(--rr-purple-300);border-radius:var(--rr-radius);background:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.rr-drop:hover{background:var(--rr-purple-50);border-color:var(--rr-purple-500)}
.rr-drop:focus-within{outline:3px solid var(--rr-purple-300);outline-offset:2px}
.rr-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.rr-drop.has-file{border-style:solid;border-color:var(--rr-purple-500);background:var(--rr-purple-50)}
.rr-quote-feedback{font-size:14.5px;font-weight:600;min-height:1px}
.rr-quote-feedback.is-success{color:var(--rr-ok)}
.rr-quote-feedback.is-error{color:var(--rr-error)}

/* ---------- Selector de estilo ---------- */
.rr-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rr-style{position:relative;display:block;cursor:pointer}
.rr-style input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.rr-style__card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 10px 14px;background:#fff;border:1.5px solid var(--rr-line-2);border-radius:var(--rr-radius);text-align:center;height:100%;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.rr-style__img{width:100%;aspect-ratio:1/1;border-radius:8px;background:var(--rr-warm);padding:6%}
.rr-style__name{font-size:15px;font-weight:700;line-height:1.2}
.rr-style__desc{font-size:12.5px;line-height:1.35;color:var(--rr-muted)}
.rr-style:hover .rr-style__card{border-color:var(--rr-purple-300);box-shadow:var(--rr-shadow-hover);transform:translateY(-2px)}
.rr-style input:checked + .rr-style__card{border-color:var(--rr-purple-600);box-shadow:0 0 0 3px rgba(124,58,237,.2);background:var(--rr-purple-50)}
.rr-style input:focus-visible + .rr-style__card{outline:3px solid var(--rr-purple-300);outline-offset:2px}
.rr-style__tick{position:absolute;top:16px;right:16px;width:26px;height:26px;border-radius:50%;background:var(--rr-grad);color:#fff;display:none;align-items:center;justify-content:center;pointer-events:none;box-shadow:0 2px 6px rgba(91,33,182,.4)}
.rr-style input:checked ~ .rr-style__tick{display:flex}

/* ---------- Colores / swatches ---------- */
.rr-sw{position:relative;display:inline-flex;cursor:pointer}
.rr-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.rr-sw span{display:inline-flex;gap:10px;align-items:center;min-height:44px;padding:0 18px 0 12px;border:1.5px solid var(--rr-line-2);border-radius:999px;background:#fff;font-weight:600;font-size:14.5px;transition:border-color .2s,box-shadow .2s}
.rr-sw i{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.14)}
.rr-sw:hover span{border-color:var(--rr-purple-300)}
.rr-sw input:checked + span{border-color:var(--rr-purple-600);background:var(--rr-purple-50);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.rr-sw input:focus-visible + span{outline:3px solid var(--rr-purple-300);outline-offset:2px}

/* ---------- Cantidad, avisos, plazo ---------- */
.rr-qty{display:inline-flex;align-items:center;border:1.5px solid var(--rr-line-2);border-radius:var(--rr-radius);background:#fff}
.rr-qty button,.rr-qty a{width:46px;height:46px;border:0;background:transparent;color:var(--rr-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:10px;text-decoration:none}
.rr-qty button:hover,.rr-qty a:hover{background:var(--rr-purple-50);color:var(--rr-purple-700)}
.rr-qty output,.rr-qty input{min-width:34px;text-align:center;font-weight:700;border:0;background:transparent;padding:0}
.rr-notice{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:var(--rr-radius);background:var(--rr-purple-50);border:1px solid var(--rr-purple-200);color:var(--rr-ink-2);font-size:14.5px}
.rr-notice .rr-i{color:var(--rr-purple-700);margin-top:2px}
.rr-deadline{background:var(--rr-amber-bg);border:1.5px solid var(--rr-amber-line);border-radius:16px;padding:22px;color:var(--rr-amber-ink)}
.rr-cd-row{display:flex;gap:10px;align-items:center}
.rr-cd{min-width:76px;text-align:center;padding:12px 8px 10px;background:#fff;border:1px solid var(--rr-amber-line);border-radius:12px}
.rr-cd b{display:block;font-size:32px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rr-cd span{display:block;margin-top:6px;font-size:12px;font-weight:600;color:#7a3b00}
.rr-bar{height:8px;border-radius:99px;background:#f6dfb0;overflow:hidden}
.rr-bar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--rr-amber-600),var(--rr-amber-700))}

/* ---------- Cabecera / navegación / pie ---------- */
.rr-announce{background:var(--rr-purple-900);color:#efe9ff;text-align:center;font-size:13px;padding:9px 16px}
.rr-hbar{background:#fff;border-bottom:1px solid var(--rr-line)}
.rr-hbar__in{display:flex;align-items:center;gap:24px;min-height:76px}
.rr-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--rr-ink);font-size:21px;letter-spacing:-.025em;font-weight:500}
.rr-logo b{font-weight:800}
.rr-logo i{font-style:normal;color:var(--rr-purple-700)}
.rr-logo__mark{width:38px;height:38px;border-radius:11px;background:var(--rr-grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px -3px rgba(91,33,182,.5);flex:none}
.rr-search{position:relative;flex:1;max-width:460px;margin:0 auto}
.rr-search input{width:100%;min-height:46px;padding:0 16px 0 44px;border:1.5px solid var(--rr-line);border-radius:999px;background:var(--rr-bg);font:400 15px/1 var(--rr-font);color:var(--rr-ink)}
.rr-search input:focus{outline:none;border-color:var(--rr-purple-500);box-shadow:0 0 0 4px rgba(124,58,237,.14);background:#fff}
.rr-search .rr-i{position:absolute;left:15px;top:13px;color:var(--rr-muted)}
.rr-hact{display:flex;align-items:center;gap:6px;margin-left:auto}
.rr-iconbtn{position:relative;width:46px;height:46px;border-radius:50%;border:0;background:transparent;color:var(--rr-ink);display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.rr-iconbtn:hover{background:var(--rr-purple-50);color:var(--rr-purple-700)}
.rr-iconbtn:focus-visible{outline:3px solid var(--rr-purple-300)}
.rr-count{position:absolute;top:3px;right:1px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--rr-purple-700);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.rr-navrow{background:#fff;border-bottom:1px solid var(--rr-line)}
.rr-navrow__in{display:flex;gap:4px;overflow-x:auto}
.rr-nav{display:inline-flex;align-items:center;min-height:50px;padding:0 16px;border-bottom:2.5px solid transparent;font-size:15px;font-weight:600;color:var(--rr-ink-2);text-decoration:none;white-space:nowrap}
.rr-nav:hover{color:var(--rr-purple-700)}
.rr-nav.is-active{color:var(--rr-purple-700);border-color:var(--rr-purple-600)}
.rr-footer{background:var(--rr-purple-900);color:#d9cff7}
.rr-footer a{color:#efe9ff;text-decoration:none}
.rr-footer a:hover{text-decoration:underline}
.rr-footer h4{margin:0 0 14px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#bfaef2}
.rr-fgrid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px}

/* ---------- Rejillas y utilidades responsive ---------- */
.rr-grid-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.rr-occ{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.rr-steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rr-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start}
.rr-split--side{grid-template-columns:minmax(0,1fr) 400px;gap:40px}
.rr-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rr-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rr-hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:48px;align-items:center}
.rr-show-m{display:none!important}
.rr-ul{position:relative;isolation:isolate;white-space:nowrap}
.rr-ul svg{position:absolute;left:-2%;bottom:-0.12em;width:104%;height:0.34em;z-index:-1}
.rr-occ__card{display:flex;flex-direction:column;padding:8px 8px 18px;text-decoration:none;height:100%}
.rr-occ__card:focus-visible{outline:3px solid var(--rr-purple-300);outline-offset:3px}
.rr-occ__arrow{width:36px;height:36px;border-radius:50%;background:var(--rr-purple-100);color:var(--rr-purple-700);display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s,color .2s}
.rr-occ__card:hover .rr-occ__arrow{background:var(--rr-purple-600);color:#fff}
.rr-feat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}

/* ---------- Página producto: galería sticky, pasos, FAQ ---------- */
.rr-sticky{position:sticky;top:24px}
.rr-thumb{padding:8px;border:1.5px solid var(--rr-line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.rr-thumb:hover{border-color:var(--rr-purple-300)}
.rr-thumb[aria-pressed="true"]{border-color:var(--rr-purple-600);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.rr-thumb:focus-visible{outline:3px solid var(--rr-purple-300);outline-offset:2px}
.rr-qsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rr-qsteps li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--rr-ink-2)}
.rr-qsteps b{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1.5px solid var(--rr-purple-300);color:var(--rr-purple-700);font-size:13px;flex:none}
.rr-faq details{border-bottom:1px solid var(--rr-line);padding:18px 0}
.rr-faq summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.rr-faq summary::-webkit-details-marker{display:none}
.rr-faq summary:focus-visible{outline:3px solid var(--rr-purple-300);outline-offset:4px;border-radius:6px}
.rr-faq details[open] summary .rr-i{transform:rotate(180deg)}
.rr-faq p{margin-top:10px;color:var(--rr-ink-2);max-width:46em}
legend{padding:0}

/* ---------- Tabs e información adicional (producto estándar) ---------- */
.rr-tabs{display:flex;gap:4px;border-bottom:1px solid var(--rr-line);overflow-x:auto}
.rr-tab{min-height:48px;padding:0 20px;border:0;border-bottom:3px solid transparent;background:transparent;font:600 15.5px/1 var(--rr-font);color:var(--rr-ink-2);cursor:pointer;white-space:nowrap}
.rr-tab:hover{color:var(--rr-purple-700)}
.rr-tab[aria-selected="true"]{color:var(--rr-purple-700);border-bottom-color:var(--rr-purple-600)}
.rr-tab:focus-visible{outline:3px solid var(--rr-purple-300);outline-offset:-3px;border-radius:8px}
.rr-attr{width:100%;border-collapse:collapse;font-size:15px}
.rr-attr th,.rr-attr td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--rr-line)}
.rr-attr th{width:38%;font-weight:700;background:var(--rr-bg)}

/* ---------- Tienda: filtros, leyenda, paginación ---------- */
.rr-chips{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:thin}
.rr-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--rr-line);border-radius:var(--rr-radius)}
.rr-legend>div{display:flex;gap:16px;align-items:center;padding:18px 22px}
.rr-legend>div+div{border-left:1px solid var(--rr-line)}
.rr-tool{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.rr-page-btn{width:46px;height:46px;border-radius:12px;border:1.5px solid var(--rr-line-2);background:#fff;font:700 15px/1 var(--rr-font);color:var(--rr-ink);display:flex;align-items:center;justify-content:center;text-decoration:none}
.rr-page-btn:hover{border-color:var(--rr-purple-500);background:var(--rr-purple-50)}
.rr-page-btn.is-active{background:var(--rr-grad);border-color:transparent;color:#fff}

/* ---------- Carrito / checkout: pasos, filas, resumen ---------- */
.rr-steps{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:14.5px;font-weight:600;color:var(--rr-muted)}
.rr-steps li{display:flex;gap:10px;align-items:center}
.rr-steps li b{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--rr-line-2);display:flex;align-items:center;justify-content:center;font-size:13px;background:#fff}
.rr-steps li.is-now{color:var(--rr-purple-700)}
.rr-steps li.is-now b{background:var(--rr-grad);border-color:transparent;color:#fff}
.rr-steps li.is-done{color:var(--rr-ink-2)}
.rr-steps li.is-done b{background:var(--rr-purple-100);border-color:var(--rr-purple-200);color:var(--rr-purple-700)}
.rr-steps li+li::before{content:"";width:28px;height:2px;background:var(--rr-line-2);margin-right:6px}
.rr-crow{display:grid;grid-template-columns:96px minmax(0,1fr) auto 90px 44px;grid-template-areas:"img info qty sub rm";gap:16px 20px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--rr-line)}
.rr-crow>.a-img{grid-area:img}.rr-crow>.a-info{grid-area:info}.rr-crow>.a-qty{grid-area:qty}.rr-crow>.a-sub{grid-area:sub;text-align:right}.rr-crow>.a-rm{grid-area:rm}
.rr-chead{display:grid;grid-template-columns:96px minmax(0,1fr) auto 90px 44px;gap:20px;padding:14px 24px;border-bottom:1px solid var(--rr-line);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rr-muted)}
.rr-sum{display:flex;justify-content:space-between;gap:16px;font-size:15.5px}
.rr-opt{position:relative;display:block;cursor:pointer}
.rr-opt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}
.rr-opt__box{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1.5px solid var(--rr-line-2);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s,background .2s}
.rr-opt:hover .rr-opt__box{border-color:var(--rr-purple-300)}
.rr-opt input:checked + .rr-opt__box{border-color:var(--rr-purple-600);background:var(--rr-purple-50);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.rr-opt input:focus-visible + .rr-opt__box{outline:3px solid var(--rr-purple-300);outline-offset:2px}
.rr-opt__dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--rr-line-2);flex:none;display:flex;align-items:center;justify-content:center;background:#fff}
.rr-opt input:checked + .rr-opt__box .rr-opt__dot{border-color:var(--rr-purple-600)}
.rr-opt input:checked + .rr-opt__box .rr-opt__dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--rr-purple-600)}

/* ---------- Checkout: restyle WooCommerce's own field/payment/review
   markup in place (not replaced) so gateway JS and the AJAX order-review
   refresh keep targeting the DOM nodes they expect. ---------- */
.rr-checkout-section h3{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin:0 0 20px}
.rr-checkout-section .form-row{margin:0 0 16px}
.rr-checkout-section .woocommerce-billing-fields__field-wrapper,
.rr-checkout-section .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 16px}
.rr-checkout-section .form-row-wide{grid-column:1/-1}
.rr-checkout-section .form-row label{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px}
.rr-checkout-section .form-row label .required{color:var(--rr-error);text-decoration:none}
.rr-checkout-section .form-row .woocommerce-input-wrapper{display:block}
.rr-checkout-section input[type=text],
.rr-checkout-section input[type=email],
.rr-checkout-section input[type=tel],
.rr-checkout-section input[type=password],
.rr-checkout-section input[type=number],
.rr-checkout-section textarea,
.rr-checkout-section select,
.rr-checkout-section .select2-selection{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--rr-line-2);border-radius:var(--rr-radius);background:#fff;font:400 16px/1.4 var(--rr-font);color:var(--rr-ink)}
.rr-checkout-section .select2-selection{display:flex;align-items:center}
.rr-checkout-section .select2-selection__arrow{top:12px!important}
.rr-checkout-section input:focus,.rr-checkout-section textarea:focus,.rr-checkout-section select:focus{outline:none;border-color:var(--rr-purple-500);box-shadow:0 0 0 4px rgba(124,58,237,.16)}
.rr-checkout-section .woocommerce-invalid input,.rr-checkout-section .woocommerce-invalid select{border-color:var(--rr-error);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
.rr-checkout-section .woocommerce-form__label-for-checkbox{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;font-weight:500;cursor:pointer}
.rr-checkout-section .woocommerce-form__input-checkbox{width:22px;height:22px;margin:1px 0 0;accent-color:var(--rr-purple-600);flex:none}

.rr-checkout-review .shop_table{width:100%;font-size:14.5px;border-collapse:collapse}
.rr-checkout-review .shop_table th,.rr-checkout-review .shop_table td{padding:10px 0;text-align:left;border-bottom:1px solid var(--rr-line)}
.rr-checkout-review .shop_table td{text-align:right}
.rr-checkout-review .shop_table thead th:first-child,.rr-checkout-review .shop_table .product-name{text-align:left}
.rr-checkout-review .order-total th,.rr-checkout-review .order-total td{border-bottom:0;padding-top:18px;font-size:18px;font-weight:800}
.rr-checkout-review .order-total .woocommerce-Price-amount{font-size:22px;letter-spacing:-.02em}
.rr-checkout-review .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.wc_payment_methods{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.wc_payment_methods .wc_payment_method{border:1.5px solid var(--rr-line-2);border-radius:12px;background:#fff;padding:14px 16px}
.wc_payment_methods .wc_payment_method label{font-weight:600;display:flex;gap:10px;align-items:center;cursor:pointer}
.wc_payment_methods input[type=radio]{width:20px;height:20px;accent-color:var(--rr-purple-600)}
.wc_payment_methods .payment_box{margin-top:14px;padding:16px;border-radius:10px;background:var(--rr-bg);border:1px solid var(--rr-line);font-size:14.5px;color:var(--rr-ink-2)}
.woocommerce-terms-and-conditions-wrapper{margin-top:18px}
.form-row.place-order{margin-top:18px;display:flex;flex-direction:column;gap:14px}
#place_order{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:56px;padding:0 32px;border-radius:var(--rr-radius);border:0;background:var(--rr-grad);color:#fff;font:600 16px/1 var(--rr-font);cursor:pointer;box-shadow:0 1px 2px rgba(91,33,182,.35)}
#place_order:hover{background:linear-gradient(135deg,#6d28d9,#4c1d95)}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{list-style:none;margin:0 0 20px;padding:14px 18px;border-radius:var(--rr-radius);background:var(--rr-purple-50);border:1px solid var(--rr-purple-200);color:var(--rr-ink-2);font-size:14.5px}
.woocommerce-error{background:#fdeceb;border-color:#f3c3bd;color:var(--rr-error)}
@media (max-width:640px){
  .rr-checkout-section .woocommerce-billing-fields__field-wrapper,
  .rr-checkout-section .woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .rr-grid-products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rr-feat{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .rr-wrap{padding:0 20px}
  .rr-section{padding:56px 0}
  .rr-hide-m{display:none!important}
  .rr-show-m{display:flex!important}
  .rr-split,.rr-split--side,.rr-hero__grid,.rr-steps3{grid-template-columns:minmax(0,1fr);gap:28px}
  .rr-occ{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .rr-occ>*:last-child{grid-column:1/-1}
  .rr-grid-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .rr-navrow{display:none}
  .rr-navrow.is-open{display:block}
  .rr-navrow__in{flex-direction:column}
  .rr-hbar__in{min-height:64px;gap:8px}
  .rr-logo{font-size:19px}
  .rr-sticky{position:static}
  .rr-feat{gap:14px}
  .rr-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .rr-fgrid>:first-child{grid-column:1/-1}
  .rr-legend{grid-template-columns:minmax(0,1fr)}
  .rr-legend>div+div{border-left:0;border-top:1px solid var(--rr-line)}
  .rr-legend>div{padding:14px 16px}
}
@media (max-width:760px){
  .rr-legend{grid-template-columns:minmax(0,1fr)}
  .rr-legend>div+div{border-left:0;border-top:1px solid var(--rr-line)}
  .rr-legend>div{padding:14px 16px}
}
@media (max-width:700px){
  .rr-chead{display:none}
  .rr-crow{grid-template-columns:72px minmax(0,1fr) 44px;grid-template-areas:"img info rm" "img qty sub";padding:16px;gap:12px 14px}
}
@media (max-width:560px){
  .rr-wrap{padding:0 16px}
  .rr-pbody{padding:12px 12px 14px;gap:6px}
  .rr-pname{font-size:15px}
  .rr-qbadge{padding:0 12px;font-size:12px;gap:6px}
  .rr-pnote{display:none}
  .rr-price{font-size:18px}
  .rr-styles{gap:8px}
  .rr-style__desc{display:none}
  .rr-two,.rr-three{grid-template-columns:minmax(0,1fr)}
  .rr-cd{min-width:0;flex:1}
  .rr-cd b{font-size:26px}
  .rr-hero-ctas .rr-btn{width:100%}
  .rr-ul{white-space:normal}
}
