.theme-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-top:30px; }
.theme-card { background:white; border:1px solid var(--border); border-radius:18px; padding:18px 14px; text-align:center; min-height:120px; display:grid; place-items:center; align-content:center; gap:8px; font-weight:820; color:var(--ink); }
.theme-card .emoji { font-size:1.7rem; }
.theme-card:hover { background:var(--mist); transform:translateY(-2px); }
.stat-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--border); background:var(--border); border-radius:22px; overflow:hidden; margin-top:36px; }
.stat { background:white; padding:24px; }
.stat strong { display:block; font-family:Georgia,serif; font-size:2rem; color:var(--ink); }
.stat span { color:var(--muted); font-size:.86rem; }
.insight { border-left:3px solid var(--coral); padding-left:17px; color:var(--muted); }
.logo-word { font-size:1.55rem; font-weight:900; letter-spacing:-.04em; color:var(--ink); }
.partner-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.partner-pill { background:white; border:1px solid var(--border); padding:10px 14px; border-radius:999px; font-weight:820; color:var(--ink); }
.quote-card { background:var(--sand); border-radius:24px; padding:26px; }
.quote-card blockquote { margin:0; font-family:Georgia,serif; font-size:1.45rem; line-height:1.25; color:var(--ink); }
.price-note { font-size:.8rem; color:var(--muted); }
.result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.search-summary { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:26px; }
.search-summary h2 { margin:0; color:var(--ink); }
.search-box-large { display:grid; grid-template-columns:1fr auto; gap:10px; background:white; border:1px solid var(--border); border-radius:18px; padding:8px; }
.search-box-large input { border:0; outline:0; padding:10px 12px; min-width:0; }
.search-box-large button { border:0; border-radius:12px; background:var(--ink); color:white; padding:0 18px; font-weight:850; }
.sponsor-note { color:var(--muted); font-size:.76rem; }
@media(max-width:1000px){ .theme-grid{grid-template-columns:repeat(3,1fr)} .result-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:650px){ .theme-grid{grid-template-columns:repeat(2,1fr)} .stat-strip{grid-template-columns:1fr 1fr} .result-grid{grid-template-columns:1fr} .search-summary{align-items:flex-start; flex-direction:column} }


