/* ════════════════════════════════════════════════════════════════
   FERIA VIRTUAL PYA — estilos de la pagina del cliente
   Diseño tomado del prototipo: una columna de "carritos" como en la feria presencial;
   cada foto es tocable, con etiqueta colgante de talle y precio.
   (Para usar el marron del resto del sitio en vez del bordó: cambiar --accent y --tan.)
   ════════════════════════════════════════════════════════════════ */
:root{
  --bg:#F9F4EE; --surface:#FFFDF8; --surface-2:#F5EFE6; --fg:#2C1A09; --muted:#7A6350; --line:#E8D5B7;
  --accent:#8B5E3C; --accent-fg:#FFFDF8; --tan:#C9963A; --ok:#4A7C59; --warn:#9a5b00; --pay:#8B5E3C; --pay-fg:#FFFDF8;
  --dark:#1A1008; --cream:#F5EFE6; --leather-lt:#C4956A;
  --hs-line:rgba(255,253,248,.9); --shadow:0 8px 32px rgba(26,16,8,.12);
  --zoomw:220%;
  --f-display:"Cormorant Garamond",Georgia,serif;
  --f-body:"Jost",sans-serif;
}
@media (min-width: 640px){ :root{ --zoomw:100%; } }

*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--tan);outline-offset:2px}
[hidden]{display:none!important}


.main{padding-block:18px 110px;display:flex;flex-direction:column;gap:18px}
.private{font-size:13px;color:var(--warn);background:var(--surface);border:1px dashed var(--warn);border-radius:10px;padding:8px 12px}
.private b{font-weight:700}

h1,h2{font-family:var(--f-display);font-weight:700;font-size:30px;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:.01em}
.lead{margin:4px 0 0;color:var(--muted)}

.sizes{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.sizes::-webkit-scrollbar{display:none}
.sizes button{flex:0 0 auto;min-width:52px;border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 10px;font-family:var(--f-display);font-weight:600;font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums}
.sizes button small{display:block;font-family:var(--f-body);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.04em}
.sizes button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}
.sizes button[aria-pressed="true"] small{color:inherit;opacity:.85}

.cart{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;flex-wrap:wrap}
.hangtag{display:inline-flex;align-items:center;gap:10px;background:var(--fg);color:var(--bg);border-radius:6px 14px 14px 6px;padding:4px 14px 4px 10px}
.hangtag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--surface);flex:0 0 auto}
.hangtag .t{font-family:var(--f-display);font-weight:700;font-size:22px;letter-spacing:.02em}
.hangtag .p{font-family:var(--f-display);font-weight:500;font-size:20px;font-variant-numeric:tabular-nums}
.cart-meta{font-size:13px;color:var(--muted)}
.cart-meta strong{color:var(--fg);font-weight:600}

/* cambiar entre foto completa y estante por estante */
.modes{display:flex;gap:6px;padding:0 14px 10px}
.modes button{border:1.5px solid var(--line);background:var(--surface-2);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--muted)}
.modes button[aria-pressed="true"]{background:var(--fg);border-color:var(--fg);color:var(--bg)}

.photo{position:relative;line-height:0;user-select:none;-webkit-user-select:none}
.photo img{display:block;width:100%;height:auto;max-width:100%}
.hint{padding:8px 14px 12px;font-size:13px;color:var(--muted)}

/* estante por estante: cada fila se desliza de costado, con los zapatos mas grandes */
.band{border-top:1px solid var(--line)}
.band-label{display:flex;justify-content:space-between;padding:6px 14px;font-family:var(--f-display);font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.band-label small{font-family:var(--f-body);font-size:12px;font-weight:500;text-transform:none;letter-spacing:0}
@media (min-width: 640px){ .band-label small{display:none} }
.band-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;line-height:0;scrollbar-width:thin}
.band-inner{position:relative;width:var(--zoomw);background-repeat:no-repeat}

