/*
Theme Name: Afvallen & Zwangerschap
Theme URI: https://afvallenzwangerschap.nl/
Description: Warm GeneratePress-childtheme voor afvallenzwangerschap.nl: van kinderwens tot het eerste jaar na de bevalling. Lokale lettertypen (Young Serif en Figtree, SIL OFL), homepage met fase-route, auteursblok en aanpasbare homepage-teksten.
Author: Afvallen & Zwangerschap
Template: generatepress
Version: 2.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: az-theme
*/

/* ---------- Lettertypen (lokaal) ---------- */
@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/young-serif-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/figtree-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/figtree-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/figtree-latin-700-normal.woff2) format("woff2")}

/* ---------- Kleuren en maten ---------- */
:root{
	--az-linnen:#fbf6f2;
	--az-wit:#fffdfb;
	--az-blos:#f6e1da;
	--az-blos-zacht:#fbede7;
	--az-pruim:#4b2e3f;
	--az-tekst:#3a2a33;
	--az-zacht:#6b5862;
	--az-bes:#9c3d62;
	--az-bes-donker:#7f2f4f;
	--az-salie:#56704f;
	--az-salie-licht:#edf1e7;
	--az-lijn:#ecdcd5;
	--az-serif:"Young Serif",Georgia,"Times New Roman",serif;
	--az-sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
	--az-r-groot:28px;
	--az-r:18px;
}

/* ---------- Basis ---------- */
body{background:var(--az-linnen);color:var(--az-tekst);font-family:var(--az-sans);font-size:18px;line-height:1.7}
body,button,input,select,textarea{font-family:var(--az-sans)}
h1,h2,.main-title,.entry-title,.page-title{font-family:var(--az-serif);font-weight:400;color:var(--az-pruim);letter-spacing:-.01em}
h3,h4,h5,h6{font-family:var(--az-sans);font-weight:700;color:var(--az-pruim);letter-spacing:-.005em}
a{color:var(--az-bes)}
a:hover,a:focus{color:var(--az-bes-donker)}
:focus-visible{outline:3px solid var(--az-bes);outline-offset:3px;border-radius:6px}
::selection{background:var(--az-blos);color:var(--az-pruim)}

/* ---------- Header en navigatie ---------- */
.site-header{background:var(--az-wit);border-bottom:1px solid var(--az-lijn)}
.site-header .inside-header{padding-top:18px;padding-bottom:18px}
.main-title{font-size:24px;line-height:1.2}
.main-title a,.main-title a:hover{color:var(--az-pruim);text-decoration:none}
.site-description{font-size:13px;color:var(--az-zacht);margin-top:2px}
.main-navigation,.main-navigation ul ul{background:var(--az-wit)}
.main-navigation .main-nav ul li a{color:var(--az-pruim);font-size:15px;font-weight:600;padding-left:16px;padding-right:16px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li:focus-within>a{color:var(--az-bes);background:transparent}
.main-navigation .main-nav ul li.current-menu-item>a,.main-navigation .main-nav ul li.current-menu-parent>a,.main-navigation .main-nav ul li.current-post-ancestor>a{color:var(--az-bes);background:transparent;box-shadow:inset 0 -2px 0 var(--az-bes)}
.menu-toggle,.main-navigation .menu-toggle{color:var(--az-pruim)!important;font-weight:600}

/* ---------- Homepage: volle breedte ---------- */
.az-front-page .site.grid-container{max-width:none}
.az-front-page .site-content{display:block}
.az-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.az-home h2{font-size:clamp(30px,3.4vw,44px);line-height:1.12;margin:0 0 16px}
.az-home p{margin:0 0 1em}

/* Knoppen en tekstlinks */
.az-actions{display:flex;flex-wrap:wrap;gap:12px}
.az-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:var(--az-pruim);color:#fff!important;font-weight:600;font-size:16px;text-decoration:none!important;transition:background-color .2s}
.az-btn:hover,.az-btn:focus-visible{background:var(--az-bes)}
.az-btn--quiet{background:transparent;color:var(--az-pruim)!important;box-shadow:inset 0 0 0 1.5px var(--az-pruim)}
.az-btn--quiet:hover,.az-btn--quiet:focus-visible{background:var(--az-pruim);color:#fff!important}
.az-textlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none}
.az-textlink:hover{text-decoration:underline;text-underline-offset:4px}
.az-textlink .az-icon{width:20px;height:20px}

/* Hero */
.az-hero{position:relative;overflow:hidden;padding:72px 0 88px;background:var(--az-linnen)}
.az-hero:before{content:"";position:absolute;right:-12%;top:-30%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--az-blos-zacht);z-index:0}
.az-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center}
.az-hero h1{font-size:clamp(40px,4.8vw,62px);line-height:1.06;margin:0 0 24px;max-width:16ch}
.az-lead{font-size:20px;line-height:1.65;color:var(--az-zacht);max-width:34em;margin-bottom:32px!important}
.az-hero__art{display:flex;justify-content:center}
.az-arch{width:min(100%,400px);aspect-ratio:4/5;border-radius:999px 999px var(--az-r-groot) var(--az-r-groot);background:linear-gradient(180deg,var(--az-blos) 0%,var(--az-salie-licht) 100%);display:flex;align-items:flex-end;justify-content:center;padding:40px 24px 28px;box-shadow:inset 0 0 0 10px rgba(255,253,251,.55)}
.az-arch svg{width:88%;height:auto}

