/* ============================================================
   Rocha Hogar y Confort — Storefront
   Mobile-first. Todo el color sale de variables del tema
   (inyectadas en :root desde la DB). Claro/oscuro por data-tema.
   ============================================================ */

/* Tokens derivados + neutrales (modo claro por defecto) */
:root{
  --borde: #e7e9ee;
  --muted: #6b7280;
  --sombra: 0 1px 3px rgba(16,24,40,.08), 0 1px 2px rgba(16,24,40,.06);
  --sombra-lg: 0 12px 30px rgba(16,24,40,.12);
  --ok: #15a34a;
  --header-h: 116px;
  --max: 1200px;
}

/* Modo oscuro: se reescriben superficie/fondo/texto y neutrales,
   la marca (--primario/--acento) se mantiene.
   Va con `html[...]` (mayor especificidad que el :root inyectado desde la DB,
   que si no, lo pisaba y el modo oscuro no se aplicaba). */
html[data-tema="oscuro"]{
  --fondo: #0f1115;
  --superficie: #171a21;
  --texto: #e9ecf1;
  --borde: #262b35;
  --muted: #9aa3b2;
  --sombra: 0 1px 3px rgba(0,0,0,.5);
  --sombra-lg: 0 14px 34px rgba(0,0,0,.55);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--fuente);
  color:var(--texto);
  background:var(--fondo);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;line-height:1.2}
button{font-family:inherit;cursor:pointer}

.contenedor{width:100%;max-width:var(--max);margin:0 auto;padding:0 16px}
.solo-desktop{display:none}

/* ---------- Barra de confianza ---------- */
.trustbar{background:var(--acento);color:#fff;font-size:12.5px}
.trustbar__in{display:flex;gap:18px;align-items:center;justify-content:center;
  height:34px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.trustbar__in::-webkit-scrollbar{display:none}
.trustbar i{opacity:.9;margin-right:5px}

/* ---------- Header ---------- */
.cab{position:sticky;top:0;z-index:50;background:var(--superficie);
  border-bottom:1px solid var(--borde);box-shadow:var(--sombra)}
.cab__in{display:flex;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}
.logo{flex:0 0 auto;display:flex;align-items:center}
.logo img{height:38px;width:auto}
.logo__txt{font-weight:800;font-size:18px;color:var(--primario);letter-spacing:-.3px;max-width:140px}

.buscador{flex:1 1 auto;min-width:0;position:relative;display:flex;align-items:center;
  background:var(--fondo);border:1.5px solid var(--borde);border-radius:999px;
  padding:0 6px 0 40px;min-height:46px;transition:border-color .15s,box-shadow .15s}
.buscador:focus-within{border-color:var(--primario);box-shadow:0 0 0 4px color-mix(in srgb,var(--primario) 18%,transparent)}
.buscador__ico{position:absolute;left:15px;color:var(--muted)}
.buscador input{flex:1;border:0;background:transparent;color:var(--texto);
  font-size:15px;padding:10px 6px;outline:none;min-width:0}
.buscador__btn{flex:0 0 auto;display:none;border:0;background:var(--primario);color:#fff;
  font-weight:600;border-radius:999px;padding:9px 18px;font-size:14px}
.buscador__btn:hover{filter:brightness(.95)}

.buscador__sug{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--superficie);
  border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra-lg);
  overflow:hidden;z-index:60;max-height:70vh;overflow-y:auto}
