/*
Theme Name: Saint Sorlin d'Arves
Theme URI: https://www.airbnb.com/h/saintsorlin
Author: Albertine
Description: Thema voor het appartement in Saint Sorlin d'Arves, Les Sybelles. Bevat de homepage met hero en seizoenen, een kamerpagina met fotogalerijen, nieuwsberichten, artikelweergave, een gastinfopagina en een werkend contactformulier.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: saintsorlin
Tags: one-column, custom-menu, featured-images, translation-ready
*/

/* =========================================================
   1. DESIGN TOKENS
   ========================================================= */
:root{
  --bg:#FAF6F1;
  --white:#FFFFFF;
  --ink:#241D17;
  --stone:#8A7C6E;
  --pine:#33473E;
  --pine-deep:#22302A;
  --pine-tint:#EAEFEC;
  --rust:#C1633B;
  --rust-deep:#9C4A29;
  --rust-tint:#F5E2D6;
  --amber:#D9A441;
  --amber-tint:#F7EAD1;
  --line:#E9DED2;
  --radius:2px;
}

/* =========================================================
   2. BASIS
   ========================================================= */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces',serif;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.08;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--rust-deep);
}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
:focus-visible{outline:2px solid var(--pine);outline-offset:3px;}

.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;
  width:1px;word-wrap:normal !important;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--white);color:var(--ink);padding:12px 18px;
  font-size:14px;border:1px solid var(--line);
}
.skip-link:focus{left:12px;top:12px;}

/* =========================================================
   3. NAVIGATIE
   ========================================================= */
header.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  background:rgba(250,246,241,0.9);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease;
}
header.site-header.has-line,
header.site-header.scrolled{border-bottom-color:var(--line);}
.site-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px 40px;
  max-width:1180px;
  margin:0 auto;
}
.logo{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:600;
}
.logo span{color:var(--rust);}
.nav-links{
  display:flex;
  gap:36px;
  list-style:none;
  font-size:14px;
  margin:0;
}
.nav-links a{position:relative;padding-bottom:4px;display:inline-block;}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:1px;
  background:var(--rust);
  transition:width .25s ease;
}
.nav-links a:hover::after,
.nav-links .current-menu-item > a::after,
.nav-links .current_page_item > a::after,
.nav-links a.active::after{width:100%;}
.nav-cta{
  font-size:13px;
  font-family:'IBM Plex Mono',monospace;
  border:1px solid var(--rust);
  color:var(--rust-deep);
  padding:9px 18px;
  border-radius:var(--radius);
  transition:background .2s ease,color .2s ease;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--rust);color:var(--white);}

.nav-toggle{
  display:none;
  background:none;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:9px 11px;
  cursor:pointer;
  line-height:0;
}
.nav-toggle span{
  display:block;
  width:18px;height:1.5px;
  background:var(--ink);
  margin:3.5px 0;
  transition:transform .25s ease,opacity .2s ease;
}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* =========================================================
   4. HERO
   ========================================================= */
.hero{padding:180px 0 90px;position:relative;overflow:hidden;}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:60px;
  align-items:end;
}
.hero-eyebrow{margin-bottom:22px;}
.hero h1{font-size:clamp(40px,5.4vw,74px);max-width:640px;}
.hero p.lead{margin-top:26px;max-width:440px;color:var(--stone);font-size:17px;}
.hero-actions{margin-top:38px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}

.btn-primary{
  background:var(--rust);
  color:var(--white);
  padding:14px 26px;
  font-size:14px;
  border-radius:var(--radius);
  transition:background .2s ease;
  display:inline-block;
}
.btn-primary:hover{background:var(--rust-deep);}
.btn-ghost{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:2px;}

.ridge-box{
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--amber-tint) 0%,var(--white) 55%);
  padding:24px 24px 18px;
}
.ridge-label-row{
  display:flex;
  justify-content:space-between;
  font-size:11px;
  margin-bottom:10px;
  gap:14px;
}
.ridge-svg{width:100%;height:auto;display:block;}
.ridge-stats{
  display:flex;
  justify-content:space-between;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
  gap:14px;
}
.ridge-stat b{
  display:block;
  font-family:'Fraunces',serif;
  font-size:22px;
  font-weight:500;
  color:var(--ink);
}
.ridge-stat:nth-child(2) b{color:var(--rust-deep);}
.ridge-stat span{
  font-size:11px;
  color:var(--stone);
  text-transform:uppercase;
  letter-spacing:0.08em;
}