/* Route */
.az-route{background:var(--az-wit);border-top:1px solid var(--az-lijn);border-bottom:1px solid var(--az-lijn);padding:72px 0 64px}
.az-route__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 40px;margin-bottom:24px}
.az-route__head p{color:var(--az-zacht);max-width:30em;margin:0}
.az-route__track{position:relative}
.az-route__line{position:absolute;left:0;top:0;width:100%;height:80px;color:#dcb3a8;pointer-events:none}
.az-route__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;position:relative}
.az-stop{margin:0}
.az-stop__link{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding:76px 14px 22px;border-radius:var(--az-r);color:var(--az-tekst)!important;text-decoration:none!important;transition:background-color .2s}
.az-stop__link:hover,.az-stop__link:focus-visible{background:var(--az-blos-zacht)}
.az-stop__dot{position:absolute;top:30px;left:50%;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--az-wit);box-shadow:inset 0 0 0 3px var(--az-bes);transition:background-color .2s}
.az-stop__link:hover .az-stop__dot,.az-stop__link:focus-visible .az-stop__dot{background:var(--az-bes)}
.az-stop__when{font-size:14px;font-weight:600;color:var(--az-salie);margin-bottom:4px}
.az-stop__name{font-family:var(--az-serif);font-size:22px;line-height:1.2;color:var(--az-pruim);margin-bottom:10px}
.az-stop__text{font-size:15.5px;line-height:1.55;color:var(--az-zacht)}

/* Basis voor afvallen */
.az-basics{background:var(--az-salie-licht);padding:88px 0}
.az-basics__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.az-basics__intro p{color:var(--az-zacht);font-size:18px}
.az-basics__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:36px 32px}
.az-basics__list li{display:grid;grid-template-columns:52px 1fr;gap:16px;margin:0}
.az-basics__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--az-wit);color:var(--az-salie)}
.az-basics__list h3{font-size:19px;margin:6px 0 6px}
.az-basics__list p{font-size:16px;line-height:1.6;color:var(--az-zacht);margin:0}

/* Nieuwste artikelen */
.az-latest{padding:88px 0}
.az-latest h2{margin-bottom:32px}
.az-latest__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 48px}
.az-post{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--az-lijn)}
.az-post:nth-child(2){padding-top:0}
.az-post__img{display:block;border-radius:14px;overflow:hidden;aspect-ratio:1;background:var(--az-blos)}
.az-post__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.az-post:hover .az-post__img img{transform:scale(1.03)}
.az-post__cat{display:block;font-size:14px;font-weight:600;color:var(--az-salie);margin-bottom:4px}
.az-post__title{font-family:var(--az-sans);font-weight:700;font-size:18px;line-height:1.35;margin:0}
.az-post__title a{color:var(--az-pruim);text-decoration:none}
.az-post__title a:hover{color:var(--az-bes)}
.az-post--lead{grid-row:span 4;grid-template-columns:1fr;align-items:start;align-content:start;padding:0;border:0}
.az-post--lead .az-post__img{aspect-ratio:16/10;border-radius:var(--az-r-groot)}
.az-post--lead .az-post__title{font-family:var(--az-serif);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.15;margin:4px 0 12px}
.az-post--lead p{color:var(--az-zacht);font-size:17px}
.az-empty{color:var(--az-zacht)}

