/*
Theme Name: Advoro Thema
Theme URI: https://advoro.nl
Author: Perplexity
Description: Compact, warm en mobielvriendelijk WordPress-thema voor Advoro met header, footer, over mij, contact en scrollende aanbevelingen.
Version: 2026.07.24.11
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: advoro-theme
*/
:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.08rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.35rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.1rem);
  --text-2xl: clamp(2rem, 1.2rem + 2vw, 3.1rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem;
  --color-bg: #f8f7f2; --color-surface: #fcfbf6; --color-surface-2: #f0f2eb; --color-border: #d8dccf; --color-divider: #e3e7dd;
  --color-text: #55614a; --color-text-muted: #7d8772; --color-text-faint: #9ca491; --color-primary: #8e987a; --color-primary-hover: #737f63; --color-primary-highlight: #eef2e7; --color-text-inverse: #f8f7f2;
  --radius-sm: 0.5rem; --radius-md: 0.75rem; --radius-lg: 1rem; --radius-xl: 1.5rem; --radius-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(54, 63, 44, 0.06); --shadow-md: 0 10px 30px rgba(54, 63, 44, 0.08);
  --content-default: 1100px; --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  --font-display: 'Zodiak', Georgia, serif; --font-body: 'Satoshi', Inter, sans-serif;
}
[data-theme="dark"] {
  --color-bg: #f5f4ee; --color-surface: #fbfaf5; --color-surface-2: #eef1e8; --color-border: #d3d9cb; --color-divider: #dde3d6;
  --color-text: #55614a; --color-text-muted: #76816b; --color-text-faint: #98a08e; --color-primary: #8e987a; --color-primary-hover: #737f63; --color-primary-highlight: #edf2e6; --color-text-inverse: #f8f7f2;
  --shadow-sm: 0 1px 2px rgba(54, 63, 44, 0.06); --shadow-md: 0 10px 30px rgba(54, 63, 44, 0.08);
}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:none;text-size-adjust:none}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background:radial-gradient(circle at top right,var(--color-primary-highlight),transparent 30%),var(--color-bg)}img,svg{display:block;max-width:100%;height:auto}.brand-logo{max-height:58px;width:auto}.site-footer .brand-logo{max-height:52px}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.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}.screen-reader-text:focus{width:auto;height:auto;clip:auto;padding:var(--space-3) var(--space-4);margin:var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);z-index:1000}.site-main{padding-block:var(--space-8) var(--space-12)}.container{width:min(calc(100% - 2rem),var(--content-default));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow var(--transition-interactive),border-color var(--transition-interactive)}.site-header.scrolled{box-shadow:var(--shadow-sm);border-color:var(--color-divider)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px}.brand-mark{width:44px;height:44px;color:var(--color-primary);flex-shrink:0}.brand-copy strong{display:block;font-size:var(--text-lg);line-height:1;font-weight:700;letter-spacing:-0.03em}.brand-copy span{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}.nav-wrap{display:flex;align-items:center;gap:var(--space-2)}.nav-toggle,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);transition:transform var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive)}.nav-toggle:hover,.theme-toggle:hover,.button:hover,.wp-block-button__link:hover{transform:translateY(-1px)}.site-nav ul,.footer-nav ul{display:flex;align-items:center;gap:var(--space-2);list-style:none;padding:0;margin:0}.site-nav a,.footer-nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 var(--space-4);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-sm)}.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current_page_item>a{background:var(--color-surface-2);color:var(--color-text)}.nav-toggle{display:none}.hero{padding:var(--space-8) 0 var(--space-10)}.hero-grid,.content-grid{display:grid;gap:var(--space-6)}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:stretch}.content-grid{grid-template-columns:1fr .9fr;margin-top:var(--space-6)}.hero-copy,.hero-card,.about-card,.contact-card,.recommendations,.entry-card{background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.hero-copy{padding:clamp(var(--space-6),3vw,var(--space-10));display:flex;flex-direction:column;justify-content:space-between}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary);font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase}h1,h2,h3{font-family:var(--font-display);line-height:1.08;letter-spacing:-.04em;margin:0 0 var(--space-3)}h1{font-size:var(--text-2xl);margin-top:var(--space-5);max-width:12ch}h2{font-size:var(--text-xl)}.hero-copy p,.about-card p,.contact-card p,.recommendations-head p,.entry-content p,.entry-content li{color:var(--color-text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 var(--space-5);border-radius:var(--radius-full);border:1px solid transparent;transition:all var(--transition-interactive);font-size:var(--text-sm);font-weight:700}.button-primary,.wp-block-button__link{background:var(--color-primary);color:var(--color-text-inverse)}.button-primary:hover,.wp-block-button__link:hover{background:var(--color-primary-hover)}.button-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.hero-card,.about-card,.contact-card,.recommendations,.entry-card{padding:var(--space-6)}.mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat,.contact-link,.quote-card{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid var(--color-divider)}.stat strong,.contact-link strong{display:block;font-size:var(--text-sm)}.stat span,.contact-link span{font-size:var(--text-xs);color:var(--color-text-muted)}.list{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.list-item{display:flex;align-items:flex-start;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.list-item:first-child{border-top:0;padding-top:0}.dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-primary);margin-top:.45rem;flex-shrink:0}.contact-methods{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.recommendations{margin-top:var(--space-6);overflow:hidden;position:relative}.recommendations-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-5)}.ticker-mask{overflow:hidden}.ticker{display:flex;gap:var(--space-4);width:max-content;animation:marquee 28s linear infinite}.recommendations:hover .ticker{animation-play-state:paused}.quote-card{width:min(360px,82vw)}.quote-card p{color:var(--color-text);font-size:var(--text-sm);margin:0}.quote-card footer{margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs)}.site-footer{border-top:1px solid var(--color-divider);padding:var(--space-6) 0 var(--space-8);background:color-mix(in srgb,var(--color-surface) 86%,transparent)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.footer-copy{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-3)}.footer-nav a{min-height:40px;padding:0 var(--space-3);background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-full);font-size:var(--text-xs)}.entry-card{max-width:860px;margin:0 auto}.entry-title{font-size:var(--text-xl)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - .75rem))}}@media (max-width:860px){.header-inner{min-height:72px}.nav-toggle{display:inline-flex}.site-nav{position:absolute;top:calc(100% + .5rem);right:1rem;left:1rem;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:none}.site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:stretch}.site-nav a{justify-content:center}.hero-grid,.content-grid{grid-template-columns:1fr}h1{max-width:14ch}}@media (max-width:640px){.site-main{padding-block:var(--space-5) var(--space-8)}.hero{padding-top:var(--space-4)}.hero-copy,.hero-card,.about-card,.contact-card,.recommendations,.entry-card{padding:var(--space-5)}.hero-actions{flex-direction:column}.button,.wp-block-button__link{width:100%}.mini-stats{grid-template-columns:1fr}.recommendations-head{align-items:flex-start;flex-direction:column}.quote-card{width:min(300px,84vw)}.ticker{animation-duration:36s}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.ticker{animation:none;overflow-x:auto;padding-bottom:var(--space-2)}}