/* =========================================================
   5. SECTIES
   ========================================================= */
.site-section{padding:110px 0;}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:56px;
  border-bottom:1px solid var(--line);
  padding-bottom:28px;
}
.section-head h2{font-size:clamp(28px,3.2vw,42px);}
.section-head p{max-width:360px;color:var(--stone);font-size:15px;}

/* INTRO / OMGEVING */
.intro{
  background:linear-gradient(180deg,var(--white) 0%,var(--amber-tint) 130%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.intro-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;}
.intro-figures{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;align-content:start;}
.figure b{font-family:'Fraunces',serif;font-size:34px;font-weight:500;display:block;}
.figure span{font-size:12px;color:var(--stone);text-transform:uppercase;letter-spacing:0.06em;}
.intro-text p{color:var(--stone);margin-bottom:18px;font-size:15.5px;}
.intro-text p:last-child{margin-bottom:0;}

/* FACILITEITEN */
.fac-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.fac-item{
  background:var(--bg);
  padding:30px 26px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.fac-item .num{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--rust-deep);}
.fac-item h3{font-size:17px;font-weight:500;margin-top:22px;}
.fac-item p{font-size:13px;color:var(--stone);margin-top:6px;}

/* FOTOGRID HOMEPAGE */
.gallery-section{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px;
  gap:14px;
}
.gallery-grid > a:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery-grid > a:nth-child(4){grid-column:span 2;}
.g-item{
  position:relative;
  background:var(--pine-tint);
  border:1px solid var(--line);
  display:flex;
  align-items:flex-end;
  padding:16px;
  overflow:hidden;
  transition:transform .3s ease;
}
.g-item:hover{transform:translateY(-2px);}
.g-item.is-placeholder::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg, rgba(0,0,0,0.05) 0 2px, transparent 2px 14px);
}
.g-item:nth-child(1){background:var(--pine-tint);}
.g-item:nth-child(2){background:var(--rust-tint);}
.g-item:nth-child(3){background:var(--amber-tint);}
.g-item:nth-child(4){background:var(--pine-tint);}
.g-item:nth-child(5){background:var(--amber-tint);}
.g-item:nth-child(6){background:var(--rust-tint);}
.g-item:nth-child(7){background:var(--pine-tint);}
.g-item:nth-child(8){background:var(--rust-tint);}
.g-item .g-photo{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
}
.g-label{
  position:relative;
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  color:var(--ink);
  background:rgba(255,255,255,0.8);
  padding:6px 10px;
}

