:root{
    --bg:#f8f5f2;
    --bg-card:#ffffff;
    --bg-deep:#efe7dc;
    --ink:#2b2b2b;
    --text-2:#6e6e6e;
    --btn:#4e342e;
    --btn-hover:#6d4c41;
    --accent:#c49a6c;
    --accent-soft:rgba(196,154,108,0.16);
    --sage:#6e7b5c;
    --line:rgba(43,43,43,0.12);
    --cream:#f8f5f2;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-size:16px;
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{font-family:'Fraunces', serif;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1100px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--accent);
  }

  /* NAV */
  nav{
    position:sticky;top:0;z-index:50;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border-bottom:1px solid transparent;
    transition:box-shadow .35s ease, background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
  }
  nav.scrolled{
    background:rgba(248,245,242,0.94);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom-color:var(--line);
    box-shadow:0 4px 24px rgba(43,43,43,0.06);
  }
  .nav-inner{
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    height:84px;transition:height .35s ease;column-gap:16px;
  }
  nav.scrolled .nav-inner{height:68px;}

  .nav-left, .nav-right{display:flex;align-items:center;gap:28px;}
  .nav-left{justify-content:flex-start;}
  .nav-right{justify-content:flex-end;gap:18px;}

  .brand{grid-column:2;display:flex;align-items:center;justify-content:center;}
  .logo-stack{position:relative;display:inline-block;height:40px;width:auto;transition:height .35s ease;}
  nav.scrolled .logo-stack{height:32px;}
  .logo-stack .logo-img{position:absolute;top:0;left:0;height:100%;width:auto;display:block;transition:opacity .3s ease;}
  .logo-stack .logo-light{opacity:1;}
  .logo-stack .logo-dark{opacity:0;}
  nav.scrolled .logo-stack .logo-light{opacity:0;}
  nav.scrolled .logo-stack .logo-dark{opacity:1;}
  .logo-img-footer{height:26px;width:auto;display:block;opacity:0.8;}

  .nav-link{
    position:relative;font-size:13.5px;color:var(--cream);opacity:0.85;letter-spacing:0.02em;
    padding-bottom:5px;transition:opacity .25s ease, color .25s ease;white-space:nowrap;
    background:none;border:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px;
  }
  nav.scrolled .nav-link{color:var(--ink);}
  .nav-link::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
    transform:scaleX(0);transform-origin:center;transition:transform .3s ease;
  }
  .nav-link:hover{opacity:1;}
  nav.scrolled .nav-link:hover{color:var(--btn);}
  .nav-link:hover::after{transform:scaleX(1);}
  .nav-link.active{opacity:1;font-weight:600;}
  .nav-link.active::after{transform:scaleX(1);}

  /* Nuestros Cafés dropdown */
  .nav-dropdown{position:relative;}
  .nav-dropdown-trigger .caret{width:9px;height:9px;transition:transform .25s ease;flex-shrink:0;}
  .nav-dropdown:hover .caret, .nav-dropdown.open .caret{transform:rotate(180deg);}
  .nav-dropdown-panel{
    position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
    background:var(--bg-card);border:1px solid var(--line);border-radius:12px;
    box-shadow:0 18px 40px rgba(43,43,43,0.16);padding:8px;min-width:216px;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .25s ease, transform .25s ease, visibility .25s;z-index:60;
  }
  .nav-dropdown:hover .nav-dropdown-panel,
  .nav-dropdown.open .nav-dropdown-panel{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(10px);
  }
  .nav-dropdown-panel a{
    display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;
    font-size:13.5px;color:var(--ink);opacity:1;transition:background .18s ease, color .18s ease;
  }
  .nav-dropdown-panel a::after{content:none;}
  .nav-dropdown-panel a:hover{background:var(--accent-soft);color:var(--btn);}
  .nav-dropdown-panel a.active{background:var(--accent-soft);color:var(--btn);font-weight:600;}
  .nav-dropdown-panel a .check{margin-left:auto;color:var(--sage);opacity:0;font-size:13px;}
  .nav-dropdown-panel a.active .check{opacity:1;}

  .nav-product-only{display:none;}
  nav.in-product .nav-full-only{display:none;}
  nav.in-product .nav-product-only{display:inline-flex;}
  .back-arrow{display:inline-block;transition:transform .2s ease;}
  .nav-link.back-to-home:hover .back-arrow{transform:translateX(-3px);}

  .icon-btn{
    position:relative;display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border:1px solid rgba(248,245,242,0.4);border-radius:50%;background:transparent;
    cursor:pointer;color:var(--cream);transition:border-color .2s, color .2s;flex-shrink:0;
  }
  nav.scrolled .icon-btn{border-color:var(--line);color:var(--ink);}
  .icon-btn:hover{border-color:var(--accent);color:var(--accent);}
  nav.scrolled .icon-btn:hover{color:var(--btn);}
  .cart-badge{
    position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;
    background:var(--accent);color:var(--ink);border-radius:50%;font-size:10px;
    font-family:'IBM Plex Mono',monospace;display:flex;align-items:center;justify-content:center;line-height:1;
  }
  .cart-badge.hidden{display:none;}

  .nav-search{display:flex;align-items:center;}
  .search-input-wrap{max-width:0;overflow:hidden;transition:max-width .35s ease;}
  .search-input-wrap.open{max-width:180px;margin-right:4px;}
  .search-input-wrap input{
    width:176px;border:none;border-bottom:1px solid rgba(248,245,242,0.4);background:transparent;
    font-family:inherit;font-size:13px;padding:6px 2px;color:var(--cream);outline:none;
  }
  nav.scrolled .search-input-wrap input{color:var(--ink);border-bottom-color:var(--line);}
  .search-input-wrap input:focus{border-color:var(--accent);}
  .search-input-wrap input::placeholder{color:rgba(248,245,242,0.6);}
  nav.scrolled .search-input-wrap input::placeholder{color:var(--text-2);}

  .nav-burger{
    display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:40px;height:40px;border:1px solid rgba(248,245,242,0.4);border-radius:50%;background:transparent;cursor:pointer;
  }
  nav.scrolled .nav-burger{border-color:var(--line);}
  .nav-burger span{display:block;width:16px;height:1.4px;background:var(--cream);transition:transform .3s ease, opacity .3s ease, background .3s ease;}
  nav.scrolled .nav-burger span{background:var(--ink);}
  .nav-burger.open span:nth-child(1){transform:translateY(6.4px) rotate(45deg);}
  .nav-burger.open span:nth-child(2){opacity:0;}
  .nav-burger.open span:nth-child(3){transform:translateY(-6.4px) rotate(-45deg);}

  .mobile-menu{
    position:fixed;left:0;right:0;top:84px;background:var(--bg-card);
    max-height:0;overflow:hidden;overflow-y:auto;transition:max-height .4s ease;z-index:45;
    border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(43,43,43,0.08);
  }
  .mobile-menu.open{max-height:calc(100vh - 84px);}
  .mobile-menu-list{list-style:none;padding:8px 28px 26px;}
  .mobile-menu-list > li{border-bottom:1px solid var(--line);}
  .mobile-menu-list a{
    display:flex;align-items:center;gap:8px;padding:16px 2px;font-size:16px;color:var(--ink);letter-spacing:0.01em;
  }
  .mobile-menu-list a.active{font-weight:600;color:var(--btn);}
  .mobile-dropdown-trigger{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    padding:16px 2px;font-size:16px;color:var(--ink);background:none;border:none;font-family:inherit;cursor:pointer;
  }
  .mobile-dropdown-trigger .caret{width:10px;height:10px;transition:transform .3s ease;}
  .mobile-dropdown.open .mobile-dropdown-trigger .caret{transform:rotate(180deg);}
  .mobile-dropdown-panel{
    list-style:none;max-height:0;overflow:hidden;transition:max-height .35s ease;padding-left:14px;
  }
  .mobile-dropdown.open .mobile-dropdown-panel{max-height:220px;}
  .mobile-dropdown-panel li{border-bottom:none;}
  .mobile-dropdown-panel a{padding:12px 2px;font-size:15px;color:var(--text-2);}
  .mobile-dropdown-panel a.active{color:var(--btn);font-weight:600;}
  .mobile-search{padding:18px 28px 4px;}
  .mobile-search input{
    width:100%;border:1px solid var(--line);border-radius:2px;background:transparent;
    font-family:inherit;font-size:14px;padding:11px 14px;color:var(--ink);outline:none;
  }
  .mobile-search input:focus{border-color:var(--accent);}
  body.menu-locked{overflow:hidden;}

  /* HERO */
  .hero{
    position:relative;
    padding:100px 0 80px;
    overflow:hidden;
    background:var(--btn);
    border-bottom:1px solid rgba(248,245,242,0.12);
  }
  .hero-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
  .hero .eyebrow{color:var(--accent);}
  .hero-fact-strip{
    display:flex;gap:0;margin-top:38px;flex-wrap:wrap;
  }
  .hero-fact{padding-right:26px;margin-right:26px;border-right:1px solid rgba(248,245,242,0.2);}
  .hero-fact:last-child{border-right:none;}
  .hero-fact .num{font-family:'IBM Plex Mono',monospace;font-size:22px;color:var(--accent);display:block;}
  .hero-fact .lbl{font-size:12px;color:rgba(248,245,242,0.65);text-transform:uppercase;letter-spacing:0.06em;}
  .hero h1{
    font-size:50px;font-weight:600;line-height:1.14;letter-spacing:-0.01em;
    margin-bottom:20px;color:var(--cream);
  }
  .hero h1 em{font-style:italic;font-weight:500;color:var(--accent);}
  .hero p.lead{font-size:18px;color:rgba(248,245,242,0.8);max-width:440px;margin-bottom:34px;}
  .hero-ctas{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
  .btn-primary{
    background:var(--btn);color:var(--cream);padding:15px 30px;border-radius:2px;
    font-weight:600;font-size:14px;letter-spacing:0.08em;display:inline-flex;align-items:center;gap:10px;
    transition:transform .2s, background .2s;
  }
  .btn-primary:hover{background:var(--btn-hover);transform:translateY(-1px);}
  .hero .btn-primary{background:var(--accent);color:var(--ink);}
  .hero .btn-primary:hover{background:#d8b384;}
  .hero .ig-link{
    border-color:rgba(248,245,242,0.3);color:var(--cream);
  }
  .hero .ig-link:hover{border-color:var(--accent);color:var(--accent);}
  .btn-ghost{
    border:1px solid var(--line);padding:14px 24px;border-radius:2px;font-size:15px;color:var(--ink);
    transition:border-color .2s, color .2s;
  }
  .btn-ghost:hover{border-color:var(--accent);color:var(--btn);}

  .hero-visual{display:flex;align-items:center;justify-content:center;}
  .hero-product-img{
    width:100%;max-width:440px;height:auto;max-height:640px;object-fit:contain;
    filter:drop-shadow(0 30px 40px rgba(0,0,0,0.3));
  }

  /* SECTION generic */
  section{padding:90px 0;}
  .section-light{background:var(--bg-deep);color:var(--ink);}
  .section-head{max-width:600px;margin-bottom:56px;}
  .section-head h2{font-size:38px;font-weight:600;margin-top:10px;letter-spacing:-0.01em;color:var(--ink);}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* ORIGEN */
  .origen-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .origen-art{width:100%;aspect-ratio:4/5;position:relative;}
  .origen-text p{margin-bottom:16px;font-size:16px;color:var(--text-2);max-width:480px;}
  .badge-row{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
  .badge{
    border:1px solid var(--line);padding:8px 14px;border-radius:20px;font-size:12px;color:var(--ink);
    font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;display:flex;align-items:center;gap:6px;
    background:var(--bg-card);
  }
  .badge .dot{width:6px;height:6px;border-radius:50%;background:var(--sage);}

  /* CALIDAD / PROCESO */
  .quality-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;}
  .quality-text p{font-size:15px;line-height:1.7;color:var(--text-2);margin:14px 0;}
  .quality-text h2{font-size:34px;font-weight:600;color:var(--ink);margin-top:10px;letter-spacing:-0.01em;}
  .quality-benefits{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;margin-top:32px;}
  .quality-benefit{display:flex;gap:13px;align-items:flex-start;}
  .qb-icon{
    width:42px;height:42px;border-radius:50%;background:var(--accent-soft);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-size:19px;
  }
  .quality-benefit b{display:block;font-family:'Fraunces',serif;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:4px;}
  .quality-benefit p{font-size:12.5px;color:var(--text-2);line-height:1.5;margin:0;}

  .story-gallery{
    position:relative;overflow:hidden;width:100%;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .story-track{
    display:flex;gap:18px;width:max-content;
    animation:storyScroll 32s linear infinite;
  }
  .story-gallery:hover .story-track{animation-play-state:paused;}
  .story-item{
    position:relative;flex-shrink:0;width:300px;height:400px;border-radius:14px;overflow:hidden;
    box-shadow:0 10px 26px rgba(43,43,43,0.14);background:var(--bg-deep);
  }
  .story-item img{
    width:100%;height:100%;object-fit:cover;object-position:center;display:block;
  }
  .story-item::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(43,43,43,0) 55%, rgba(43,43,43,0.5) 100%),
               linear-gradient(0deg, rgba(196,154,108,0.10), rgba(196,154,108,0.10));
    pointer-events:none;
  }
  @keyframes storyScroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* PRODUCTOS - cupping cards */
  .products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:stretch;}
  .cup-card{
    background:var(--bg-card);border:1px solid var(--line);border-radius:6px;
    padding:26px 26px 24px;position:relative;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, opacity .25s ease;
    box-shadow:0 2px 16px rgba(43,43,43,0.05);
    display:flex;flex-direction:column;height:100%;
  }
  .cup-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 18px 34px rgba(43,43,43,0.1);}

  /* 1. Imagen: mismo ancho y alto fijo (px, no aspect-ratio) para las 3 tarjetas */
  .product-photo-wrap{
    width:100%;height:300px;margin-bottom:22px;border-radius:4px;
    background:radial-gradient(ellipse at center 55%, var(--accent-soft) 0%, rgba(196,154,108,0) 65%);
    display:flex;align-items:center;justify-content:center;padding:10px;flex-shrink:0;
  }
  .product-photo{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(43,43,43,0.22));transition:transform .3s ease;}
  .product-photo-wrap:hover .product-photo{transform:scale(1.03);}

  /* 2/3. Cuerpo: título + detalle técnico alineados, notas con alto mínimo reservado */
  .cup-card-body{flex:0 0 auto;}
  .cup-card h3{font-size:23px;font-weight:600;color:var(--ink);margin-bottom:6px;line-height:1.2;}
  .product-name-link{transition:color .2s ease;}
  .product-name-link:hover{color:var(--btn);}
  .cup-card .format{font-size:12.5px;color:var(--text-2);margin-bottom:20px;min-height:16px;}
  .notes-label{
    font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;
    letter-spacing:0.08em;color:var(--accent);margin-bottom:10px;
  }
  .notes{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:66px;}
  .note-tag{
    font-size:12px;border:1px solid var(--line);padding:6px 13px;border-radius:20px;color:var(--ink);
    background:var(--bg-deep);white-space:nowrap;height:fit-content;
  }

  /* 4. Footer fijado al pie de la tarjeta: precio + selector + botón en la misma línea entre tarjetas */
  .cup-card-actions{margin-top:auto;padding-top:22px;border-top:1px solid var(--line);}
  .price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .price-tag{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--btn);}
  .qty-selector{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--bg-card);}
  .qty-btn{
    width:30px;height:30px;border:none;background:transparent;color:var(--ink);font-size:16px;line-height:1;
    cursor:pointer;font-family:inherit;transition:background .15s, color .15s;
  }
  .qty-btn:hover{background:var(--accent-soft);color:var(--btn);}
  .qty-value{min-width:26px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--ink);}
  .cup-btn{
    display:block;width:100%;text-align:center;background:var(--btn);color:var(--cream);
    padding:13px;border-radius:2px;font-size:14px;font-weight:600;letter-spacing:0.02em;
    transition:background .2s;border:none;cursor:pointer;font-family:inherit;
  }
  .cup-btn:hover{background:var(--btn-hover);}
  .ig-link{
    display:inline-flex;align-items:center;gap:7px;padding:0 16px;height:48px;border:1px solid var(--line);
    border-radius:2px;font-size:13px;color:var(--ink);white-space:nowrap;flex-shrink:0;
    transition:border-color .2s, color .2s;
  }
  .ig-link:hover{border-color:var(--accent);color:var(--btn);}
  .products-footnote{text-align:center;margin-top:44px;font-size:13px;color:var(--text-2);}
  .products-footnote strong{color:var(--ink);font-weight:600;}

  /* ENTREGA */
  .entrega-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .zone-list{list-style:none;}
  .zone-list li{
    display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink);
  }
  .zone-list li span.tag{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--sage);text-transform:uppercase;}
  .delivery-note{
    background:rgba(110,123,92,0.08);border-left:3px solid var(--sage);padding:18px 20px;font-size:14px;margin-top:24px;color:var(--ink);
  }

  /* PROCESO */
  .steps{counter-reset:step;}
  .step{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
  .step:last-child{border-bottom:none;}
  .step-num{
    counter-increment:step;font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--accent);
    width:30px;flex-shrink:0;padding-top:2px;
  }
  .step-num::before{content:"0" counter(step);}
  .step-text b{display:block;font-family:'Fraunces',serif;font-size:17px;font-weight:600;margin-bottom:4px;color:var(--ink);}
  .step-text p{font-size:14px;color:var(--text-2);}

  /* CONTACTO / FOOTER */
  .contact{
    background:var(--btn);text-align:center;padding:100px 0 90px;color:var(--cream);
  }
  .contact .eyebrow{color:var(--accent);}
  .contact h2{font-size:34px;line-height:1.25;margin:0 auto 16px;max-width:680px;color:var(--cream);}
  .contact p{opacity:0.8;max-width:460px;margin:0 auto 34px;}
  .contact .btn-primary{background:var(--accent);color:var(--ink);}
  .contact .btn-primary:hover{background:#d8b384;}
  footer{border-top:1px solid var(--line);padding:34px 0;background:var(--bg);}
  footer .wrap{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-2);flex-wrap:wrap;gap:12px;}
  footer a{color:var(--text-2);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease;}
  footer a:hover{color:var(--btn);}

  /* CARRITO LATERAL */
  .cart-overlay{
    position:fixed;inset:0;background:rgba(43,43,43,0.5);opacity:0;pointer-events:none;
    transition:opacity .3s ease;z-index:90;
  }
  .cart-overlay.active{opacity:1;pointer-events:auto;}
  .cart-drawer{
    position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:var(--bg-card);
    box-shadow:-10px 0 40px rgba(43,43,43,0.18);transform:translateX(100%);
    transition:transform .38s cubic-bezier(.4,0,.2,1);z-index:100;display:flex;flex-direction:column;
  }
  .cart-drawer.active{transform:translateX(0);}
  .cart-header{
    display:flex;align-items:center;justify-content:space-between;padding:24px 26px;
    border-bottom:1px solid var(--line);flex-shrink:0;
  }
  .cart-header h3{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--ink);}
  .cart-close{
    width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;
    cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);
    transition:border-color .2s, color .2s;flex-shrink:0;
  }
  .cart-close:hover{border-color:var(--accent);color:var(--btn);}
  .cart-body{flex:1;overflow-y:auto;padding:6px 26px;}
  .cart-empty{text-align:center;color:var(--text-2);font-size:14px;padding:70px 10px;}
  .cart-empty svg{color:var(--line);margin-bottom:14px;}
  .cart-item{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);}
  .cart-item-photo{
    width:64px;height:80px;object-fit:contain;background:var(--bg-deep);border-radius:4px;
    padding:6px;flex-shrink:0;
  }
  .cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;}
  .cart-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
  .cart-item-name{font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:var(--ink);}
  .cart-item-unit{font-size:12px;color:var(--text-2);margin-top:2px;}
  .cart-item-remove{
    background:none;border:none;color:var(--text-2);font-size:12px;cursor:pointer;
    text-decoration:underline;padding:0;flex-shrink:0;font-family:inherit;
  }
  .cart-item-remove:hover{color:var(--btn);}
  .cart-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;}
  .cart-item-subtotal{font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:var(--btn);}
  .cart-qty{transform:scale(0.92);transform-origin:left center;}
  .cart-footer{border-top:1px solid var(--line);padding:20px 26px 26px;flex-shrink:0;}
  .cart-line{display:flex;justify-content:space-between;font-size:14px;color:var(--ink);margin-bottom:10px;}
  .cart-line.muted{color:var(--text-2);font-size:13px;}
  .cart-line.total{
    font-size:19px;font-weight:600;font-family:'Fraunces',serif;color:var(--ink);
    border-top:1px solid var(--line);padding-top:14px;margin-top:6px;margin-bottom:0;
  }
  .cart-checkout-btn{
    display:block;width:100%;text-align:center;background:var(--btn);color:var(--cream);
    padding:16px;border-radius:2px;font-size:15px;font-weight:600;letter-spacing:0.02em;
    margin-top:18px;border:none;cursor:pointer;font-family:inherit;transition:background .2s;
  }
  .cart-checkout-btn:hover{background:var(--btn-hover);}
  .cart-checkout-btn:disabled{opacity:0.45;cursor:not-allowed;}
  body.cart-locked{overflow:hidden;}

  /* PÁGINAS DE PRODUCTO EMBEBIDAS (pd-) */
  .btn-outline{
    background:transparent;color:var(--btn);padding:14px 29px;border-radius:2px;font-weight:600;
    font-size:14px;letter-spacing:0.03em;display:inline-flex;align-items:center;justify-content:center;
    gap:10px;border:1px solid var(--btn);cursor:pointer;font-family:inherit;transition:background .2s, color .2s;
  }
  .btn-outline:hover{background:var(--btn);color:var(--cream);}

  .pd-hero{padding:80px 0;border-top:1px solid var(--line);}
  .pd-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
  .pd-hero-text{padding-top:28px;}
  #detalle-natural .pd-hero-text,
  #detalle-gourmet .pd-hero-text{padding-top:90px;}
  .pd-hero-visual{display:flex;align-items:center;justify-content:center;}
  .pd-hero-photo{width:100%;max-width:360px;height:auto;max-height:500px;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(43,43,43,0.16));}
  .pd-hero-title{font-size:44px;font-weight:600;letter-spacing:-0.01em;margin:10px 0 14px;color:var(--ink);}
  .pd-hero-sub{font-size:17px;color:var(--text-2);max-width:420px;margin-bottom:28px;line-height:1.55;}
  .pd-price-row{display:flex;align-items:center;gap:20px;margin-bottom:26px;}
  .pd-price{font-family:'Fraunces',serif;font-size:28px;font-weight:600;color:var(--btn);}
  .pd-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .pd-hero-format{font-size:12.5px;color:var(--text-2);margin-top:20px;}

  .pd-split{display:grid;grid-template-columns:0.95fr 1.05fr;gap:60px;align-items:flex-start;}
  .pd-split.reverse{grid-template-columns:1.05fr 0.95fr;}
  .pd-split.reverse .pd-split-img{order:2;}
  .pd-split-img{width:100%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px rgba(43,43,43,0.12);}
  .pd-split-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
  .pd-split-copy p:not(.eyebrow){font-size:15.5px;line-height:1.75;color:var(--text-2);margin-top:16px;}
  .pd-split-copy h2{font-size:30px;font-weight:600;color:var(--ink);margin-top:10px;letter-spacing:-0.01em;}

  .pd-sensory-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:start;}
  .pd-chip-list{display:flex;flex-direction:column;gap:14px;}
  .pd-chip{display:flex;align-items:center;gap:14px;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:16px 20px;font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--ink);box-shadow:0 2px 10px rgba(43,43,43,0.04);}
  .pd-chip-emoji{font-size:22px;line-height:1;}
  .pd-bar-row{margin-bottom:22px;}
  .pd-bar-row:last-child{margin-bottom:0;}
  .pd-bar-top{display:flex;justify-content:space-between;font-size:13px;color:var(--ink);margin-bottom:8px;letter-spacing:0.02em;}
  .pd-bar-top span:last-child{color:var(--text-2);font-family:'IBM Plex Mono',monospace;font-size:11.5px;}
  .pd-bar-track{height:6px;background:var(--bg-deep);border-radius:4px;overflow:hidden;}
  .pd-bar-fill{height:100%;background:linear-gradient(90deg, var(--accent), var(--btn));border-radius:4px;width:0;transition:width 1.1s cubic-bezier(.4,0,.2,1);}

  .pd-spec-card{background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:12px 36px;box-shadow:0 4px 22px rgba(43,43,43,0.05);display:grid;grid-template-columns:1fr 1fr;column-gap:48px;}
  .pd-spec-row{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);gap:14px;}
  .pd-spec-key{font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-2);flex-shrink:0;}
  .pd-spec-val{font-family:'Fraunces',serif;font-size:15.5px;font-weight:600;color:var(--ink);text-align:right;}

  .pd-brew-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
  .pd-brew-card{background:var(--bg-card);border:1px solid var(--line);border-radius:12px;padding:28px 14px;text-align:center;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;position:relative;}
  .pd-brew-card:hover{transform:translateY(-5px);box-shadow:0 14px 26px rgba(43,43,43,0.09);border-color:var(--accent);}
  .pd-brew-icon{font-size:26px;display:block;margin-bottom:10px;}
  .pd-brew-name{font-family:'Fraunces',serif;font-weight:600;font-size:14px;color:var(--ink);}
  .pd-brew-card.recommended{border-color:var(--accent);background:var(--accent-soft);}
  .pd-brew-card.recommended::after{content:"Recomendado";position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--btn);color:var(--cream);font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.04em;padding:3px 8px;border-radius:10px;white-space:nowrap;}

  .pd-final-cta{background:var(--btn);text-align:center;padding:100px 0 90px;}
  .pd-final-cta .eyebrow{color:var(--accent);}
  .pd-final-cta h2{font-family:'Fraunces',serif;font-size:34px;font-weight:600;color:var(--cream);margin:14px auto 34px;max-width:600px;line-height:1.3;}
  .pd-final-cta .btn-primary{background:var(--accent);color:var(--ink);}
  .pd-final-cta .btn-primary:hover{background:#d8b384;}

  /* CIERRE DE PRODUCTO — banner editorial final */
  .pd-close{padding:70px 0 100px;}
  .pd-close-card{
    display:grid;grid-template-columns:0.95fr 1.05fr;align-items:stretch;
    background:var(--bg-deep);border-radius:20px;overflow:hidden;
    box-shadow:0 24px 50px rgba(43,43,43,0.12);border:1px solid var(--line);
    height:440px;
  }
  .pd-close-img{position:relative;overflow:hidden;min-height:0;}
  .pd-close-img img{
    width:100%;height:100%;object-fit:cover;object-position:center;display:block;
    min-height:320px;transition:transform .6s ease;
  }
  .pd-close-card:hover .pd-close-img img{transform:scale(1.04);}
  .pd-close-img-illustration{
    background:#fff;display:flex;align-items:center;justify-content:center;padding:36px;
  }
  .pd-close-img-illustration img{
    width:100%;height:100%;object-fit:contain;min-height:0;
  }
  .pd-close-card:hover .pd-close-img-illustration img{transform:none;}
  .pd-close-copy{
    padding:56px 60px;display:flex;flex-direction:column;justify-content:center;
    background:var(--btn);min-height:0;overflow:hidden;
  }
  .pd-close-copy h2{
    font-size:32px;font-weight:600;color:var(--cream);line-height:1.25;
    letter-spacing:-0.01em;margin-bottom:16px;
  }
  .pd-close-sub{
    font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:17px;
    color:var(--accent);margin-bottom:22px;
  }
  .pd-close-body{font-size:15.5px;line-height:1.85;color:rgba(248,245,242,0.8);max-width:440px;}

  @media (max-width:860px){
    .pd-close-card{grid-template-columns:1fr;height:auto;}
    .pd-close-img{height:260px;}
    .pd-close-img img{min-height:260px;}
    .pd-close-img-illustration{height:240px;}
    .pd-close-copy{padding:36px 28px 44px;}
    .pd-close-copy h2{font-size:26px;}
  }

  /* SECCIÓN NEGOCIOS / B2B */
  #negocios{padding:100px 0 0;border-top:1px solid var(--line);}
  .biz-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:70px;align-items:flex-start;padding-bottom:90px;}
  .biz-copy h2{font-size:36px;font-weight:600;color:var(--ink);margin:12px 0 22px;letter-spacing:-0.01em;line-height:1.25;}
  .biz-copy p:not(.eyebrow){font-size:15.5px;line-height:1.75;color:var(--text-2);margin-bottom:16px;max-width:520px;}
  .biz-visual{position:relative;}
  .biz-img-wrap{width:100%;aspect-ratio:4/5;border-radius:16px;overflow:hidden;box-shadow:0 20px 44px rgba(43,43,43,0.14);}
  .biz-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease;}
  .biz-img-wrap:hover .biz-img{transform:scale(1.045);}
  .biz-benefits-card{
    background:var(--bg-card);border:1px solid var(--line);border-radius:14px;
    padding:30px 32px;box-shadow:0 18px 40px rgba(43,43,43,0.12);
    margin:-70px 28px 0 auto;position:relative;width:78%;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .biz-benefits-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(43,43,43,0.16);}
  .biz-benefits-title{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--ink);margin-bottom:16px;}
  .biz-benefits-list{list-style:none;display:flex;flex-direction:column;gap:13px;}
  .biz-benefits-list li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;color:var(--text-2);line-height:1.5;}
  .biz-benefit-icon{font-size:17px;line-height:1.3;flex-shrink:0;}

  .biz-cta{background:var(--btn);text-align:center;padding:100px 0 90px;}
  .biz-cta .eyebrow{color:var(--accent);}
  .biz-cta h2{font-family:'Fraunces',serif;font-size:36px;font-weight:600;color:var(--cream);margin:14px auto 14px;max-width:600px;line-height:1.3;}
  .biz-cta p{color:rgba(248,245,242,0.8);max-width:460px;margin:0 auto 34px;font-size:15px;}
  .biz-cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .biz-cta .btn-primary{background:var(--accent);color:var(--ink);}
  .biz-cta .btn-primary:hover{background:#d8b384;}
  .btn-outline-light{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:15px 30px;border-radius:2px;font-weight:600;font-size:14px;letter-spacing:0.03em;
    border:1px solid rgba(248,245,242,0.4);color:var(--cream);transition:border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .btn-outline-light:hover{border-color:var(--accent);background:rgba(248,245,242,0.06);transform:translateY(-1px);}

  @media (max-width:860px){
    .hero-grid{grid-template-columns:1fr;gap:38px;}
    .hero-visual{order:-1;}
    .hero-product-img{max-width:320px;}
    .hero h1{font-size:38px;}
    .origen-grid, .entrega-grid{grid-template-columns:1fr;gap:36px;}
    .products-grid{grid-template-columns:1fr;}
    .nav-left, .nav-right .nav-link, .nav-search{display:none;}
    .nav-inner{grid-template-columns:auto 1fr auto;}
    .nav-burger{display:flex;grid-column:1;}
    .nav-right{gap:12px;grid-column:3;justify-content:flex-end;}
    .section-head h2{font-size:30px;}
    .quality-grid{grid-template-columns:1fr;gap:44px;}
    .quality-benefits{grid-template-columns:1fr;}
    .story-item{width:260px;height:340px;}
    .pd-hero-grid{grid-template-columns:1fr;gap:32px;}
    .pd-hero-text{padding-top:0;}
    #detalle-natural .pd-hero-text,
    #detalle-gourmet .pd-hero-text{padding-top:0;}
    .pd-hero-visual{order:-1;}
    .pd-hero-title{font-size:34px;}
    .pd-split, .pd-split.reverse{grid-template-columns:1fr;gap:28px;}
    .pd-split .pd-split-img, .pd-split.reverse .pd-split-img{order:-1;}
    .pd-sensory-grid{grid-template-columns:1fr;gap:36px;}
    .pd-spec-card{grid-template-columns:1fr;padding:8px 28px;}
    .pd-brew-grid{grid-template-columns:repeat(2,1fr);}
    .pd-final-cta h2{font-size:26px;}
    .biz-grid{grid-template-columns:1fr;gap:36px;padding-bottom:70px;}
    .biz-copy h2{font-size:29px;}
    .biz-benefits-card{width:auto;margin:-50px 20px 0 20px;padding:26px 24px;}
    .biz-cta h2{font-size:27px;}
  }
  @media (max-width:480px){
    .cart-drawer{width:100vw;max-width:100vw;}
    .story-item{width:82vw;height:380px;}
    .story-track{gap:12px;}
  }
