/*
Theme Name: Uncle Shed's Crest Cookies 2026
Theme URI: https://crest-cookies.com/
Author: Crest Cookies
Description: Conversiegericht thema voor cookieboxen, cadeaubonnen, relatiegeschenken en foodtruck-events.
Version: 3.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: crest-cookies
*/
:root {
  --koekjesbruin: #C68B59;
  --sage: #8A9A86;
  --cream: #F9F6F0;
  --chocolate: #4A3728;
  --paper: #fffdf8;
  --line: #dfd1c1;
  --shadow: 0 18px 48px rgba(74,55,40,.14);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--chocolate); background: var(--cream); font-family: "DM Sans", Arial, sans-serif; line-height: 1.55; }
.skip-link { position:absolute; left:-999px; }
.skip-link:focus { z-index:99; top:12px; left:12px; padding:8px; background:#fff; }
.announcement { padding:9px; color:var(--cream); background:var(--chocolate); font-size:.78rem; font-weight:600; letter-spacing:.07em; text-align:center; text-transform:uppercase; }
.announcement span { color:var(--koekjesbruin); padding:0 8px; }
.site-header { max-width:1200px; margin:auto; padding:14px 32px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.brand { color:inherit; text-decoration:none; display:flex; align-items:center; gap:11px; line-height:1; }
.brand img { display:block; width:180px; height:62px; object-fit:contain; }
nav { display:flex; align-items:center; gap:22px; }
nav a { color:var(--chocolate); font-size:.9rem; font-weight:700; text-decoration:none; }
.nav-cta { padding:10px 17px; border-radius:999px; color:var(--cream); background:var(--chocolate); }
.header-actions { display:flex; align-items:center; gap:14px; }
.language-switch { display:flex; align-items:center; gap:5px; color:#8c7463; font-size:.76rem; font-weight:800; letter-spacing:.06em; }
.language-switch a { padding:5px 3px; color:#8c7463; text-decoration:none; }
.language-switch a.is-active { color:var(--chocolate); text-decoration:underline; text-decoration-color:var(--koekjesbruin); text-decoration-thickness:2px; text-underline-offset:4px; }
.nav-toggle { display:none; padding:8px 13px; border:1px solid var(--chocolate); border-radius:999px; color:var(--chocolate); background:transparent; font:inherit; }
.hero { max-width:1200px; margin:0 auto; padding:38px 32px 48px; display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:38px; }
.eyebrow { margin:0 0 12px; color:#9a633e; font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { font-family:Fraunces, Georgia, serif; }
.hero h1, .section h2, .notice h1 { margin:0 0 18px; font-size:clamp(2.45rem,5vw,4.8rem); line-height:.98; letter-spacing:-.055em; }
.lead { max-width:560px; font-size:1.08rem; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:14px; padding:14px 20px; border:0; border-radius:999px; font:700 .9rem "DM Sans", Arial, sans-serif; text-decoration:none; cursor:pointer; }
.button-primary { color:var(--cream); background:var(--chocolate); box-shadow:0 5px 0 #302118; }
.button-secondary,.button-outline { border:1px solid var(--chocolate); color:var(--chocolate); background:transparent; }
.button-light { color:var(--chocolate); background:var(--cream); }
.wide { width:100%; }
.hero-proof { display:flex; gap:25px; margin:30px 0 0; }
.hero-proof div { padding-left:11px; border-left:1px solid var(--line); }
.hero-proof dt { font:700 1.45rem/1 Fraunces, Georgia, serif; }
.hero-proof dd { margin:3px 0 0; font-size:.72rem; }
.hero-art { position:relative; min-height:500px; overflow:hidden; border-radius:200px 200px 20px 20px; background:var(--koekjesbruin); box-shadow:var(--shadow); }
.hero-art:after { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(74,55,40,.18),transparent 55%); }
.hero-art img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:50% 77%; }
.hero-sticker { position:absolute; z-index:1; right:28px; bottom:29px; width:120px; height:120px; display:grid; place-content:center; border-radius:50%; color:var(--chocolate); background:var(--koekjesbruin); box-shadow:0 4px 0 #8e5b38; font-size:.68rem; letter-spacing:.08em; line-height:1.3; text-align:center; text-transform:uppercase; transform:rotate(10deg); }
.hero-sticker strong { font-size:.9rem; }
.pathways { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); }
.pathways a { display:grid; grid-template-columns:36px 1fr auto; align-items:center; column-gap:10px; padding:20px; color:var(--chocolate); border-right:1px solid var(--line); text-decoration:none; }
.pathways a:last-child { border-right:0; }
.path-icon { grid-row:span 2; font-size:1.4rem; }.pathways small { color:#715e50; font-size:.75rem; }
.section { padding:105px max(32px, calc((100vw - 1120px)/2)); }
.centered { max-width:680px; margin:auto; text-align:center; }.section-heading h2 { font-size:clamp(2.2rem,4vw,3.7rem); }.section-heading p:not(.eyebrow) { max-width:600px; }
.flavour-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:43px; }
.flavour { min-height:255px; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; border-radius:13px; }.flavour-number { margin-bottom:auto; font:700 1rem Fraunces,Georgia,serif; }.flavour h3 { margin:8px 0; font-size:1.6rem; line-height:1; }.flavour p { margin:0 0 14px; font-size:.85rem; }.flavour-peanut { background:#dfb36f; }.flavour-choco { color:var(--cream); background:#795343; }.flavour-coconut { background:var(--sage); }.flavour-white { background:#e9c9a7; }.text-button { padding:0; border:0; color:inherit; background:none; font:700 .78rem "DM Sans",Arial,sans-serif; text-align:left; text-decoration:underline; }
.fine-print { margin-top:23px; color:#765e4c; font-size:.72rem; text-align:center; }
.section-dark { display:grid; grid-template-columns:1fr 410px; align-items:center; gap:90px; color:var(--cream); background:var(--chocolate); }.section-dark .eyebrow { color:#e2aa75; }.shop-copy h2 { font-size:clamp(2.25rem,4vw,3.7rem); }.check-list { padding:0; list-style:none; }.check-list li { padding:5px 0; }.check-list li:before { padding-right:9px; color:var(--koekjesbruin); content:"✓"; }
.order-card { padding:30px; border-radius:16px; color:var(--chocolate); background:var(--paper); box-shadow:var(--shadow); }.card-kicker { margin:0; color:#9a633e; font-size:.68rem; font-weight:700; letter-spacing:.12em; }.order-card h3 { margin:10px 0 22px; font-size:1.8rem; line-height:1.1; }.order-card label { display:block; padding:12px 0; border-top:1px solid var(--line); font-size:.9rem; font-weight:600; }.order-card input { accent-color:var(--chocolate); }.card-note { margin:14px 0 0; color:#755c4d; font-size:.7rem; }
.gift { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:95px; background:#f0e5d2; }.gift-card-visual { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; border-radius:18px; color:var(--cream); background:linear-gradient(135deg,var(--sage),#a5b09e 54%,var(--koekjesbruin)); box-shadow:17px 17px 0 var(--chocolate); text-align:center; transform:rotate(-4deg); }.gift-card-visual span,.gift-card-visual em { font-size:.72rem; font-style:normal; letter-spacing:.16em; }.gift-card-visual strong { font:900 4.5rem/.8 Fraunces,Georgia,serif; letter-spacing:-.08em; text-shadow:2px 3px 0 var(--chocolate); }.gift-card-visual i { color:#e5ad63; font-size:2rem; font-style:normal; }.gift-copy h2 { font-size:clamp(2.3rem,4vw,3.8rem); }.gift-points { display:grid; gap:7px; margin:24px 0; }
.business { background:var(--paper); }.business-grid { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:100px; margin-top:34px; }.feature-list { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }.feature-list li { display:grid; grid-template-columns:120px 1fr; padding:12px 0; border-bottom:1px solid var(--line); }.feature-list strong { font:700 1rem Fraunces,Georgia,serif; }.feature-list span { font-size:.84rem; }
.story { display:grid; grid-template-columns:.72fr 1.28fr; align-items:center; gap:90px; background:#ede3d3; }.story-mark { min-height:370px; display:grid; place-items:center; overflow:hidden; border-radius:24px; background:linear-gradient(145deg,#fffdf8,#efe4d3); box-shadow:var(--shadow); }.story-mark img { width:88%; height:auto; object-fit:contain; object-position:center; }.story-copy h2 { font-size:clamp(2.3rem,4vw,3.8rem); }.story-copy p { max-width:650px; }.story-close { font:700 1.1rem/1.5 Fraunces,Georgia,serif; }
.business-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:48px; padding:24px; border:1px solid var(--line); background:#f1e4ce; }.business-form label { display:grid; gap:6px; font-size:.74rem; font-weight:700; letter-spacing:.04em; }.business-form label:nth-of-type(4) { grid-column:span 2; }.business-form input,.business-form textarea,.business-form select { width:100%; padding:10px; border:1px solid #c6af91; border-radius:4px; color:var(--chocolate); background:#fffaf2; font:400 .95rem "DM Sans",Arial,sans-serif; resize:vertical; }.consent { grid-column:1/-1; display:flex!important; align-items:flex-start; gap:8px; font-size:.72rem!important; }.consent input { width:auto; }.hp-field { position:absolute!important; left:-9999px!important; opacity:0!important; }
.events { min-height:460px; display:flex; align-items:center; justify-content:space-between; gap:30px; color:var(--cream); background:linear-gradient(90deg,rgba(74,55,40,.94),rgba(74,55,40,.65)),url('assets/images/crest-foodtruck-v2.png') center/cover; }.events-copy { max-width:590px; }.events .eyebrow { color:#e9b273; }.event-stamp { width:178px; height:178px; display:grid; place-content:center; border:3px dashed #ebb266; border-radius:50%; font-size:.73rem; letter-spacing:.09em; line-height:1.3; text-align:center; transform:rotate(-12deg); }.event-stamp strong { font:700 1.1rem Fraunces,Georgia,serif; }
.closing-cta { padding-top:92px; padding-bottom:92px; text-align:center; }.closing-cta h2 { font-size:clamp(2.3rem,4.5vw,4.2rem); }.closing-cta .button-row { justify-content:center; }
footer { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:20px; padding:50px max(32px,calc((100vw - 1120px)/2)); color:var(--cream); background:#302118; }footer p{margin:0}footer a{display:block;margin-bottom:5px;color:var(--cream);font-size:.85rem;text-decoration:none}footer small{grid-column:1/-1;margin-top:20px;color:#c8aa8c;font-size:.7rem}.footer-brand{font:600 1.4rem Fraunces,Georgia,serif}.footer-brand strong{display:block;font-size:1.7rem;font-style:italic}.notice{min-height:45vh;padding:100px max(32px,calc((100vw - 1120px)/2))}.form-status{max-width:1120px;margin:20px auto 0;padding:12px 18px;border:1px solid var(--sage);background:#dce8d2}
@media(max-width:930px){nav{gap:14px}nav a{font-size:.82rem}.brand img{width:150px}}
@media(max-width:800px){.site-header{padding:12px 20px}.brand img{width:150px;height:54px}.nav-toggle{display:block}nav{position:absolute;z-index:4;top:110px;right:16px;left:16px;display:none;flex-direction:column;align-items:stretch;padding:18px;background:var(--paper);box-shadow:var(--shadow)}nav.open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;gap:25px;padding:32px 20px 40px}.hero-art{min-height:340px;border-radius:120px 120px 15px 15px}.pathways{grid-template-columns:1fr;margin:0 20px}.pathways a{border-right:0;border-bottom:1px solid var(--line)}.section{padding:70px 20px}.flavour-grid{grid-template-columns:1fr 1fr}.flavour{min-height:205px}.section-dark,.gift,.business-grid,.story{grid-template-columns:1fr;gap:42px}.story-mark{min-height:240px;max-width:390px;width:100%;justify-self:center}.gift-card-visual{width:90%;max-width:330px;min-height:270px;justify-self:center}.business-form{grid-template-columns:1fr}.business-form label:nth-of-type(4){grid-column:auto}.events{display:block;min-height:420px;padding-top:75px}.event-stamp{margin:30px auto 0}footer{grid-template-columns:1fr 1fr;padding:35px 20px}.footer-brand{grid-column:span 2}}@media(max-width:430px){.site-header{gap:10px}.brand img{width:126px;height:48px}.header-actions{gap:8px}.hero-proof{gap:14px}.hero h1{font-size:2.65rem}.flavour-grid{grid-template-columns:1fr}.flavour{min-height:180px}.gift-card-visual strong{font-size:3.55rem}}
