
/* ===== HALF WAY COFFEE BEANS SHOP ===== */
body[data-page="beans"]{background:radial-gradient(circle at 85% 5%,rgba(200,169,104,.12),transparent 26rem),var(--paper);padding-bottom:82px}
.beans-hero{margin:0 clamp(10px,2vw,24px);border-radius:28px;overflow:hidden;min-height:calc(100svh - 108px);display:grid;grid-template-columns:1fr .9fr;background:var(--green);color:#fff;box-shadow:0 28px 80px rgba(7,47,39,.2)}
.beans-hero-copy{padding:clamp(34px,6vw,86px);display:flex;flex-direction:column;justify-content:center}
.beans-hero h1{font:clamp(65px,8.5vw,132px)/.84 var(--serif);margin:18px 0 24px;letter-spacing:-.045em}
.beans-hero h1 em{color:var(--gold-2)}
.beans-hero-copy>p{max-width:620px;font-size:clamp(16px,1.5vw,21px);line-height:1.55;color:rgba(255,255,255,.68)}
.beans-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.beans-hero-actions .btn{min-height:52px}
.location-status{display:grid;grid-template-columns:10px 1fr;column-gap:10px;align-items:center;margin-top:22px;max-width:440px}
.location-status>span{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#9a6b3c}
.location-status b{font:700 11px var(--sans);letter-spacing:.08em}
.location-status small{font-size:10px;color:rgba(255,255,255,.5);margin-top:4px}
.location-status.ready>span{background:#a6d1a1;box-shadow:0 0 0 5px rgba(166,209,161,.1)}
.location-status.loading>span{animation:locpulse 1s infinite}
.location-status.error>span{background:#d18b78}
@keyframes locpulse{50%{opacity:.25;transform:scale(1.7)}}
.beans-hero-image{position:relative;min-height:560px}
.beans-hero-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
.beans-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,47,39,.22),transparent 45%)}
.origin-stamp{position:absolute;right:24px;bottom:24px;z-index:2;padding:15px 17px;border:1px solid rgba(226,207,157,.65);border-radius:12px;background:rgba(5,35,29,.72);font:700 10px/1.45 var(--sans);letter-spacing:.18em;color:var(--gold-2);backdrop-filter:blur(10px)}
.origin-stamp small{font-size:7px;color:#fff}
.beans-shop{padding-bottom:42px}
.bean-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}
.bean-card{display:grid;grid-template-columns:.72fr 1fr;min-height:350px;border:1px solid rgba(15,77,62,.12);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 50px rgba(13,54,44,.055)}
.bean-card-image{position:relative;min-height:100%}
.bean-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.bean-card-image>span{position:absolute;top:15px;left:15px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgba(7,47,39,.82);color:var(--gold-2);font:700 10px var(--sans)}
.bean-card-copy{padding:24px;display:flex;flex-direction:column;justify-content:center}
.bean-card-copy h3{font:clamp(30px,3vw,44px)/.95 var(--serif);color:var(--green);margin:10px 0}
.bean-card-copy p{font-size:13px;color:#75807b;line-height:1.5;margin:0 0 20px}
.size-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}
.size-picker label{display:grid;grid-template-columns:1fr auto;gap:4px;padding:10px 11px;border:1px solid rgba(15,77,62,.12);border-radius:11px;cursor:pointer;font-size:11px}
.size-picker input{position:absolute;opacity:0}
.size-picker label:has(input:checked){background:var(--green);color:#fff;border-color:var(--green)}
.size-picker b{font-size:10px}
.add-bean{min-height:46px;border:0;border-radius:11px;background:var(--gold);color:var(--green);font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s}
.add-bean:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(200,169,104,.25)}
.bean-how{padding-top:42px}
.bean-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bean-how-grid article{padding:22px;border-top:1px solid rgba(15,77,62,.18)}
.bean-how-grid article>span{font:700 10px var(--sans);color:var(--gold);letter-spacing:.15em}
.bean-how-grid h3{font:27px/1 var(--serif);margin:28px 0 10px;color:var(--green)}
.bean-how-grid p{margin:0;color:#707d77;font-size:12px;line-height:1.5}
.bean-cart-shade{position:fixed;inset:0;background:rgba(3,25,20,.52);z-index:90;opacity:0;pointer-events:none;transition:.25s}
.bean-cart-shade.open{opacity:1;pointer-events:auto}
.bean-cart{position:fixed;z-index:91;top:0;right:0;width:min(520px,100vw);height:100svh;background:#fbfaf6;color:var(--green);transform:translateX(102%);transition:.35s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 70px rgba(0,0,0,.18);display:flex;flex-direction:column}
.bean-cart.open{transform:none}
.bean-cart-head{padding:24px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(15,77,62,.1)}
.bean-cart-head h2{font:38px/.95 var(--serif);margin:7px 0 0}
.bean-cart-head button{border:1px solid rgba(15,77,62,.14);background:transparent;border-radius:11px;width:42px;height:42px;font-size:27px;color:var(--green);cursor:pointer}
.bean-cart-items{flex:1;overflow:auto;padding:18px 24px}
.cart-bean-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(15,77,62,.1)}
.cart-bean-row b{display:block;font:700 13px var(--sans)}
.cart-bean-row small{display:block;margin-top:4px;color:#7a8580;font-size:10px}
.cart-bean-row>strong{font:17px var(--serif);white-space:nowrap}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:28px;height:28px;border:1px solid rgba(15,77,62,.15);background:#fff;border-radius:8px;color:var(--green);cursor:pointer}
.qty b{font:11px var(--sans)}
.empty-bean-cart{min-height:280px;display:flex;flex-direction:column;justify-content:center}
.empty-bean-cart>span{font:38px var(--serif);color:var(--gold)}
.empty-bean-cart h3{font:30px/.95 var(--serif);margin:15px 0 8px}
.empty-bean-cart p{font-size:12px;color:#76827d}
.bean-cart-total{padding:18px 24px;border-top:1px solid rgba(15,77,62,.1);display:flex;justify-content:space-between;align-items:center}
.bean-cart-total span{font:700 10px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.bean-cart-total strong{font:25px var(--serif)}
.bean-checkout{padding:20px 24px 24px;background:#f1efe7;border-top:1px solid rgba(15,77,62,.1);max-height:55svh;overflow:auto}
.checkout-title{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.checkout-title>span{width:30px;height:30px;border-radius:9px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 9px var(--sans)}
.checkout-title small{display:block;font:700 8px var(--sans);letter-spacing:.14em;color:var(--gold)}
.checkout-title b{display:block;margin-top:4px;font:19px var(--serif)}
.bean-checkout label{display:block;margin:9px 0}
.bean-checkout label>span{display:block;font:700 9px var(--sans);letter-spacing:.1em;margin-bottom:5px;color:#697770}
.bean-checkout input{width:100%;height:44px;border:1px solid rgba(15,77,62,.13);border-radius:10px;background:#fff;padding:0 12px;outline:none}
.checkout-location{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px;margin-top:12px;border:1px solid rgba(15,77,62,.11);border-radius:11px;background:#fff}
.checkout-location b{display:block;font:700 10px var(--sans)}
.checkout-location small{display:block;margin-top:4px;font-size:9px;color:#7a8580}
.checkout-location button{border:0;background:var(--green);color:#fff;border-radius:9px;min-height:38px;padding:0 12px;font:700 9px var(--sans);white-space:nowrap;cursor:pointer}
.whatsapp-order{width:100%;min-height:52px;margin-top:12px;border:0;border-radius:11px;background:var(--gold);color:var(--green);display:flex;justify-content:center;align-items:center;gap:10px;cursor:pointer}
.whatsapp-order span{font-size:20px}.whatsapp-order b{font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.checkout-note{margin:10px 0 0;text-align:center;color:#7b8580;font-size:9px;line-height:1.5}
/* Coffee Beans page: navigation is in the top-right hamburger; no bottom nav. */
.mobile-bean-nav{display:none!important}

/* ===== COFFEE BEAN PACKAGE DETAILS ===== */
.package-prices button:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
.package-prices b{display:block;font:700 11px var(--sans);letter-spacing:.06em}
.package-prices strong{display:block;margin-top:6px;font:24px var(--serif)}
.package-prices small{font:700 8px var(--sans);letter-spacing:.08em}
@media(max-width:900px){}
@media(max-width:520px){
       .package-prices strong{font-size:21px}
 }

.checkout-step{transition:.2s}
.checkout-step.locked{opacity:.45}
.checkout-step.locked:after{content:"Select a product first";display:block;margin-top:6px;font:700 8px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#9a6b3c}
.checkout-step:not(.locked):after{display:none}
.bean-checkout input:disabled{background:#e8e6df;cursor:not-allowed}
.checkout-location button:disabled,.whatsapp-order:disabled{opacity:.4;cursor:not-allowed;transform:none}

/* ===== BEANS CUSTOMER CHECKOUT SECTION ===== */
.bean-customer-section{padding-top:42px}
.customer-panel{margin-top:28px;padding:28px;border:1px solid rgba(15,77,62,.14);border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(13,54,44,.055)}
.customer-panel-status{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid rgba(15,77,62,.1)}
.customer-panel-status>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:#fff;font:700 10px var(--sans)}
.customer-panel-status b{font:700 12px var(--sans);letter-spacing:.07em}
.customer-panel-status small{color:#7b8580;font-size:10px}
.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.customer-fields label>span{display:block;font:700 9px var(--sans);letter-spacing:.12em;color:#66746e;margin-bottom:7px}
.customer-fields input{width:100%;height:52px;border:1px solid rgba(15,77,62,.14);border-radius:11px;padding:0 14px;background:#fbfaf6;color:var(--green);outline:none;font:14px var(--sans)}
.customer-fields input:disabled{background:#ebe9e1;cursor:not-allowed}
.customer-location{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:15px;border:1px solid rgba(15,77,62,.11);border-radius:12px;background:#f5f3ec}
.customer-location>div{display:flex;align-items:center;gap:11px}
.location-dot{width:11px;height:11px;border-radius:50%;background:#a16f49;flex:0 0 auto}
.location-dot.ready{background:#4e9365;box-shadow:0 0 0 5px rgba(78,147,101,.1)}
.customer-location b{display:block;font:700 11px var(--sans)}
.customer-location small{display:block;margin-top:4px;color:#7a8580;font-size:9px;line-height:1.4}
.customer-location button{border:0;border-radius:10px;padding:0 15px;height:42px;background:var(--green);color:#fff;font:700 9px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.customer-location button:disabled,.customer-whatsapp:disabled{opacity:.4;cursor:not-allowed}
.customer-ready{display:none;align-items:center;gap:9px;margin-top:12px;padding:11px 13px;border-radius:10px;background:rgba(78,147,101,.07);color:var(--green)}
.customer-ready.show{display:flex}
.customer-ready>span{width:21px;height:21px;border-radius:50%;background:#4e9365;color:#fff;display:grid;place-items:center;font-size:11px}
.customer-ready b{font:700 10px var(--sans)}
.customer-ready small{font-size:9px;color:#748079}
.customer-whatsapp{width:100%;height:54px;margin-top:13px;border:0;border-radius:11px;background:var(--gold);color:var(--green);font:800 10px var(--sans);letter-spacing:.1em;cursor:pointer}
.customer-note{text-align:center;margin:10px 0 0;color:#7b8580;font-size:9px;line-height:1.5}
@media(max-width:600px){
 .customer-panel{padding:18px}
 .customer-fields{grid-template-columns:1fr}
 .customer-location{flex-direction:column;align-items:flex-start}
 .customer-location button{width:100%}
 .customer-ready{flex-wrap:wrap}
 .customer-ready small{width:100%;margin-left:30px}
}


/* ===== FINAL BEAN CHECKOUT POLISH ===== */
.checkout-hidden{display:none}
.checkout-hidden.checkout-visible{display:block}
.cart-flow-note{margin:0 0 14px;color:#68756f;font-size:10px;line-height:1.55}
.continue-checkout{width:100%;min-height:48px;border:0;border-radius:11px;background:var(--green);color:#fff;font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.continue-checkout:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){.bean-cart{width:100vw}.bean-cart-head{padding-top:calc(18px + env(safe-area-inset-top))}.bean-checkout{max-height:none}.cart-flow-note{font-size:10px}}

/* =========================================================
   COFFEE BEANS — RESPONSIVE / PRODUCTION POLISH
   ========================================================= */
body[data-page="beans"]{
  overflow-x:hidden;
  padding-bottom:0;
  min-width:0;
}
body[data-page="beans"] main{min-width:0}
body[data-page="beans"] img{max-width:100%}
body[data-page="beans"] button,
body[data-page="beans"] input{font:inherit}
body[data-page="beans"] button{-webkit-tap-highlight-color:transparent}

.beans-hero{
  width:min(1500px,calc(100% - 20px));
  margin-inline:auto;
  min-height:min(760px,calc(100dvh - 108px));
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
}
.beans-hero-copy{min-width:0}
.beans-hero-image{min-width:0}
.beans-hero-image img{min-width:0}

.bean-packages,
.beans-shop,
.bean-customer-section,
.bean-how{width:min(1500px,100%);margin-inline:auto}
.bean-package-card,.bean-card,.customer-panel{min-width:0}
.bean-card{grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}
.bean-card-copy{min-width:0}
.bean-card-copy h3,.bean-card-copy p{overflow-wrap:anywhere}
.size-picker label{min-width:0}
.size-picker label span,.size-picker label b{min-width:0}

.customer-panel{overflow:hidden}
.customer-fields label{min-width:0}
.customer-fields input{box-sizing:border-box;min-width:0}
.customer-location{min-width:0}
.customer-location>div{min-width:0}
.customer-location>div>div{min-width:0}
.customer-location small{overflow-wrap:anywhere}
.customer-whatsapp{min-height:54px}

.bean-cart{width:min(520px,100vw);height:100dvh;max-height:100dvh}
.bean-cart-items{min-height:0;overscroll-behavior:contain}
.bean-checkout{flex:0 0 auto;max-height:min(46dvh,430px);overflow:auto;overscroll-behavior:contain;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
.bean-cart-head{padding-top:calc(18px + env(safe-area-inset-top));min-height:78px;box-sizing:border-box}
.bean-cart-total{padding-bottom:14px}
.cart-bean-row{grid-template-columns:minmax(0,1fr) auto auto}
.cart-bean-row>div:first-child{min-width:0}
.cart-bean-row b,.cart-bean-row small{overflow-wrap:anywhere}

@media (max-width:1100px){
  body[data-page="beans"] .desktop-nav{display:none}
  body[data-page="beans"] .header-action.locations{display:none}
  body[data-page="beans"] .site-header{padding-inline:10px}
  .beans-hero{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
  .beans-hero h1{font-size:clamp(58px,7.5vw,96px)}
    .bean-grid{grid-template-columns:1fr}
}

@media (max-width:780px){
  body[data-page="beans"] .site-header{top:8px;margin:0 10px;width:auto}
  body[data-page="beans"] main{padding-top:82px}
  body[data-page="beans"] .brand{width:104px;height:42px}
  body[data-page="beans"] .header-actions{gap:5px}
  body[data-page="beans"] .header-action,
  body[data-page="beans"] .menu-toggle{min-width:40px;height:40px;padding-inline:9px}
  body[data-page="beans"] .beans-cart-button{width:42px;padding:0}
  body[data-page="beans"] .beans-cart-button span{display:none}

  .beans-hero{
    width:calc(100% - 20px);
    min-height:0;
    display:flex;
    flex-direction:column;
    border-radius:24px;
  }
  .beans-hero-copy{padding:34px 22px 30px;min-height:0}
  .beans-hero h1{font-size:clamp(52px,15vw,82px);line-height:.86;margin:14px 0 18px}
  .beans-hero-copy>p{font-size:16px;line-height:1.55}
  .beans-hero-actions{margin-top:20px}
  .beans-hero-actions .btn{width:100%;min-height:50px}
  .beans-hero-image{min-height:48svh;max-height:520px;aspect-ratio:1/1}
  .origin-stamp{right:14px;bottom:14px;padding:12px 13px}

  .bean-packages,.beans-shop,.bean-customer-section,.bean-how{width:100%}
                .package-prices strong{font-size:20px}
  
  .bean-grid{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .bean-card{grid-template-columns:1fr;border-radius:18px;min-height:0}
  .bean-card-image{height:auto;aspect-ratio:16/10;min-height:0}
  .bean-card-copy{padding:18px}
  .bean-card-copy h3{font-size:32px}
  .bean-card-copy p{font-size:12px;margin-bottom:16px}
  .size-picker{gap:7px}
  .size-picker label{min-height:52px;box-sizing:border-box;padding:9px}
  .add-bean{min-height:50px}

  .bean-customer-section{padding-top:34px}
  .customer-panel{padding:18px;border-radius:18px;margin-top:20px}
  .customer-panel-status{align-items:flex-start;gap:10px;padding-bottom:16px}
  .customer-panel-status>span{flex:0 0 34px}
  .customer-panel-status b,.customer-panel-status small{line-height:1.4}
  .customer-panel-status small{display:block;margin-top:2px}
  .customer-fields{grid-template-columns:1fr;gap:10px;margin-top:17px}
  .customer-fields input{height:50px;font-size:16px}
  .customer-location{flex-direction:column;align-items:stretch;gap:12px;padding:13px}
  .customer-location>div{align-items:flex-start}
  .customer-location button{width:100%;height:46px;min-height:46px}
  .customer-ready{align-items:flex-start}
  .customer-ready small{width:auto;margin-left:0;flex:1;line-height:1.45}
  .customer-whatsapp{height:auto;min-height:56px;padding:10px 14px;line-height:1.2}
  .customer-note{font-size:9px;line-height:1.6}

  .bean-how-grid{grid-template-columns:1fr 1fr;gap:8px}
  .bean-how-grid article{padding:17px 13px;min-height:0}
  .bean-how-grid h3{font-size:24px;margin:20px 0 8px}

  .bean-cart{width:100vw;border-radius:0}
  .bean-cart-head{padding-inline:16px;min-height:72px}
  .bean-cart-head h2{font-size:32px}
  .bean-cart-items{padding:12px 16px}
  .cart-bean-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 0}
  .cart-bean-row>strong{grid-column:2;grid-row:1;font-size:16px}
  .qty{grid-column:1/-1;justify-self:start}
  .qty button{width:42px;height:42px}
  .qty b{min-width:30px;text-align:center}
  .bean-cart-total{padding:14px 16px}
  .bean-checkout{max-height:none;padding:16px 16px calc(18px + env(safe-area-inset-bottom))}
  .checkout-title b{font-size:18px}
  .continue-checkout{min-height:52px}
}

@media (max-width:480px){
  body[data-page="beans"] .site-header{margin-inline:7px}
  body[data-page="beans"] .brand{width:94px}
  body[data-page="beans"] .header-action,
  body[data-page="beans"] .menu-toggle{min-width:38px;height:38px;padding-inline:7px}
  .beans-hero{width:calc(100% - 14px);border-radius:20px}
  .beans-hero-copy{padding:30px 17px 25px}
  .beans-hero h1{font-size:clamp(48px,15vw,70px)}
  .beans-hero-image{min-height:42svh}
  .origin-stamp{font-size:9px}
            .package-prices b{font-size:10px}
  .package-prices strong{font-size:19px}
  .customer-panel{padding:15px}
  .customer-location{padding:12px}
  .bean-how-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:360px){
  body[data-page="beans"] .brand{width:86px}
  body[data-page="beans"] .header-actions{gap:3px}
  body[data-page="beans"] .header-action,
  body[data-page="beans"] .menu-toggle{min-width:36px;width:36px;padding:0}
          .package-prices strong{font-size:17px}
  .bean-card-copy{padding:15px}
  .bean-card-copy h3{font-size:28px}
}

@media (min-width:781px) and (max-width:1100px){
  .beans-hero{margin-inline:14px;width:calc(100% - 28px)}
  .beans-hero-copy{padding:48px 40px}
  .beans-hero-image{min-height:560px}
}

@media (prefers-reduced-motion:reduce){
  body[data-page="beans"] *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
