/* ==========================================================================
   Euromaas Industrial Stairs — theme styles (header, footer, base).
   Section styles for Elementor widgets live in the Euromaas Elementor Kit plugin.
   Colours can be changed in Weergave → Customizer → Euromaas instellingen → Merkkleuren.
   ========================================================================== */

:root{--navy:#0b2c53;--navy2:#09213f;--blue:#1557a0;--cyan:#00a7e1;--ink:#12243a;--muted:#637286;--line:#dce4ec;--pale:#f3f7fa;--white:#fff;--radius:5px;--max:1240px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif;background:#fff}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
img{display:block;max-width:100%;height:auto}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:#fff;color:var(--navy);padding:10px 14px;font-weight:700}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--cyan);margin:0 0 18px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.section{padding:82px 0}
.notice{font-size:13px;padding:12px 14px;background:#e9f8fd;border-left:3px solid var(--cyan);color:#274158;margin-top:18px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;background:var(--cyan);color:#062643;border:0;border-radius:3px;font-weight:800;cursor:pointer;transition:.18s ease;text-decoration:none}
.btn:hover{background:#31b9ea;transform:translateY(-1px)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:#17477b;color:#fff}
.btn-outline{background:transparent;color:#fff;border:1px solid #a9bfd5}
.btn-outline:hover{background:#ffffff18;color:#fff}

/* Topbar */
.topbar{background:var(--navy2);color:#d5e1ed;font-size:13px}
.topbar .container{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar a:hover{color:#fff}

/* Header */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e6ebf0}
.admin-bar .header{top:32px}
.headrow{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:800;letter-spacing:.015em;white-space:nowrap}
.brandmark{width:42px;height:42px;background:var(--navy);color:var(--cyan);display:grid;place-items:center;border-radius:3px;flex:none}
.brandmark svg{width:28px;height:28px}
.brand small{display:block;font-weight:500;color:#6c7b8e;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.1}
.brand b{font-size:16px;line-height:1.2;display:block}
.brand-logo img{max-height:56px;width:auto}
.footer .brand{color:#fff}

/* Navigation */
.nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700;color:#35465b}
.nav a{padding:29px 0;border-bottom:3px solid transparent;white-space:nowrap}
.nav a:hover,.nav a.active{color:var(--blue);border-color:var(--cyan)}
.nav-drop{position:relative}
.nav-drop summary{list-style:none;cursor:pointer;padding:29px 0;border-bottom:3px solid transparent;white-space:nowrap}
.nav-drop summary::-webkit-details-marker{display:none}
.nav-drop summary:after{content:'⌄';font-size:12px;margin-left:6px;color:var(--cyan)}
.nav-drop[open] summary,.nav-drop.active summary{color:var(--blue);border-color:var(--cyan)}
.submenu{position:absolute;z-index:15;top:100%;left:-16px;min-width:220px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 24px #071b3218;padding:8px;display:grid}
.submenu a{padding:10px 12px;border:0!important;color:#35465b}
.submenu a:hover,.submenu a.active{background:var(--pale);color:var(--blue)}
.nav-mobile-cta{display:none}
.mobile-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 13px;color:var(--navy);font-weight:700;cursor:pointer}
.nav .btn.nav-mobile-cta{padding:0 20px;border:0}

/* Page hero (normal pages, 404, archives) */
.page-hero{background:var(--navy);color:#fff;padding:66px 0 72px;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-40px;top:-150px;width:520px;height:520px;border:1px solid #ffffff20;transform:rotate(45deg);box-shadow:0 0 0 36px #ffffff05,0 0 0 72px #ffffff05;pointer-events:none}
.page-hero h1{font-size:52px;letter-spacing:-.045em;line-height:1.02;margin:0 0 22px;max-width:780px;position:relative;z-index:1}
.page-hero p{position:relative;z-index:1;max-width:670px;color:#d5e2ec;font-size:18px;margin:0}
.crumb{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--cyan);margin-bottom:17px;font-weight:800;position:relative;z-index:1}

/* Text pages (Gutenberg/classic content) */
.prose{max-width:860px}
.prose p,.prose li{color:var(--muted);font-size:17px}
.prose h2,.prose h3{color:var(--navy);letter-spacing:-.02em;line-height:1.2}
.prose h2{font-size:30px;margin:1.6em 0 .5em}
.prose a{color:var(--blue);text-decoration:underline}
.prose img{height:auto}

/* Post list */
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.post-card{border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;transition:.2s}
.post-card:hover{border-color:#8ab8d2;box-shadow:0 12px 28px #102b4410;transform:translateY(-2px)}
.post-card .num{font-size:12px;color:var(--cyan);font-weight:800;letter-spacing:.14em}
.post-card h3{color:var(--navy);font-size:22px;line-height:1.2;margin:15px 0 8px}
.post-card p{color:var(--muted);margin:0 0 20px}
.text-link{margin-top:auto;color:var(--blue);font-weight:800;font-size:14px}
.text-link:after{content:'  ›';color:var(--cyan);font-size:20px;vertical-align:-1px}

/* Footer */
.footer{background:#071b32;color:#d4e0eb;padding:54px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.footer p,.footer a{color:#b8c7d6}
.footer a:hover{color:#fff}
.footer h4{color:#fff;margin:4px 0 14px}
.footer-links{display:grid;gap:8px;font-size:14px}
.footnote{border-top:1px solid #ffffff20;margin-top:40px;padding-top:18px;color:#8fa3b7;font-size:12px;display:flex;justify-content:space-between}
.footnote a{color:#8fa3b7}

/* Responsive */
@media(max-width:1100px){
	.nav{gap:18px;font-size:14px}
	.headrow>.btn{display:none}
	.nav-mobile-cta{display:flex}
}
@media(max-width:1000px){
	.nav{gap:14px;font-size:13px}
	.post-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:782px){
	.admin-bar .header{top:46px}
}
@media(max-width:760px){
	.container{width:min(100% - 32px,var(--max))}
	.topbar .container{justify-content:center}
	.topbar .top-right{display:none}
	.headrow{height:70px}
	.mobile-toggle{display:block}
	.nav{display:none;position:absolute;top:70px;left:-16px;right:-16px;background:#fff;padding:8px 20px 20px;box-shadow:0 12px 18px #071b3215;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 70px);overflow:auto}
	.nav.open{display:flex}
	.nav a{padding:12px 4px;border-bottom:1px solid #edf1f4}
	.nav-drop{border-bottom:1px solid #edf1f4}
	.nav-drop summary{padding:12px 4px;border:0}
	.nav-drop .submenu{position:static;box-shadow:none;border:0;border-top:1px solid var(--line);padding:2px 0 8px 12px}
	.nav-drop .submenu a{display:block;padding:10px 4px;border:0}
	.nav-mobile-cta{margin-top:14px}
	.section{padding:62px 0}
	.page-hero{padding:48px 0}
	.page-hero h1{font-size:42px}
	.footer-grid,.post-list{grid-template-columns:1fr;gap:28px}
	.footnote{display:block}
	.footnote span{display:block;margin-top:7px}
}
@media(max-width:600px){
	.admin-bar .header{top:0}
}
@media(max-width:420px){
	.brand b{font-size:14px}
	.brandmark{width:37px;height:37px}
	.actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.btn,.post-card{transition:none}
}
