/*
Theme Name: Vakantiehuisje Hoenderloo Clean
Author: ChatGPT
Description: Licht offwhite thema met groene header, duidelijke content en sticky footer.
Version: 1.0.0
Text Domain: vhh-clean
*/

/* Base */
:root{
  --green: #0c2f0c;
  --text-dark: #1a1a1a;
  --offwhite: #f4f4f2;
  --accent-red: #a83232;
}

html,body{
  margin:0; padding:0;
  height:100%;
}

body{
  background: var(--offwhite);
  color: var(--text-dark);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  display:flex;
  flex-direction:column;
}

/* Header */
.site-header{
  background: var(--green);
  color:#fff;
  padding: 10px 16px 0;
}
.site-header-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:140px 1fr 100px;
  align-items:center;
}
.site-logo img{
  height:100px;
  width:auto;
  display:block;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
.site-title{
  font-size:clamp(24px,3.2vw,36px);
  font-weight:800;
  text-align:center;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
}

/* Green curve nav */
.primary-nav{ position:relative; background:var(--green); }
.primary-nav .curve{
  position:absolute; left:0; right:0; top:0;
  height:120px;
  background:var(--green);
  border-bottom-left-radius:55% 100%;
  border-bottom-right-radius:55% 100%;
  z-index:0;
}
.primary-nav .wrap{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
  padding:52px 16px 0;
}
.primary-nav ul{
  list-style:none;
  display:flex;
  justify-content:center;
  gap:54px;
  margin:0;
  padding:0;
}
.primary-nav li a{
  color:#fff;
  font-size:18px;
  padding:10px 0;
  display:block;
}

/* Content */
.site-content{
  flex:1;
  max-width:900px;
  margin:40px auto;
  width:100%;
  padding:0 20px;
  text-align:center;
}

.site-content h1{
  font-size:clamp(28px,4vw,44px);
  margin-top:0;
}

.hr{
  border-bottom:2px solid var(--accent-red);
  margin:20px auto 32px;
  width:60%;
}

.entry-content{
  background:#ffffff;
  padding:20px;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  text-align:left;
  line-height:1.7;
}

.entry-content p{ margin:0 0 1rem 0; }

/* Sticky footer */
.site-footer{
  background:#1b1e20;
  color:#e5e7eb;
  text-align:center;
  padding:18px;
  margin-top:auto;
  border-top:1px solid #333;
}

/* Responsive tweaks */
@media(max-width:780px){
  .primary-nav ul{ gap:28px; flex-wrap:wrap; }
  .site-header-inner{ grid-template-columns:100px 1fr 40px; }
  .site-logo img{ height:80px; }
}

@media(max-width:480px){
  .primary-nav ul{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 20px;
  }
  .site-content{ margin-top:20px; }
  .site-logo img{ height:70px; }
}