.store-page{min-height:calc(100vh - 68px);background:#f5f7f5}
.store-banner{position:relative;min-height:390px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#102d22,#263b2c);color:#fff}
.store-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(8,28,21,.82))}
.store-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.86}
.store-banner>div{position:relative;z-index:2;width:min(1380px,calc(100% - 48px));margin:0 auto;padding:80px 0 54px}
.store-banner h1{max-width:800px;margin:0 0 10px;font-size:clamp(42px,5vw,76px);line-height:.98}
.store-banner p{max-width:760px;margin:0;font-size:20px}
.store-page>.section{max-width:1380px;padding:64px 24px 90px}
.store-page>.section>h1{margin:8px 0 10px;font-size:clamp(38px,4vw,62px);line-height:1.02}
.store-page>.section>p:not(.eyebrow){max-width:740px;color:#607068;font-size:18px}
.store-tools{position:sticky;top:82px;z-index:30;display:grid;grid-template-columns:minmax(280px,1fr) 260px auto;gap:12px;margin:32px 0 26px;padding:14px;border:1px solid #dce6df;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 38px rgba(24,55,42,.09);backdrop-filter:blur(10px)}
.store-tools input,.store-tools select,.cart input,.cart textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #ccd9d0;border-radius:12px;background:#fff;color:#14251e;font:inherit}
.store-tools input:focus,.store-tools select:focus,.cart input:focus,.cart textarea:focus{outline:3px solid rgba(167,202,43,.22);border-color:var(--lime)}
#openCart{min-width:150px;border:0;cursor:pointer}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.product{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #dce6df;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(24,55,42,.08);transition:transform .18s ease,box-shadow .18s ease}
.product:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(24,55,42,.14)}
.product-image{position:relative;height:300px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eef4ef,#f9fbf9)}
.product-image img{width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .25s ease}
.product:hover .product-image img{transform:scale(1.025)}
.product-body{display:flex;flex:1;flex-direction:column;padding:22px}
.product-category{margin:0 0 8px;color:#84a700;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.product-body h2{min-height:58px;margin:0 0 8px;font-size:25px;line-height:1.12}
.product-body h2 a{color:inherit;text-decoration:none}
.product-body>p:not(.product-category){min-height:44px;margin:0 0 12px;color:#68766f;line-height:1.45}
.price{margin:4px 0 14px;color:var(--green);font-size:26px;font-weight:900}
.price del{color:#98a49c;font-weight:700;font-size:18px;margin-right:6px}
.size-block{border:0;padding:0;margin:0 0 14px}
.size-block legend{margin-bottom:9px;font-size:13px;font-weight:900}
.size-buttons{display:flex;flex-wrap:wrap;gap:8px}
.size-button{min-width:44px;padding:9px 12px;border:1px solid #ccd9d0;border-radius:10px;background:#fff;color:#263b2c;font-weight:900;cursor:pointer}
.size-button:hover,.size-button.selected{border-color:var(--orange,#e8792c);background:var(--orange,#e8792c);color:#fff}
.quantity-label{display:grid;grid-template-columns:1fr 84px;align-items:center;gap:12px;margin:auto 0 12px;font-size:13px;font-weight:900}
.quantity-label input{min-height:42px;padding:8px;border:1px solid #ccd9d0;border-radius:10px;text-align:center}
.add-button{width:100%;min-height:46px;border:0;cursor:pointer;font-size:15px}
.store-status{position:fixed;z-index:400;left:50%;bottom:30px;max-width:min(560px,calc(100% - 32px));padding:14px 20px;border-radius:14px;background:#263b2c;color:#fff;font-weight:800;box-shadow:0 16px 40px #0004;opacity:0;transform:translate(-50%,22px);pointer-events:none;transition:.2s}
.store-status.show{opacity:1;transform:translate(-50%,0)}
.store-status.error{background:#a12c2c}
.cart{position:fixed;z-index:210;top:0;right:-520px;width:min(500px,100%);height:100%;overflow:auto;padding:30px;background:#fff;box-shadow:-24px 0 60px #0003;transition:right .25s ease}
.cart.open{right:0}
.cart h2{margin:8px 0 24px;font-size:36px}
.cart-close{float:right;width:42px;height:42px;border:0;border-radius:50%;background:#eef3ef;font-size:28px;cursor:pointer}
.cart label{display:block;margin:14px 0;font-weight:800}
.cart textarea{min-height:96px;resize:vertical}
.cart>p{padding:14px;border-radius:12px;background:#f2f7f3}
.cart #sendOrder{width:100%;min-height:50px;border:0;cursor:pointer}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid #e2eae4}
.cart-item span,.cart-item small{display:block;margin-top:4px;color:#65736b}
.cart-controls{display:flex;align-items:center;gap:7px}
.cart-controls button{min-width:32px;height:32px;border:0;border-radius:8px;cursor:pointer}
.cart-controls .remove{width:auto;padding:0 10px;background:#fff0f0;color:#a12c2c}
.cart-shade{display:none;position:fixed;z-index:200;inset:0;background:rgba(0,0,0,.58)}
.cart-shade.open{display:block}
.fallback{display:grid;width:100%;height:100%;place-items:center;background:#263b2c;color:#fff;font-weight:900}

.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:20px}
.product-gallery-main{border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:420px;display:grid;place-items:center;background:linear-gradient(145deg,#eef4ef,#f9fbf9)}
.product-gallery-main img{width:100%;height:100%;max-height:520px;object-fit:contain;padding:18px}
.product-gallery-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.thumb{width:76px;height:76px;padding:0;border:2px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;background:#fff}
.thumb img{width:100%;height:100%;object-fit:contain}
.thumb.active{border-color:var(--orange,#e8792c)}
.product-info h1{font-size:38px;margin:6px 0 12px}
.mini-cart{margin-top:18px;padding:14px;border-radius:12px;background:var(--soft);display:grid;gap:10px}
.mini-cart p{margin:0}

@media(max-width:1180px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:880px){.store-banner{min-height:320px}.store-tools{position:static;grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{height:260px}.product-detail{grid-template-columns:1fr}}

/* FIX (reportado: "en móvil el banner se ve cortado"): el banner usaba
   object-fit:cover con una altura fija, así que en pantallas angostas la
   imagen se recortaba por los lados perdiendo partes del diseño (texto,
   productos, logos). En móvil ahora se muestra COMPLETA con
   object-fit:contain (igual que ya hicimos con el carrusel de Inicio),
   con un fondo oscuro de relleno en vez de recortar. */
@media(max-width:560px){
  .store-banner{min-height:230px}
  .store-banner img{object-fit:contain;background:#0b1712;opacity:1}
  .store-banner:after{background:linear-gradient(180deg,transparent 55%,rgba(8,28,21,.92) 100%)}
  .store-banner>div{width:calc(100% - 32px);padding:0 0 22px}
  .store-banner h1{font-size:32px}
  .store-banner p{font-size:15px}
  .store-page>.section{padding:40px 16px 72px}
  .product-grid{grid-template-columns:1fr}
  .product-image{height:300px}
  .product-body h2{min-height:0}
  .product-body>p:not(.product-category){min-height:0}
  .cart{padding:20px}
  .product-gallery-main{min-height:300px}
}
/* FIX ("dice pedido0 jejeje"): el espacio de texto entre "Mi pedido" y el
   contador a veces se colapsa visualmente según el navegador. Ahora el
   contador es un badge redondo con separación garantizada por margen,
   no por un espacio de texto. */
#openCart{display:inline-flex;align-items:center;gap:8px}
#cartCount{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;padding:0 6px;
  background:#ffffff;color:var(--orange,#e8792c);
  border-radius:999px;font-size:13px;font-weight:900;
  line-height:1;
}