/* SEIZOENEN */
.seasons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.season{background:var(--rust);color:var(--white);padding:52px 44px;}
.season.winter{background:var(--pine);color:var(--white);}
.season .eyebrow{margin-bottom:16px;color:#F3D9C6;}
.season.winter .eyebrow{color:#B9C9C0;}
.season h3{font-size:26px;margin-bottom:18px;}
.season ul{list-style:none;font-size:14.5px;}
.season li{
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,0.22);
  display:flex;
  justify-content:space-between;
  gap:18px;
}
.season.winter li{border-top-color:rgba(255,255,255,0.18);}
.season li:first-of-type{border-top:none;}
.season li span:last-child{color:#F3D9C6;font-family:'IBM Plex Mono',monospace;font-size:12px;text-align:right;}
.season.winter li span:last-child{color:#B9C9C0;}

/* BOEKEN */
.booking{background:var(--rust-deep);color:var(--white);}
.booking .section-head{border-bottom-color:rgba(255,255,255,0.15);}
.booking .section-head p{color:#B9C9C0;}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
.booking-text p{color:#C7D3CC;margin-bottom:20px;font-size:15.5px;}
.booking .btn-ghost{color:var(--white);border-bottom-color:rgba(255,255,255,0.5);}
.contact-list{margin-top:30px;}
.contact-list div{
  display:flex;
  justify-content:space-between;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,0.15);
  font-size:14px;
  gap:18px;
}
.contact-list div:last-child{border-bottom:1px solid rgba(255,255,255,0.15);}
.contact-list span:first-child{
  color:#E9C4AB;
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

/* CONTACTFORMULIER */
.ssa-form{display:flex;flex-direction:column;gap:16px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ssa-form label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#E9C4AB;
  margin-bottom:6px;
  display:block;
}
.ssa-form input,
.ssa-form textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(255,255,255,0.3);
  color:var(--white);
  font-family:'Inter',sans-serif;
  font-size:15px;
  padding:8px 0;
}
.ssa-form input::placeholder,
.ssa-form textarea::placeholder{color:#C68863;}
.ssa-form input:focus,
.ssa-form textarea:focus{outline:none;border-bottom-color:var(--white);}
.ssa-form .ssa-hp{position:absolute;left:-9999px;}
.submit-btn{
  margin-top:10px;
  align-self:flex-start;
  background:var(--white);
  color:var(--rust-deep);
  padding:14px 28px;
  font-size:14px;
  border:none;
  border-radius:var(--radius);
  cursor:pointer;
  font-family:'IBM Plex Mono',monospace;
  transition:background .2s ease;
}
.submit-btn:hover{background:var(--amber-tint);}
.form-notice{
  border:1px solid rgba(255,255,255,0.3);
  padding:14px 18px;
  font-size:14px;
  margin-bottom:20px;
  border-radius:var(--radius);
}
.form-notice.is-ok{background:rgba(255,255,255,0.1);}
.form-notice.is-error{background:rgba(0,0,0,0.18);}

/* =========================================================
   6. PAGINAKOP (subpagina's)
   ========================================================= */
.page-head{padding:170px 0 60px;}
.page-head h1{font-size:clamp(34px,4.6vw,56px);max-width:600px;margin-top:14px;}
.page-head p.page-lead{margin-top:20px;max-width:480px;color:var(--stone);font-size:16px;}
.back-link{
  display:inline-block;
  margin-top:26px;
  font-size:14px;
  border-bottom:1px solid var(--ink);
  padding-bottom:2px;
}

/* =========================================================
   7. KAMERS
   ========================================================= */
.room-jump{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 60px;margin-top:40px;}
.room-jump a{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  border:1px solid var(--line);
  padding:8px 14px;
  border-radius:var(--radius);
  background:var(--white);
  transition:border-color .2s ease,color .2s ease;
}
.room-jump a:hover{border-color:var(--rust);color:var(--rust-deep);}

.room{padding:70px 0;border-top:1px solid var(--line);scroll-margin-top:100px;}
.room-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;}
.room-head .num{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;color:var(--rust-deep);
  display:block;margin-bottom:10px;
}
.room-head h2{font-size:clamp(24px,2.8vw,34px);}
.room-head p{max-width:340px;color:var(--stone);font-size:14.5px;}

.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.room-grid.wide > a:first-child{grid-column:span 2;grid-row:span 2;}
.r-photo{
  position:relative;
  aspect-ratio:1/1;
  border:1px solid var(--line);
  display:flex;align-items:flex-end;padding:12px;
  overflow:hidden;
}
.room-grid.wide .r-photo:first-child{aspect-ratio:auto;height:100%;min-height:220px;}
.r-photo.is-placeholder::before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(135deg, rgba(0,0,0,0.05) 0 2px, transparent 2px 14px);
}
.r-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.r-label{
  position:relative;font-family:'IBM Plex Mono',monospace;
  font-size:11px;color:var(--ink);
  background:rgba(255,255,255,0.8);padding:5px 9px;
}
.r-photo.t-pine{background:var(--pine-tint);}
.r-photo.t-rust{background:var(--rust-tint);}
.r-photo.t-amber{background:var(--amber-tint);}

/* =========================================================
   8. NIEUWS
   ========================================================= */
.featured{padding-bottom:0;}
.featured-card{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  border:1px solid var(--line);
  background:var(--white);
  overflow:hidden;
}
.featured-visual{
  background:var(--pine);
  color:var(--white);
  padding:40px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:260px;
  position:relative;
}
.featured-visual .mono{font-size:12px;color:#B9C9C0;letter-spacing:0.14em;text-transform:uppercase;}
.featured-visual img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.featured-visual .fv-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;gap:24px;}
.featured-visual.has-image::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,48,42,0.15),rgba(34,48,42,0.65));z-index:0;
}
.featured-body{padding:40px;display:block;}
.featured-body h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:14px;}
.featured-body p{color:var(--stone);font-size:15px;}

