  :root{
    --bg:#ffffff; --bg-2:#fafafa; --ink:#141312; --ink-soft:#4a4642; --ink-mute:#8a857f;
    --line:#ececec; --dark:#0d0d0c; --dark-2:#161614; --accent:#8b1a1a;
    --font:'Inter',system-ui,sans-serif;
    --pad-x:clamp(1.25rem,5vw,4.5rem); --section-y:clamp(3.75rem,8vw,7.5rem);
    --tracking-xl:0.32em; --tracking-lg:0.22em; --tracking-md:0.14em;
    /* Altura real del nav fijo: logo 3.8125rem + padding vertical + borde */
    --shop-nav-offset:calc(3.875rem + clamp(1.25rem,2.4vw,2rem));
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:var(--font);font-size:1rem;color:var(--ink);background:var(--bg);font-weight:300;-webkit-font-smoothing:antialiased;line-height:1.5;}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
  h1,h2,h3{letter-spacing:0!important;}
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid currentColor!important;outline-offset:3px;}

  /* ══════════════════════════════════════
     NAV — frosted, 3 columnas
  ══════════════════════════════════════ */
  .site-nav{
    position:fixed;top:0;left:0;right:0;z-index:200;
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    padding:clamp(0.625rem,1.2vw,1rem) var(--pad-x);
    font-size:0.6875rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;
    font-weight:500;font-family:var(--font);
    background:rgba(255,255,255,.92);backdrop-filter:blur(1.125rem);-webkit-backdrop-filter:blur(1.125rem);
    border-bottom:0.0625rem solid rgba(0,0,0,.08);color:var(--ink);
  }
  .nav-left{display:flex;align-items:center;}
  .nav-center{display:flex;justify-content:center;align-items:center;}
  .nav-logo img{height:3.8125rem;width:auto;display:block;}
  .nav-right{display:flex;align-items:center;justify-content:flex-end;gap:clamp(0.875rem,2vw,1.75rem);}
  .menu-btn{display:inline-flex;align-items:center;gap:0.625rem;color:var(--ink);}
  .nav-bars{display:inline-flex;flex-direction:column;gap:0.25rem;}
  .nav-bars span{display:block;width:1.125rem;height:0.0625rem;background:var(--ink);}
  .nav-right a{position:relative;padding-bottom:0.1875rem;}
  .nav-right a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0.0625rem;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
  .nav-right a:hover::after,.nav-right a.active::after{transform:scaleX(1);}

  /* Carrito icono en nav */
  .nav-cart-btn{
    position:relative;display:inline-flex;align-items:center;gap:0.5rem;
    padding:0.4375rem 0.875rem;border:0.0625rem solid var(--line);
    font-size:0.6875rem;letter-spacing:var(--tracking-md);text-transform:uppercase;font-weight:500;
    transition:border-color .2s,background .2s;cursor:pointer;
  }
  .nav-cart-btn:hover{border-color:var(--ink);background:var(--ink);color:#fff;}
  .nav-cart-btn:hover svg path,.nav-cart-btn:hover svg circle{stroke:#fff;}
  .cart-badge{
    position:absolute;top:-0.4375rem;right:-0.4375rem;
    width:1.125rem;height:1.125rem;border-radius:50%;
    background:var(--accent);color:#fff;
    font-size:0.625rem;font-weight:600;letter-spacing:0;
    display:flex;align-items:center;justify-content:center;
    opacity:0;transform:scale(0);transition:opacity .2s,transform .2s;
  }
  .cart-badge.visible{opacity:1;transform:scale(1);}

  /* ══════════════════════════════════════
     PAGE HEADER
  ══════════════════════════════════════ */
  .page-header{
    padding-top:calc(var(--shop-nav-offset) + 1.25rem);
    padding-bottom:1.25rem;
    padding-left:var(--pad-x);padding-right:var(--pad-x);
    border-bottom:0.0625rem solid var(--line);
  }
  .page-header h1{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase;line-height:1.1;}
  .page-header .header-meta{margin-top:0.375rem;font-size:0.75rem;color:var(--ink-mute);font-weight:300;}
  .header-shipping{margin-top:0.875rem;display:inline-flex;align-items:center;gap:0.625rem;font-size:0.6875rem;letter-spacing:var(--tracking-md);text-transform:uppercase;font-weight:500;color:var(--ink-mute);border:0.0625rem solid var(--line);padding:0.5rem 1.125rem;}

  /* ══════════════════════════════════════
     FILTER BAR
  ══════════════════════════════════════ */
  .filter-bar{
    padding:0.625rem var(--pad-x);
    display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;
    border-bottom:0.0625rem solid var(--line);
    position:sticky;top:var(--shop-nav-offset);z-index:50;
    background:rgba(255,255,255,.96);backdrop-filter:blur(0.75rem);
  }
  .filter-bar-right{display:flex;align-items:center;gap:0.5rem;margin-left:auto;}
  .filter-pills{display:flex;flex-wrap:wrap;gap:0.5rem;}
  .filter-pills-sensory{
    flex:1 1 100%;
    padding-top:0.125rem;
  }
  .filter-btn{
    font-size:0.625rem;letter-spacing:var(--tracking-md);text-transform:uppercase;
    font-weight:500;padding:0.375rem 0.875rem;border:0.0625rem solid var(--line);color:var(--ink-mute);
    transition:border-color .2s,color .2s,background .2s;cursor:pointer;background:none;font-family:var(--font);
  }
  .filter-btn:hover{border-color:var(--ink);color:var(--ink);}
  .filter-btn.active{border-color:var(--ink);background:var(--ink);color:#fff;}
  .filter-btn-sensory{
    border-color:#e4ded7;
    color:#6f6760;
    background:#fbfaf8;
  }
  .filter-sort{display:flex;align-items:center;gap:0.625rem;position:relative;}
  .sort-select{
    position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;
  }
  .filter-sort-icon{
    display:flex;align-items:center;justify-content:center;
    width:2rem;height:2rem;border:0.0625rem solid var(--line);
    color:var(--ink-mute);pointer-events:none;
  }

  /* ══════════════════════════════════════
     SHOP GRID
  ══════════════════════════════════════ */
  .shop-section{padding:clamp(1.125rem,2.2vw,2rem) var(--pad-x) clamp(2.25rem,4vw,4rem);}
  .shop-count{font-size:0.6875rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--ink-mute);font-weight:300;margin-bottom:clamp(1.5rem,3vw,2.5rem);}
  .shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(0.75rem,1.5vw,1.25rem);}
  @media(max-width:75rem){.shop-grid{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:50rem){.shop-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:27.5rem){.shop-grid{grid-template-columns:1fr;}}

  /* ══════════════════════════════════════
     PRODUCT CARD
  ══════════════════════════════════════ */
  .card{display:flex;flex-direction:column;position:relative;}
  .card.hidden{display:none;}

  .card-img{
    position:relative;background:var(--bg-2);aspect-ratio:1/1.2;overflow:hidden;
  }
  .card-img img{
    width:100%;height:100%;object-fit:contain;padding:0.625rem 0.5rem;
    transition:transform .55s cubic-bezier(.25,.46,.45,.94);
  }
  .card:hover .card-img img{transform:scale(1.04);}

  .card-badge{
    position:absolute;top:0.75rem;left:0.75rem;z-index:2;
    font-size:0.6875rem;letter-spacing:var(--tracking-md);text-transform:uppercase;
    font-weight:500;padding:0.25rem 0.5625rem;background:var(--ink);color:#fff;
  }
  .card-badge.sold-out{background:var(--ink-mute);}

  /* Icon actions — top right, visible on hover */
  .card-icon-actions{
    position:absolute;top:0.625rem;right:0.625rem;z-index:3;
    display:flex;flex-direction:column;gap:0.375rem;
    opacity:0;transform:translateX(0.5rem);
    transition:opacity .25s,transform .25s;
  }
  .card:hover .card-icon-actions{opacity:1;transform:translateX(0);}
  .icon-btn{
    width:2.125rem;height:2.125rem;border-radius:50%;background:rgba(255,255,255,.92);
    backdrop-filter:blur(0.375rem);border:0.0625rem solid var(--line);
    display:flex;align-items:center;justify-content:center;
    transition:background .2s,border-color .2s,transform .15s;cursor:pointer;
  }
  .icon-btn:hover{background:#fff;border-color:var(--ink);transform:scale(1.08);}
  .icon-btn.wished svg{fill:var(--accent);stroke:var(--accent);}
  .icon-btn.comparing{background:var(--ink);}
  .icon-btn.comparing svg{stroke:#fff;}
  .btn-add-cart.btn-add-cart-float{
    position:absolute;right:0.625rem;bottom:0.625rem;z-index:3;
    width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;
    border-radius:50%;
    box-shadow:0 0.5rem 1rem rgba(0,0,0,.18);
    opacity:0;transform:translateY(0.5rem);
    display:flex;align-items:center;justify-content:center;
    transition:opacity .25s,transform .25s,background .28s,color .28s,border-color .28s,box-shadow .28s;
  }
  .card:hover .btn-add-cart-float,
  .card:focus-within .btn-add-cart-float{
    opacity:1;transform:translateY(0);
  }
  .btn-add-cart.btn-add-cart-float svg{display:block;width:1rem;height:1rem;}
  .btn-add-cart.btn-add-cart-float.added{
    transform:translateY(0) scale(1.06);
    box-shadow:0 0.5rem 0.875rem rgba(42,102,50,.28);
  }
  .btn-add-cart.btn-add-cart-float .btn-add-cart-float-label{
    font-size:0.625rem;letter-spacing:.08em;text-transform:uppercase;
    line-height:1.2;padding:0 0.25rem;text-align:center;
  }
  .btn-add-cart-float-success{
    display:flex;align-items:center;justify-content:center;
    animation:floatCartSuccess .45s cubic-bezier(.2,.8,.2,1);
  }
  .btn-add-cart-float-check{
    font-size:1.125rem;line-height:1;font-weight:600;
  }
  .btn-add-cart.btn-add-cart-float:disabled{
    opacity:1;transform:none;
    box-shadow:none;
    border-color:var(--line);
  }

  /* Card body */
  .card-body{padding:0.5rem 0.125rem 0;flex:1;display:flex;flex-direction:column;}
  .card-category{font-size:0.6875rem;letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--ink-mute);font-weight:300;margin-bottom:0.375rem;}
  .card-name{font-size:clamp(0.6875rem,1vw,0.8125rem);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);line-height:1.35;flex:1;}
  .card-price{margin-top:0.1875rem;font-size:0.9375rem;font-weight:700;color:var(--ink);}
  .card-decision{
    margin-top:0.5rem;
    color:var(--ink-soft);
    font-size:0.75rem;
    line-height:1.5;
    font-weight:300;
  }
  .card-profile-chips{
    display:flex;
    flex-wrap:wrap;
    gap:0.3125rem;
    margin-top:0.625rem;
  }
  .card-profile-chips span,
  .compare-chip{
    display:inline-flex;
    align-items:center;
    min-height:1.5rem;
    padding:0.1875rem 0.5rem;
    border:0.0625rem solid #e6dfd6;
    background:#fbfaf8;
    color:#5f5751;
    font-size:0.625rem;
    line-height:1.2;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-weight:500;
  }

  /* Card buttons */
  .card-buttons{margin-top:0.4375rem;display:flex;flex-direction:column;gap:0.375rem;}
  .btn-add-cart{
    width:100%;padding:0.6875rem 1rem;
    background:var(--ink);color:#fff;
    font-family:var(--font);font-size:0.625rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:500;
    border:0.0625rem solid var(--ink);cursor:pointer;
    transition:background .2s,color .2s;
  }
  .btn-add-cart:hover{background:var(--dark-2);}
  .btn-add-cart:disabled{background:var(--ink-mute);border-color:var(--ink-mute);cursor:not-allowed;}
  .btn-add-cart.added{background:#2a6632;border-color:#2a6632;}
  .btn-details{
    display:block;text-align:center;
    font-size:0.625rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:500;
    padding:0.5625rem 0;border-bottom:0.0625rem solid var(--line);color:var(--ink-mute);
    transition:color .2s,border-color .2s;
  }
  .btn-details:hover{color:var(--ink);border-color:var(--ink);}

  @media(max-width:50rem){
    .btn-add-cart.btn-add-cart-float{
      right:0.5rem;bottom:0.5rem;
      opacity:1;transform:none;
    }
  }

  @keyframes floatCartSuccess{
    0%{opacity:0;transform:scale(.4) rotate(-30deg);}
    60%{opacity:1;transform:scale(1.25) rotate(0deg);}
    100%{opacity:1;transform:scale(1);}
  }

  /* ══════════════════════════════════════
     MENU DRAWER
  ══════════════════════════════════════ */
  .menu-overlay{
    position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.45);
    opacity:0;pointer-events:none;transition:opacity .35s ease;
  }
  .menu-overlay.open{opacity:1;pointer-events:auto;}
  .menu-drawer{
    position:fixed;top:0;left:0;bottom:0;z-index:301;
    width:min(25rem,88vw);
    background:var(--dark);color:#fff;
    display:flex;flex-direction:column;
    padding:clamp(1.5rem,3vw,2.5rem);
    transform:translateX(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
  }
  .menu-drawer.open{transform:translateX(0);}
  .menu-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;}
  .menu-drawer-list{list-style:none;display:flex;flex-direction:column;gap:0.125rem;}
  .menu-drawer-list a{
    display:block;padding:0.875rem 0;
    font-size:1rem;letter-spacing:var(--tracking-md);text-transform:uppercase;font-weight:500;
    border-bottom:0.0625rem solid rgba(255,255,255,.08);color:rgba(255,255,255,.85);
    transition:padding .25s,color .25s;
  }
  .menu-drawer-list a:hover,.menu-drawer-list a.active{padding-left:0.625rem;color:#fff;}
  .menu-drawer-list a.active{color:rgba(255,255,255,.5);}

  /* ══════════════════════════════════════
     CART DRAWER
  ══════════════════════════════════════ */
  /* ═══════════════════════════════════════
     SEARCH BAR
  ═══════════════════════════════════════ */
  .search-wrap{
    position:relative;max-width:30rem;
    display:flex;align-items:center;gap:0.625rem;
    border:0.0625rem solid var(--line);padding:0.4375rem 0.875rem;
    transition:border-color .2s;
  }
  .search-wrap:focus-within{border-color:var(--ink);}
  /* El contenedor ya marca el foco con su borde: sin contorno duplicado en el input */
  #searchInput:focus,#searchInput:focus-visible{outline:none!important;}
  #searchInput::selection{background:rgba(20,19,18,.12);}
  .search-wrap svg{flex-shrink:0;color:var(--ink-mute);}
  #searchInput{
    flex:1;border:none;outline:none;
    font-family:var(--font);font-size:0.75rem;font-weight:300;letter-spacing:.04em;
    color:var(--ink);background:transparent;
  }
  #searchInput::placeholder{color:var(--ink-mute);}
  .search-clear{flex-shrink:0;font-size:0.875rem;color:var(--ink-mute);opacity:0;pointer-events:none;transition:opacity .2s;}
  .search-clear.visible{opacity:1;pointer-events:auto;}
  .no-results{padding:3.75rem var(--pad-x);text-align:center;font-size:0.8125rem;color:var(--ink-mute);font-weight:300;letter-spacing:.04em;display:none;}
  .no-results.visible{display:block;}

  .cart-overlay{
    position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.35);
    opacity:0;pointer-events:none;transition:opacity .35s ease;
  }
  .cart-overlay.open{opacity:1;pointer-events:auto;}

  .cart-drawer{
    position:fixed;top:0;right:0;bottom:0;z-index:301;
    width:min(26.25rem,95vw);
    background:#fff;
    display:flex;flex-direction:column;
    transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
    box-shadow:-0.25rem 0 2rem rgba(0,0,0,.1);
  }
  .cart-drawer.open{transform:translateX(0);}

  .cart-head{
    padding:1.375rem 1.5rem;border-bottom:0.0625rem solid var(--line);
    display:flex;justify-content:space-between;align-items:center;
    flex-shrink:0;
  }
  .cart-head h3{font-size:0.8125rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:500;}
  .cart-close-btn{
    width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;
    font-size:1.25rem;color:var(--ink-mute);transition:color .2s;
  }
  .cart-close-btn:hover{color:var(--ink);}

  .cart-items{flex:1;overflow-y:auto;padding:1rem 1.5rem;}
  .cart-empty{
    height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:0.75rem;color:var(--ink-mute);text-align:center;
  }
  .cart-empty svg{opacity:.3;}
  .cart-empty p{font-size:0.8125rem;font-weight:300;}

  .cart-item{
    display:grid;grid-template-columns:4.5rem 1fr;gap:0.875rem;align-items:start;
    padding:1rem 0;border-bottom:0.0625rem solid var(--line);
  }
  .cart-item:last-child{border-bottom:none;}
  .cart-item-img{aspect-ratio:3/4;background:var(--bg-2);overflow:hidden;}
  .cart-item-img img{width:100%;height:100%;object-fit:contain;padding:0.375rem;}
  .cart-item-info .ci-name{font-size:0.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:0.25rem;}
  .cart-item-info .ci-price{font-size:0.75rem;color:var(--ink-mute);font-weight:300;}
  .qty-control{display:flex;flex-direction:row;align-items:center;gap:0.375rem;flex-wrap:wrap;justify-content:flex-end;}
  .qty-btn{
    width:1.75rem;height:1.75rem;border:0.0625rem solid var(--line);
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;color:var(--ink);transition:background .15s,border-color .15s;flex-shrink:0;
  }
  .qty-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
  .qty-num{font-size:0.8125rem;font-weight:500;min-width:1.375rem;text-align:center;}
  .remove-item{font-size:0.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);transition:color .2s;white-space:nowrap;}
  .remove-item:hover{color:var(--accent);}
  .cart-item{grid-template-columns:4rem 1fr;gap:0.75rem;}
  .cart-item-right{display:flex;flex-direction:column;gap:0.375rem;}
  .ci-qty-row{display:flex;align-items:center;gap:0.375rem;flex-wrap:wrap;}

  .cart-foot{
    padding:1.25rem 1.5rem;border-top:0.0625rem solid var(--line);flex-shrink:0;
    background:#fff;
  }
  .cart-subtotal{
    display:flex;justify-content:space-between;align-items:center;
    font-size:0.75rem;font-weight:300;color:var(--ink-soft);margin-bottom:0.375rem;
  }
  .cart-total-row{
    display:flex;justify-content:space-between;align-items:center;
    font-size:0.875rem;font-weight:500;letter-spacing:.04em;margin-bottom:1.125rem;
  }
  .cart-total-row span:last-child{font-size:1rem;}
  .btn-checkout{
    display:block;width:100%;padding:0.875rem;text-align:center;
    background:var(--ink);color:#fff;
    font-size:0.6875rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:500;
    transition:background .2s;
  }
  .btn-checkout:hover{background:var(--dark-2);}
  .btn-view-cart{
    display:block;width:100%;padding:0.75rem;text-align:center;margin-top:0.625rem;
    border:0.0625rem solid var(--line);font-size:0.6875rem;letter-spacing:var(--tracking-lg);
    text-transform:uppercase;font-weight:500;color:var(--ink-mute);transition:border-color .2s,color .2s;
  }
  .btn-view-cart:hover{border-color:var(--ink);color:var(--ink);}
  .cart-shipping-note{margin-top:0.75rem;text-align:center;font-size:0.625rem;letter-spacing:.04em;color:var(--ink-mute);}
  .free-shipping-bar{margin-top:0.875rem;}
  .fsb-label{font-size:0.625rem;letter-spacing:.04em;color:var(--ink-mute);margin-bottom:0.375rem;}
  .fsb-track{height:0.125rem;background:var(--line);border-radius:0.0625rem;overflow:hidden;}
  .fsb-fill{height:100%;background:var(--ink);border-radius:0.0625rem;transition:width .4s ease;}

  /* ══════════════════════════════════════
     COMPARE BAR (bottom sticky)
  ══════════════════════════════════════ */
  .compare-bar{
    position:fixed;bottom:0;left:0;right:0;z-index:250;
    background:var(--ink);color:#fff;
    padding:0.875rem var(--pad-x);
    display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;
    transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  }
  .compare-bar.visible{transform:translateY(0);}
  .compare-bar-label{font-size:0.6875rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:500;white-space:nowrap;}
  .compare-slots{display:flex;gap:0.625rem;flex:1;}
  .compare-slot{
    display:flex;align-items:center;gap:0.5rem;
    background:rgba(255,255,255,.1);padding:0.375rem 0.75rem;
    font-size:0.6875rem;font-weight:300;flex:1;max-width:11.25rem;
  }
  .compare-slot-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .compare-slot-remove{opacity:.6;font-size:1rem;cursor:pointer;transition:opacity .2s;flex-shrink:0;}
  .compare-slot-remove:hover{opacity:1;}
  .compare-slot.empty{background:rgba(255,255,255,.05);color:rgba(255,255,255,.4);}
  .btn-compare-now{
    padding:0.625rem 1.5rem;background:#fff;color:var(--ink);
    font-size:0.625rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:600;
    transition:background .2s;white-space:nowrap;
  }
  .btn-compare-now:hover{background:rgba(255,255,255,.88);}
  .btn-compare-now:disabled{background:rgba(255,255,255,.3);color:rgba(0,0,0,.4);cursor:not-allowed;}
  .btn-compare-clear{font-size:0.625rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;transition:opacity .2s;white-space:nowrap;}
  .btn-compare-clear:hover{opacity:1;}

  /* ══════════════════════════════════════
     COMPARE MODAL
  ══════════════════════════════════════ */
  .compare-modal{
    position:fixed;inset:0;z-index:400;
    background:rgba(0,0,0,.5);
    display:flex;align-items:center;justify-content:center;padding:1.25rem;
    opacity:0;pointer-events:none;transition:opacity .3s;
  }
  .compare-modal.open{opacity:1;pointer-events:auto;}
  .compare-modal-panel{
    background:#fff;width:100%;max-width:75rem;max-height:90vh;
    display:flex;flex-direction:column;overflow:hidden;position:relative;
  }
  .compare-modal-head{
    padding:1.25rem 1.5rem;border-bottom:0.0625rem solid var(--line);
    display:flex;justify-content:space-between;align-items:center;
    flex-shrink:0;
  }
  .compare-modal-head h3{font-size:0.8125rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;font-weight:500;}
  .compare-modal-close{font-size:1.375rem;color:var(--ink-mute);transition:color .2s;}
  .compare-modal-close:hover{color:var(--ink);}
  .compare-grid{
    flex:1;overflow:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .compare-table{min-width:calc(12rem + (min(var(--compare-cols),4) * 14rem));}
  .compare-row{
    display:grid;
    grid-template-columns:12rem repeat(var(--compare-cols), minmax(13rem,1fr));
    border-bottom:0.0625rem solid var(--line);
  }
  .compare-row-head{
    position:sticky;top:0;z-index:2;background:#fff;
    box-shadow:0 0.25rem 1rem rgba(0,0,0,.04);
  }
  .compare-row-label{
    padding:0.5rem 0.75rem;
    border-right:0.0625rem solid var(--line);
    color:var(--ink-mute);
    font-size:0.625rem;
    letter-spacing:var(--tracking-lg);
    text-transform:uppercase;
    font-weight:500;
  }
  .compare-cell,
  .compare-product-head{
    padding:0.625rem 0.75rem;
    border-right:0.0625rem solid var(--line);
    color:var(--ink-soft);
    font-size:0.75rem;
    line-height:1.45;
  }
  .compare-cell:last-child,
  .compare-product-head:last-child{border-right:none;}
  .compare-product-head img{
    width:100%;height:6rem;object-fit:contain;
    background:var(--bg-2);padding:0.5rem;margin-bottom:0.5rem;
  }
  .compare-product-head .c-cat{font-size:0.5625rem;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--ink-mute);margin-bottom:0.125rem;}
  .compare-product-head .c-name{font-size:0.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:0.25rem;color:var(--ink);}
  .compare-product-head .c-price{font-size:0.875rem;font-weight:300;color:var(--ink-soft);margin-bottom:0.5rem;}
  .compare-product-head .btn-add-cart{font-size:0.5625rem;padding:0.5rem;}
  .compare-product-head .btn-details{margin-top:0.375rem;padding:0.375rem 0;}
  .compare-cell .compare-chip{margin:0 0.25rem 0.25rem 0;}
  .compare-empty{color:#b7b0aa;}
  .compare-score{display:inline-flex;gap:0.25rem;align-items:center;}
  .compare-score span{
    width:0.5rem;height:0.5rem;border-radius:50%;
    border:0.0625rem solid #cfc7bd;background:transparent;
  }
  .compare-score span.on{background:var(--ink);border-color:var(--ink);}

  /* ══════════════════════════════════════
     TOAST NOTIFICATION
  ══════════════════════════════════════ */
  .toast{
    position:fixed;bottom:5rem;left:50%;transform:translateX(-50%) translateY(1.25rem);
    z-index:500;background:var(--ink);color:#fff;
    padding:0.75rem 1.5rem;font-size:0.75rem;letter-spacing:.04em;
    opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* ══════════════════════════════════════
     FOOTER
  ══════════════════════════════════════ */
  .site-footer{
    padding:clamp(3rem,6vw,5rem) var(--pad-x);
    border-top:0.0625rem solid var(--line);background:var(--dark);color:rgba(255,255,255,.6);
    margin-bottom:0;
  }
  .footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(1.5rem,4vw,3.75rem);}
  @media(max-width:42.5rem){.footer-inner{grid-template-columns:1fr;}}
  .footer-brand .logo-wrap{margin-bottom:1.25rem;}
  .footer-brand .logo-wrap img{height:2.25rem;filter:brightness(0) invert(1);opacity:.7;}
  .footer-brand p{font-size:0.8125rem;line-height:1.7;font-weight:300;}
  .footer-col h4{font-size:0.6875rem;letter-spacing:var(--tracking-xl);text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.9);margin-bottom:1rem;}
  .footer-col ul{list-style:none;}
  .footer-col ul li{margin-bottom:0.625rem;}
  .footer-col ul li a{font-size:0.8125rem;font-weight:300;transition:color .2s;}
  .footer-col ul li a:hover{color:#fff;}
  .footer-bottom{
    margin-top:clamp(2.25rem,4vw,3.5rem);padding-top:1.5rem;border-top:0.0625rem solid rgba(255,255,255,.1);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem;
    font-size:0.6875rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.35);
  }

  /* ══════════════════════════════════════
     MÓVIL — tienda responsive
  ══════════════════════════════════════ */
  /* Evitar scroll lateral en cualquier caso */
  html,body{overflow-x:hidden;overflow-x:clip;}
  .shop-grid>*{min-width:0;}

  /* El separador bajo el nav fijo debe medir exactamente la altura del nav:
     así la barra de filtros queda pegada al header */
  .page-header.page-header-spacer{
    padding:0;border-bottom:none;
    height:var(--shop-nav-offset);
  }

  @media(max-width:50rem){
    :root{
      /* Nav móvil más bajo: logo 2.75rem + padding 1.25rem + borde */
      --shop-nav-offset:4.0625rem;
    }

    /* Nav compacto */
    .site-nav{padding:0.625rem var(--pad-x);}
    .nav-logo img{height:2.75rem;}
    .menu-btn>span:last-child{display:none;}      /* solo hamburguesa */
    .nav-right{gap:0.625rem;}
    .nav-right>a{display:none;}                   /* ocultar enlace Tienda (ya estamos en ella) */
    .nav-cart-btn{padding:0.375rem 0.625rem;gap:0.375rem;}

    /* Barra de filtros en 2 filas compactas:
       1) categorías en carrusel horizontal  2) buscador + orden */
    .filter-bar{padding:0.5rem var(--pad-x) 0.625rem;gap:0.5rem;}
    /* Todas las categorías visibles, en 2 filas compactas */
    .filter-pills{flex:1 1 100%;gap:0.375rem;}
    .filter-pills-sensory{
      flex-wrap:nowrap;
      overflow-x:auto;
      padding-bottom:0.125rem;
      -webkit-overflow-scrolling:touch;
    }
    .filter-btn{padding:0.3125rem 0.625rem;white-space:nowrap;}
    .search-wrap{flex:1 1 auto!important;max-width:none!important;min-width:0;}
    .filter-sort{flex:0 0 auto;}
    .sort-select{font-size:0.625rem;padding:0.4375rem 0.625rem;}

    /* Rejilla con respiro justo */
    .shop-grid{gap:0.625rem;}
    .shop-section{padding-top:0.875rem;}
    .shop-count{margin-bottom:1rem;}
    .card-profile-chips span{font-size:0.5625rem;padding:0.1875rem 0.375rem;}
    .compare-modal{padding:0.625rem;align-items:flex-end;}
    .compare-modal-panel{max-height:92vh;display:flex;flex-direction:column;}
    .compare-modal-head{padding:1rem;flex-shrink:0;}
    .compare-row{grid-template-columns:8.5rem repeat(var(--compare-cols), minmax(12rem,1fr));}
    .compare-table{min-width:calc(8.5rem + (var(--compare-cols) * 12rem));}
    .compare-row-label,.compare-cell,.compare-product-head{padding:0.5rem;}
    .compare-product-head img{height:5rem;}
  }
