/* ==========================================
   Home-specific styles for Het Beste Hier
   Builds on base.css
   ========================================== */

/* Skip link */
.skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { position: fixed; left: var(--space-4); top: var(--space-4); width: auto; height: auto; padding: var(--space-3) var(--space-4); background: var(--color-primary); color: #121212; border-radius: var(--radius-full); z-index: 10000; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 1000; background: color-mix(in oklab, var(--color-background) 85%, black); border-bottom: 1px solid rgba(255,255,255,0.06); backdrop-filter: saturate(120%) blur(8px); }
.header__container { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.brand a { font-family: var(--font-serif); font-size: var(--fs-xl); color: var(--color-text); letter-spacing: -0.02em; }

/* Primary nav */
.primary-nav { position: relative; }
.primary-nav__list { display: flex; align-items: center; gap: var(--space-6); }
.primary-nav a { color: var(--color-text); }
.btn--nav { padding-block: 8px; }

/* Nav toggle (mobile) */
.nav-toggle { display: none; width: 44px; height: 44px; border-radius: var(--radius-full); border: 1px solid rgba(255,255,255,0.12); background: var(--color-surface); align-items: center; justify-content: center; gap: 0; }
.nav-toggle__bar { display: block; width: 20px; height: 2px; background: var(--color-text); margin: 3px auto; border-radius: 999px; transition: transform var(--duration-normal) var(--easing-standard), opacity var(--duration-normal) var(--easing-standard); }

/* Mobile menu panel */
@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; }
  .primary-nav { position: fixed; inset: 0 0 auto 0; top: 64px; height: calc(100dvh - 64px); background: var(--color-background); transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity var(--duration-normal) var(--easing-standard); }
  .primary-nav__list { flex-direction: column; align-items: flex-start; padding: var(--space-8); gap: var(--space-5); }
  .primary-nav[aria-hidden="true"] { opacity: 0; pointer-events: none; }
  .primary-nav[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
}

/* Hero */
.hero { padding-block: clamp(48px, 6vw, 120px) clamp(24px, 4vw, 80px); background: radial-gradient(1200px 600px at 20% -10%, rgba(230, 179, 90, 0.09), transparent 60%), linear-gradient(to bottom, rgba(255,255,255,0.02), transparent); }
.hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); align-items: center; }
.eyebrow { color: var(--color-primary); letter-spacing: 0.08em; text-transform: uppercase; font-size: var(--fs-xs); margin-bottom: var(--space-2); }
.hero__lead { color: var(--color-text-muted); margin-top: var(--space-3); }
.hero__actions { display: flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.hero__media img { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }

.hero__search { display: grid; grid-template-columns: 1fr auto; gap: var(--space-3); margin-top: var(--space-6); }
.hero__search input { background: var(--color-elevated); }

@media (max-width: 1024px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__media { order: -1; }
}

/* Sections */
.section { padding-block: clamp(48px, 6vw, 96px); }
.section--alt { background: linear-gradient(to bottom, rgba(255,255,255,0.02), transparent); }

/* Split layout */
.split__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); align-items: center; }
.split__grid--reverse { direction: rtl; }
.split__grid--reverse > * { direction: ltr; }
.split__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.split__actions { margin-top: var(--space-5); }

@media (max-width: 1000px) {
  .split__grid { grid-template-columns: 1fr; }
}

/* Keypoints */
.keypoints { display: grid; gap: var(--space-2); margin-top: var(--space-4); color: var(--color-text-muted); }
.keypoints li { position: relative; padding-left: 22px; }
.keypoints li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 10px; height: 10px; border-radius: 2px; background: var(--color-primary); box-shadow: 0 0 0 3px rgba(230,179,90,0.18); }

/* Badges */
.badges { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }

/* Features grid */
.grid-features { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: var(--space-10); align-items: center; }
.grid-features__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
@media (max-width: 1000px) {
  .grid-features { grid-template-columns: 1fr; }
}

