/*
Theme Name: De Noordboom Blog
Theme URI: https://denoordboom.be/blog
Author: De Noordboom
Author URI: https://denoordboom.be
Description: Een op maat gemaakt blogthema voor De Noordboom — gespecialiseerd in duurzame houtconstructies. Ontworpen voor leesbaarheid, conversie en SEO.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: denoordboom-blog
Tags: blog, one-column, custom-menu, featured-images, translation-ready
*/

/* ==========================================================================
   DESIGN TOKENS

   Ontwerpfilosofie: Architecturaal, structureel, eerlijk.
   Scherpe lijnen zoals houtskelet. Eerlijke materialen.
   Genereuze witruimte zoals een goed ontworpen woning.
   Geen zachte rondingen — precisie en vakmanschap.
   ========================================================================== */

:root {
  --color-forest: #2D6A2E;
  --color-forest-dark: #1B4A1C;
  --color-forest-light: #EDF4ED;
  --color-midnight: #222A32;
  --color-charcoal: #3A4550;
  --color-slate: #6B7B8D;
  --color-border: #D4D9DE;
  --color-rule: #222A32;
  --color-surface: #F4F5F6;
  --color-white: #FFFFFF;
  --color-wood: #C8A96E;
  --color-wood-light: #F5EFE0;
  --color-cta: #2D6A2E;
  --color-cta-hover: #1B4A1C;
  --color-cta-text: #FFFFFF;
  --color-link: #2D6A2E;
  --color-link-hover: #1B4A1C;
  --font-heading: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Source Serif 4', 'Georgia', 'Times New Roman', serif;
  --font-ui: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --space-xs: 0.25rem; --space-sm: 0.5rem; --space-md: 1rem;
  --space-lg: 1.5rem; --space-xl: 2rem; --space-2xl: 3rem;
  --space-3xl: 4.5rem; --space-4xl: 7rem;
  --content-width: 720px; --wide-width: 1080px; --max-width: 1280px;
  --shadow-sm: 0 1px 2px rgba(34,42,50,0.06);
  --shadow-md: 0 2px 8px rgba(34,42,50,0.08);
  --shadow-lg: 0 4px 20px rgba(34,42,50,0.1);
}

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:18px;line-height:1.75;color:var(--color-midnight);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-link);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--color-link-hover)}
::selection{background:var(--color-forest-light);color:var(--color-forest-dark)}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-midnight);font-weight:700;line-height:1.2;letter-spacing:-0.02em;margin-top:var(--space-2xl);margin-bottom:var(--space-md)}
h1{font-size:2.75rem;letter-spacing:-0.035em;line-height:1.1}
h2{font-size:1.75rem}
h3{font-size:1.35rem;font-weight:600}
h4{font-size:1.15rem;font-weight:600}
p{margin-bottom:var(--space-lg)}
blockquote{border-left:3px solid var(--color-midnight);padding:var(--space-lg) var(--space-xl);margin:var(--space-2xl) 0;background:transparent;font-style:italic;color:var(--color-charcoal)}
blockquote p:last-child{margin-bottom:0}
ul,ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}
li{margin-bottom:var(--space-sm)}
hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0}

/* LAYOUT */
.site-container{width:100%;overflow-x:hidden}
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}
.container--narrow{max-width:var(--content-width)}
.container--wide{max-width:var(--wide-width)}

/* READING PROGRESS */
.reading-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--color-forest);z-index:9999;transition:width .1s linear}

/* HEADER */
.site-header{background:var(--color-white);border-bottom:2px solid var(--color-midnight);position:sticky;top:0;z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:var(--space-md) var(--space-xl);gap:var(--space-xl)}
.site-logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;flex-shrink:0}
.site-logo svg,.site-logo img{height:36px;width:auto}
.site-logo__badge{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--color-forest);color:var(--color-forest);font-family:var(--font-ui);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}

.main-nav{display:flex;align-items:center;gap:0}
.main-nav a{font-family:var(--font-ui);font-size:.85rem;font-weight:500;color:var(--color-charcoal);padding:var(--space-sm) var(--space-md);transition:color .15s ease;white-space:nowrap;position:relative}
.main-nav a:hover{color:var(--color-midnight)}
.main-nav a.active{color:var(--color-forest)}
.main-nav a.active::after{content:'';position:absolute;bottom:-2px;left:var(--space-md);right:var(--space-md);height:2px;background:var(--color-forest)}

