/* Gedeeld door alle pagina's: kleuren, menu (bovenbalk + zijmenu) en de onderkant van de site */
:root{
  --bg:#FBF6EE; --paper:#F4EADF; --ink:#3A2A20; --muted:#7A685C;
  --wine:#4D1A1D; --wine-soft:#6B2A2E; --rose:#CFA7A2; --blush:#EBD3CE; --sage:#868B68;
  --line:#E2D4C4; --on-wine:#FBF6EE;
  --display:"Times New Roman",Times,"Liberation Serif",serif;
  --script:"Pinyon Script","Snell Roundhand",cursive;
  --body:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --page:1240px;
  color-scheme:light;
}

/* Bovenbalk */
.sh{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
.sh.scrolled{border-bottom-color:var(--line)}
.sh-in{max-width:var(--page);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(16px,env(safe-area-inset-left,0px))}
.sh-logo{display:flex;align-items:center;flex:none}
.sh-logo img{height:38px;width:auto;display:block}
.sh-links{display:flex;align-items:center;gap:26px}
.sh-links a{font-family:var(--body);font-size:15px;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.sh-links a:hover,.sh-links a[aria-current="page"]{color:var(--wine);border-bottom-color:var(--rose)}
.sh-right{display:flex;align-items:center;gap:12px}
.sh-cta{font:inherit;font-family:var(--body);font-size:14px;font-weight:400;letter-spacing:.06em;border-radius:99px;padding:9px 18px;cursor:pointer;border:1px solid var(--wine);background:var(--wine);color:var(--on-wine);text-decoration:none;white-space:nowrap}
.sh-menu{font:inherit;font-family:var(--body);font-size:14px;letter-spacing:.06em;display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);border-radius:99px;padding:8px 14px;color:var(--wine);cursor:pointer}
.sh-menu span{display:block;width:16px;height:1px;background:var(--wine);box-shadow:0 -5px 0 var(--wine),0 5px 0 var(--wine)}
@media (max-width:900px){.sh-links{display:none}.sh-logo img{height:32px}}
@media (max-width:420px){.sh-cta{display:none}}

/* Zijmenu */
.drawer{position:fixed;inset:0;z-index:50;visibility:hidden}
.drawer.open{visibility:visible}
.drawer .scrim{position:absolute;inset:0;background:color-mix(in srgb,var(--wine) 35%,transparent);opacity:0;transition:opacity .25s}
.drawer.open .scrim{opacity:1}
.drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(380px,88vw);background:var(--bg);padding:22px 26px 28px;display:flex;flex-direction:column;gap:22px;transform:translateX(100%);transition:transform .3s ease;overflow:auto;box-shadow:-20px 0 60px rgba(77,26,29,.12)}
.drawer.open .panel{transform:none}
.drawer .ptop{display:flex;justify-content:space-between;align-items:center}
.drawer .ptop img{height:44px;width:auto}
.drawer .close{font:inherit;font-family:var(--body);background:none;border:1px solid var(--line);border-radius:99px;padding:7px 14px;color:var(--wine);cursor:pointer}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{font-family:var(--display);font-size:28px;line-height:1.1;color:var(--wine);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.drawer nav a small{font-family:var(--body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.drawer nav a:hover{padding-left:6px;transition:padding .2s}
.drawer .ptag{font-family:var(--script);font-size:30px;color:var(--wine);line-height:1.1;margin-top:auto}
.drawer .psoc{display:flex;gap:10px}

/* Sociale knoppen */
.soc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--wine);transition:background .2s,color .2s,border-color .2s}
.soc:hover{background:var(--wine);color:var(--on-wine);border-color:var(--wine)}
.soc svg{width:18px;height:18px}

/* Onderkant */
.sf{position:relative;background:var(--paper);margin-top:128px;font-family:var(--body);font-weight:300;color:var(--ink)}
.sf::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:56px;background:url("/img/lace-edge.png") repeat-x top center/auto 56px;transform:scaleY(-1);pointer-events:none}.sf-in{max-width:var(--page);margin:0 auto;padding:56px max(16px,env(safe-area-inset-left,0px)) 28px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.sf-brand{display:flex;flex-direction:column;gap:14px}
.sf-brand img{width:150px;height:auto}
.sf-brand .tag{font-family:var(--script);font-size:28px;color:var(--wine);line-height:1.1}
.sf h4{font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);margin:0 0 12px}
.sf ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sf a{color:var(--ink);text-decoration:none}
.sf a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.sf-soc{display:flex;gap:10px;margin-top:6px}
.sf-bottom{max-width:var(--page);margin:0 auto;padding:18px max(16px,env(safe-area-inset-left,0px)) 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.sf-legal{position:relative}
.sf-legal summary{cursor:pointer;list-style:none;color:var(--muted)}
.sf-legal summary::-webkit-details-marker{display:none}
.sf-legal summary::after{content:"+";margin-left:8px;color:var(--wine)}
.sf-legal[open] summary::after{content:"–"}
.sf-legal ul{position:absolute;bottom:calc(100% + 10px);right:0;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 16px;min-width:230px;box-shadow:0 14px 40px rgba(77,26,29,.1);gap:6px;font-size:15px}
.sf-legal li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--sage);margin-right:10px;vertical-align:middle}
@media (max-width:760px){.sf-in{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/-1}.sf-legal ul{right:auto;left:0}}

@media (prefers-reduced-motion: reduce){.drawer .panel,.drawer .scrim{transition:none}}
