/* 10 ELEVEN – sales features. Uses the theme's colour tokens with fallbacks. */
.no-scroll{overflow:hidden}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Drawer */
.drawer-bg{position:fixed;inset:0;background:rgba(15,53,35,.35);opacity:0;transition:opacity .2s;z-index:2147483000}
.drawer-bg.open{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--ivory,#F4F1EC);z-index:2147483001;padding:18px 20px 24px;overflow-y:auto;transform:translateX(100%);transition:transform .22s ease;box-shadow:-12px 0 40px rgba(0,0,0,.12);outline:0}
.drawer.open{transform:none}
.dr-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dr-title{margin:0;font:600 1.25rem/1.2 var(--serif,Georgia,serif);color:var(--green-d,#0f3523)}
.dr-title span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--green,#174B32);color:#fff;font:700 .85rem/1 var(--sans,sans-serif);margin-right:6px;vertical-align:2px}
.dr-x{border:0;background:var(--tile,#ECE6DA);width:40px;height:40px;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink,#202820)}
.dr-sub{margin:18px 0 6px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--orange-d,#9a3a12)}
.dr-foot{display:grid;gap:8px;margin-top:18px}
.dr-foot .btn{width:100%;justify-content:center;text-align:center}
.dr-link{border:0;background:none;color:var(--green,#174B32);text-decoration:underline;cursor:pointer;min-height:40px;font:inherit}

/* Mini product rows */
.minis{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mini{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--tile,#ECE6DA);border-radius:14px;padding:8px 10px}
.mini-im img{width:56px;height:56px;object-fit:contain;mix-blend-mode:multiply;display:block}
.mini-bd{display:grid;gap:2px;font-size:.9rem;line-height:1.3}
.mini-bd a{color:var(--ink,#202820);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mini-bd a:hover{text-decoration:underline}
.mini-bd b{color:var(--green-d,#0f3523)}
.mini-add{width:40px;height:40px;border-radius:50%;border:0;background:var(--green,#174B32);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}
.mini-add:hover{background:var(--green-d,#0f3523)}
.mini-add:disabled{opacity:.6}

/* Free-shipping bar */
.freeship{background:var(--tile,#ECE6DA);border-radius:14px;padding:12px 14px;margin:14px 0}
.freeship p{margin:0 0 8px;font-size:.92rem}
.fs-track{display:block;height:8px;border-radius:99px;background:var(--tile-2,#E4DCCC);overflow:hidden}
.fs-track span{display:block;height:100%;border-radius:99px;background:var(--orange,#B94717);transition:width .3s}
.freeship.done .fs-track span{background:var(--green,#174B32)}

/* Komplett-Set */
.kset{background:var(--tile,#ECE6DA);border-radius:var(--r,22px);padding:16px 18px;margin:18px 0}
.kset h2{font-size:1.15rem;margin:0 0 2px}
.kset-sub{margin:0 0 10px;font-size:.9rem;color:var(--muted,#5d665d)}
.kset ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.kset label{display:grid;grid-template-columns:22px 44px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fbfaf7;border-radius:12px;padding:6px 10px;cursor:pointer;font-size:.9rem;line-height:1.3}
.kset input{width:20px;height:20px;accent-color:var(--green,#174B32)}
.kset img{width:44px;height:44px;object-fit:contain;mix-blend-mode:multiply}
.kset small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-d,#9a3a12);font-weight:700}
.kset label b{white-space:nowrap;text-align:right;font-size:.88rem}
.kset label b del{display:block;font-weight:400;font-size:.8em;color:var(--muted,#5d665d)}
.kset-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.kset-foot .btn{flex:1 1 220px;justify-content:center}

/* Cart */
.tier-hint{margin:4px 0 0;font-size:.82rem;color:var(--orange-d,#9a3a12)}
.cart-sug{margin:24px 0}
.cart-sug h2{font-size:1.2rem}
@media(min-width:900px){.cart-sug .minis{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Checkout extra */
.bump{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;border:2px dashed var(--orange,#B94717);border-radius:14px;padding:10px 12px;margin:0 0 16px;background:#fbfaf7}
.bump img{width:56px;height:56px;object-fit:contain;mix-blend-mode:multiply}
.bump label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.92rem}
.bump input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--green,#174B32)}

/* Exit popup */
dialog.exit{border:0;border-radius:var(--r,22px);padding:24px 22px;width:min(460px,calc(100% - 32px));background:var(--ivory,#F4F1EC);color:var(--ink,#202820);box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:calc(100dvh - 32px);overflow:auto}
dialog.exit::backdrop{background:rgba(15,53,35,.45)}
dialog.exit .dr-x{position:absolute;top:12px;right:12px}
dialog.exit h2{font-size:1.4rem;margin:0 0 6px;padding-right:44px}
dialog.exit .eyebrow{margin:0 0 4px}
.exit-usp{margin:10px 0;padding-left:1.1em;font-size:.92rem;display:grid;gap:4px}
.optin{border-top:1px solid var(--line,#DDE2DA);margin-top:14px;padding-top:14px;display:grid;gap:8px}
.optin-t{margin:0;font-weight:600}
.optin input[type=email]{min-height:46px;border:1px solid var(--line,#DDE2DA);border-radius:12px;padding:0 12px;font:inherit;background:#fff}
.optin-c,.optin-co label{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;line-height:1.4;color:var(--muted,#5d665d)}
.optin-c input,.optin-co input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--green,#174B32)}
.optin-msg{margin:0;font-size:.85rem}
.optin-msg.ok{color:var(--green,#174B32)}
.optin-msg.err{color:#a1260d}
.muted{color:var(--muted,#5d665d);font-size:.85rem;margin:6px 0}
@media (prefers-reduced-motion:reduce){.drawer,.drawer-bg,.fs-track span{transition:none}}

/* Add a whole product group at once */
.add-all{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;background:var(--tile,#ECE6DA);border-radius:14px;padding:12px 14px;margin:-8px 0 26px;max-width:none}
.add-all span{font-size:.95rem}
.add-all .btn{flex:0 1 auto}
@media(max-width:599px){.add-all .btn{flex:1 1 100%;justify-content:center}}