.header-cta{display:inline-flex;align-items:center;gap:var(--space-sm);padding:10px 20px;background:var(--color-cta);color:var(--color-cta-text)!important;font-family:var(--font-ui);font-size:.82rem;font-weight:600;letter-spacing:.01em;transition:all .15s ease;white-space:nowrap}
.header-cta:hover{background:var(--color-midnight);color:var(--color-cta-text)!important}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-sm);color:var(--color-midnight)}
.menu-toggle svg{width:24px;height:24px}
.search-toggle{background:none;border:none;cursor:pointer;padding:var(--space-sm);color:var(--color-slate);transition:color .15s ease;display:flex;align-items:center}
.search-toggle:hover{color:var(--color-midnight)}
.search-toggle svg{width:20px;height:20px}
.header-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}

/* SEARCH OVERLAY */
.search-overlay{display:none;position:fixed;inset:0;background:rgba(34,42,50,.85);z-index:10000;align-items:flex-start;justify-content:center;padding-top:15vh;backdrop-filter:blur(4px)}
.search-overlay.is-active{display:flex}
.search-overlay__inner{background:var(--color-white);padding:var(--space-xl);width:90%;max-width:600px;box-shadow:var(--shadow-lg)}
.search-overlay__form{display:flex;gap:0}
.search-overlay__input{flex:1;font-family:var(--font-ui);font-size:1.05rem;padding:var(--space-md) var(--space-lg);border:2px solid var(--color-midnight);border-right:none;outline:none;transition:border-color .15s ease}
.search-overlay__input:focus{border-color:var(--color-forest)}
.search-overlay__submit{padding:var(--space-md) var(--space-xl);background:var(--color-midnight);color:var(--color-white);border:2px solid var(--color-midnight);font-family:var(--font-ui);font-weight:600;cursor:pointer;transition:background .15s ease}
.search-overlay__submit:hover{background:var(--color-forest);border-color:var(--color-forest)}

/* HERO */
.hero-featured{position:relative;overflow:hidden;margin-bottom:var(--space-3xl);aspect-ratio:21/9;min-height:420px}
.hero-featured__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-featured__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(34,42,50,.9) 0%,rgba(34,42,50,.3) 50%,transparent 100%)}
.hero-featured__content{position:absolute;bottom:0;left:0;right:0;padding:var(--space-2xl);color:var(--color-white)}
.hero-featured__title{font-size:2.5rem;color:var(--color-white);margin-top:var(--space-md);margin-bottom:var(--space-md);max-width:700px}
.hero-featured__title a{color:var(--color-white)}
.hero-featured__title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.hero-featured__excerpt{font-family:var(--font-body);font-size:1.05rem;line-height:1.6;opacity:.85;max-width:580px;margin-bottom:var(--space-md)}
.hero-featured__meta{display:flex;align-items:center;gap:var(--space-md);font-family:var(--font-ui);font-size:.82rem;opacity:.7;letter-spacing:.02em}

/* CATEGORY PILL */
.category-pill{display:inline-flex;align-items:center;padding:4px 10px;background:var(--color-forest);color:var(--color-white);font-family:var(--font-ui);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;transition:background .15s ease}
.category-pill:hover{background:var(--color-midnight);color:var(--color-white)}
.category-pill--light{background:transparent;color:var(--color-forest);border:1px solid var(--color-forest)}
.category-pill--light:hover{background:var(--color-forest);color:var(--color-white)}

/* ARTICLE CARDS */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-bottom:var(--space-2xl)}
.article-card{display:flex;flex-direction:column;background:var(--color-white);border:1px solid var(--color-border);transition:border-color .2s ease}
.article-card:hover{border-color:var(--color-midnight)}
.article-card__image-wrap{position:relative;aspect-ratio:3/2;overflow:hidden}
.article-card__image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.article-card:hover .article-card__image{transform:scale(1.04)}
.article-card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-lg)}
.article-card__category{margin-bottom:var(--space-sm)}
.article-card__title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;line-height:1.3;color:var(--color-midnight);margin:0 0 var(--space-sm)}
.article-card__title a{color:inherit}
.article-card__title a:hover{color:var(--color-forest)}
.article-card__excerpt{font-size:.9rem;color:var(--color-charcoal);line-height:1.6;margin-bottom:var(--space-md);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-card__meta{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-ui);font-size:.78rem;color:var(--color-slate);padding-top:var(--space-md);border-top:1px solid var(--color-border);letter-spacing:.01em}
.article-card__meta-sep::before{content:"·";margin:0 2px}