/* Strand.nl full-site depth components */
.sand-section{background:var(--sand)}
.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}.section-heading-row .section-title{margin-bottom:0}
.region-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}.region-tile{position:relative;min-height:470px;border-radius:30px;overflow:hidden;color:white;background:var(--ink);box-shadow:var(--shadow-soft)}.region-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.region-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,25,31,.04),rgba(5,25,31,.82))}.region-tile-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.region-tile h3{font-family:Georgia,serif;font-size:2rem;line-height:1.06;margin:8px 0}.region-tile p{max-width:620px;color:rgba(255,255,255,.8)}.region-tile .text-link{color:white}
.destination-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;color:white;overflow:hidden}.destination-hero.compact{min-height:540px}.destination-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.destination-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,25,31,.12),rgba(5,25,31,.77))}.destination-copy{position:relative;z-index:2;padding-bottom:72px}.destination-copy h1{font-family:Georgia,serif;font-size:clamp(4rem,9vw,8.5rem);letter-spacing:-.055em;line-height:.88;margin:12px 0 20px}.destination-copy>p{font-size:clamp(1.15rem,2.2vw,1.75rem);max-width:760px;color:rgba(255,255,255,.9)}
.breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:.82rem;margin-bottom:30px;color:inherit}.breadcrumbs a{opacity:.8}.breadcrumbs a:hover{opacity:1;text-decoration:underline}
.destination-intro{display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:start}.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.pill{padding:9px 13px;background:var(--mist);border-radius:999px;color:var(--sea-dark);font-weight:800;font-size:.82rem}.guide-index{position:sticky;top:110px;background:var(--sand);border-radius:24px;padding:24px;display:grid;gap:4px}.guide-index strong{font-family:Georgia,serif;font-size:1.35rem;margin-bottom:8px}.guide-index a{padding:11px 0;border-bottom:1px solid var(--border);color:var(--text)}
.editorial-split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.editorial-split.reverse{grid-template-columns:.95fr 1.05fr}.editorial-split.reverse>div:first-child{order:2}.editorial-split>img{width:100%;height:500px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow-soft)}.editorial-split p{color:var(--muted);line-height:1.75}.check-list{display:grid;gap:11px;padding:0;margin:25px 0;list-style:none}.check-list li{position:relative;padding-left:28px;color:var(--text)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--sea);font-weight:900}.fact-panel{background:var(--ink);color:white;border-radius:26px;padding:30px}.fact-panel h3{font-family:Georgia,serif;font-size:2rem;margin:10px 0}.fact-panel p{color:rgba(255,255,255,.72)}.fact-panel .text-link{color:white}
.content-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.content-grid-3 article{padding:28px;border-radius:22px;background:white;border:1px solid var(--border);box-shadow:var(--shadow-soft)}.content-grid-3 h3{font-family:Georgia,serif;font-size:1.55rem;margin:14px 0 8px;color:var(--ink)}.content-grid-3 p{color:var(--muted);line-height:1.65}.number{font-size:.74rem;font-weight:900;letter-spacing:.18em;color:var(--coral)}
.timeline{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:18px}.timeline li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}.timeline li>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:var(--ink);font-weight:900}.timeline strong{font-size:1.05rem}.timeline p{color:rgba(255,255,255,.68);margin:4px 0}.dark-quote{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}.dark-quote blockquote{color:white;font-size:1.8rem}
.business-inline{display:flex;justify-content:space-between;align-items:center;gap:40px;background:white;border-radius:28px;padding:36px;border:1px solid var(--border)}.business-inline>div:first-child{max-width:720px}.business-inline p{color:var(--muted)}
.cta-band{background:var(--mist);padding:48px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-inner h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);margin:6px 0 10px;color:var(--ink);line-height:1}.cta-inner p{color:var(--muted);max-width:680px}.cta-inner .actions{margin-top:0;justify-content:flex-end}
.article-hero{padding:120px 0 80px;background:var(--sand)}.article-hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,6.8rem);line-height:.96;letter-spacing:-.05em;margin:14px 0 24px;max-width:1050px;color:var(--ink)}.article-hero p{font-size:1.25rem;color:var(--muted);max-width:800px;line-height:1.65}.article-image{margin-top:-35px}.article-image img{width:100%;height:620px;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:90px;align-items:start}.article-body section{margin-bottom:50px}.article-body h2{font-family:Georgia,serif;font-size:2.2rem;color:var(--ink);margin:0 0 12px}.article-body p{font-size:1.08rem;line-height:1.85;color:var(--text)}.article-aside{position:sticky;top:110px;display:grid;gap:0;background:var(--sand);padding:24px;border-radius:20px}.article-aside strong{font-family:Georgia,serif;font-size:1.3rem;margin-bottom:10px}.article-aside a{padding:12px 0;border-bottom:1px solid var(--border)}.article-conclusion{background:var(--mist);padding:30px;border-radius:24px}.article-conclusion h2{font-size:1.8rem}
.route-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}.route-card{padding:34px;border-radius:26px;background:var(--ink);color:white;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end}.route-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:var(--sun);font-weight:900}.route-card h3{font-family:Georgia,serif;font-size:2rem;margin:10px 0}.route-card p{color:rgba(255,255,255,.72)}
.notice-card{background:var(--sand);padding:50px;border-radius:30px;text-align:center}.notice-card h1{font-family:Georgia,serif;color:var(--ink);font-size:3rem}.notice-card p{max-width:700px;margin:0 auto 24px;color:var(--muted)}
.filter-bar-inline{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 30px}.favorites-section{padding-top:70px;margin-top:70px;border-top:1px solid var(--border)}.choice-grid{margin-top:24px}.form-grid{margin-top:24px}.detail-block{background:white;border:1px solid var(--border);border-radius:28px;padding:34px;box-shadow:var(--shadow-soft)}
@media(max-width:1000px){.region-grid{grid-template-columns:1fr}.destination-intro,.article-layout{grid-template-columns:1fr}.guide-index,.article-aside{position:static}.editorial-split,.editorial-split.reverse{grid-template-columns:1fr;gap:30px}.editorial-split.reverse>div:first-child{order:0}.content-grid-3{grid-template-columns:1fr 1fr}.business-inline,.cta-inner{align-items:flex-start;flex-direction:column}.route-grid{grid-template-columns:1fr}.article-image img{height:480px}}
@media(max-width:650px){.destination-hero{min-height:560px}.destination-hero.compact{min-height:460px}.destination-copy{padding-bottom:48px}.destination-copy h1{font-size:3.4rem}.region-tile{min-height:410px}.region-tile-copy{left:22px;right:22px;bottom:22px}.content-grid-3{grid-template-columns:1fr}.editorial-split>img{height:330px}.article-image{margin-top:-20px}.article-image img{height:300px;border-radius:20px}.article-hero{padding:90px 0 50px}.article-body h2{font-size:1.75rem}.cta-inner .actions{width:100%}.cta-inner .btn{width:100%}.business-inline{padding:24px}.section-heading-row{align-items:flex-start;flex-direction:column}.detail-block{padding:22px}}