.hs{position:absolute;border:0;padding:0;background:transparent;border-radius:12px;outline:1.5px dashed var(--hs-line);outline-offset:-3px;transition:background .15s}
.hs::after{content:"+";position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;background:var(--surface);color:var(--fg);font:700 16px/22px var(--f-body);text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.hs:hover{background:rgba(255,255,255,.12)}
.hs.inbag{outline:2.5px dashed var(--tan);background:rgba(176,122,69,.18)}
.hs.inbag::after{content:"✓";background:var(--tan);color:#fff}
.hs.picked{outline:3px solid var(--accent);outline-offset:-2px;background:rgba(122,31,43,.14)}
.hs.sold,.hs.held{background:rgba(20,18,16,.55);outline:none;cursor:default}
.hs.sold::after,.hs.held::after{width:auto;height:auto;padding:2px 8px;border-radius:4px;left:50%;right:auto;top:50%;transform:translate(-50%,-50%) rotate(-8deg);font:700 13px/1.4 var(--f-display);letter-spacing:.1em;background:var(--accent);color:var(--accent-fg);white-space:nowrap}
.hs.sold::after{content:"SOLD OUT"}
.hs.held{background:rgba(20,18,16,.4)}
.hs.held::after{content:"RESERVADO";background:var(--warn);color:#fff}

/* En celular los cuadros son chicos (30 a 40 pares por foto): marcas mas discretas para que no tapen los zapatos */
@media (max-width: 639px){
  .hs{border-radius:8px;outline-width:1px}
  .hs::after{width:16px;height:16px;font:700 12px/16px var(--f-body);right:2px;top:2px}
  .hs.sold::after,.hs.held::after{width:auto;height:auto;padding:1px 5px;font-size:10px;letter-spacing:.06em}
}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:14px;padding:28px 18px;text-align:center;color:var(--muted)}
.empty a{color:var(--accent);font-weight:600}

/* carrito de compra flotante */
.bagbtn{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:6;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-fg);padding:12px 18px;font-weight:700;box-shadow:var(--shadow)}
.bagbtn .n{background:var(--accent-fg);color:var(--accent);border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:13px;font-variant-numeric:tabular-nums}
.wa{position:fixed;left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:6;width:48px;height:48px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:var(--shadow)}
.wa svg{width:26px;height:26px;fill:#fff}

/* hoja inferior */
.scrim{position:fixed;inset:0;background:rgba(10,9,8,.45);z-index:20}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:560px;margin:0 auto;background:var(--surface);border-radius:18px 18px 0 0;box-shadow:var(--shadow);max-height:92vh;overflow:auto;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));animation:up .22s ease-out}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}
.sheet h3{font-family:var(--f-display);font-weight:700;font-size:26px;margin:0;line-height:1.1}
.sheet .sub{color:var(--muted);font-size:14px;margin:2px 0 12px}
.zoom{width:100%;max-width:100%;border-radius:12px;background-repeat:no-repeat;border:1px solid var(--line);margin-bottom:14px;background-color:var(--surface-2)}
.row{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 16px;font-weight:700;flex:1 1 auto;text-align:center;text-decoration:none;display:inline-block}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn.pay{background:var(--pay);border-color:var(--pay);color:var(--pay-fg)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.price-big{font-family:var(--f-display);font-weight:700;font-size:34px;font-variant-numeric:tabular-nums;line-height:1}

.items{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}
.items li{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}
.items li.gone{opacity:.55}
.items .th{width:72px;height:auto;border-radius:8px;border:1px solid var(--line);background-repeat:no-repeat;background-color:var(--surface-2)}
.items .d{min-width:0;font-size:14px}
.items .d b{display:block;font-family:var(--f-display);font-size:19px;font-weight:600}
.items .x{border:0;background:none;color:var(--muted);font-size:13px;text-decoration:underline}
.total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.total span:first-child{color:var(--muted)}
.lines{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px}
.lines div{display:flex;justify-content:space-between;gap:10px}
.lines span:first-child{color:var(--muted)}

label.f{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--muted);flex:1 1 160px}
label.f input,label.f select{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-2);font-weight:500;width:100%;font-size:16px}
label.f.full{flex-basis:100%}
.choice{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 10px}
.choice label{flex:1 1 140px;display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface-2);font-weight:600;cursor:pointer}
.choice input{accent-color:var(--accent);width:18px;height:18px}
.choice label:has(input:checked){border-color:var(--accent);background:var(--surface)}
.note{font-size:13px;color:var(--muted);margin:10px 0 0}
.err{font-size:14px;font-weight:600;color:var(--accent);margin:10px 0 0}
.fieldset{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.ok{display:flex;align-items:center;gap:10px;color:var(--ok);font-weight:700;margin-bottom:10px}
.ok i{width:28px;height:28px;border-radius:50%;background:var(--ok);color:var(--surface);display:grid;place-items:center;font-style:normal}
.ok.warn{color:var(--warn)} .ok.warn i{background:var(--warn)}

/* pagina de "gracias" */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 18px;display:flex;flex-direction:column;gap:12px}
.panel h1{font-size:34px}
.panel .big{font-family:var(--f-display);font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* Cabecera y pie: mismos que el resto del sitio */
body{padding-top:72px}
#site-header{position:fixed;top:0;left:0;right:0;height:72px;z-index:900;background:rgba(255,253,248,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(139,94,60,.12)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;gap:2rem}
.logo{flex:1 1 auto;min-width:0;overflow:hidden;text-decoration:none}
.logo-main{display:block;font-family:var(--f-display);font-size:1.2rem;font-weight:700;color:var(--dark);letter-spacing:.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-main .amp{color:var(--accent)}
.logo-sub{display:block;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-weight:500}
#main-nav ul{display:flex;gap:2.2rem;list-style:none;margin:0;padding:0}
#main-nav a{font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);text-decoration:none}
#main-nav a:hover,#main-nav a.active{color:var(--accent)}
@media (max-width:900px){#main-nav{display:none}}
#site-footer{background:var(--dark);color:var(--cream);margin-top:4rem;padding:3rem 0 0}
.footer-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem 2.5rem;display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:3rem}
.footer-logo{font-family:var(--f-display);font-size:1.4rem;font-weight:600;margin-bottom:.8rem}
.footer-logo span{color:var(--leather-lt)}
#site-footer p{font-size:.88rem;color:rgba(245,239,230,.6);line-height:1.7;margin:0 0 .5rem}
#site-footer a{color:rgba(245,239,230,.6);text-decoration:none;font-size:.9rem}
#site-footer a:hover{color:var(--leather-lt)}
#site-footer h5{font-family:var(--f-body);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--leather-lt);margin:0 0 1rem}
#site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.5rem;text-align:center}
.footer-bottom p{font-size:.75rem;color:rgba(245,239,230,.35);letter-spacing:.05em}
@media (max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1/-1}}
@media (max-width:480px){.logo-sub{display:none}}
h1,h2{font-size:36px;font-weight:600;letter-spacing:-.01em}
.main{max-width:760px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
/* Numero de cada par (de izquierda a derecha, estante por estante) */
.hs::before{content:attr(data-n) attr(data-x);position:absolute;left:4px;top:4px;min-width:22px;height:22px;padding:0 5px;border-radius:11px;background:var(--dark);color:var(--cream);font:600 13px/22px var(--f-body);text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none}
.hs.sold::before,.hs.held::before{display:none}
@media (max-width:639px){.hs::before{min-width:16px;height:16px;padding:0 3px;font-size:10px;line-height:16px;border-radius:8px;left:2px;top:2px}}
.envio-gratis{margin:10px 0 0;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-sm,4px);color:var(--fg);font-size:14px}

/* Precios por modelo y condiciones */
.cond{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md,8px);padding:14px 16px;margin:4px 0 6px}
.cond h2{font-size:22px;margin:0 0 10px}
.modelos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.modelos li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm,4px)}
.modelos li span{font-size:13px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.modelos li b{font-family:var(--f-display);font-size:20px;font-weight:600}
.modelos li small{font-family:var(--f-body);font-size:11px;font-weight:400;color:var(--muted)}
.reglas{margin:12px 0 0;padding:0 0 0 18px;font-size:14px;color:var(--fg)}
.reglas li{margin:3px 0}
.acepto{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;margin:2px 0 8px}
.acepto input{margin-top:3px;flex:0 0 auto;width:18px;height:18px}

.qty{display:inline-flex;align-items:center;gap:2px;margin-left:auto;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.qty button{width:36px;height:36px;font-size:20px;line-height:1;border-radius:50%;color:var(--fg)}
.qty b{min-width:24px;text-align:center;font-weight:600}
.qty.small{margin:6px 0 0;display:flex;width:max-content}
.qty.small button{width:30px;height:30px;font-size:18px}
/* Cartel de arriba de la feria */
.banner-feria{background:var(--dark);color:var(--cream);border-bottom:3px solid var(--tan)}
.banner-in{max-width:760px;margin:0 auto;padding:12px max(16px,env(safe-area-inset-left,0px)) 12px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 14px;text-align:center}
.banner-in strong{font-family:var(--f-display);font-size:24px;font-weight:600;letter-spacing:.01em}
.banner-in span{font-size:14px;color:rgba(245,239,230,.85)}
.banner-in b{flex:1 0 100%;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--leather-lt)}
@media (min-width:640px){.banner-in b{flex:0 0 auto}}
/* Cartel de arriba: mas grande */
.banner-in{max-width:980px;padding-top:26px;padding-bottom:26px;gap:8px 18px}
.banner-in strong{font-size:clamp(34px,7vw,56px);line-height:1.05;flex:1 0 100%}
.banner-in span{font-size:clamp(17px,3.4vw,24px);line-height:1.35;flex:1 0 100%;color:var(--cream)}
.banner-in b{font-size:clamp(14px,2.8vw,19px);letter-spacing:.16em;flex:1 0 100%;margin-top:4px}
@media (min-width:640px){.banner-in b{flex:1 0 100%}}

/* "Gratis" en verde */
.gratis{color:#1E9B42;font-weight:800}   /* verde billete */
.aviso-min{margin:10px 0;padding:12px 14px;background:rgba(74,124,89,.10);border:1px solid rgba(74,124,89,.35);border-left:4px solid var(--ok);border-radius:var(--radius-sm,4px);font-size:15px;line-height:1.4;color:var(--fg)}
.aviso-min .gratis{font-size:1.08em;text-transform:uppercase;letter-spacing:.04em}
.envio-gratis .gratis{font-weight:700}

/* Mujer / Hombre */
.generos{margin-bottom:2px}
.generos button{flex:1 1 0;min-width:0;font-size:24px;padding:10px 12px;letter-spacing:.02em}
.generos button[aria-pressed="true"]{background:var(--dark);color:var(--cream);border-color:var(--dark)}
.generos button[aria-pressed="true"] small{color:rgba(245,239,230,.75)}

/* Efecto 3D del zapato */
.zoom3d-wrap{perspective:900px;margin-bottom:6px}
.zoom3d-wrap .zoom{margin-bottom:0;--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;position:relative;overflow:hidden;touch-action:none;cursor:grab;
  transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(1);transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .18s ease-out;will-change:transform;
  box-shadow:0 6px 18px rgba(26,16,8,.18)}
.zoom3d-wrap .zoom.tilt-on{transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(1.03);transition:transform .05s linear;box-shadow:0 16px 34px rgba(26,16,8,.32);cursor:grabbing}
.zoom3d-wrap .zoom::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .15s;
  background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.38),rgba(255,255,255,0) 55%)}