/* SECTION HEADERS */
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-rule)}
.section-header__title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--color-midnight);margin:0;text-transform:uppercase;letter-spacing:.06em}
.section-header__link{font-family:var(--font-ui);font-size:.82rem;font-weight:500;color:var(--color-forest);letter-spacing:.01em}
.section-header__link:hover{color:var(--color-forest-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* CTA BANNER */
.cta-banner{background:var(--color-midnight);padding:var(--space-3xl) var(--space-2xl);text-align:center;margin:var(--space-3xl) 0;position:relative}
.cta-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-forest)}
.cta-banner__title{font-family:var(--font-heading);font-size:1.75rem;color:var(--color-white);margin:0 0 var(--space-md)}
.cta-banner__text{color:rgba(255,255,255,.7);font-size:1.05rem;max-width:520px;margin:0 auto var(--space-xl);line-height:1.65}
.cta-banner__button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:14px 36px;background:var(--color-forest);color:var(--color-white)!important;font-family:var(--font-ui);font-size:.92rem;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;transition:all .15s ease;text-decoration:none}
.cta-banner__button:hover{background:var(--color-white);color:var(--color-midnight)!important}

/* CTA INLINE */
.cta-inline{border-left:3px solid var(--color-forest);padding:var(--space-xl);margin:var(--space-2xl) 0;background:var(--color-forest-light)}
.cta-inline__text{font-family:var(--font-ui);font-size:.95rem;color:var(--color-midnight);margin-bottom:var(--space-md);line-height:1.6}
.cta-inline__button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:10px 22px;background:var(--color-forest);color:var(--color-white)!important;font-family:var(--font-ui);font-size:.88rem;font-weight:600;text-decoration:none;transition:all .15s ease}
.cta-inline__button:hover{background:var(--color-midnight);color:var(--color-white)!important}

/* NEWSLETTER */
.newsletter-section{background:var(--color-surface);padding:var(--space-3xl) var(--space-2xl);text-align:center;margin:var(--space-3xl) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.newsletter-section__title{font-family:var(--font-heading);font-size:1.35rem;color:var(--color-midnight);margin:0 0 var(--space-sm)}
.newsletter-section__text{color:var(--color-charcoal);font-size:1rem;max-width:460px;margin:0 auto var(--space-xl)}
.newsletter-form{display:flex;gap:0;max-width:460px;margin:0 auto}
.newsletter-form__input{flex:1;padding:12px 16px;border:2px solid var(--color-border);border-right:none;font-family:var(--font-ui);font-size:.92rem;outline:none;transition:border-color .15s ease}
.newsletter-form__input:focus{border-color:var(--color-forest)}
.newsletter-form__button{padding:12px 24px;background:var(--color-forest);color:var(--color-white);border:2px solid var(--color-forest);font-family:var(--font-ui);font-weight:600;font-size:.92rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}
.newsletter-form__button:hover{background:var(--color-midnight);border-color:var(--color-midnight)}
.newsletter-form__privacy{font-family:var(--font-ui);font-size:.75rem;color:var(--color-slate);margin-top:var(--space-md)}
.newsletter-form__privacy a{color:var(--color-slate);text-decoration:underline;text-underline-offset:2px}

/* SINGLE ARTICLE */
.article-header{max-width:var(--content-width);margin:0 auto;padding:var(--space-2xl) var(--space-xl) var(--space-xl)}
.article-header__category{margin-bottom:var(--space-md)}
.article-header__title{font-size:2.75rem;line-height:1.1;letter-spacing:-0.035em;margin:0 0 var(--space-lg)}
.article-header__meta{display:flex;align-items:center;gap:var(--space-md);font-family:var(--font-ui);font-size:.88rem;color:var(--color-slate);flex-wrap:wrap;padding-top:var(--space-lg);border-top:1px solid var(--color-border)}
.article-header__meta-sep::before{content:"·"}
.article-header__author-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}