/* Werkwijze */
.az-method{background:var(--az-pruim);color:#f6ebe7;padding:72px 0}
.az-method__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px;align-items:start}
.az-home .az-method h2{color:#fff;margin:0}
.az-method p{font-size:18px}
.az-method .az-textlink{color:#fff;text-decoration:underline;text-underline-offset:4px}
.az-disclaimer{font-size:14px;color:var(--az-zacht);text-align:center;padding-top:28px!important;padding-bottom:28px!important;margin:0 auto!important}

/* ---------- Artikelen en pagina's ---------- */
.separate-containers .inside-article,.separate-containers .comments-area,.separate-containers .page-header,.separate-containers .paging-navigation,.one-container .container{background:var(--az-wit);border-radius:var(--az-r-groot)}
.separate-containers .inside-article{padding:48px}
.entry-title{font-size:clamp(32px,4vw,48px);line-height:1.12}
.entry-title a{color:var(--az-pruim);text-decoration:none}
.entry-title a:hover{color:var(--az-bes)}
.entry-meta{font-size:15px;color:var(--az-zacht)}
.entry-meta a{color:var(--az-zacht)}
.featured-image img,.post-image img{border-radius:var(--az-r)}
.entry-content{font-size:18px}
.entry-content>*{max-width:42em}
.entry-content h2{font-size:clamp(26px,2.8vw,34px);line-height:1.18;margin:1.7em 0 .6em}
.entry-content h3{font-size:22px;line-height:1.3;margin:1.5em 0 .5em}
.entry-content h4{font-size:19px;margin:1.3em 0 .4em}
.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.entry-content ul,.entry-content ol{margin-left:1.3em}
.entry-content li{margin-bottom:.4em}
.entry-content li::marker{color:var(--az-bes)}
.entry-content blockquote{margin:1.8em 0;padding:22px 26px;background:var(--az-blos-zacht);border-left:3px solid var(--az-bes);border-radius:0 var(--az-r) var(--az-r) 0;font-family:var(--az-serif);font-size:22px;line-height:1.45;color:var(--az-pruim)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content table{width:100%;border-collapse:collapse;font-size:16px;margin:1.5em 0;border:0}
.entry-content .wp-block-table{overflow-x:auto}
.entry-content th{background:var(--az-salie-licht);color:var(--az-pruim);text-align:left;font-weight:700}
.entry-content th,.entry-content td{padding:12px 16px;border:0;border-bottom:1px solid var(--az-lijn)}
.entry-content img{border-radius:var(--az-r)}
.entry-content figcaption{font-size:14px;color:var(--az-zacht)}
.entry-content hr{border:0;height:1px;background:var(--az-lijn);margin:2.5em 0}
footer.entry-meta{font-size:15px}

/* Auteursblok */
.az-author{display:flex;gap:20px;align-items:flex-start;margin-top:48px;padding:26px 28px;border-radius:var(--az-r);background:var(--az-blos-zacht);max-width:42em}
.az-author__avatar img{border-radius:50%;display:block}
.az-author p{margin:0}
.az-author__name{font-weight:700;color:var(--az-pruim)}
.az-author__name a{text-decoration:underline;text-underline-offset:3px}
.az-author__bio{font-size:16px;color:var(--az-zacht);margin-top:6px!important}
.az-author__meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--az-zacht);margin-top:8px!important}
.az-author__meta span{display:inline-flex;align-items:center;gap:6px}
.az-author__meta .az-icon{width:18px;height:18px;color:var(--az-salie)}

/* Archieven, zoeken en blog als kaarten */
.page-header{padding:40px}
.page-title{font-size:clamp(32px,4vw,46px);line-height:1.12;margin:0}
.taxonomy-description{color:var(--az-zacht);margin-top:10px}
.taxonomy-description p:last-child{margin-bottom:0}
.archive .site-main,.blog .site-main,.search .site-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.archive .site-main>*,.blog .site-main>*,.search .site-main>*{margin-bottom:0}
.archive .page-header,.blog .page-header,.search .page-header,.archive .paging-navigation,.blog .paging-navigation,.search .paging-navigation,.archive .no-results,.search .no-results{grid-column:1/-1}
.archive .inside-article,.blog .inside-article,.search .inside-article{padding:0 0 28px!important;overflow:hidden;height:100%}
.archive .post-image,.blog .post-image,.search .post-image{margin:0 0 22px}
.archive .post-image img,.blog .post-image img,.search .post-image img{border-radius:0;width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.archive .entry-header,.archive .entry-summary,.blog .entry-header,.blog .entry-summary,.search .entry-header,.search .entry-summary{padding:0 28px}
.archive .entry-header:first-child,.blog .entry-header:first-child,.search .entry-header:first-child{padding-top:28px}
.archive .entry-title,.blog .entry-title,.search .entry-title{font-size:24px;line-height:1.22}
.archive .entry-summary,.blog .entry-summary,.search .entry-summary{font-size:16px;color:var(--az-zacht);margin-top:12px!important}
.archive .entry-summary p,.blog .entry-summary p,.search .entry-summary p{margin-bottom:0}
.archive footer.entry-meta,.blog footer.entry-meta,.search footer.entry-meta{padding:0 28px}

/* Zijbalk en formulieren */
.sidebar .widget,.widget-area .widget{background:var(--az-wit);border-radius:var(--az-r);padding:28px}
.widget-title,.sidebar .widget h2,.sidebar .widget .wp-block-heading{font-family:var(--az-sans);font-size:16px;font-weight:700;line-height:1.4;color:var(--az-pruim);margin-bottom:14px}
.sidebar .widget{font-size:16px}
.sidebar .widget ul li{margin-bottom:.6em}
.sidebar .widget a{color:var(--az-tekst);text-decoration:none}
.sidebar .widget a:hover{color:var(--az-bes)}
input[type=search],input[type=text],input[type=email],input[type=url],textarea,.wp-block-search__input{background:#fff;border:1.5px solid var(--az-lijn);border-radius:999px;padding:12px 18px;color:var(--az-tekst)}
textarea{border-radius:var(--az-r)}
input:focus,textarea:focus{border-color:var(--az-bes);outline:none}
button,input[type=submit],.wp-block-search__button,.wp-block-button__link{background:var(--az-pruim);color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:600}
button:hover,input[type=submit]:hover,.wp-block-search__button:hover,.wp-block-button__link:hover{background:var(--az-bes);color:#fff}
.main-navigation .menu-toggle{background:transparent;border-radius:0;padding-left:20px;padding-right:20px}

/* Footer */
.site-footer .site-info{background:var(--az-pruim);color:#f6ebe7;font-size:15px}
.site-footer .site-info a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ---------- Responsief ---------- */
@media (max-width:1024px){
	.az-route__list{grid-template-columns:repeat(5,minmax(150px,1fr))}
	.az-route__track{overflow-x:auto;scrollbar-width:thin;margin:0 -32px;padding:0 32px}
	.az-route__line{min-width:780px;width:calc(100% - 64px)}
	.az-basics__grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:900px){
	.az-hero{padding:48px 0 56px}
	.az-hero__grid{grid-template-columns:1fr;gap:40px}
	.az-hero h1{max-width:16ch}
	.az-arch{width:min(70%,300px)}
	.az-route__track{overflow:visible;margin:0;padding:0}
	.az-route__line{display:none}
	.az-route__list{grid-template-columns:1fr;gap:0;padding-left:30px;border-left:2px solid #dcb3a8;margin-left:10px}
	.az-stop__link{align-items:flex-start;text-align:left;padding:18px 18px 18px 16px}
	.az-stop__dot{top:24px;left:-41px;margin-left:0}
	.az-latest__grid{grid-template-columns:1fr}
	.az-post--lead{grid-row:auto;padding-bottom:28px;border-bottom:1px solid var(--az-lijn)}
	.az-post:nth-child(2){padding-top:18px}
	.az-method__inner{grid-template-columns:1fr;gap:16px}
	.archive .site-main,.blog .site-main,.search .site-main{grid-template-columns:1fr}
}
@media (max-width:600px){
	body{font-size:17px}
	.az-wrap{padding:0 20px}
	.az-lead{font-size:18px}
	.az-actions .az-btn{width:100%}
	.az-arch{width:min(78%,280px)}
	.az-route,.az-basics,.az-latest{padding:56px 0}
	.az-route__head{margin-bottom:12px}
	.az-basics__list{grid-template-columns:1fr;gap:28px}
	.az-post{grid-template-columns:88px 1fr;gap:16px}
	.az-post--lead{grid-template-columns:1fr}
	.az-method{padding:56px 0}
	.separate-containers .inside-article{padding:26px 22px}
	.page-header{padding:28px 22px}
	.az-author{flex-direction:column;padding:22px}
	.entry-content{font-size:17px}
	.entry-content blockquote{font-size:20px;padding:18px 20px}
}
@media (prefers-reduced-motion:reduce){
	*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}
}
@media print{
	.site-header,.main-navigation,.sidebar,.site-footer,.az-author{display:none}
	body{background:#fff}
}