.zoom3d-wrap .zoom.tilt-on::after{opacity:1}
.note3d{margin:0 0 12px;font-size:12px;color:var(--muted);text-align:center}
@media (prefers-reduced-motion:reduce){.zoom3d-wrap .zoom,.zoom3d-wrap .zoom.tilt-on{transform:none;transition:none}.note3d{display:none}}

/* Agotado (SOLD OUT): el zapato se ve en gris y apagado */
.hs.sold{background:rgba(240,238,234,.35);-webkit-backdrop-filter:grayscale(1) brightness(.9) contrast(.9);backdrop-filter:grayscale(1) brightness(.9) contrast(.9)}
.hs.held{-webkit-backdrop-filter:grayscale(.6) brightness(.9);backdrop-filter:grayscale(.6) brightness(.9)}

/* Explicacion de los numeros */
.leyenda{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md,8px);padding:10px 14px;font-size:14px;line-height:1.45}
.leyenda summary{cursor:pointer;font-weight:600;font-family:var(--f-display);font-size:19px}
.leyenda ul{margin:8px 0 2px;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.leyenda .chip{display:inline-block;min-width:22px;padding:0 8px;height:22px;line-height:22px;border-radius:11px;background:var(--dark);color:var(--cream);font:600 13px/22px var(--f-body);text-align:center;margin-right:4px;white-space:nowrap}

.banner-in h1{font-family:var(--f-display);font-size:clamp(34px,7vw,56px);font-weight:600;letter-spacing:.01em;line-height:1.05;flex:1 0 100%;margin:0;color:inherit;text-align:center}

/* Cupon de descuento en el checkout */
.cupon-fila{display:flex;gap:8px;margin-top:6px}
.cupon-fila input{flex:1;min-width:0;text-transform:uppercase}
.cupon-fila .btn{white-space:nowrap}
.err-cupon{color:var(--accent);font-weight:600}

/* Menu hamburguesa (celular): igual que en el resto del sitio, para poder ir a las otras paginas */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;width:40px;min-width:40px;height:40px;margin-left:auto;flex-shrink:0;box-sizing:border-box;background:transparent;border:none;cursor:pointer}
.hamburger span{display:block;width:100%;min-width:20px;height:2px;background:var(--dark);transition:all .3s;transform-origin:center;border-radius:1px}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:900px){
  .hamburger{display:flex}
  #main-nav.open{display:block;position:fixed;top:72px;left:0;right:0;background:#FFFDF8;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(26,16,8,.12);padding:.5rem 0}
  #main-nav.open ul{flex-direction:column;gap:0;text-align:center}
  #main-nav.open li{border-bottom:1px solid var(--surface-2)}
  #main-nav.open li:last-child{border-bottom:0}
  #main-nav.open a{display:block;padding:1rem 1.5rem}
}

