/*
Theme Name: Sailing Awakey
Theme URI: https://awakey.nl/
Author: OpenAI
Description: Een lichte, responsieve WordPress-thema voor het zeilavontuur van Sailing Awakey. Inclusief bewerkbare hero-afbeelding, navigatie en recente verhalen.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: sailing-awakey
*/

:root {
  --sea: #123f50;
  --sea-deep: #0b2d3b;
  --sky: #dceef0;
  --sand: #f4f0e7;
  --coral: #e58b6d;
  --ink: #17323b;
  --muted: #61747a;
  --paper: #fffefa;
  --radius: 18px;
  --shadow: 0 16px 40px rgba(11,45,59,.10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px; line-height: 1.65;
}
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--coral); }
img { max-width: 100%; height: auto; display: block; }
.site-header { position: relative; z-index: 20; background: var(--sea-deep); color: white; }
.hero {
  min-height: clamp(390px, 62vh, 680px); display: grid; place-items: center;
  text-align: center; padding: 72px 24px; position: relative; isolation: isolate;
  background:
    linear-gradient(180deg, rgba(7,34,45,.18), rgba(7,34,45,.68)),
    var(--hero-image, linear-gradient(135deg, #8ab9bf 0%, #d5e8e4 45%, #497d87 100%));
  background-size: cover; background-position: center;
}
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(ellipse at 50% 35%, transparent 10%, rgba(5,31,42,.20) 100%);
}
.hero-inner { max-width: 850px; }
.site-title {
  margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif;
  font-weight: 500; font-size: clamp(3.4rem, 9vw, 7rem); line-height: .98;
  letter-spacing: -.045em; text-shadow: 0 3px 24px rgba(0,0,0,.25);
}
.hero-tagline { color: rgba(255,255,255,.94); font-size: clamp(1rem, 2vw, 1.25rem); margin: 22px auto 0; max-width: 610px; }
.topbar { min-height: 66px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding: 12px max(24px, calc((100vw - 1160px)/2)); }
.brand-small { color:white; text-decoration:none; font-family:Georgia,serif; font-size:1.35rem; white-space:nowrap; }
.menu-toggle { display:none; border:1px solid rgba(255,255,255,.4); color:white; background:transparent; border-radius:999px; padding:9px 15px; font:inherit; }
.primary-nav ul { list-style:none; display:flex; align-items:center; gap:clamp(12px,2vw,28px); margin:0; padding:0; }
.primary-nav li { position:relative; }
.primary-nav a { color:rgba(255,255,255,.92); text-decoration:none; font-size:.91rem; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color:#ffd2bd; }
.primary-nav .sub-menu { display:none; position:absolute; top:100%; left:-16px; min-width:190px; padding:12px; border-radius:12px; background:white; box-shadow:var(--shadow); }
.primary-nav .sub-menu a { display:block; padding:8px 10px; color:var(--ink); }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { display:block; }
main { min-height:50vh; }
.wrap { width:min(1160px, calc(100% - 48px)); margin-inline:auto; }
.intro { padding: clamp(64px, 9vw, 112px) 0 70px; text-align:center; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; color:#6c969d; font-size:.74rem; font-weight:700; }
.intro h2, .section-heading { font-family:Georgia, "Times New Roman", serif; font-weight:500; letter-spacing:-.025em; line-height:1.1; color:var(--sea-deep); }
.intro h2 { font-size:clamp(2.2rem,5vw,3.8rem); max-width:780px; margin:14px auto 20px; }
.intro p { max-width:690px; margin:0 auto; color:var(--muted); font-size:1.08rem; }
.button-link { display:inline-flex; margin-top:28px; padding:12px 22px; background:var(--sea); color:white; border-radius:999px; text-decoration:none; font-weight:650; transition:transform .2s, background .2s; }
.button-link:hover { background:var(--sea-deep); color:white; transform:translateY(-2px); }
.latest { background:var(--sand); padding:72px 0 88px; }
.section-top { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.section-heading { font-size:clamp(2rem,4vw,3rem); margin:8px 0 0; }
.text-link { color:var(--sea); font-weight:650; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.post-card { background:white; border-radius:var(--radius); overflow:hidden; box-shadow:0 8px 28px rgba(11,45,59,.06); transition:transform .2s, box-shadow .2s; }
.post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.post-card a { text-decoration:none; }
.post-image { aspect-ratio: 4/3; background:linear-gradient(135deg,#b7d4d2,#e8e2d1); overflow:hidden; }
.post-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.post-card:hover .post-image img { transform:scale(1.04); }
.post-copy { padding:22px 22px 25px; }
.post-meta { color:#789096; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.post-copy h3 { font:500 1.55rem/1.2 Georgia,serif; color:var(--sea-deep); margin:9px 0 10px; }
.post-copy p { color:var(--muted); margin:0; font-size:.94rem; }
.empty-note { color:var(--muted); background:rgba(255,255,255,.6); border:1px dashed #b7c9c8; padding:22px; border-radius:14px; }
.content-area { padding:70px 0 90px; }
.content-area .entry-content { max-width:780px; margin:auto; }
.entry-title { font:500 clamp(2.3rem,5vw,4rem)/1.08 Georgia,serif; color:var(--sea-deep); letter-spacing:-.03em; }
.entry-content p, .entry-content li { color:#465f66; }
.entry-content h2, .entry-content h3 { font-family:Georgia,serif; font-weight:500; color:var(--sea); }
.entry-content a { color:#287181; }
.post-featured { border-radius:var(--radius); overflow:hidden; margin:28px 0; }
.post-featured img { width:100%; max-height:560px; object-fit:cover; }
.archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pagination { margin-top:36px; }
.pagination .nav-links { display:flex; gap:10px; }
.pagination a, .pagination span { padding:8px 13px; border-radius:8px; background:var(--sand); text-decoration:none; }
.site-footer { background:var(--sea-deep); color:rgba(255,255,255,.78); padding:34px 24px; }
.footer-inner { width:min(1160px,100%); margin:auto; display:flex; justify-content:space-between; gap:20px; align-items:center; }
.footer-name { font:1.5rem Georgia,serif; color:white; }
.site-footer p { margin:3px 0; font-size:.86rem; }
.footer-menu ul { list-style:none; display:flex; flex-wrap:wrap; gap:18px; margin:0; padding:0; }
.footer-menu a { color:rgba(255,255,255,.8); font-size:.86rem; text-decoration:none; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 900px) {
  .topbar { flex-wrap:wrap; }
  .menu-toggle { display:block; }
  .primary-nav { display:none; flex-basis:100%; }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { flex-direction:column; align-items:stretch; gap:0; padding:8px 0 12px; }
  .primary-nav a { display:block; padding:10px 2px; }
  .primary-nav .sub-menu { display:block; position:static; box-shadow:none; background:rgba(255,255,255,.08); padding:2px 12px; }
  .primary-nav .sub-menu a { color:rgba(255,255,255,.8); }
  .post-grid, .archive-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px) {
  .hero { min-height:440px; }
  .wrap { width:min(100% - 36px, 1160px); }
  .post-grid, .archive-grid { grid-template-columns:1fr; }
  .section-top, .footer-inner { align-items:flex-start; flex-direction:column; }
  .footer-menu ul { gap:12px; }
}