.post-meta{
  display:flex;align-items:center;gap:12px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;
  color:var(--stone);text-transform:uppercase;letter-spacing:0.08em;
  margin-bottom:16px;flex-wrap:wrap;
}
.post-tag{
  background:var(--rust-tint);
  color:var(--rust-deep);
  padding:5px 11px;
  border-radius:var(--radius);
}
.posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.post-card{
  background:var(--white);
  border:1px solid var(--line);
  padding:30px;
  display:flex;
  flex-direction:column;
  transition:border-color .2s ease,transform .3s ease;
}
.post-card:hover{border-color:var(--rust);transform:translateY(-2px);}
.post-card h3{font-size:20px;margin-bottom:10px;}
.post-card p{color:var(--stone);font-size:14.5px;flex-grow:1;}
.post-card .read{
  margin-top:18px;
  font-size:13px;
  font-family:'IBM Plex Mono',monospace;
  color:var(--rust-deep);
  align-self:flex-start;
  border-bottom:1px solid var(--rust);
  padding-bottom:2px;
}
.ssa-pagination{margin-top:50px;display:flex;gap:10px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:13px;}
.ssa-pagination .page-numbers{border:1px solid var(--line);padding:8px 14px;background:var(--white);}
.ssa-pagination .page-numbers.current{border-color:var(--rust);color:var(--rust-deep);}

/* =========================================================
   9. ARTIKEL
   ========================================================= */
.ssa-article{max-width:720px;margin:0 auto;padding:170px 24px 100px;}
.art-tag{
  display:inline-block;
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;color:var(--rust-deep);
  background:var(--rust-tint);
  padding:5px 11px;border-radius:var(--radius);
  text-transform:uppercase;letter-spacing:0.06em;
  margin-bottom:18px;
}
.ssa-article h1{font-size:clamp(30px,4.4vw,44px);margin-bottom:22px;}
.ssa-article h2{font-size:26px;margin:34px 0 14px;}
.ssa-article h3{font-size:20px;margin:28px 0 12px;}
.ssa-article p{color:var(--ink);font-size:16px;margin-bottom:18px;}
.ssa-article p.lead{color:var(--stone);font-size:17px;}
.ssa-article a:not(.back-link):not(.btn-primary){text-decoration:underline;color:var(--rust-deep);}
.ssa-article .box,
.ssa-article .wp-block-group{
  background:var(--white);
  border:1px solid var(--line);
  padding:22px 26px;
  margin:26px 0;
  border-radius:var(--radius);
}
.ssa-article .box p:last-child,
.ssa-article .wp-block-group p:last-child{margin-bottom:0;}
.ssa-article ul,
.ssa-article ol{margin:8px 0 18px 20px;}
.ssa-article li{margin-bottom:8px;color:var(--ink);}
.ssa-article .back-link{margin-top:10px;margin-bottom:34px;}
.ssa-article img,
.ssa-article figure{margin:26px 0;}
.ssa-article figcaption{font-size:12px;color:var(--stone);margin-top:8px;font-family:'IBM Plex Mono',monospace;}
.ssa-article blockquote{
  border-left:2px solid var(--rust);
  padding-left:20px;margin:26px 0;color:var(--stone);
}

/* =========================================================
   10. GASTINFO
   ========================================================= */