/* Hotels aan zee — Enjoy.nl content integration */
.hotel-hero .destination-copy p{max-width:790px}
.source-panel{position:relative;overflow:hidden}.source-panel:after{content:"ENJOY";position:absolute;right:-12px;bottom:-42px;font-size:6rem;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.045)}
.hotel-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.hotel-choice{position:relative;min-height:410px;border-radius:28px;overflow:hidden;color:white;background:var(--ink);box-shadow:var(--shadow-soft)}.hotel-choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.hotel-choice:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,25,31,.04),rgba(5,25,31,.86))}.hotel-choice:hover img{transform:scale(1.04)}.hotel-choice-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}.hotel-choice-copy>span,.offer-place{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--sun)}.hotel-choice h3{font-family:Georgia,serif;font-size:2rem;line-height:1;margin:8px 0}.hotel-choice p{color:rgba(255,255,255,.78);margin:0 0 12px}.hotel-choice b{font-size:.84rem}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}.offer-card{display:flex;flex-direction:column;background:white;border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.offer-media{position:relative;aspect-ratio:16/10;overflow:hidden}.offer-media img{width:100%;height:100%;object-fit:cover}.offer-label{position:absolute;left:16px;top:16px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font-size:.72rem;font-weight:900}.offer-body{display:flex;flex-direction:column;flex:1;padding:25px}.offer-body h3{font-family:Georgia,serif;font-size:1.75rem;line-height:1.08;color:var(--ink);margin:8px 0 12px}.offer-body p{color:var(--muted)}.offer-body ul{list-style:none;padding:0;margin:8px 0 24px;display:grid;gap:8px}.offer-body li{position:relative;padding-left:23px;font-size:.9rem}.offer-body li:before{content:"✓";position:absolute;left:0;color:var(--sea);font-weight:900}.offer-body .btn{margin-top:auto;align-self:flex-start}
.weekend-links{display:grid;gap:11px;margin-top:30px}.weekend-links a{display:grid;gap:2px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.05)}.weekend-links a:hover{background:rgba(255,255,255,.1)}.weekend-links strong{color:white}.weekend-links span{color:rgba(255,255,255,.65);font-size:.88rem}.hotel-tips{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.hotel-choice-grid,.offer-grid{grid-template-columns:repeat(2,1fr)}.hotel-tips{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.hotel-choice-grid,.offer-grid,.hotel-tips{grid-template-columns:1fr}.hotel-choice{min-height:360px}.offer-body h3{font-size:1.55rem}}

.inline-search-suggestion{border:0;background:transparent;color:var(--sea);font-weight:850;text-decoration:underline;padding:0;cursor:pointer}.empty-state h3{margin:0 0 8px;color:var(--ink)}
