/* CO Koffie bestel-sectie: melanges kiezen, koop of maandabonnement, live
   besteloverzicht. Volledig gescoped onder .cosh. Geen globale resets, Montserrat. */
.cosh{
  --bg:#FDFAF4; --card:#FFFFFF; --ink:#2C1B0E; --soft:#8C7660;
  --espresso:#231509; --cream:#F4EADB; --gold:#CDA255; --gold-deep:#B07F33;
  --line:rgba(44,27,14,.12); --head:'Montserrat',system-ui,sans-serif;
  font-family:'Montserrat',system-ui,sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased; background:var(--bg);
}
.cosh *{box-sizing:border-box;}
.cosh__wrap{max-width:1200px; margin:0 auto; padding:clamp(56px,8vw,96px) clamp(20px,5vw,48px);}

.cosh__head{text-align:center; max-width:680px; margin:0 auto clamp(34px,5vw,52px);}
.cosh__eyebrow{display:inline-block; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--gold-deep); margin-bottom:12px;}
.cosh__title{font-family:var(--head); font-weight:900; color:var(--espresso); line-height:1.08; letter-spacing:-.02em; font-size:clamp(1.8rem,3.6vw,2.8rem); margin:0 0 14px;}
.cosh__lead{font-size:1rem; line-height:1.6; color:var(--soft); margin:0 0 26px;}

/* Toggle koop/abonnement */
.cosh__toggle{display:inline-flex; gap:5px; padding:5px; border-radius:99px; background:#fff; border:1px solid var(--line); box-shadow:0 10px 28px -20px rgba(44,27,14,.5);}
.cosh__tgl{position:relative; cursor:pointer; border:0; background:transparent; font-family:inherit; font-weight:700; font-size:.92rem; color:var(--soft);
  padding:11px 22px; border-radius:99px; display:inline-flex; align-items:center; gap:8px; transition:color .25s, background .25s;}
.cosh__tgl.is-active{color:#241608; background:linear-gradient(120deg,#EFD3A0,#CDA255);}
.cosh__save{font-size:.7rem; font-weight:700; padding:3px 8px; border-radius:99px; background:rgba(35,21,9,.16); color:inherit;}
.cosh__tgl.is-active .cosh__save{background:rgba(35,21,9,.22);}

/* Grid */
.cosh__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(18px,2.2vw,26px);}
.cosh__card{background:#fff; border:1px solid var(--line); border-radius:22px; overflow:hidden; display:flex; flex-direction:column;
  transition:transform .3s, box-shadow .3s, border-color .3s;}
.cosh__card.is-picked{border-color:rgba(205,162,85,.6); box-shadow:0 30px 56px -34px rgba(44,27,14,.5);}
.cosh__media{display:grid; place-items:center; background:transparent; padding:18px 18px 0;}
.cosh__media img{height:auto; width:auto; max-height:190px; object-fit:contain; filter:drop-shadow(0 16px 22px rgba(0,0,0,.3));}
.cosh__body{padding:22px 22px 26px; display:flex; flex-direction:column; gap:10px; flex:1;}
.cosh__strength{display:flex; gap:5px;}
.cosh__strength i{width:8px; height:8px; border-radius:50%; background:var(--gold-deep);}
.cosh__strength i.off{background:rgba(176,124,60,.25);}
.cosh__name{font-family:var(--head); font-weight:700; font-size:1.22rem; color:var(--espresso); margin:0;}
.cosh__desc{font-size:.9rem; line-height:1.55; color:var(--soft); margin:0;}
.cosh__priceline{display:flex; align-items:baseline; gap:6px; margin-top:auto;}
.cosh__price{font-family:var(--head); font-weight:900; font-size:1.5rem; color:var(--espresso); font-variant-numeric:tabular-nums;}
.cosh__unit{font-size:.82rem; color:var(--soft);}

/* Aantal */
.cosh__qty{display:flex; align-items:center; gap:0; margin-top:6px; border:1.5px solid var(--line); border-radius:99px; overflow:hidden; width:fit-content;}
.cosh__qtybtn{cursor:pointer; border:0; background:#FDFBF7; width:42px; height:42px; font-size:1.3rem; line-height:1; color:var(--espresso); transition:background .2s; -webkit-tap-highlight-color:transparent;}
.cosh__qtybtn:hover{background:rgba(205,162,85,.16);}
.cosh__qtyval{min-width:46px; text-align:center; font-weight:700; font-variant-numeric:tabular-nums;}

/* Besteloverzicht */
.cosh__summary{margin:clamp(28px,4vw,44px) auto 0; max-width:560px; background:#fff; border:1px solid var(--line); border-radius:22px;
  padding:clamp(22px,3vw,30px); box-shadow:0 36px 80px -42px rgba(44,27,14,.55);}
.cosh__sumhead{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.cosh__sumhead h3{font-family:var(--head); font-weight:900; font-size:1.2rem; color:var(--espresso); margin:0;}
.cosh__summode{font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep); background:rgba(205,162,85,.12); border:1px solid rgba(205,162,85,.3); padding:5px 12px; border-radius:99px;}
.cosh__sumlist{list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:10px;}
.cosh__sumlist li{display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:.94rem; padding-bottom:10px; border-bottom:1px solid var(--line);}
.cosh__sumlist li:last-child{border-bottom:0; padding-bottom:0;}
.cosh__sumlist .q{color:var(--soft); font-size:.86rem;}
.cosh__sumlist b{font-variant-numeric:tabular-nums;}
.cosh__sumtotal{display:flex; align-items:baseline; justify-content:space-between; padding-top:14px; border-top:2px solid var(--line); margin-bottom:18px;}
.cosh__sumtotal span{font-weight:600;}
.cosh__sumtotal small{display:block; font-weight:500; font-size:.76rem; color:var(--soft);}
.cosh__sumtotal b{font-family:var(--head); font-weight:900; font-size:1.7rem; color:var(--espresso); font-variant-numeric:tabular-nums;}
.cosh__checkout{cursor:pointer; border:0; width:100%; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 24px; border-radius:99px; font-family:inherit; font-weight:700; font-size:1rem; color:#241608;
  background:linear-gradient(120deg,#EFD3A0,#CDA255); box-shadow:0 16px 34px -16px rgba(205,162,85,.7); transition:transform .2s, box-shadow .3s, opacity .2s;}
.cosh__checkout i{font-style:normal; transition:transform .3s;}
.cosh__checkout:hover:not(:disabled){transform:translateY(-1px);}
.cosh__checkout:hover:not(:disabled) i{transform:translateX(4px);}
.cosh__checkout:disabled{opacity:.5; cursor:not-allowed;}
.cosh__secure{display:flex; align-items:center; justify-content:center; gap:7px; margin:14px 0 0; font-size:.78rem; color:var(--soft);}
.cosh__secure svg{color:var(--gold-deep); flex:0 0 auto;}
.cosh__err{margin:12px 0 0; padding:11px 14px; border-radius:12px; background:rgba(190,60,40,.08); border:1px solid rgba(190,60,40,.3); color:#9a2f1e; font-size:.85rem; text-align:center;}

@media(max-width:880px){.cosh__grid{grid-template-columns:1fr; max-width:420px; margin-inline:auto;}}
@media(prefers-reduced-motion:reduce){.cosh__card,.cosh__checkout,.cosh__checkout i,.cosh__tgl{transition:none;}}