body.ssa-gastinfo{background:var(--bg);}
.gast-wrap{max-width:720px;margin:0 auto;padding:60px 24px 80px;}
.gast-head{margin-bottom:34px;}
.gast-head h1{font-size:clamp(30px,4.4vw,44px);margin-top:10px;}
.gast-head .intro-p{margin-top:18px;color:var(--stone);font-size:16px;}
.gast-wrap .card,
.gast-wrap .wp-block-group{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 26px;
  margin-bottom:16px;
}
.gast-wrap .card h2,
.gast-wrap .wp-block-group h2{font-size:20px;margin-bottom:12px;}
.gast-wrap .card p,
.gast-wrap .wp-block-group p{margin-bottom:10px;font-size:15px;}
.gast-wrap .card p:last-child,
.gast-wrap .wp-block-group p:last-child{margin-bottom:0;}
.gast-wrap .card.accent,
.gast-wrap .wp-block-group.accent{background:var(--amber-tint);border-color:#EBD6AE;}
.gast-wrap .card.rust,
.gast-wrap .wp-block-group.rust{background:var(--rust-tint);border-color:#EACBB8;}
.gast-wrap .kv div{
  display:flex;justify-content:space-between;gap:18px;
  padding:10px 0;border-top:1px solid var(--line);font-size:15px;
}
.gast-wrap .kv div:first-child{border-top:none;}
.gast-wrap .kv span:first-child{
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  text-transform:uppercase;letter-spacing:0.06em;color:var(--stone);
}
.gast-wrap .code{
  display:inline-block;margin-top:14px;
  font-family:'IBM Plex Mono',monospace;font-size:13px;
  background:var(--pine-tint);border:1px solid var(--line);
  padding:8px 14px;border-radius:var(--radius);
}
.gast-wrap .section-label{margin:34px 0 14px;display:block;}
.gast-wrap .checklist{list-style:none;margin:0;}
.gast-wrap .checklist li{
  position:relative;padding-left:26px;margin-bottom:12px;font-size:15px;
}
.gast-wrap .checklist li::before{
  content:"";position:absolute;left:0;top:7px;
  width:10px;height:10px;border:1px solid var(--rust);border-radius:var(--radius);
}
.gast-wrap .foot{
  margin-top:30px;text-align:center;font-size:14px;color:var(--stone);
}
.gast-wrap .foot a{color:var(--rust-deep);text-decoration:underline;}

/* =========================================================
   11. FOOTER
   ========================================================= */
footer.site-footer{padding:50px 0;border-top:1px solid var(--line);}
.footer-grid{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:20px;
}
.footer-grid .logo{font-size:16px;}
.foot-links{display:flex;gap:28px;list-style:none;font-size:13px;color:var(--stone);margin:0;flex-wrap:wrap;}

/* =========================================================
   12. 404 / ZOEKEN
   ========================================================= */
.ssa-simple{max-width:720px;margin:0 auto;padding:170px 24px 100px;}
.ssa-simple h1{font-size:clamp(30px,4.4vw,44px);margin-bottom:18px;}
.ssa-simple p{color:var(--stone);margin-bottom:22px;}

/* =========================================================
   13. RESPONSIVE
   ========================================================= */
@media(max-width:900px){
  .wrap{padding:0 22px;}
  .site-nav{padding:18px 22px;}
  .nav-toggle{display:block;order:3;}
  .nav-cta{order:2;}
  .nav-links{
    display:none;
    order:4;
    width:100%;
    flex-direction:column;
    gap:0;
    padding-top:14px;
    margin-top:14px;
    border-top:1px solid var(--line);
  }
  .site-nav{flex-wrap:wrap;}
  .nav-open .nav-links{display:flex;}
  .nav-links li{padding:10px 0;}

  .hero{padding:130px 0 60px;}
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .intro-grid{grid-template-columns:1fr;gap:40px;}
  .fac-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;}
  .gallery-grid > a:nth-child(1){grid-column:span 2;grid-row:span 1;}
  .gallery-grid > a:nth-child(4){grid-column:span 1;}
  .seasons{grid-template-columns:1fr;}
  .season{padding:40px 26px;}
  .booking-grid{grid-template-columns:1fr;gap:40px;}
  .form-row{grid-template-columns:1fr;}
  .site-section{padding:70px 0;}
  .footer-grid{flex-direction:column;align-items:flex-start;}

  .page-head{padding:120px 0 40px;}
  .room-grid{grid-template-columns:repeat(2,1fr);}
  .room-grid.wide > a:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9;}
  .room-grid.wide .r-photo:first-child{height:auto;}
  .room{padding:50px 0;}

  .featured-card{grid-template-columns:1fr;}
  .posts-grid{grid-template-columns:1fr;}
  .featured-body,.featured-visual{padding:28px;}

  .ssa-article{padding:130px 20px 70px;}
  .ssa-simple{padding:130px 20px 70px;}
  .section-head{flex-direction:column;align-items:flex-start;gap:16px;}
}

/* Admin bar correctie voor de vaste header */
body.admin-bar header.site-header{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar header.site-header{top:46px;}
}