/* Costo de envio por provincia (desplegable debajo del aviso de envio) */
.envios-det{margin:8px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm,4px)}
.envios-det[hidden]{display:none}
.envios-tit{margin:0;padding:12px 14px 8px;font-family:var(--f-display);font-size:20px;font-weight:600}
.envios-in{padding:0 14px 12px}
.envios-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.envios-lista li{display:flex;flex-direction:column;gap:2px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm,4px)}
.envios-lista .env-precio{font-family:var(--f-display);font-size:20px;font-weight:600}
.envios-lista .env-precio small{font-family:var(--f-body);font-size:11px;font-weight:400;color:var(--muted)}
.envios-lista span{font-size:13px;color:var(--muted);line-height:1.4}
.envios-nota{margin:10px 0 0;font-size:14px}
@media (min-width:640px){.envios-lista li{flex-direction:row;align-items:baseline;gap:14px}.envios-lista .env-precio{flex:0 0 120px}}

/* Opiniones de clientes (con fotos) y ayuda por WhatsApp */
.opiniones{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:16px}
.resenas-resumen{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}
.resenas-resumen .prom{font-family:var(--f-display);font-size:30px;color:var(--fg)}
.estrellas{color:var(--tan);letter-spacing:1px;white-space:nowrap}
.estrellas i{font-style:normal;color:var(--line)}
.resena{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md,8px);padding:14px 16px;margin-bottom:10px}
.resena header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.resena header b{font-family:var(--f-display);font-size:20px;font-weight:600}
.resena time{margin-left:auto;font-size:12px;color:var(--muted)}
.resena p{margin:8px 0 0;line-height:1.5;white-space:pre-line}
.resena-fotos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.resena-fotos img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.resena-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md,8px);padding:16px;display:flex;flex-direction:column;gap:14px}
.resena-form h3{font-family:var(--f-display);font-size:24px;font-weight:600;margin:0}
.resena-form .f{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
.resena-form input:not([type=file]),.resena-form textarea{border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-2);font-size:16px;font-weight:500;width:100%;font-family:inherit;color:var(--fg)}
.estrellas-in{display:flex;gap:4px}
.estrellas-in button{width:44px;height:44px;border:0;background:none;font-size:34px;line-height:1;color:var(--line)}
.estrellas-in button.on{color:var(--tan)}
.btn.subir{width:max-content;flex:0 0 auto;cursor:pointer}
.previas{display:flex;gap:8px;flex-wrap:wrap}
.previa{position:relative;display:inline-block}
.previa img{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.previa button{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;border:0;background:var(--fg);color:var(--bg);font-size:18px;line-height:1}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ok-msg{font-size:14px;font-weight:600;color:var(--ok);margin:0}
.ayuda-box{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-md,8px);padding:14px 16px}
.ayuda-box b{font-family:var(--f-display);font-size:20px;font-weight:600}
.ayuda-box span{color:var(--muted)}
.ayuda-box .btn{flex:0 0 auto;margin-top:4px}
.resena-form label.f{flex:0 0 auto}