.sug__item{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--borde)}
.sug__item:last-child{border-bottom:0}
.sug__item:hover{background:var(--fondo)}
.sug__thumb{width:42px;height:42px;border-radius:8px;flex:0 0 auto;display:grid;place-items:center;
  background:var(--fondo);font-weight:700;font-size:12px;color:#fff;overflow:hidden}
.sug__thumb img{width:100%;height:100%;object-fit:contain}
.sug__nom{font-size:13.5px;flex:1;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.sug__precio{font-weight:700;font-size:13.5px;color:var(--primario);white-space:nowrap}

.cab__acc{flex:0 0 auto;display:flex;align-items:center;gap:6px}
.iconbtn{position:relative;width:44px;height:44px;border:0;background:transparent;color:var(--texto);
  border-radius:12px;font-size:18px;display:grid;place-items:center}
.iconbtn:hover{background:var(--fondo)}
.cart-badge{position:absolute;top:4px;right:4px;background:var(--primario);color:#fff;
  font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:999px;display:grid;place-items:center;padding:0 4px}

/* ---------- Nav de rubros ---------- */
.rubronav{border-top:1px solid var(--borde);background:var(--superficie)}
.rubronav__in{display:flex;gap:6px;overflow-x:auto;padding:8px 16px;scrollbar-width:none}
.rubronav__in::-webkit-scrollbar{display:none}
.rubronav__item{flex:0 0 auto;font-size:13px;font-weight:500;color:var(--muted);
  padding:7px 12px;border-radius:999px;white-space:nowrap;display:flex;align-items:center;gap:7px}
.rubronav__item i{font-size:13px}
.rubronav__item:hover{color:var(--texto);background:var(--fondo)}

/* ---------- Secciones ---------- */
.seccion{padding:34px 0}
.seccion__cab{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
.seccion__tit{font-size:21px;font-weight:800;letter-spacing:-.4px}
.seccion__link{font-size:13.5px;color:var(--primario);font-weight:600}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;border-radius:0;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:
  radial-gradient(120% 140% at 100% 0%, color-mix(in srgb,var(--primario) 75%,#000) 0%, var(--primario) 45%, var(--acento) 100%)}
.hero__in{position:relative;padding:40px 16px 46px;max-width:var(--max);margin:0 auto}
.hero__tag{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.16);
  backdrop-filter:blur(4px);padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:600;margin-bottom:16px}
.hero h1{font-size:30px;font-weight:800;letter-spacing:-.8px;max-width:14ch}
.hero__sub{margin:14px 0 24px;font-size:15.5px;opacity:.95;max-width:46ch}
.hero__cta{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--acento);
  font-weight:700;padding:14px 26px;border-radius:999px;font-size:15px;box-shadow:var(--sombra-lg)}
.hero__cta:hover{transform:translateY(-1px)}
.hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero__chip{display:flex;align-items:center;gap:8px;font-size:13px;background:rgba(255,255,255,.14);
  padding:9px 14px;border-radius:12px}

/* ---------- Bento de rubros ---------- */
/* Categorías: solo ícono + texto chico, SIN cuadro ni fondo de color.
   Texto = var(--texto) (negro en claro, blanco en oscuro → siempre visible). */
.bento{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 20px}
.bento__item{display:flex;flex-direction:column;align-items:center;gap:6px;width:80px;
  text-align:center;background:none;border:0;box-shadow:none;transition:transform .12s}
.bento__item i{font-size:24px;color:var(--primario);transition:transform .12s}
.bento__item span{font-size:11.5px;font-weight:600;line-height:1.2;color:var(--texto)}
.bento__item:hover i{transform:scale(1.12)}
.bento__item--xl{width:80px}

/* ---------- Página de productos (listado + filtros) ---------- */
/* Buscador + select de categoría: se acomodan solos (escala a cualquier nº de rubros) */
.prod-filtros{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.prod-buscar{flex:1 1 260px;position:relative;display:flex;align-items:center;background:var(--superficie);
  border:1.5px solid var(--borde);border-radius:999px;padding:0 14px}
.prod-buscar i{color:var(--muted)}
.prod-buscar input{flex:1;min-width:0;border:0;background:transparent;color:var(--texto);
  padding:11px 10px;font-size:15px;font-family:inherit;outline:none}
.prod-cat{flex:1 1 200px;position:relative}
.prod-cat::after{content:"▾";position:absolute;right:15px;top:50%;transform:translateY(-50%);
  color:var(--muted);pointer-events:none}
.prod-cat select{width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;
  border:1.5px solid var(--borde);border-radius:999px;padding:11px 36px 11px 16px;
  background:var(--superficie);color:var(--texto);font-size:14px;font-family:inherit;cursor:pointer;outline:none}
.prod-cat select:focus{border-color:var(--primario)}
@media(min-width:768px){.prod-cat{flex:0 0 260px}}
.pag-prod{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.pag-prod__n{color:var(--muted);font-size:13.5px}
.btn-pag{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14px;
  padding:10px 18px;border-radius:999px;border:1.5px solid var(--borde);color:var(--texto);background:var(--superficie)}
.btn-pag:hover{border-color:var(--primario);color:var(--primario)}

/* ---------- Beneficios ---------- */
.beneficios{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.benef{display:flex;gap:12px;align-items:center;background:var(--superficie);
  border:1px solid var(--borde);border-radius:var(--radio);padding:14px}
.benef i{font-size:22px;color:var(--primario);flex:0 0 auto}
.benef b{display:block;font-size:14px}
.benef small{color:var(--muted);font-size:12px}

/* ---------- Grilla de productos ---------- */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sombra-lg)}
.card__img{position:relative;aspect-ratio:1/1;background:var(--fondo);display:grid;place-items:center;padding:10px}
.card__img img{width:100%;height:100%;object-fit:contain}
.card__ph{width:100%;height:100%;border-radius:10px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:800;font-size:24px}
.card__ph small{font-size:11px;font-weight:600;opacity:.9;max-width:90%;text-align:center;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px}
.badge{font-size:10.5px;font-weight:700;padding:4px 8px;border-radius:999px;color:#fff}
.badge--dest{background:var(--primario)}
.badge--stock{background:var(--ok)}
.badge--sin{background:var(--muted)}
.card__body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:7px;flex:1}
.card__nom{font-size:13.5px;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}
.card__precio{font-size:19px;font-weight:800;letter-spacing:-.5px}
.card__contado{font-size:11px;font-weight:800;color:#15803d;background:#dcfce7;border-radius:6px;padding:2px 7px;white-space:nowrap;vertical-align:middle}
.card__lista{font-size:12.5px;color:var(--muted);text-decoration:line-through;margin-top:1px}
.card__cuotas{font-size:12px;color:var(--ok);font-weight:600}
.card__gar{font-size:11.5px;color:var(--muted)}
.card__btn{margin-top:auto;border:0;background:var(--primario);color:#fff;font-weight:700;
  border-radius:999px;padding:11px;font-size:13.5px;display:flex;align-items:center;justify-content:center;gap:8px}
.card__btn:hover{filter:brightness(.95)}
.card__btn.ok{background:var(--ok)}

/* ---------- Banner financiación ---------- */
.finban{background:linear-gradient(100deg,var(--acento),color-mix(in srgb,var(--acento) 60%,var(--primario)));
  color:#fff;border-radius:var(--radio);padding:26px 22px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.finban h3{font-size:22px;font-weight:800}
.finban p{opacity:.92;font-size:14px;margin:0}
.finban__cta{background:#fff;color:var(--acento);font-weight:700;padding:11px 22px;border-radius:999px;font-size:14px}

/* ---------- Prueba social ---------- */
.reviews{display:grid;grid-template-columns:1fr;gap:14px}
.review{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);padding:18px}
.review__stars{color:#f5a623;margin-bottom:8px}
.review p{margin:0 0 10px;font-size:14px}
.review__autor{font-size:12.5px;color:var(--muted);font-weight:600}

/* ---------- Footer ---------- */
.pie{background:var(--superficie);border-top:1px solid var(--borde);margin-top:30px;padding-top:34px}
.pie__grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px;padding-bottom:26px}
.pie__col:first-child{grid-column:span 2}
.pie__marca{font-weight:800;font-size:18px;color:var(--primario);margin-bottom:8px}
.pie__claim{color:var(--muted);font-size:13px;margin:0 0 12px;max-width:40ch}
.pie__col h4{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:12px}
.pie__col a{display:block;font-size:13.5px;padding:5px 0;color:var(--texto)}
.pie__col a:hover{color:var(--primario)}
.pie__redes{display:flex;gap:10px;font-size:20px}
.pie__redes a:hover{color:var(--primario)}
.pie__pagos{display:flex;gap:8px;font-size:26px;color:var(--muted);margin-top:10px}
.pie__legal{border-top:1px solid var(--borde);padding-top:16px;padding-bottom:24px;font-size:12px;color:var(--muted)}

/* ---------- WhatsApp flotante + toast ---------- */
/* abajo-izquierda: la derecha queda para el asistente IA (chat-widget del CRM) */
.wafab{position:fixed;left:16px;bottom:16px;width:56px;height:56px;border-radius:50%;
  background:#25d366;color:#fff;display:grid;place-items:center;font-size:28px;
  box-shadow:var(--sombra-lg);z-index:70}
.wafab:hover{transform:scale(1.06)}
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);
  background:var(--texto);color:var(--fondo);padding:12px 20px;border-radius:999px;
  font-size:13.5px;font-weight:600;box-shadow:var(--sombra-lg);z-index:80;opacity:0;
  transition:opacity .2s,transform .2s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- Modal (financiación) ---------- */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}
.modal__fondo{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.modal__caja{position:relative;background:var(--superficie);color:var(--texto);border-radius:var(--radio);
  max-width:440px;width:100%;max-height:85vh;overflow-y:auto;padding:22px 20px 20px;
  box-shadow:var(--sombra-lg);animation:modal-in .2s ease}
@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.modal__x{position:absolute;top:8px;right:12px;background:none;border:0;font-size:28px;line-height:1;
  color:var(--muted);cursor:pointer;padding:4px}
.modal__x:hover{color:var(--texto)}
.modal__tit{font-size:19px;font-weight:800;margin-bottom:4px}
.modal__tit i{color:var(--primario);margin-right:8px}
.modal__intro{color:var(--muted);font-size:13.5px;margin-bottom:14px}
.modal__nota{color:var(--muted);font-size:12px;margin-top:14px;border-top:1px solid var(--borde);padding-top:12px}
.planes{list-style:none;display:flex;flex-direction:column;gap:10px}
.plan{border:1px solid var(--borde);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.plan__tit{font-weight:700;font-size:14.5px}
.plan__det{color:var(--muted);font-size:13.5px}

/* ============================================================
   Responsive — tablet (>=768) y desktop (>=1024)
   ============================================================ */
@media (min-width:768px){
  .solo-desktop{display:inline-flex}
  .buscador__btn{display:inline-flex}
  .hero h1{font-size:46px}
  .hero__in{padding:64px 16px 70px}
  .hero__sub{font-size:17px}
  .bento{gap:18px 28px}
  .beneficios{grid-template-columns:repeat(4,1fr)}
  .pgrid{grid-template-columns:repeat(3,1fr)}
  .reviews{grid-template-columns:repeat(3,1fr)}
  .finban{flex-direction:row;align-items:center;justify-content:space-between;padding:30px 34px}
  .pie__grid{grid-template-columns:2fr 1fr 1fr 1fr}
  .pie__col:first-child{grid-column:auto}
  .seccion__tit{font-size:26px}
}
@media (min-width:1024px){
  .pgrid{grid-template-columns:repeat(4,1fr)}
  .logo__txt{max-width:none;font-size:20px}
}

/* ---------- Ficha de producto ---------- */
.ficha{display:grid;grid-template-columns:1fr;gap:22px}
.ficha__img{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);
  aspect-ratio:1/1;display:grid;place-items:center;padding:18px}
.ficha__img img{width:100%;height:100%;object-fit:contain}
.ficha__info{display:flex;flex-direction:column;gap:10px}
.ficha__nom{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-top:4px}
.ficha__det{color:var(--muted);font-size:14px;margin:0}
.ficha__precio{font-size:32px;font-weight:800;letter-spacing:-1px;margin-top:6px}
.ficha__acc{display:flex;gap:10px;margin:14px 0 6px;flex-wrap:wrap}
.ficha__wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-weight:700;
  border-radius:999px;padding:11px 20px;font-size:14px}
.ficha__wa:hover{filter:brightness(.96)}
.ficha__beneficios{list-style:none;padding:14px 0 0;margin:6px 0 0;border-top:1px solid var(--borde);
  display:flex;flex-direction:column;gap:9px}
.ficha__beneficios li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted)}
.ficha__beneficios i{color:var(--primario);width:18px;text-align:center}
@media (min-width:768px){
  .ficha{grid-template-columns:1fr 1fr;gap:34px;align-items:start}
  .ficha__nom{font-size:30px}
}

/* ============================================================
   Carrito / Checkout / Gracias
   ============================================================ */
.link-volver{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:14px;margin:2px 0 18px}
.link-volver:hover{color:var(--primario)}

.btn-pagar{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:0;
  background:var(--primario);color:#fff;font-weight:700;font-size:16px;border-radius:999px;
  padding:14px 22px;box-shadow:var(--sombra)}
.btn-pagar:hover{filter:brightness(.96)}
.btn-pagar:disabled{opacity:.6;cursor:default;filter:none}

.carrito__cargando{color:var(--muted);padding:30px 0;text-align:center}
.carrito__vacio{text-align:center;padding:50px 16px;color:var(--muted);
  display:flex;flex-direction:column;align-items:center;gap:14px}
.carrito__vacio i{font-size:46px;opacity:.4}

/* Líneas del carrito */
.lin{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  padding:14px 0;border-bottom:1px solid var(--borde)}
.lin__img{width:64px;height:64px;flex:0 0 auto;border-radius:10px;overflow:hidden;
  display:grid;place-items:center;color:#fff;font-weight:700;background:var(--acento)}
.lin__img img{width:100%;height:100%;object-fit:contain;background:#fff}
.lin__info{flex:1 1 160px;min-width:120px;display:flex;flex-direction:column;gap:3px}
.lin__nom{font-size:14.5px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lin__nom:hover{color:var(--primario)}
.lin__precio{font-size:13px;color:var(--muted)}
.lin__qty{display:inline-flex;align-items:center;border:1.5px solid var(--borde);border-radius:999px;overflow:hidden}
.lin__qty button{width:36px;height:36px;border:0;background:transparent;color:var(--texto);font-size:18px;line-height:1}
.lin__qty button:hover{background:var(--fondo)}
.lin__qty input{width:42px;height:36px;border:0;text-align:center;background:transparent;
  color:var(--texto);font-size:15px;outline:none;-moz-appearance:textfield}
.lin__qty input::-webkit-outer-spin-button,.lin__qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lin__sub{font-weight:800;font-size:15px;margin-left:auto;min-width:90px;text-align:right}
.lin__del{border:0;background:transparent;color:var(--muted);font-size:15px;width:36px;height:36px;border-radius:8px}
.lin__del:hover{color:#e11931;background:var(--fondo)}

.carrito__pie{display:flex;flex-direction:column;gap:14px;margin-top:18px;padding-top:18px;border-top:2px solid var(--borde)}
.carrito__sub{font-size:16px;display:flex;flex-direction:column;gap:2px}
.carrito__sub strong{font-size:24px;font-weight:800}
.carrito__sub small{color:var(--muted);font-size:12.5px}
@media (min-width:768px){
  .carrito__pie{flex-direction:row;align-items:center;justify-content:space-between}
  .carrito__pie .btn-pagar{width:auto;min-width:260px}
}

/* Checkout */
.checkout__cols{display:grid;gap:22px}
@media (min-width:900px){.checkout__cols{grid-template-columns:1fr 360px;align-items:start}}
@media (min-width:900px){.checkout__resumen{position:sticky;top:calc(var(--header-h) + 12px)}}

.bloque{border:1px solid var(--borde);border-radius:var(--radio);padding:16px;margin-bottom:16px;background:var(--superficie)}
.bloque legend{font-weight:800;font-size:16px;padding:0 8px}
.campo-row{display:grid;gap:12px;margin-bottom:12px}
.campo-row:last-child{margin-bottom:0}
@media (min-width:560px){
  .campo-row{grid-template-columns:1fr 1fr}
  .campo-row:has(.campo--ancho){grid-template-columns:2fr 1fr}
}
.campo{display:flex;flex-direction:column;gap:5px}
.campo span{font-size:13px;color:var(--muted);font-weight:600}
.campo input{border:1.5px solid var(--borde);border-radius:10px;background:var(--fondo);color:var(--texto);
  padding:11px 12px;font-size:15px;font-family:inherit;outline:none}
.campo input:focus{border-color:var(--primario);box-shadow:0 0 0 4px color-mix(in srgb,var(--primario) 16%,transparent)}
.campos-envio{margin-top:14px}
.aviso-cliente{background:color-mix(in srgb,var(--ok) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--ok) 38%,transparent);border-radius:10px;
  padding:10px 12px;font-size:13.5px;margin-top:4px}
.aviso-cliente i{color:var(--ok);margin-right:5px}
.card__cod{font-size:11.5px;color:var(--muted);margin:1px 0 2px;letter-spacing:.2px}
.ficha__cod{font-size:13px;color:var(--muted);margin-top:2px}
.campo textarea{border:1.5px solid var(--borde);border-radius:10px;background:var(--fondo);color:var(--texto);
  padding:11px 12px;font-size:15px;font-family:inherit;outline:none;resize:vertical}
.campo textarea:focus{border-color:var(--primario);box-shadow:0 0 0 4px color-mix(in srgb,var(--primario) 16%,transparent)}
.star-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;font-size:28px;margin-top:4px}
.star-input input{position:absolute;opacity:0;pointer-events:none}
.star-input label{color:var(--borde);cursor:pointer;transition:color .12s}
.star-input label:hover,.star-input label:hover ~ label,
.star-input input:checked ~ label{color:#f5b301}

.opciones{display:flex;flex-direction:column;gap:10px}
.opcion{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--borde);
  border-radius:var(--radio);padding:14px;cursor:pointer;transition:border-color .15s,background .15s}
.opcion:has(input:checked){border-color:var(--primario);background:color-mix(in srgb,var(--primario) 6%,transparent)}
.opcion input{margin-top:2px;accent-color:var(--primario);width:18px;height:18px;flex:0 0 auto}
.opcion__cuerpo{display:flex;flex-direction:column;gap:2px}
.opcion__cuerpo strong{font-size:15px}
.opcion__cuerpo strong i{color:var(--primario);margin-right:5px}
.opcion__cuerpo small{color:var(--muted);font-size:12.5px}

.resumen{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie);padding:18px;box-shadow:var(--sombra)}
.resumen h3{font-size:16px;margin-bottom:12px}
.resumen__items{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto;
  margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--borde)}
.resumen__item{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}
.resumen__item span:first-child{color:var(--muted)}
.resumen__contado{font-size:12.5px;font-weight:700;color:#15803d;background:#dcfce7;
  border-radius:8px;padding:8px 10px;margin-bottom:10px;display:flex;gap:7px;align-items:center;line-height:1.3}
.resumen__linea{display:flex;justify-content:space-between;font-size:14px;margin:6px 0}
.resumen__total{font-size:19px;font-weight:800;border-top:1px solid var(--borde);padding-top:12px;margin-top:8px}
.resumen__seguro{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 0}
.resumen__seguro i{color:var(--ok)}

/* Gracias */
.gracias{max-width:680px;margin:0 auto;text-align:center;padding:16px 0}
.gracias__ico{font-size:58px;color:var(--muted)}
.gracias__ico--ok{color:var(--ok)}
.gracias h1{font-size:25px;margin:14px 0 6px}
.gracias__cod{font-size:15px;margin:10px 0}
.gracias__panel{text-align:left;border:1px solid var(--borde);border-radius:var(--radio);
  background:var(--superficie);padding:18px;margin:18px 0}
.gracias__panel h3{font-size:16px;margin-bottom:12px}
.gracias__pago{border-color:var(--primario)}
.datos-pago{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px;font-size:15px}
.datos-pago li{padding:9px 12px;background:var(--fondo);border-radius:8px}