/* Metrics */
.metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.metric { background: var(--color-elevated); padding: var(--space-5); border-radius: var(--radius-lg); text-align: center; border: 1px solid rgba(255,255,255,0.08); box-shadow: var(--shadow-sm); }
.metric__value { display: block; font-family: var(--font-serif); font-size: var(--fs-2xl); color: var(--color-primary); }
.metric__label { color: var(--color-text-muted); font-size: var(--fs-sm); }

/* Trust section */
.trust { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); align-items: center; }
.trust__highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); margin-block: var(--space-5); }
.trust__item { background: var(--color-elevated); padding: var(--space-4); border-radius: var(--radius-md); border: 1px solid rgba(255,255,255,0.08); text-align: center; }
.trust__item strong { display: block; font-size: var(--fs-2xl); color: var(--color-primary); }
.trust__item span { color: var(--color-text-muted); font-size: var(--fs-sm); }
.trust__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
@media (max-width: 1000px) {
  .trust { grid-template-columns: 1fr; }
  .trust__highlights { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .trust__highlights { grid-template-columns: 1fr 1fr; }
}

/* Testimonials */
.testimonials__intro { margin-bottom: var(--space-6); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-bottom: var(--space-6); }
.testimonial__author { margin-top: var(--space-3); color: var(--gray-400); font-size: var(--fs-sm); }
.testimonials__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); margin-top: var(--space-2); }
.testimonials__cta { margin-top: var(--space-6); }
@media (max-width: 960px) {
  .testimonials__grid { grid-template-columns: 1fr; }
}

/* Services */
.services__grid { margin-top: var(--space-5); }
.services__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); margin-top: var(--space-6); }
.services__cta { margin-top: var(--space-6); text-align: center; }

/* Team */
.team { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--space-10); align-items: center; }
.team__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
@media (max-width: 1000px) {
  .team { grid-template-columns: 1fr; }
}

/* Contact */
.contact__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--space-10); align-items: start; }
.contact__actions { margin-top: var(--space-5); }
.form__field + .form__field { margin-top: var(--space-4); }
.form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-5); }
.form__note { color: var(--color-text-muted); font-size: var(--fs-xs); max-width: 60ch; }
.form__success { margin-top: var(--space-5); }
@media (max-width: 1000px) {
  .contact__grid { grid-template-columns: 1fr; }
}

/* Footer */
.site-footer { margin-top: var(--space-12); padding-block: var(--space-10) var(--space-6); background: var(--color-elevated); border-top: 1px solid rgba(255,255,255,0.08); }
.footer__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--space-8); }
.footer__logo { font-family: var(--font-serif); font-size: var(--fs-xl); color: var(--color-text); }
.footer__tagline { color: var(--color-text-muted); margin-top: var(--space-2); }
.footer__heading { font-size: var(--fs-md); margin-bottom: var(--space-3); }
.footer__nav ul, .footer__legal ul { display: grid; gap: var(--space-2); }
.footer__bottom { margin-top: var(--space-8); display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,0.08); padding-top: var(--space-4); }
.back-to-top { color: var(--color-text-muted); }
@media (max-width: 900px) {
  .footer__grid { grid-template-columns: 1fr; }
}

/* Cookie consent */
.cookie-consent { position: sticky; bottom: 0; width: 100%; background: color-mix(in oklab, var(--color-background) 90%, black); border-top: 1px solid rgba(255,255,255,0.12); box-shadow: 0 -6px 16px rgba(0,0,0,0.35); padding-block: var(--space-3); }
.cookie-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.cookie-consent__text { color: var(--color-text-muted); }
.cookie-consent__actions { display: flex; gap: var(--space-3); }
@media (max-width: 720px) {
  .cookie-consent__inner { flex-direction: column; align-items: stretch; }
  .cookie-consent__actions { justify-content: flex-end; }
}