/* ════════ Mejoras para convertir (mobile first) ════════ */
/* Encabezado: titulo, bajada y 3 beneficios (uno debajo del otro en celular, en linea en compu) */
.banner-in h1{font-size:clamp(26px,7vw,46px);line-height:1.12}
.banner-in .banner-baja{flex:1 0 100%;margin:0;font-size:clamp(15px,3.6vw,19px);line-height:1.4;color:var(--cream)}
.beneficios{flex:1 0 100%;list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;align-items:center}
.beneficios li{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:500;color:var(--cream)}
.beneficios svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:var(--tan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:760px){.beneficios{flex-direction:row;justify-content:center;gap:10px 28px;flex-wrap:wrap}}

/* Envio con numeros */
.envios-box{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-md,8px);padding:12px 14px}
.envios-box h3{font-family:var(--f-display);font-size:22px;font-weight:600;margin:0 0 8px}
.envios-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.envios-lista li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.35}
.envios-lista li:last-child{border-bottom:0}
.envios-lista li b{flex:0 0 auto;font-family:var(--f-display);font-size:19px;font-weight:600;white-space:nowrap}
.envios-lista .env-gratis{display:block;font-size:16px}
.envios-nota{margin:8px 0 0;font-size:13px;color:var(--muted)}

/* Explicacion de los numeros (una linea) y ayuda con el talle */
.leyenda-linea{margin:2px 0 0;font-size:14px;color:var(--muted)}
.ayuda-talle{margin:6px 0 0;font-size:14px;color:var(--fg);padding:8px 12px;background:var(--surface-2);border-radius:var(--radius-sm,4px)}

