
:root{--bg:#f7f3ec;--white:#fff;--ink:#173640;--muted:#6b7a7d;--line:#d7dfdc;--teal:#164f5b;--accent:#d77a55;--soft:#eef3f1;--shadow:0 18px 55px rgba(22,79,91,.12);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.sitehead{position:absolute;z-index:10;inset:0 0 auto;color:#fff}.sitehead.solid{position:relative;background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{font-weight:900;letter-spacing:.24em;line-height:1}.logo span{display:block;font-size:.5rem}.logo em{display:block;color:var(--accent);font:italic 13px Georgia;letter-spacing:0;margin-top:5px}.nav nav{display:flex;gap:26px}.nav nav a.active,.nav nav a:hover{color:var(--accent)}.hero{min-height:730px;display:flex;align-items:center;color:#fff;background:linear-gradient(105deg,rgba(13,61,70,.85),rgba(13,61,70,.18)),linear-gradient(135deg,#7ca7a3,#d7b88d)}.hero .container{padding-top:70px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:800;color:var(--accent)}.eyebrow.light{color:#ffd18d}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(3.4rem,7vw,6.7rem);margin:.2em 0}h2{font-size:clamp(2.2rem,4.5vw,4rem)}.hero p{max-width:650px}.hero-actions{display:flex;gap:12px;margin-top:26px}.btn{border:1px solid var(--line);border-radius:999px;padding:11px 17px;background:#fff;color:var(--ink);cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800}.btn.ghost{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.45);color:#fff}.btn.small{padding:7px 10px;font-size:.8rem}.btn.danger{color:#9d4038;border-color:#e7b8b2}.section{padding:90px 0}.soft{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.photo-placeholder{min-height:490px;border-radius:18px;background:linear-gradient(135deg,#d7e7e3,#f1d8c4);display:grid;place-items:center;color:#789}.lead{color:var(--muted);font-size:1.08rem}.section-head{display:flex;align-items:end;justify-content:space-between}.front-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.front-photo,.category-placeholder{height:300px;border-radius:15px;overflow:hidden;position:relative;background:#dae6e3}.front-photo img{width:100%;height:100%;object-fit:cover}.front-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(11,54,63,.78))}.front-photo span{position:absolute;z-index:2;left:17px;bottom:15px;color:#fff;font-weight:800}.category-placeholder{display:flex;flex-direction:column;justify-content:end;padding:20px}.pagehero{background:linear-gradient(120deg,#6c9795,#e0b38a);color:#fff;padding:105px 0 60px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px}.filter.active{background:var(--teal);color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portfolio-grid figure{margin:0;background:#fff;border-radius:14px;overflow:hidden}.portfolio-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-grid figcaption{padding:13px;display:flex;flex-direction:column}.portfolio-grid span,.portfolio-grid small,.muted{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.contact-card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.stack,.gridform{display:grid;gap:14px}.gridform{grid-template-columns:1fr 1fr}.gridform .wide{grid-column:1/-1}.stack label,.gridform label{display:grid;gap:6px;font-weight:700;font-size:.88rem}.stack input,.stack textarea,.gridform input,.gridform textarea,.gridform select{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}.alert{padding:11px 13px;border-radius:9px;margin-bottom:15px}.alert.ok{background:#e7f5ea;color:#25633b}.alert.error{background:#fde8e6;color:#923d35}.footer{background:#123d47;color:#fff;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:45px}.footer-grid>div{display:flex;flex-direction:column;gap:7px}.footer a,.footer p{color:#c9d8d7}
.setup{min-height:100vh;background:linear-gradient(135deg,#e7f0ed,#faeee3);display:grid;place-items:center;padding:20px}.login-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow)}.login-card h1{font-size:2.5rem}.admin{background:#f1f4f2}.topbar{position:sticky;top:0;z-index:20;background:#123d47;color:#fff;padding:15px 22px;display:flex;justify-content:space-between}.topbar div{display:flex;gap:18px}.admin-layout{display:grid;grid-template-columns:220px 1fr}.admin-layout aside{position:sticky;top:54px;height:calc(100vh - 54px);background:#fff;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;gap:5px}.admin-layout aside a{padding:9px 10px;border-radius:8px}.admin-layout aside a:hover{background:var(--soft)}.admin-layout aside b{background:var(--accent);color:#fff;padding:2px 7px;border-radius:999px}.admin-layout main{padding:30px;max-width:1200px}.admin-layout section{scroll-margin-top:75px;margin-bottom:30px}.admin-layout h1{font-size:3rem}.admin-layout h2{font-size:2.15rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stats>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stats strong{display:block;font:2.2rem Georgia;color:var(--teal)}.admin-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}.admin-gallery article{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fafcfa}.admin-gallery img{width:100%;height:170px;object-fit:cover}.admin-gallery article>div{padding:10px 12px;display:flex;flex-direction:column}.admin-gallery span{color:var(--muted);font-size:.82rem}.actions{display:flex!important;flex-direction:row!important;gap:7px}.messages{display:grid;gap:12px}.messages article{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fafcfa}.messages article.unread{border-left:4px solid var(--accent);background:#fff8f4}.msghead{display:flex;justify-content:space-between;gap:15px}.msghead span{color:var(--muted);font-size:.8rem}
@media(max-width:850px){.split,.contact-grid{grid-template-columns:1fr}.front-gallery,.portfolio-grid{grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:1fr}.admin-layout aside{position:sticky;top:54px;height:auto;flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.admin-gallery{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.nav nav{gap:10px;font-size:.8rem}.hero h1{font-size:3.4rem}.front-gallery,.portfolio-grid,.stats,.admin-gallery{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.gridform{grid-template-columns:1fr}.gridform .wide{grid-column:auto}.admin-layout main{padding:16px}.panel{padding:19px}.topbar{font-size:.86rem}.section{padding:65px 0}}


/* =========================================================
   BOSSPHOTOGRAPHY MOBILE FIX
   Alleen responsive gedrag; desktop blijft ongewijzigd.
   ========================================================= */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.menu-toggle{
  display:none;
  appearance:none;
  border:1px solid rgba(255,255,255,.36);
  background:rgba(255,255,255,.10);
  color:inherit;
  width:44px;
  height:44px;
  border-radius:999px;
  font-size:1.15rem;
  line-height:1;
  cursor:pointer;
}

.sitehead.solid .menu-toggle{
  border-color:var(--line);
  background:#fff;
  color:var(--ink);
}

.hero h1,
.pagehero h1{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

@media (max-width: 760px){

  .container{
    width:calc(100% - 28px);
  }

  .sitehead .nav{
    min-height:74px;
    gap:12px;
  }

  .sitehead .logo{
    font-size:.83rem;
    flex:1 1 auto;
    min-width:0;
  }

  .sitehead .logo span{
    font-size:.46rem;
  }

  .sitehead .logo em{
    font-size:12px;
  }

  .menu-toggle{
    display:grid;
    place-items:center;
    flex:0 0 44px;
  }

  .sitehead nav{
    display:none;
    position:absolute;
    left:14px;
    right:14px;
    top:82px;
    z-index:30;
    flex-direction:column;
    gap:0;
    padding:10px;
    border-radius:16px;
    background:rgba(20,61,71,.97);
    box-shadow:0 18px 44px rgba(0,0,0,.18);
    backdrop-filter:blur(14px);
  }

  .sitehead.solid nav{
    background:rgba(255,255,255,.98);
    border:1px solid var(--line);
  }

  .sitehead nav.open{
    display:flex;
  }

  .sitehead nav a{
    display:block;
    width:100%;
    padding:13px 14px;
    border-radius:10px;
    border-bottom:0;
    font-size:1rem;
  }

  .sitehead:not(.solid) nav a{
    color:#fff;
  }

  .sitehead nav a:hover,
  .sitehead nav a.active{
    background:rgba(255,255,255,.09);
  }

  .sitehead.solid nav a:hover,
  .sitehead.solid nav a.active{
    background:var(--soft);
  }

  .hero{
    min-height:auto;
    padding:120px 0 64px;
    align-items:flex-start;
  }

  .hero .container{
    padding-top:0;
  }

  .hero h1{
    font-size:clamp(3rem,14vw,4.25rem);
    line-height:.98;
    letter-spacing:-.035em;
    max-width:100%;
    margin:.18em 0 .28em;
  }

  .hero p{
    max-width:100%;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    max-width:420px;
    margin-top:24px;
  }

  .hero-actions .btn{
    width:100%;
    min-height:52px;
  }

  .eyebrow{
    letter-spacing:.14em;
  }

  .section{
    padding:60px 0;
  }

  .split{
    grid-template-columns:1fr;
    gap:30px;
  }

  .photo-placeholder{
    min-height:320px;
  }

  .section-head{
    align-items:flex-start;
    gap:14px;
    flex-direction:column;
  }

  .front-gallery,
  .portfolio-grid{
    grid-template-columns:1fr;
  }

  .front-photo,
  .category-placeholder{
    height:240px;
  }

  .pagehero{
    padding:96px 0 46px;
  }

  .pagehero h1{
    font-size:clamp(2.9rem,14vw,4rem);
    margin:.2em 0;
  }

  .filters{
    gap:8px;
  }

  .filter{
    flex:1 1 calc(50% - 8px);
    text-align:center;
  }

  .contact-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .contact-card{
    padding:20px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
}

@media (max-width: 420px){
  .hero h1{
    font-size:clamp(2.8rem,13vw,3.65rem);
  }

  .menu-toggle{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .sitehead nav{
    top:78px;
  }

  .filter{
    flex-basis:100%;
  }
}