html[data-theme="dark"] body{background:radial-gradient(circle at top right,var(--color-primary-highlight),transparent 30%),var(--color-bg)!important;}
html[data-theme="light"] body,body{background:radial-gradient(circle at top right,var(--color-primary-highlight),transparent 30%),var(--color-bg)!important;}
.site-header,.site-footer,.hero-copy,.hero-card,.about-card,.contact-card,.recommendations,.entry-card,.nav-toggle,.theme-toggle,.stat,.contact-link,.quote-card,.footer-nav a{background-color:var(--color-surface)!important;}

.about-layout{display:grid;grid-template-columns:0.8fr 1.2fr;gap:var(--space-5);align-items:start}.about-photo-wrap{background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden}.about-photo{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--color-primary-highlight)}.about-photo-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;padding:var(--space-4);text-align:center;color:var(--color-text-muted);background:var(--color-primary-highlight)}@media (max-width:860px){.about-layout{grid-template-columns:1fr}}

.quote-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.quote-text.is-expanded{-webkit-line-clamp:unset;display:block}.quote-toggle{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:0.15em}.quote-toggle:hover{color:var(--color-primary-hover)}

.quote-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:320px;max-height:320px;overflow:hidden}
.quote-body{position:relative;overflow:hidden}
.quote-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55;max-height:6.3em;padding-right:0.1em}
.quote-body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3.2em;background:linear-gradient(to bottom, rgba(249,248,245,0), var(--color-surface) 75%);pointer-events:none}
.quote-card.is-expanded{max-height:none}
.quote-card.is-expanded .quote-text{display:block;-webkit-line-clamp:unset;max-height:none}
.quote-card.is-expanded .quote-body::after{display:none}
.quote-meta{margin-top:auto;padding-top:var(--space-3)}
.quote-toggle{margin-top:var(--space-2);align-self:flex-start;font-size:var(--text-sm);color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:0.15em}
.quote-toggle.is-hidden{visibility:hidden;pointer-events:none;height:0;margin:0;padding:0}
@media (max-width:860px){.quote-card{min-height:280px;max-height:280px}}

.recommendations{padding:var(--space-6)!important}
.recommendations-head{margin-bottom:var(--space-4)!important}
.recommendations .ticker{gap:var(--space-4)!important}
.quote-card{min-height:235px!important;max-height:235px!important;padding:var(--space-4)!important;border-radius:var(--radius-md)!important}
.quote-body{margin-bottom:var(--space-2)!important}
.quote-text{-webkit-line-clamp:3!important;max-height:4.8em!important;font-size:0.98rem!important;line-height:1.45!important}
.quote-body::after{height:2.4em!important}
.quote-toggle{margin-top:var(--space-1)!important;font-size:var(--text-xs)!important}
.quote-meta{padding-top:var(--space-2)!important;font-size:var(--text-sm)!important}
@media (max-width:860px){.quote-card{min-height:210px!important;max-height:210px!important}.quote-text{font-size:0.95rem!important}}