.article-featured-image{max-width:var(--wide-width);margin:0 auto var(--space-2xl);padding:0 var(--space-xl)}
.article-featured-image img{width:100%}
.article-featured-image figcaption{font-family:var(--font-ui);font-size:.78rem;color:var(--color-slate);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}

.article-body{max-width:var(--content-width);margin:0 auto;padding:0 var(--space-xl) var(--space-2xl)}
.article-body h2{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}
.article-body h3{margin-top:var(--space-2xl)}
.article-body img{margin:var(--space-xl) 0}
.article-body figure{margin:var(--space-xl) 0}
.article-body figure img{margin:0}
.article-body figcaption{font-family:var(--font-ui);font-size:.78rem;color:var(--color-slate);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}
.article-body a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:hover{text-decoration-thickness:2px}

/* BREADCRUMBS */
.breadcrumbs{font-family:var(--font-ui);font-size:.78rem;color:var(--color-slate);max-width:var(--content-width);margin:var(--space-xl) auto 0;padding:0 var(--space-xl);letter-spacing:.02em}
.breadcrumbs a{color:var(--color-slate)}
.breadcrumbs a:hover{color:var(--color-forest)}
.breadcrumbs__sep{margin:0 var(--space-sm);opacity:.4}

/* AUTHOR BOX */
.author-box{display:flex;align-items:flex-start;gap:var(--space-xl);max-width:var(--content-width);margin:var(--space-2xl) auto;padding:var(--space-xl);border:1px solid var(--color-border);background:var(--color-surface)}
.author-box__avatar{width:64px;height:64px;object-fit:cover;flex-shrink:0}
.author-box__name{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-midnight);margin-bottom:var(--space-xs)}
.author-box__bio{font-size:.88rem;color:var(--color-charcoal);line-height:1.6}

/* SHARE BUTTONS */
.share-buttons{display:flex;align-items:center;gap:var(--space-sm);max-width:var(--content-width);margin:0 auto var(--space-xl);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.share-buttons__label{font-family:var(--font-ui);font-size:.82rem;font-weight:600;color:var(--color-slate);text-transform:uppercase;letter-spacing:.08em;margin-right:var(--space-sm)}
.share-buttons__link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);color:var(--color-charcoal);transition:all .15s ease}
.share-buttons__link:hover{background:var(--color-midnight);border-color:var(--color-midnight);color:var(--color-white)}
.share-buttons__link svg{width:16px;height:16px}

/* RELATED POSTS */
.related-posts{max-width:var(--wide-width);margin:0 auto var(--space-3xl);padding:var(--space-3xl) var(--space-xl) 0}
.related-posts__title{font-family:var(--font-heading);font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-xl);padding-bottom:var(--space-md);border-bottom:2px solid var(--color-rule)}

/* PAGINATION */
.pagination{display:flex;justify-content:center;gap:0;margin:var(--space-2xl) 0;font-family:var(--font-ui)}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 var(--space-md);font-size:.88rem;font-weight:500;transition:all .15s ease;border:1px solid var(--color-border);margin-left:-1px}
.pagination a{background:var(--color-white);color:var(--color-charcoal)}
.pagination a:hover{background:var(--color-surface);color:var(--color-midnight);z-index:1}
.pagination .current{background:var(--color-midnight);border-color:var(--color-midnight);color:var(--color-white);z-index:1}

/* FOOTER */
.site-footer{background:var(--color-midnight);color:rgba(255,255,255,.6);padding:var(--space-4xl) 0 var(--space-xl);margin-top:var(--space-4xl);border-top:4px solid var(--color-forest)}
.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-2xl);margin-bottom:var(--space-3xl)}
.footer-col__title{font-family:var(--font-heading);font-size:.72rem;font-weight:700;color:var(--color-white);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.15)}
.footer-col p{font-size:.88rem;line-height:1.7;margin-bottom:var(--space-sm)}
.footer-col a{color:rgba(255,255,255,.6);font-family:var(--font-ui);font-size:.88rem;display:block;padding:var(--space-xs) 0;transition:color .15s ease}
.footer-col a:hover{color:var(--color-white)}
.footer-logo{height:32px;width:auto;margin-bottom:var(--space-lg);opacity:.85}
.footer-bar{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-ui);font-size:.78rem;flex-wrap:wrap;gap:var(--space-md)}
.footer-bar a{display:inline;padding:0;font-size:.78rem}
.footer-social{display:flex;gap:var(--space-md)}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);padding:0;transition:all .15s ease}
.footer-social a:hover{background:var(--color-forest);border-color:var(--color-forest);color:var(--color-white)}
.footer-social svg{width:15px;height:15px}

