/* SurLab · carrito de compras (assets/carrito/carrito.js): pantalla completa de compra.
   Todo bajo .slc-raiz para no chocar con los estilos de cada página. */
.slc-raiz{--slc-ink:#1d1d1f;--slc-ink2:#6e6e73;--slc-gold:#c9a96e;--slc-gold-t:#7d6136;--slc-crema:#f4f1ec;--slc-suave:#f8f6f2;--slc-linea:rgba(0,0,0,.08);--slc-borde:rgba(0,0,0,.16);--slc-error:#a4483b;
  --slc-serif:'Cormorant Garamond',Georgia,serif;--slc-sans:'Inter',system-ui,-apple-system,sans-serif;font-family:var(--slc-sans);color:var(--slc-ink)}
.slc-raiz *,.slc-raiz *::before,.slc-raiz *::after{box-sizing:border-box}
.slc-raiz button,.slc-raiz a,.slc-raiz label,.slc-raiz select{cursor:pointer}
.slc-raiz.slc-sin-cursor *{cursor:none!important} /* el inicio dibuja su propio cursor */
html.slc-bloqueo,html.slc-bloqueo body{overflow:hidden}
.slc-raiz button:focus-visible,.slc-raiz a:focus-visible{outline:2px solid var(--slc-gold);outline-offset:2px}
.slc-raiz svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Botón flotante */
.slc-fab{position:fixed;right:22px;bottom:22px;z-index:9987;width:60px;height:60px;border-radius:50%;border:0;background:var(--slc-ink);color:#fff;
  display:none;align-items:center;justify-content:center;box-shadow:0 14px 34px -10px rgba(0,0,0,.45);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.slc-fab.is-on{display:flex}
.slc-fab:hover{transform:translateY(-2px)}
.slc-fab svg{width:24px;height:24px}
.slc-fab-n{position:absolute;top:-3px;right:-3px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--slc-gold);color:#0c0b09;
  font:700 12px/22px var(--slc-sans);text-align:center;border:2px solid #fff}
.slc-fab.is-salto{animation:slcSalto .5s ease-out}
@keyframes slcSalto{0%,100%{transform:scale(1)}40%{transform:scale(1.14)}}

/* Pantalla completa */
.slc-panel{position:fixed;inset:0;z-index:9990;display:flex;flex-direction:column;background:var(--slc-crema);
  opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility .45s}
.slc-panel.is-open{opacity:1;visibility:visible;transform:none}
.slc-cab{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:72px;padding:0 32px;background:#fff;border-bottom:1px solid var(--slc-linea)}
.slc-marca{display:flex;align-items:center;gap:12px}
.slc-marca img{width:26px;height:auto}
.slc-marca span{display:flex;flex-direction:column;font:600 12px var(--slc-sans);letter-spacing:.16em;text-transform:uppercase}
.slc-marca small{display:flex;align-items:center;gap:5px;margin-top:3px;font-weight:500;font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--slc-ink2)}
.slc-marca small svg{width:12px;height:12px}
.slc-pasos{list-style:none;display:flex;align-items:center;gap:10px;margin:0;padding:0;counter-reset:p}
.slc-pasos li{counter-increment:p;display:flex;align-items:center;gap:8px;font:500 11px var(--slc-sans);letter-spacing:.14em;text-transform:uppercase;color:#a1a1a6}
.slc-pasos li::before{content:counter(p);width:24px;height:24px;border-radius:50%;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:0}
.slc-pasos li+li::after{content:'';order:-1;width:28px;height:1px;background:#d2d2d7}
.slc-pasos li.is-actual{color:var(--slc-ink)}
.slc-pasos li.is-actual::before{background:var(--slc-ink);border-color:var(--slc-ink);color:#fff}
.slc-pasos li.is-hecho{color:var(--slc-gold-t)}
.slc-pasos li.is-hecho::before{content:'✓';background:#f3ece0;border-color:#e3d3b5}
.slc-cerrar{justify-self:end;display:flex;align-items:center;gap:10px;height:42px;padding:0 8px 0 18px;border:1px solid var(--slc-borde);border-radius:980px;background:#fff;
  font:600 11px var(--slc-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--slc-ink)}
.slc-cerrar svg{width:16px;height:16px}
.slc-cerrar:hover{background:var(--slc-suave)}
.slc-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.slc-contenido{max-width:1140px;margin:0 auto;padding:40px 32px 64px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.slc-principal{background:#fff;border-radius:22px;padding:34px 38px 38px;box-shadow:0 10px 40px rgba(0,0,0,.04)}
.slc-principal h2{margin:0 0 22px;font:400 38px/1.1 var(--slc-serif);color:var(--slc-ink);outline:0}
.slc-lateral{position:sticky;top:24px;background:#fff;border-radius:22px;padding:26px 26px 22px;box-shadow:0 10px 40px rgba(0,0,0,.05)}
.slc-panel.is-listo .slc-contenido,.slc-panel.is-vacio .slc-contenido{grid-template-columns:minmax(0,640px);justify-content:center}
.slc-panel.is-listo .slc-lateral,.slc-panel.is-vacio .slc-lateral{display:none}
.slc-panel.is-listo .slc-principal h2{text-align:center}
.slc-solo-movil{display:none!important}

/* Botones */
.slc-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:0 22px;border:0;border-radius:980px;background:var(--slc-ink);color:#fff;
  font:600 12px var(--slc-sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;text-align:center;transition:background .2s ease}
.slc-btn:hover{background:#3a3a3c}
.slc-btn[disabled]{opacity:.65;cursor:progress}
.slc-btn-borde{background:#fff;color:var(--slc-ink);border:1px solid var(--slc-borde)}
.slc-btn-borde:hover{background:var(--slc-suave)}
.slc-btn-wa{background:#1f7a45}
.slc-btn-wa:hover{background:#18633a}
.slc-volver{border:0;background:none;padding:0 6px;font:500 13px var(--slc-sans);color:var(--slc-ink2);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.slc-link{border:0;background:none;padding:0;font:500 13px var(--slc-sans);color:var(--slc-ink);text-decoration:underline;text-underline-offset:3px}
.slc-pie{display:grid;gap:10px;margin-top:18px}
.slc-pie:empty{display:none}
.slc-pie-dos{display:flex;align-items:center;gap:14px}
.slc-pie-dos .slc-btn{flex:1}
.slc-seguro{display:flex;gap:7px;align-items:center;justify-content:center;margin:2px 0 0;font-size:12px;color:var(--slc-ink2)}
.slc-seguro svg{width:14px;height:14px}

/* Paso 1: carrito */
.slc-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--slc-linea)}
.slc-item{display:grid;grid-template-columns:96px 1fr auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--slc-linea)}
.slc-item img,.slc-item-img{width:96px;height:96px;border-radius:16px;object-fit:cover;background:#ebe6de;display:block}
.slc-item-nombre{margin:0 0 4px;font:400 22px/1.2 var(--slc-serif)}
.slc-item-op{margin:0;font-size:13px;line-height:1.45;color:var(--slc-ink2)}
.slc-item-acc{display:flex;align-items:center;gap:18px;margin-top:12px}
.slc-item-der{text-align:right}
.slc-item-precio{margin:0 0 2px;font-weight:600;font-size:16px}
.slc-quitar{border:0;background:none;padding:4px 0;font-size:12.5px;color:var(--slc-ink2);text-decoration:underline;text-underline-offset:3px}
.slc-cant{display:inline-flex;align-items:center;border:1px solid var(--slc-borde);border-radius:980px}
.slc-cant button{width:36px;height:34px;border:0;background:none;font-size:18px;color:var(--slc-ink)}
.slc-cant button[disabled]{color:#c7c7cc;cursor:default}
.slc-cant span{min-width:24px;text-align:center;font-weight:600;font-size:14px}
.slc-nota{display:flex;gap:12px;align-items:center;margin:22px 0 0;padding:14px 16px;border-radius:14px;background:var(--slc-suave);font-size:13.5px;line-height:1.5;color:var(--slc-ink2)}
.slc-nota svg{flex:none;width:22px;height:22px;color:var(--slc-gold-t)}
.slc-vacio{text-align:center;padding:28px 10px 8px;color:var(--slc-ink2);font-size:15px}
.slc-vacio>svg{width:52px;height:52px;color:#c7c7cc;stroke-width:1.2}
.slc-vacio-t{margin:12px 0 4px;font:400 28px var(--slc-serif);color:var(--slc-ink)}
.slc-vacio-acc{display:grid;gap:10px;max-width:340px;margin:26px auto 0}
.slc-alerta{margin:0 0 20px;padding:13px 16px;border-radius:14px;background:#fbf1e3;border:1px solid #efd9b3;font-size:14px;line-height:1.5;color:#5a4320}
.slc-alerta a{color:inherit}

/* Resumen (lateral) */
.slc-res-t{margin:0 0 14px;font:600 11px var(--slc-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--slc-gold-t)}
.slc-res-items{list-style:none;margin:0 0 12px;padding:6px 6px 4px 0;border-bottom:1px solid var(--slc-linea);max-height:300px;overflow-y:auto}
.slc-res-items li{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:0 0 12px}
.slc-res-img{position:relative;width:52px;height:52px;border-radius:12px;background:#ebe6de}
.slc-res-img img{width:52px;height:52px;border-radius:12px;object-fit:cover;display:block}
.slc-res-img b{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--slc-ink);color:#fff;font:600 11px/20px var(--slc-sans);text-align:center}
.slc-res-n{font-size:13.5px;line-height:1.35}
.slc-res-n small{display:block;color:var(--slc-ink2);font-size:12px}
.slc-res-p{font-size:13.5px;font-weight:600}
.slc-fila{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px;color:var(--slc-ink2)}
.slc-fila b{font-weight:500;color:var(--slc-ink);text-align:right}
.slc-fila-total{margin-top:6px;padding-top:12px;border-top:1px solid var(--slc-linea);font-size:15px;color:var(--slc-ink)}
.slc-fila-total b{font:500 28px/1 var(--slc-serif);color:var(--slc-gold-t)}

/* Formularios */
.slc-raiz fieldset{border:0;margin:0 0 26px;padding:0;min-width:0}
.slc-raiz legend{padding:0;margin:0 0 14px;font:600 11px var(--slc-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--slc-gold-t)}
.slc-grilla{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.slc-campo{display:block;margin:0 0 14px}
.slc-campo span{display:block;margin:0 0 6px;font-size:13px;font-weight:500;color:var(--slc-ink)}
.slc-campo input,.slc-campo select,.slc-campo textarea{width:100%;padding:13px 15px;border:1px solid var(--slc-borde);border-radius:12px;background:#fff;
  font:16px/1.4 var(--slc-sans);color:var(--slc-ink);transition:border-color .2s ease,box-shadow .2s ease}
.slc-campo textarea{resize:vertical;min-height:70px}
.slc-campo input:focus,.slc-campo select:focus,.slc-campo textarea:focus{outline:0;border-color:var(--slc-ink);box-shadow:0 0 0 3px rgba(201,169,110,.28)}
.slc-campo.is-error input,.slc-campo.is-error select,.slc-campo.is-error textarea{border-color:var(--slc-error)}
.slc-error{display:block;margin-top:5px;font-size:12.5px;color:var(--slc-error)}
.slc-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 12px;font-size:14px;line-height:1.55;color:var(--slc-ink)}
.slc-check input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--slc-ink)}
.slc-check a{color:var(--slc-ink)}
.slc-check.is-error{color:var(--slc-error)}
.slc-oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.slc-opciones{display:grid;gap:10px;margin-bottom:14px}
.slc-opcion{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--slc-borde);border-radius:16px;transition:border-color .2s ease,background .2s ease}
.slc-opcion:hover{border-color:#8e8e93}
.slc-opcion input{position:absolute;opacity:0;pointer-events:none}
.slc-opcion::before{content:'';flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid #aeaeb2;transition:border .2s ease}
.slc-opcion.is-sel{border-color:var(--slc-ink);background:var(--slc-suave)}
.slc-opcion.is-sel::before{border:6px solid var(--slc-ink)}
.slc-opcion:has(input:focus-visible){outline:2px solid var(--slc-gold);outline-offset:2px}
.slc-opcion-t{flex:1;font-size:15px;font-weight:500;line-height:1.35}
.slc-opcion-t small{display:block;font-weight:400;font-size:13px;color:var(--slc-ink2)}
.slc-opcion-p{font-size:12.5px;font-weight:600;color:var(--slc-gold-t);white-space:nowrap}
.slc-opciones.is-error .slc-opcion{border-color:var(--slc-error)}
.slc-info{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--slc-ink2)}

/* Paso 3: pago */
.slc-entrega{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:var(--slc-suave);font-size:14px;line-height:1.6;color:var(--slc-ink2)}
.slc-entrega p{margin:0}
.slc-entrega b{color:var(--slc-ink)}
.slc-res{margin:0 0 24px;padding:18px;border-radius:16px;background:var(--slc-suave)}

/* Pedido listo */
.slc-listo{text-align:center;font-size:15px;line-height:1.65;color:var(--slc-ink2)}
.slc-listo>.slc-btn{margin-top:12px}
.slc-listo-ok{width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:#e8f3ea;color:#2f7a45;display:flex;align-items:center;justify-content:center}
.slc-listo-ok svg{width:28px;height:28px;stroke-width:2.4}
.slc-listo-n{margin:0 0 8px;font:400 28px var(--slc-serif);color:var(--slc-ink)}
.slc-listo b{color:var(--slc-ink)}
.slc-banco{text-align:left;margin:20px 0 12px;padding:16px 18px;border-radius:16px;background:var(--slc-suave);display:grid;gap:7px}
.slc-banco div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.slc-banco dt{color:var(--slc-ink2)}
.slc-banco dd{margin:0;font-weight:600;color:var(--slc-ink);text-align:right;word-break:break-word}

/* Aviso al agregar */
.slc-aviso{position:fixed;left:50%;bottom:26px;z-index:9991;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);padding:12px 14px 12px 18px;border-radius:14px;
  background:var(--slc-ink);color:#fff;font-size:13.5px;box-shadow:0 14px 34px rgba(0,0,0,.25);transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}
.slc-aviso.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.slc-aviso button{border:0;border-radius:980px;background:var(--slc-gold);color:#0c0b09;padding:8px 14px;font:600 11px var(--slc-sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}

/* Tablet y celular: una columna; el total y el botón quedan fijos abajo */
@media (max-width:900px){
  .slc-cab{grid-template-columns:auto 1fr auto;height:64px;padding:0 16px;gap:12px}
  .slc-marca span{display:none}
  .slc-pasos{justify-content:center;gap:6px}
  .slc-pasos li{font-size:0;gap:6px}
  .slc-pasos li::before{font-size:11px}
  .slc-pasos li.is-actual{font-size:10.5px}
  .slc-pasos li+li::after{width:14px}
  .slc-cerrar{padding:0;width:42px;justify-content:center}
  .slc-cerrar span{display:none}
  .slc-contenido{display:flex;flex-direction:column;align-items:stretch;min-height:100%;padding:0;gap:0}
  .slc-principal{flex:1;border-radius:0;box-shadow:none;padding:24px 18px 28px}
  .slc-principal h2{font-size:30px;margin-bottom:18px}
  .slc-lateral{position:sticky;bottom:0;top:auto;border-radius:20px 20px 0 0;padding:14px 18px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.08)}
  .slc-lateral .slc-resumen{display:none}
  .slc-pie{margin-top:0}
  .slc-solo-movil{display:block!important}
  .slc-fila.slc-solo-movil{display:flex!important;margin:0;padding:0 0 4px;border:0}
  .slc-panel.is-listo .slc-contenido,.slc-panel.is-vacio .slc-contenido{display:flex}
  .slc-grilla{grid-template-columns:1fr}
  .slc-item{grid-template-columns:72px 1fr auto;gap:14px;padding:16px 0}
  .slc-item img,.slc-item-img{width:72px;height:72px;border-radius:14px}
  .slc-item-nombre{font-size:19px}
  .slc-item-acc{gap:14px;margin-top:10px}
  .slc-fab{right:16px;bottom:16px}
  .slc-aviso{bottom:88px}
}
@media (prefers-reduced-motion:reduce){.slc-panel,.slc-aviso,.slc-fab{transition:none}.slc-fab.is-salto{animation:none}}