/* Vista ampliada: etiqueta de stock junto al precio */
.stock-tag{margin-left:auto;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--fg)}
.stock-tag.ultimo{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}

/* WhatsApp flotante "¿Dudás del talle?" abajo a la derecha. Si hay carrito, se sube para no taparlo */
.wa{left:auto;right:calc(14px + env(safe-area-inset-right,0px));width:auto;height:48px;border-radius:999px;padding:0 18px 0 14px;display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-weight:600;font-size:14px;z-index:7}
.wa svg{width:24px;height:24px;flex:0 0 auto}
.bagbtn{z-index:8}
body.has-bag .wa{bottom:calc(16px + 52px + 12px + env(safe-area-inset-bottom,0px))}
.main{padding-bottom:170px}
/* Ajustes del encabezado y de la lista de envio */
.banner-in #titulo-desde{font-size:inherit;flex:0 0 auto;color:var(--tan)}
.beneficios span{font-size:inherit;flex:0 0 auto;line-height:inherit;color:inherit}
.envios-lista li > b{flex:0 0 auto;font-family:var(--f-display);font-size:19px;font-weight:600;white-space:nowrap}
.envios-lista li b.gratis{font-family:inherit}
.envios-lista .env-gratis b{font-family:inherit;font-size:inherit}
.envios-lista .env-retiro > b.gratis{font-family:var(--f-display);font-size:19px}
.envios-lista li{flex-direction:row;align-items:baseline;gap:12px}
.envios-lista li > span{flex:1 1 auto;min-width:0}
.envios-lista .env-precio{flex:0 0 auto}