/* MOBILE CTA */
.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:900;padding:var(--space-md) var(--space-xl);background:var(--color-white);border-top:2px solid var(--color-midnight)}
.mobile-cta__button{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;background:var(--color-forest);color:var(--color-white)!important;font-family:var(--font-ui);font-weight:600;font-size:.95rem;border:none;text-decoration:none;cursor:pointer;letter-spacing:.01em}

/* ARCHIVE */
.archive-header{padding:var(--space-3xl) var(--space-xl) var(--space-2xl);border-bottom:2px solid var(--color-rule);margin-bottom:var(--space-2xl)}
.archive-header__label{font-family:var(--font-ui);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-slate);margin-bottom:var(--space-sm)}
.archive-header__title{font-size:2.75rem;margin:0 0 var(--space-md)}
.archive-header__description{max-width:540px;color:var(--color-charcoal);font-size:1.05rem}

/* 404 */
.page-404{text-align:center;padding:var(--space-4xl) var(--space-xl);max-width:var(--content-width);margin:0 auto}
.page-404__code{font-family:var(--font-heading);font-size:8rem;font-weight:700;color:var(--color-border);line-height:1;margin-bottom:var(--space-md);letter-spacing:-0.05em}
.page-404__title{font-size:2rem;margin:0 0 var(--space-md)}
.page-404__text{color:var(--color-charcoal);margin-bottom:var(--space-2xl)}

/* RESPONSIVE */
@media(max-width:1024px){
  .articles-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .hero-featured__title{font-size:2rem}
}
@media(max-width:768px){
  body{font-size:17px}
  h1,.article-header__title{font-size:2rem}
  h2{font-size:1.4rem}
  .main-nav{display:none;position:fixed;inset:0;top:65px;background:var(--color-white);flex-direction:column;padding:var(--space-xl);gap:0;z-index:999;border-top:2px solid var(--color-midnight)}
  .main-nav.is-active{display:flex}
  .main-nav a{font-size:1.05rem;padding:var(--space-md);border-bottom:1px solid var(--color-border)}
  .menu-toggle{display:flex}
  .header-cta--desktop{display:none}
  .articles-grid{grid-template-columns:1fr;gap:var(--space-lg)}
  .hero-featured{aspect-ratio:4/3;min-height:300px}
  .hero-featured__content{padding:var(--space-lg)}
  .hero-featured__title{font-size:1.5rem}
  .hero-featured__excerpt{display:none}
  .footer-grid{grid-template-columns:1fr;gap:var(--space-xl)}
  .mobile-cta{display:block}
  .single .site-container{padding-bottom:80px}
  .newsletter-form{flex-direction:column}
  .newsletter-form__input{border-right:2px solid var(--color-border);border-bottom:none}
  .section-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}
  .cta-banner{padding:var(--space-2xl) var(--space-lg)}
  .cta-banner__title{font-size:1.35rem}
  .container{padding:0 var(--space-lg)}
  .author-box{flex-direction:column;align-items:center;text-align:center}
  .archive-header{padding:var(--space-2xl) var(--space-lg) var(--space-xl)}
  .archive-header__title{font-size:2rem}
  .share-buttons{flex-wrap:wrap}
}
@media(max-width:480px){
  h1,.article-header__title{font-size:1.65rem}
  .page-404__code{font-size:5rem}
}

/* WORDPRESS CLASSES */
.alignleft{float:left;margin:0 var(--space-xl) var(--space-lg) 0}
.alignright{float:right;margin:0 0 var(--space-lg) var(--space-xl)}
.aligncenter{display:block;margin:var(--space-xl) auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-family:var(--font-ui);font-size:.78rem;color:var(--color-slate);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute;height:1px;width:1px;overflow:hidden}
.article-body .alignwide{max-width:var(--wide-width);margin-left:calc((var(--content-width) - var(--wide-width))/2);margin-right:calc((var(--content-width) - var(--wide-width))/2);width:auto}
.article-body .alignfull{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
