/*
Theme Name: Bonpraline
Theme URI: https://bonpraline.nl
Author: Bonpraline
Description: Bonpraline webshop thema - Ambachtelijke bonbons
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;1,400&family=Lato:wght@200;300;400&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--deep:#5c4f3a;--pine:#6b5c45;--fern:#7d6e58;--sage:#a89070;--moss:#c4b090;--cream:#f5e8d8;--parch:#ede0cc;--ivory:#fdf8f2;--gold:#a89070}
html{scroll-behavior:smooth}
body{font-family:Lato,sans-serif;background:var(--cream);color:var(--deep);overflow-x:hidden}
nav{position:fixed;top:0;width:100%;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:.5rem 5%;background:rgba(75,62,44,.97);border-bottom:1px solid rgba(168,144,112,.2)}
.logo-img{display:flex;align-items:center;text-decoration:none}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);text-decoration:none;opacity:1;transition:opacity .2s}
.nav-links a:hover{color:var(--moss)}
.cart-btn{background:none;border:1px solid rgba(168,144,112,.5);color:var(--moss);padding:.5rem 1.1rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s;position:relative}
.cart-btn:hover{background:var(--sage);color:var(--ivory)}
.badge{position:absolute;top:-.4rem;right:-.4rem;background:var(--gold);color:#fff;border-radius:50%;width:1.1rem;height:1.1rem;font-size:.58rem;display:none;align-items:center;justify-content:center}.badge.on{display:flex}
.hero{min-height:100vh;display:flex;align-items:center;padding:7rem 5% 4rem;position:relative;overflow:hidden;background-size:cover;background-position:center}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(55,44,28,.82) 35%,rgba(55,44,28,.32) 100%)}
.hero-text{position:relative;z-index:2;max-width:520px}
.kicker{font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:#d4c4a8;margin-bottom:1.2rem}
.hero-text h1{font-family:"Playfair Display",serif;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:400;line-height:1.1;color:#fdf8f2}
.hero-text h1 em{font-style:italic;color:var(--moss)}
.hero-text p{margin-top:1.2rem;font-size:.88rem;font-weight:200;line-height:2;color:#f0e2cc;max-width:380px}
.hero-btns{margin-top:2.5rem;display:flex;gap:1rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.8rem 2rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .3s}
.btn-fill{background:var(--sage);color:var(--ivory)}.btn-fill:hover{background:var(--moss)}
.btn-ghost{border:1px solid rgba(253,248,242,.3);color:var(--cream)}.btn-ghost:hover{border-color:var(--moss);color:var(--moss)}
.ticker{background:var(--pine);overflow:hidden;display:flex;padding:.6rem 0}
.ticker-inner{display:flex;white-space:nowrap;animation:tick 22s linear infinite;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream);opacity:.85}
.ticker-inner span{padding:0 2.5rem}.ticker-inner span::before{content:"\2726";margin-right:2.5rem;opacity:.6}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
section{padding:5.5rem 5%}
.lbl{font-size:.6rem;letter-spacing:.4em;text-transform:uppercase;color:var(--sage);margin-bottom:.7rem}
.ttl{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:400;line-height:1.15}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.filters{display:flex;gap:.4rem;flex-wrap:wrap}
.fbtn{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem 1rem;border:1px solid rgba(92,79,58,.2);background:none;cursor:pointer;transition:all .3s;color:var(--fern)}
.fbtn.on,.fbtn:hover{background:var(--deep);color:var(--cream);border-color:var(--deep)}
#producten{background:var(--parch)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:1.6rem}
.card{background:var(--ivory);transition:transform .3s,box-shadow .3s}.card.hidden{display:none}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 50px rgba(92,79,58,.13)}
.card-img{height:270px;overflow:hidden;position:relative;background:var(--pine);display:flex;align-items:center;justify-content:center}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.card:hover .card-img img{transform:scale(1.06)}
.pill{position:absolute;top:.8rem;left:.8rem;background:var(--sage);color:var(--ivory);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:.25rem .7rem}
.card-body{padding:1.3rem}
.card-name{font-family:"Playfair Display",serif;font-size:1.15rem;margin-bottom:.3rem;color:var(--deep)}
.card-desc{font-size:.78rem;font-weight:200;color:var(--fern);line-height:1.7;margin-bottom:1rem}
.card-foot{display:flex;align-items:center;justify-content:space-between}
.price{font-family:"Playfair Display",serif;font-size:1.25rem;color:var(--sage)}.price small{font-family:Lato,sans-serif;font-size:.65rem;font-weight:200;color:var(--fern)}
.atc{background:var(--deep);color:var(--cream);border:none;padding:.5rem 1rem;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:all .3s}.atc:hover{background:var(--sage)}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:800;opacity:0;pointer-events:none;transition:opacity .3s}.overlay.on{opacity:1;pointer-events:all}
.panel{position:fixed;top:0;right:0;height:100vh;width:min(420px,95vw);background:var(--ivory);z-index:900;transform:translateX(100%);transition:transform .4s;display:flex;flex-direction:column}.panel.on{transform:translateX(0)}
.panel-head{display:flex;justify-content:space-between;align-items:center;padding:1.6rem 1.8rem;border-bottom:1px solid var(--parch)}
.panel-head h3{font-family:"Playfair Display",serif;font-size:1.2rem;color:var(--deep)}
.close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--fern)}
.panel-items{flex:1;overflow-y:auto;padding:1.2rem 1.8rem}
.empty-msg{text-align:center;padding:3rem 1rem;color:var(--fern);font-size:.83rem;line-height:2}
.ci{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--parch);align-items:flex-start}
.ci-img{width:64px;height:64px;overflow:hidden;flex-shrink:0;background:var(--deep);display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.ci-img img{width:100%;height:100%;object-fit:cover;display:block}
.ci-name{font-family:"Playfair Display",serif;font-size:.9rem;margin-bottom:.2rem;color:var(--deep)}
.ci-price{font-size:.75rem;color:var(--sage)}
.ci-qty{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}
.qb{background:var(--parch);border:none;width:1.5rem;height:1.5rem;cursor:pointer;font-size:.8rem;color:var(--deep)}
.qv{font-size:.82rem;min-width:1.3rem;text-align:center}
.ci-del{background:none;border:none;color:var(--fern);cursor:pointer;font-size:.7rem;margin-left:auto;opacity:.6}
.panel-foot{padding:1.4rem 1.8rem;border-top:1px solid var(--parch)}
.total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.total-row span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fern)}
.total-row strong{font-family:"Playfair Display",serif;font-size:1.35rem;color:var(--sage)}
.btn-full{width:100%;display:block;text-align:center}
#over-ons{background:#7a6a52;color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.story-vis{position:relative;aspect-ratio:1}
.sc1{position:absolute;top:0;left:0;width:70%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.sc1 img,.sc2 img{width:100%;height:100%;object-fit:cover;display:block}
.sc2{position:absolute;bottom:0;right:0;width:46%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid rgba(168,144,112,.3)}
.sring{position:absolute;top:-3%;left:-3%;width:78%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(168,144,112,.2);animation:spin 24s linear infinite;pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
.story-body .ttl{color:#fdf8f2;margin-bottom:1.2rem}
.story-body p{font-size:.86rem;font-weight:200;line-height:2;color:#f5e8d8;margin-bottom:.9rem}
.stats{display:flex;gap:2rem;margin-top:2rem;padding-top:1.8rem;border-top:1px solid rgba(168,144,112,.25)}
.stat-n{font-family:"Playfair Display",serif;font-size:2rem;color:var(--moss);display:block}
.stat-l{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#d4c4a8}
#cadeaubon{background:var(--parch)}
.gift-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.gift-amounts{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0 1.8rem}
.gchip{padding:.5rem 1.3rem;border:1px solid rgba(92,79,58,.2);font-size:.75rem;background:none;color:var(--pine);cursor:pointer;transition:all .3s}
.gchip.on,.gchip:hover{background:var(--deep);color:var(--cream);border-color:var(--deep)}
.gcard{background:#6b5c45;padding:2.2rem;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 16px 50px rgba(92,79,58,.3);position:relative;overflow:hidden}
.gc-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;object-fit:contain;opacity:.2;pointer-events:none}
.gc-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;justify-content:space-between}
.gc-top{font-family:"Playfair Display",serif;font-size:1.3rem;font-style:italic;color:var(--moss)}
.gc-sub{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#c8b89a;margin-top:.3rem}
.gc-amt{font-family:"Playfair Display",serif;font-size:3.2rem;color:var(--cream);text-align:right}
.gc-tag{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#c8b89a}
#bestellen{background:var(--ivory)}
.order-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start}
.fg{margin-bottom:1.3rem}
.fg label{display:block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fern);margin-bottom:.45rem}
.fc{width:100%;padding:.8rem .9rem;background:var(--cream);border:1px solid rgba(92,79,58,.15);font-family:Lato,sans-serif;font-size:.86rem;font-weight:200;color:var(--deep);outline:none;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.fc:focus{border-color:var(--sage)}.fc::placeholder{color:rgba(125,110,88,.4)}
textarea.fc{resize:vertical;min-height:90px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.summary-box{background:var(--parch);padding:1.8rem;position:sticky;top:6rem}
.summary-box h4{font-family:"Playfair Display",serif;font-size:1.05rem;margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:1px solid rgba(92,79,58,.1);color:var(--deep)}
.si{display:flex;justify-content:space-between;font-size:.8rem;font-weight:200;margin-bottom:.6rem;color:var(--fern)}
.stotal{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(92,79,58,.1)}
.stotal span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fern)}
.stotal strong{font-family:"Playfair Display",serif;font-size:1.4rem;color:var(--sage)}
footer{background:#5c4f3a;color:var(--cream);padding:3.5rem 5% 1.8rem}
.fg-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.fb p{font-size:.78rem;font-weight:200;line-height:1.9;color:#e8d5b8;margin-top:.7rem;max-width:260px}
.fc-col h5{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#d4c4a8;margin-bottom:1rem}
.fc-col ul{list-style:none}.fc-col li{margin-bottom:.55rem}
.fc-col a{font-size:.8rem;font-weight:200;color:#d4c4a8;text-decoration:none;transition:color .2s}.fc-col a:hover{color:var(--moss)}
.fbot{padding-top:1.8rem;border-top:1px solid rgba(168,144,112,.15);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem}
.fbot p{font-size:.68rem;font-weight:200;color:#c0aa88}
.toast{position:fixed;bottom:1.8rem;left:50%;transform:translateX(-50%) translateY(70px);background:var(--pine);color:var(--cream);padding:.75rem 1.6rem;font-size:.78rem;z-index:9999;transition:transform .35s;box-shadow:0 6px 24px rgba(0,0,0,.3);pointer-events:none;white-space:nowrap}
.toast.on{transform:translateX(-50%) translateY(0)}
.success{display:none;text-align:center;padding:2.5rem 1rem}.success.on{display:block}
.success h3{font-family:"Playfair Display",serif;font-size:1.5rem;margin:.8rem 0;color:var(--deep)}
.success p{font-size:.85rem;font-weight:200;color:var(--fern);line-height:2}
@media(max-width:900px){nav{padding:.6rem 4%}.nav-links{display:none}#over-ons{grid-template-columns:1fr}.story-vis{width:75%;margin:0 auto}.gift-grid,.order-grid{grid-template-columns:1fr}.fg-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){section{padding:4rem 5%}.hero{padding:6rem 5% 3.5rem}.fg-grid{grid-template-columns:1fr}.fr{grid-template-columns:1fr}}
