/* ============================================================
   Webshop UI kit — De Dochter van de Korenaar
   Modeled on the live site: white content, dark moody photo bands,
   terracotta-orange accent, faint watermark words, script subtitles.
   Tokens from ../../colors_and_type.css
   ============================================================ */
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--web-bg);color:var(--ink-warm);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
a{cursor:pointer;text-decoration:none;color:inherit}
button{font-family:inherit}
img{display:block}
.dvk-app{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}

/* ---------- shared type ---------- */
.dvk-h2{font-family:var(--font-sans);font-weight:700;font-size:31px;line-height:1.12;letter-spacing:-.01em;color:var(--navy-ink);margin:0}
.dvk-h2.light{color:#fff}
.dvk-script-sub{font-family:var(--font-script);font-size:27px;color:var(--wheat);margin:6px 0 0;line-height:1}
.dvk-script-line{font-family:var(--font-script);font-size:30px;color:var(--wheat);margin:22px 0 14px;line-height:1}
.dvk-card-eyebrow{font-family:var(--font-sans);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.dvk-price{font-family:var(--font-sans);font-weight:700;font-size:19px;color:var(--navy-ink)}
.dvk-price-lg{font-size:30px}
.dvk-spec-mono{font-family:var(--font-mono);font-size:12px;color:var(--navy-400)}
section p{font-size:15.5px;line-height:1.68;color:#4a443c;margin:14px 0 0}

/* ---------- photo wells (placeholders for real photography) ---------- */
.dvk-well{position:relative;overflow:hidden;background:linear-gradient(150deg,#241a0e,#100b05 70%);display:flex;align-items:center;justify-content:center}
.dvk-well-tex{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(120% 90% at 70% 10%, rgba(204,108,48,.10), transparent 60%),
    radial-gradient(80% 70% at 20% 90%, rgba(120,90,50,.18), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 2px, transparent 2px 6px);}
.dvk-well-hint{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(230,210,180,.42);font-size:12px;letter-spacing:.04em;font-weight:500}
.dvk-photo-tag{position:absolute;left:14px;bottom:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  font-size:11px;letter-spacing:.03em;color:rgba(235,220,195,.6);background:rgba(0,0,0,.28);padding:5px 10px;border-radius:var(--r-pill);backdrop-filter:blur(2px)}

/* ---------- watermark words ---------- */
.dvk-watermark{position:absolute;font-family:var(--font-black);font-weight:900;text-transform:uppercase;
  font-size:clamp(60px,9vw,140px);line-height:.8;letter-spacing:.01em;color:var(--wheat-soft);opacity:.34;pointer-events:none;white-space:nowrap;z-index:0}
.dvk-wm-right{right:-3%}
.dvk-wm-left{left:-3%}

/* ---------- arrow link ---------- */
.dvk-arrowlink{display:inline-flex;align-items:center;gap:11px;cursor:pointer}
.dvk-arrowlink-txt{font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--orange);transition:color .18s}
.dvk-arrowlink-circ{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--orange);color:var(--orange);transition:all .2s cubic-bezier(.2,.6,.2,1)}
.dvk-arrowlink:hover .dvk-arrowlink-circ{background:var(--orange);color:#fff;transform:translateX(2px)}
.dvk-arrowlink:hover .dvk-arrowlink-txt{color:var(--orange-deep)}
.dvk-arrowlink.light .dvk-arrowlink-txt{color:#fff}
.dvk-arrowlink.light .dvk-arrowlink-circ{border-color:rgba(255,255,255,.55);color:#fff}
.dvk-arrowlink.light:hover .dvk-arrowlink-circ{background:var(--orange);border-color:var(--orange)}

/* ---------- buttons ---------- */
.dvk-btn{font-family:var(--font-sans);font-weight:700;font-size:14px;letter-spacing:.03em;border:1.5px solid transparent;border-radius:var(--r-md);padding:13px 26px;cursor:pointer;transition:all .2s cubic-bezier(.2,.6,.2,1);white-space:nowrap}
.dvk-btn-orange{background:var(--orange);color:#fff}
.dvk-btn-orange:hover{background:var(--orange-deep)}
.dvk-btn-orange:active{transform:scale(.985)}
.dvk-btn-sm{padding:9px 16px;font-size:12px}
.dvk-btn-block{width:100%;display:block}

/* ============================== Top bar ============================== */
.dvk-topbar{background:var(--navy-ink);color:rgba(246,241,231,.8);font-size:12.5px}
.dvk-topbar-in{max-width:1200px;margin:0 auto;padding:9px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dvk-topbar-left{display:flex;align-items:center;gap:22px}
.dvk-topbar-left span{display:inline-flex;align-items:center;gap:6px}
.dvk-topbar-hours{color:rgba(246,241,231,.55)}
.dvk-topbar-right{display:flex;align-items:center;gap:18px}
.dvk-lang{display:flex;gap:2px}
.dvk-lang button{background:none;border:none;color:rgba(246,241,231,.55);font-size:12px;font-weight:600;padding:3px 6px;cursor:pointer;border-radius:3px}
.dvk-lang button.on{color:#fff;background:rgba(255,255,255,.12)}
.dvk-lang button:hover{color:#fff}
.dvk-topbar-login{display:inline-flex;align-items:center;gap:6px;color:rgba(246,241,231,.8)}
.dvk-topbar-login:hover{color:#fff}

/* ============================== Header / nav ============================== */
.dvk-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:10px 40px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #eee7da}
.dvk-logo img{height:58px;width:auto}
.dvk-nav{display:flex;gap:24px;flex:1;justify-content:center}
.dvk-navlink{font-size:14px;font-weight:500;color:var(--navy-ink);padding:6px 0;position:relative;white-space:nowrap}
.dvk-navlink::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.dvk-navlink:hover::after,.dvk-navlink.on::after{transform:scaleX(1)}
.dvk-actions{display:flex;gap:4px;align-items:center}
.dvk-iconbtn{background:none;border:none;color:var(--navy-ink);padding:9px;border-radius:var(--r-md);cursor:pointer;display:inline-flex;transition:background .15s}
.dvk-iconbtn:hover{background:#f3eee2}
.dvk-cart{position:relative}
.dvk-cartcount{position:absolute;top:1px;right:1px;background:var(--orange);color:#fff;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* ============================== Hero ============================== */
.dvk-hero{position:relative;height:640px;color:#fff;overflow:hidden}
.dvk-hero-photo{position:absolute;inset:0;background:linear-gradient(160deg,#2a2012,#0e0a05 75%)}
.dvk-hero-photo .dvk-well-tex{background:
    radial-gradient(120% 80% at 75% 20%, rgba(204,108,48,.16), transparent 55%),
    radial-gradient(90% 80% at 25% 100%, rgba(90,70,40,.4), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 2px, transparent 2px 7px);}
.dvk-hero-overlay{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding-bottom:90px}
.dvk-hero-logo{width:330px;max-width:62vw;filter:drop-shadow(0 4px 24px rgba(0,0,0,.45))}
.dvk-hero-payoff{font-family:var(--font-script);font-size:46px;color:#fff;line-height:1;margin-top:8px;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.dvk-hero-cards{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:36px;display:flex;gap:18px;width:min(720px,90vw)}
.dvk-catcard{flex:1;display:flex;align-items:center;gap:14px;background:rgba(20,14,8,.72);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);
  border-radius:var(--r-md);padding:14px 16px;cursor:pointer;text-align:left;transition:all .2s;color:#fff}
.dvk-catcard:hover{background:rgba(20,14,8,.9);border-color:rgba(204,108,48,.6)}
.dvk-catcard-thumb{flex:0 0 46px;height:56px;border-radius:var(--r-sm);background:linear-gradient(150deg,#2a2012,#100b05);display:flex;align-items:center;justify-content:center;color:rgba(230,210,180,.45)}
.dvk-catcard-txt{flex:1;display:flex;flex-direction:column}
.dvk-catcard-txt strong{font-size:16px;font-weight:700}
.dvk-catcard-txt span{font-size:12.5px;color:rgba(246,241,231,.6);margin-top:2px}
.dvk-catcard-arr{color:var(--orange)}

/* ============================== Story ============================== */
.dvk-story{position:relative;background:var(--web-bg);padding:88px 40px}
.dvk-story-in{position:relative;z-index:1;max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.dvk-story-text{max-width:440px}
.dvk-story-video{height:300px;border-radius:var(--r-md);box-shadow:var(--shadow-md)}
.dvk-playbtn{position:relative;z-index:2;width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy-ink);display:flex;align-items:center;justify-content:center;padding-left:4px}

/* ============================== Beer band (dark) ============================== */
.dvk-beerband{position:relative;background:linear-gradient(180deg,#1c1409,#0d0904);color:#fff;padding:80px 40px;overflow:hidden}
.dvk-beerband .dvk-well-tex{background:
    radial-gradient(80% 60% at 50% 0%, rgba(204,108,48,.1), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.015) 0 2px, transparent 2px 7px);}
.dvk-beerband-in{position:relative;z-index:1;max-width:980px;margin:0 auto;text-align:center}
.dvk-beerband-lead{color:rgba(246,241,231,.78);max-width:680px;margin:16px auto 0;font-size:15px;line-height:1.7}
.dvk-bottles{display:flex;justify-content:center;gap:34px;margin:46px 0 40px;flex-wrap:wrap}
.dvk-bottle{display:flex;flex-direction:column;align-items:center;gap:12px}
.dvk-bottle-well{width:64px;height:188px;border-radius:8px 8px 5px 5px;background:linear-gradient(155deg,#33271a,#15100a);border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(230,210,180,.4)}
.dvk-bottle-name{font-family:var(--font-serif);font-style:italic;font-size:16px;color:rgba(246,241,231,.92)}
.dvk-beerband-in .dvk-arrowlink{margin-top:4px}

/* ============================== Product grid ============================== */
.dvk-shop{max-width:1140px;margin:0 auto;padding:84px 40px 90px;width:100%}
.dvk-shop-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px;flex-wrap:wrap}
.dvk-filters{display:flex;gap:8px;flex-wrap:wrap}
.dvk-chip{font-family:var(--font-sans);font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--r-pill);border:1px solid var(--navy-200);background:none;color:var(--navy);cursor:pointer;transition:all .15s}
.dvk-chip:hover{border-color:var(--navy)}
.dvk-chip.on{background:var(--navy-ink);color:#fff;border-color:var(--navy-ink)}

.dvk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.dvk-card{background:#fff;border:1px solid #ece4d6;border-radius:var(--r-md);overflow:hidden;cursor:pointer;
  transition:transform .22s cubic-bezier(.2,.6,.2,1),box-shadow .22s,border-color .22s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.dvk-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#e0d4be}
.dvk-card-img{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(150deg,#241a0e,#100b05 75%)}
.dvk-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dvk-card-imgtag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:rgba(230,210,180,.4)}
.dvk-card-range{position:absolute;left:14px;bottom:14px;z-index:2;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(20,14,8,.6);padding:5px 11px;border-radius:var(--r-pill);backdrop-filter:blur(2px)}
.dvk-card-award{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--orange);padding:4px 9px;border-radius:var(--r-pill)}
.dvk-card-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.dvk-card-name{font-family:var(--font-sans);font-weight:700;font-size:21px;color:var(--navy-ink);margin:4px 0 0;line-height:1.1}
.dvk-card-style{font-family:var(--font-mono);font-size:13px;color:var(--orange-deep);letter-spacing:.02em}
.dvk-card-blurb{font-size:13.5px;line-height:1.5;color:#4a443c;margin:10px 0 16px;flex:1}
.dvk-card-foot{display:flex;align-items:center;justify-content:space-between}

/* ============================== News ============================== */
.dvk-news{position:relative;background:var(--web-bg-2);padding:84px 40px;overflow:hidden}
.dvk-news-in{position:relative;z-index:1;max-width:1040px;margin:0 auto}
.dvk-news-head{text-align:center;margin-bottom:42px}
.dvk-news-head .dvk-script-sub{margin-top:8px}
.dvk-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dvk-newscard{position:relative;height:340px;border-radius:var(--r-md);overflow:hidden;cursor:pointer;
  background:linear-gradient(180deg,#241a0e,#0d0904);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .22s}
.dvk-newscard:hover{transform:translateY(-4px)}
.dvk-newscard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,9,4,.1) 30%,rgba(13,9,4,.82));z-index:1}
.dvk-newscard-tag{position:absolute;top:16px;left:16px;z-index:3;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--orange);padding:5px 12px;border-radius:var(--r-pill)}
.dvk-newscard-body{position:relative;z-index:2;padding:22px}
.dvk-newscard-date{display:block;font-family:var(--font-mono);font-size:11px;color:var(--wheat-soft);margin-bottom:8px;letter-spacing:.04em}
.dvk-newscard-body h3{font-family:var(--font-sans);font-weight:700;font-size:18px;line-height:1.28;color:#fff;margin:0}
.dvk-news-more{display:flex;justify-content:center;margin-top:40px}

/* ============================== Product detail ============================== */
.dvk-modal-scrim{position:fixed !important;inset:0 !important;z-index:2147483640 !important;background:rgba(13,9,4,.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:30px;animation:dvk-fade .2s ease}
.dvk-modal{position:relative;background:#fff;border-radius:var(--r-md);max-width:900px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg);animation:dvk-pop .24s cubic-bezier(.2,.6,.2,1)}
.dvk-modal-close{position:absolute;top:16px;right:16px;z-index:4;background:rgba(255,255,255,.92);border:none;border-radius:var(--r-md);padding:8px;cursor:pointer;color:var(--navy-ink);display:inline-flex}
.dvk-modal-close:hover{background:#f3eee2}
.dvk-detail{display:grid;grid-template-columns:42% 58%}
.dvk-detail-img{position:relative;min-height:360px;background:linear-gradient(150deg,#241a0e,#100b05 75%)}
.dvk-detail-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dvk-detail-img .dvk-card-award{top:16px;right:16px}
.dvk-detail-info{padding:36px 38px;display:flex;flex-direction:column}
.dvk-detail-title{font-family:var(--font-sans);font-weight:700;font-size:32px;color:var(--navy-ink);margin:8px 0 0;line-height:1.08}
.dvk-detail-style{font-size:14px;color:var(--navy-400);margin-top:5px}
.dvk-detail-specs{display:flex;gap:8px;margin:16px 0 0}
.dvk-detail-specs span{font-family:var(--font-mono);font-size:12px;border:1px solid var(--navy-200);padding:5px 11px;border-radius:var(--r-sm);color:var(--navy-ink)}
.dvk-detail-blurb{font-size:15px;line-height:1.6;color:#3A352E;margin:16px 0 0}
.dvk-detail-notes{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 0}
.dvk-note{font-weight:600;font-size:12px;color:var(--navy);background:var(--navy-100);padding:6px 13px;border-radius:var(--r-pill)}
.dvk-pairing{display:flex;align-items:flex-start;gap:9px;margin:20px 0;padding:14px 16px;background:var(--web-bg-2);border-radius:var(--r-md);font-size:13.5px;line-height:1.5;color:var(--navy-ink)}
.dvk-pairing strong{font-weight:700}
.dvk-detail-buy{display:flex;align-items:baseline;justify-content:space-between;margin:auto 0 14px}
.dvk-stock{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--navy-ink);margin-top:14px}
.dvk-stock-dot{width:8px;height:8px;border-radius:50%;background:var(--orange)}

/* ============================== Cart drawer ============================== */
.dvk-scrim{position:fixed !important;inset:0 !important;z-index:2147483640 !important;background:rgba(13,9,4,.5);opacity:0;pointer-events:none;transition:opacity .25s}
.dvk-scrim.on{opacity:1;pointer-events:auto}
.dvk-drawer{position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;z-index:2147483645 !important;width:420px;max-width:92vw;background:#fff;box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.6,.2,1);display:flex;flex-direction:column}
.dvk-drawer.on{transform:translateX(0)}
.dvk-drawer-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}
.dvk-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #eee7da;flex:0 0 auto}
.dvk-drawer-head h3{font-family:var(--font-sans);font-weight:700;font-size:21px;color:var(--navy-ink);margin:0}
.dvk-drawer-head span{color:var(--navy-400);font-weight:500;font-size:15px}
.dvk-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--navy-400);text-align:center;padding:40px}
.dvk-empty p{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--navy-ink);margin:10px 0 0}
.dvk-empty span{font-size:13px}
.dvk-ship-bar{padding:14px 24px;background:var(--web-bg-2);font-size:13px;color:var(--navy-ink);flex:0 0 auto}
.dvk-ship-bar strong{color:var(--orange-deep)}
.dvk-ship-track{height:5px;border-radius:999px;background:#e9e1d2;margin-top:9px;overflow:hidden}
.dvk-ship-fill{height:100%;background:var(--orange);border-radius:999px;transition:width .3s}
.dvk-lines{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 24px}
.dvk-line{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #eee7da}
.dvk-line-thumb{flex:0 0 52px;height:68px;border-radius:var(--r-sm);background:linear-gradient(150deg,#241a0e,#100b05);display:flex;align-items:center;justify-content:center;color:rgba(230,210,180,.42)}
.dvk-line-mid{flex:1}
.dvk-line-name{font-weight:700;font-size:15px;color:var(--navy-ink)}
.dvk-line-style{font-size:12px;color:var(--navy-400);margin:2px 0 10px}
.dvk-qty{display:inline-flex;align-items:center;border:1px solid var(--navy-200);border-radius:var(--r-md);overflow:hidden}
.dvk-qty button{background:none;border:none;padding:6px 10px;cursor:pointer;color:var(--navy-ink);display:inline-flex}
.dvk-qty button:hover{background:var(--navy-100)}
.dvk-qty span{min-width:30px;text-align:center;font-size:14px;font-weight:600;color:var(--navy-ink)}
.dvk-line-right{text-align:right;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}
.dvk-line-price{font-weight:700;font-size:15px;color:var(--navy-ink)}
.dvk-line-rm{background:none;border:none;font-size:12px;color:var(--navy-400);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}
.dvk-line-rm:hover{color:var(--orange-deep)}
.dvk-drawer-foot{padding:20px 24px;border-top:1px solid #eee7da;flex:0 0 auto}
.dvk-subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.dvk-subtotal span{font-size:14px;color:var(--navy-400)}
.dvk-subtotal strong{font-weight:700;font-size:22px;color:var(--navy-ink)}
.dvk-foot-note{text-align:center;font-size:11.5px;color:var(--navy-400);margin-top:10px}

/* ============================== Footer ============================== */
.dvk-footer{background:var(--navy-ink);color:rgba(246,241,231,.72);margin-top:auto;padding:60px 40px 26px}
.dvk-footer-top{display:flex;justify-content:space-between;gap:50px;max-width:1140px;margin:0 auto;flex-wrap:wrap}
.dvk-footer-brand img{width:190px}
.dvk-footer-payoff{font-family:var(--font-script);font-size:30px;color:var(--wheat-soft);margin-top:14px}
.dvk-footer-cols{display:flex;gap:56px;flex-wrap:wrap}
.dvk-footer-cols h4{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.dvk-footer-cols a{display:block;font-size:13.5px;color:rgba(246,241,231,.72);margin-bottom:9px;transition:color .15s}
.dvk-footer-cols a:hover{color:#fff}
.dvk-footer-socials{max-width:1140px;margin:44px auto 0;padding-top:26px;border-top:1px solid rgba(246,241,231,.14);display:flex;gap:10px}
.dvk-social{width:38px;height:38px;border-radius:50%;border:1px solid rgba(246,241,231,.25);display:flex;align-items:center;justify-content:center;color:rgba(246,241,231,.8);transition:all .18s}
.dvk-social:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.dvk-footer-legal{max-width:1140px;margin:24px auto 0;display:flex;justify-content:space-between;font-size:12px;color:rgba(246,241,231,.45);flex-wrap:wrap;gap:8px}

/* ============================== Toast ============================== */
.dvk-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:90;background:var(--navy-ink);color:#fff;font-size:14px;font-weight:500;padding:13px 20px;border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:9px;animation:dvk-toastin .25s cubic-bezier(.2,.6,.2,1)}
.dvk-toast :first-child{color:var(--orange-soft)}

@keyframes dvk-fade{from{opacity:0}to{opacity:1}}
@keyframes dvk-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes dvk-toastin{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* ============================== Responsive ============================== */
@media (max-width:980px){
  .dvk-nav{display:none}
  .dvk-topbar-hours{display:none}
  .dvk-story-in{grid-template-columns:1fr;gap:32px}
  .dvk-grid,.dvk-news-grid{grid-template-columns:repeat(2,1fr)}
  .dvk-detail{grid-template-columns:1fr}
  .dvk-detail-img{min-height:280px}
}
@media (max-width:600px){
  .dvk-grid,.dvk-news-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .dvk-card-body{padding:12px 14px 14px}
  .dvk-card-name{font-size:16px}
  .dvk-card-blurb{font-size:12.5px}
  .dvk-price{font-size:16px}
  .dvk-btn-sm{font-size:12px;padding:8px 14px}
  .dvk-steps{grid-template-columns:1fr !important;gap:20px !important;padding:24px 20px !important}
  .dvk-card-foot{flex-direction:column;align-items:stretch !important;gap:8px}
  .dvk-card-foot .dvk-price{font-size:17px}
  .dvk-card-foot .dvk-btn-sm{text-align:center}
}

/* ============================================================
   Thema-hardening
   Sommige thema's (zoals Porto) stylen algemene elementen
   (span, p, a, koppen) en overschrijven daarmee de opmaak van
   de pop-up en het mandje. Hieronder forceren we de juiste,
   goed leesbare opmaak met expliciete kleuren en fonts.
   ============================================================ */
.dvk-app .dvk-modal,
.dvk-app .dvk-modal *,
.dvk-app .dvk-drawer,
.dvk-app .dvk-drawer *{box-sizing:border-box}

.dvk-app .dvk-modal a,
.dvk-app .dvk-drawer a{text-decoration:none}

/* Productdetail (pop-up) */
.dvk-app .dvk-detail-info{font-family:var(--font-serif)}
.dvk-app .dvk-detail .dvk-card-eyebrow{color:var(--orange-deep) !important;font-family:var(--font-mono) !important}
.dvk-app .dvk-detail-title{font-family:var(--font-sans) !important;font-weight:700 !important;color:var(--navy-ink) !important}
.dvk-app .dvk-detail-style{color:var(--navy-400) !important;font-family:var(--font-serif) !important}
.dvk-app .dvk-detail-blurb{color:#3A352E !important;font-family:var(--font-serif) !important}
.dvk-app .dvk-detail-specs span{font-family:var(--font-mono) !important;color:var(--navy-ink) !important;background:#fff !important;border:1px solid var(--navy-200) !important}
.dvk-app .dvk-note{font-family:var(--font-sans) !important;font-weight:700 !important;color:#0E2647 !important;background:var(--navy-100) !important;border:0 !important;box-shadow:none !important;text-shadow:none !important}
.dvk-app .dvk-pairing{color:var(--navy-ink) !important;background:var(--paper-2) !important;font-family:var(--font-serif) !important}
.dvk-app .dvk-pairing strong{color:var(--navy-ink) !important;font-weight:700 !important}
.dvk-app .dvk-stock{color:var(--ink-warm) !important;font-family:var(--font-serif) !important}
.dvk-app .dvk-modal .dvk-price{color:var(--navy-ink) !important;font-family:var(--font-sans) !important;font-weight:700 !important}

/* Mandje (drawer) */
.dvk-app .dvk-drawer-head h3,
.dvk-app .dvk-line-name,
.dvk-app .dvk-subtotal strong,
.dvk-app .dvk-line-price{color:var(--navy-ink) !important}
.dvk-app .dvk-line-style{color:var(--navy-400) !important}
.dvk-app .dvk-drawer p,
.dvk-app .dvk-drawer span{text-shadow:none !important}

/* ============================================================
   Proeverijpakketten-sectie met achtergrondafbeelding
   ============================================================ */
.dvk-packs-section{position:relative;padding:88px 40px;overflow:hidden}
.dvk-packs-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.dvk-packs-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(170deg,rgba(14,38,71,.88) 0%,rgba(14,38,71,.75) 50%,rgba(14,38,71,.85) 100%)}

/* ============================================================
   Zwevende winkelwagenknop (FAB)
   Verschijnt rechtsonder zodra er artikelen in het mandje zitten.
   ============================================================ */
.dvk-fab{
  position:fixed;bottom:28px;right:28px;z-index:9990;
  display:none;align-items:center;gap:10px;
  background:var(--navy-ink);color:#fff;border:none;border-radius:var(--r-pill);
  padding:14px 22px 14px 18px;cursor:pointer;
  box-shadow:0 6px 28px rgba(14,38,71,.35),0 2px 8px rgba(0,0,0,.18);
  font-family:var(--font-sans);font-size:14px;font-weight:600;
  transition:transform .18s ease,box-shadow .18s ease;
}
.dvk-fab:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(14,38,71,.45),0 3px 10px rgba(0,0,0,.22)}
.dvk-fab.on{display:inline-flex}
.dvk-fab svg{flex:0 0 20px}
.dvk-fab-badge{
  min-width:22px;height:22px;padding:0 6px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--orange);color:#fff;border-radius:999px;
  font-size:11px;font-weight:700;line-height:1;
}
