@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{
  --brand-blue:#0000FF;
  --brand-yellow:#FFFF00;
  --brand-white:#FFFFFF;
  --brand-gray:#474747;
  --brand-blue-dark:#0000CC;
  --brand-blue-soft:rgba(0,0,255,.08);
  --brand-yellow-soft:rgba(255,255,0,.22);
  --text-main:#10203F;
  --text-muted:#6B7280;
  --border-soft:#DFE6F3;
  --bg-soft:#F4F7FC;
  --blue-900:var(--brand-gray);
  --blue-800:var(--brand-blue);
  --blue-700:var(--brand-blue-dark);
  --ink:var(--text-main);
  --bg:var(--bg-soft);
  --card:var(--brand-white);
  --warn:var(--brand-yellow);
}
body{font-family:'Inter','Inter Fallback',system-ui,sans-serif;background:radial-gradient(circle at 0 0,#e9ecff,transparent 35%),linear-gradient(180deg,var(--bg-soft) 0,#edf2fb 100%);color:var(--ink);overflow-x:hidden}
a{text-decoration:none}
.site-header{position:sticky;top:0;z-index:30;box-shadow:0 8px 26px rgba(0,0,204,.16)}
.header-top{background:var(--brand-gray)}
.header-main{background:linear-gradient(90deg,var(--brand-blue),var(--brand-blue-dark));}
.header-main-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem}
.brand{font-weight:800;font-size:1.35rem;color:#fff;letter-spacing:.2px;justify-self:start}
.brand-logo{height:38px;width:auto;display:block}
.search-box{max-width:380px;width:100%;justify-self:center}
.header-actions{justify-self:end}
.search-box .form-control{border:1px solid #cdd7ef;box-shadow:none;background:var(--brand-white);color:var(--brand-gray)}
.search-box .form-control::placeholder{color:#7b8090}
.search-box .form-control:focus{background:var(--brand-white);color:var(--brand-gray);border-color:var(--brand-blue);box-shadow:0 0 0 .18rem rgba(0,0,255,.12)}
.search-box .btn.btn-warning{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--brand-gray)}
.search-box .btn.btn-warning:hover{filter:brightness(.95)}
.header-top-whatsapp{white-space:nowrap}
.header-account{font-weight:700}
.header-nav{background:#fff;border-bottom:1px solid var(--border-soft)}
.nav-pill{padding:.35rem .7rem;border-radius:999px;background:var(--brand-blue-soft);color:var(--brand-blue);font-weight:600;border:1px solid transparent;transition:all .18s ease}
.nav-pill:hover,.nav-pill.active{background:var(--brand-blue);color:var(--brand-white);border-color:var(--brand-blue)}
.nav-pill-soft{background:var(--brand-blue-soft)}
.hero{background:linear-gradient(120deg,var(--brand-blue) 0,#2020ff 55%,#4949ff 100%);border-radius:20px;color:#fff;padding:30px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:auto -100px -120px auto;width:280px;height:280px;background:#ffffff1a;border-radius:50%}
.section-title{font-weight:800;color:var(--brand-blue);letter-spacing:.2px}
.category-tile{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:14px;text-align:center;font-weight:700;color:var(--brand-blue);height:100%}
.product-card{background:var(--card);border:1px solid var(--border-soft);border-radius:16px;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;height:100%;display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,35,75,.08);border-color:#cbd8f0}
.product-img,.product-image-wrap{height:220px;background:#fff;display:flex;align-items:center;justify-content:center;color:#567;font-size:.9rem;padding:18px}
.product-img img,.product-image-wrap img{max-width:100%;max-height:100%;object-fit:contain}
.product-body,.product-card-body{padding:14px;position:relative;display:flex;flex-direction:column;flex:1}
.product-edit-link{position:absolute;top:10px;right:10px;width:28px;height:28px;border:1px solid #c7d6ea;border-radius:999px;background:#fff;color:var(--brand-blue);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(12,55,103,.12)}
.product-edit-link:hover{background:#eff5ff;color:var(--brand-blue-dark)}
.badge-type{font-size:.73rem}
.product-badge{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:4px 10px;border-radius:7px;font-size:13px;font-weight:800;line-height:1.1}
.product-badge.is-new{background:var(--brand-blue);color:var(--brand-white)}
.product-badge.is-offer{background:var(--brand-yellow);color:var(--brand-gray)}
.product-badge.is-stockout{background:#7b8798;color:#fff}
.product-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35;min-height:2.7em;margin:0 0 .35rem;font-weight:700;color:#1a2942}
.product-brand{min-height:24px;color:var(--text-muted);font-size:.86rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.product-price-box{display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:.55rem}
.price-main,.product-price{font-size:1.38rem;font-weight:800;color:var(--brand-blue);line-height:1.1}
.price-old,.product-old-price{text-decoration:line-through;color:#8b95a7;font-size:.93rem;}
.product-card-actions{margin-top:auto;display:flex;align-items:center;gap:.38rem}
.product-card .btn-add{flex:1 1 auto;width:100%;height:40px;border-radius:8px;font-weight:700;font-size:13.5px;padding:.35rem .55rem;line-height:1.15}
.product-card .btn-add{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--brand-white)}
.product-card .btn-add:hover{background:var(--brand-blue-dark);border-color:var(--brand-blue-dark)}
.product-card .btn-whatsapp-mini{width:36px;min-width:36px;height:40px;border-radius:8px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.product-card .btn-whatsapp-mini svg{width:16px;height:16px}
.product-detail-media{background:#fff;border:1px solid #d6e1ef;overflow:hidden}
.product-detail-media-inner{height:360px;display:flex;align-items:center;justify-content:center;background:#fff;padding:10px}
.product-detail-media-img{max-width:100%;max-height:100%;object-fit:contain}
.product-detail-media .carousel-control-prev-icon,.product-detail-media .carousel-control-next-icon{background-color:rgba(8,42,79,.45);border-radius:999px;background-size:55%}
.filter-card,.filters-panel{background:#fff;border:1px solid var(--border-soft);border-radius:14px;padding:14px;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto}
.filter-card::-webkit-scrollbar,.filters-panel::-webkit-scrollbar{width:10px}
.filter-card::-webkit-scrollbar-thumb,.filters-panel::-webkit-scrollbar-thumb{background:#c8d5ea;border-radius:999px}
.filter-card h5,.filters-panel h2,.filters-panel h3{color:var(--brand-gray)}
.filter-card .form-check-input:checked,.filters-panel .form-check-input:checked{background-color:var(--brand-blue);border-color:var(--brand-blue)}
.filter-card .form-check-input:focus,.filters-panel .form-check-input:focus{box-shadow:0 0 0 .18rem rgba(0,0,255,.16)}
.fc-chevron{transition:transform .2s ease;flex-shrink:0}
[aria-expanded="true"] .fc-chevron{transform:rotate(180deg)}
.site-footer{background:#0c2c54;color:#dce6f5}
.site-footer a{color:#fff}
.table-cart th,.table-cart td{vertical-align:middle}
.cart-remove-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .5rem;line-height:1}
.qty-control{display:inline-flex;align-items:center;border:1px solid #cfd9e7;border-radius:.55rem;overflow:hidden;background:#fff}
.qty-control-btn{width:30px;height:30px;border:0;background:#f3f7fc;color:#0b4ea2;font-weight:800;line-height:1;padding:0}
.qty-control-btn:hover{background:#e7f0fe}
.qty-control-btn:active{background:#dce9fe}
.qty-control-input{width:44px;text-align:center;border:0!important;border-left:1px solid #dde6f2;border-right:1px solid #dde6f2;border-radius:0!important;padding:.15rem .2rem;box-shadow:none!important}
.qty-control-input::-webkit-outer-spin-button,.qty-control-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-control-input[type=number]{-moz-appearance:textfield}
.sucursal-card{background:#fff;border:1px solid #d6e1ef;border-radius:16px;padding:14px;height:100%}
.sucursal-thumb-wrap{height:140px;border:1px solid #d6e1ef;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sucursal-thumb{width:100%;height:100%;object-fit:cover}
@media (max-width:768px){
  .header-top .container{gap:.45rem}
  .header-top .container > div{font-size:.78rem}
  .header-top-whatsapp{font-size:.75rem;max-width:52%;text-align:right;overflow:hidden;text-overflow:ellipsis}
  .header-main{padding-top:.9rem!important;padding-bottom:.9rem!important}
  .header-main-inner{grid-template-columns:1fr;gap:.75rem!important}
  .brand{width:100%;justify-content:center;justify-self:center}
  .brand-logo{height:34px}
  .header-actions{width:100%;justify-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:.5rem!important}
  .search-box{max-width:none;justify-self:stretch;width:100%}
  .header-account{font-size:.84rem;padding:.3rem .55rem}
  .header-nav-scroll{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .header-nav-scroll::-webkit-scrollbar{display:none}
  .header-nav-scroll .nav-pill{white-space:nowrap;flex:0 0 auto}

  .table-cart thead{display:none}
  .table-cart tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.85rem .9rem;border-bottom:1px solid #e5ebf4}
  .table-cart tbody tr:last-child{border-bottom:0}
  .table-cart tbody td{border:0;padding:0}
  .cart-product-cell{grid-column:1 / -1}
  .cart-price-cell,.cart-qty-cell,.cart-subtotal-cell,.cart-remove-cell{display:flex;align-items:center;min-height:38px}
  .cart-subtotal-cell{display:none}
  .cart-price-cell::before,.cart-qty-cell::before,.cart-subtotal-cell::before{content:attr(data-label) ': ';font-size:.75rem;font-weight:700;color:#607089;margin-right:.3rem}
  .cart-qty-cell .qty-control{max-width:100%}
  .cart-remove-cell{justify-content:flex-end}

  .site-footer{font-size:.9rem}
  .site-footer .container{padding-top:1rem!important;padding-bottom:1rem!important}
  .site-footer h5{font-size:1rem;margin-bottom:.4rem!important}
  .site-footer h6{font-size:.92rem;margin-bottom:.35rem!important}
  .site-footer p,.site-footer div{margin-bottom:.25rem!important}
  .site-footer .row > [class*='col-']{padding-right:.25rem}

  .hero{padding:22px}
  .product-img,.product-image-wrap{height:180px;padding:14px}
  .product-title{-webkit-line-clamp:3;}
  .product-card .btn-add{height:38px;font-size:12.5px}
  .product-card .btn-whatsapp-mini{height:38px;width:34px;min-width:34px}
  .filter-card,.filters-panel{position:static;max-height:none;overflow:visible}
  .product-detail-media-inner{height:300px}
  .sucursal-thumb-wrap{height:120px}
}

/* Ficha producto: "También te puede interesar" — 2 columnas en móvil, cards misma altura por fila */
.product-related-section .row > [class*="col-"]{display:flex}
.product-related-section .product-card{min-height:100%}
.product-related-section .product-img{
  height:auto;
  min-height:0;
  padding:10px 0;
  flex-shrink:0;
}
.product-related-section .product-img img{
  width:95%;
  max-width:95%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.product-related-section .product-body{flex:1 1 auto;min-height:0}
.product-related-section .product-body > a.text-dark{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.35;
  min-height:2.7em;
}
