/*
Theme Name: VW Aircooled Modern Heritage
Author: VW Aircooled Club
Description: Photography-first editorial WordPress theme for an independent aircooled VW club.
Version: 2.3.31
Requires PHP: 7.4
Text Domain: vw-modern-heritage
*/
:root{--blue:#14529D;--slate:#243746;--muted:#687987;--light:#F5F6F7;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--slate);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:var(--blue)}img{max-width:100%;height:auto}.wrap{max-width:1200px;margin:auto;padding:0 24px}.site-header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8ebef}.navline{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:80px}.brand{font-weight:800;font-size:1.2rem;letter-spacing:.04em;text-decoration:none;color:var(--slate)}.brand span{color:var(--blue)}.menu{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.menu a{text-decoration:none;color:var(--slate);font-weight:600}.menu a:hover{color:var(--blue)}.hero{min-height:540px;background:linear-gradient(90deg,rgba(12,30,47,.82),rgba(12,30,47,.18)),var(--slate);background-size:cover;background-position:center;display:flex;align-items:center;color:white}.hero h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.05;max-width:850px;margin:0 0 24px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800}.hero p{max-width:600px;font-size:1.2rem}.btn{display:inline-block;padding:13px 23px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;margin-top:12px}.btn:hover{background:#0d3b74}.section{padding:80px 0}.section.alt{background:var(--light)}.section h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin:10px 0 30px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{background:white;border:1px solid #e6e9ec}.card img{width:100%;height:240px;object-fit:cover}.card-content{padding:24px}.card h3{margin:0 0 8px;font-size:1.4rem}.card h3 a{text-decoration:none;color:var(--slate)}.meta{font-size:.85rem;color:var(--muted)}.statement{background:var(--blue);color:white;padding:100px 0;text-align:center}.statement h2{font-size:clamp(2.3rem,5vw,4.6rem);margin:0}.site-footer{background:var(--slate);color:#fff;padding:45px 0}.site-footer a{color:#fff}.article{max-width:820px;margin:70px auto;padding:0 24px}.article h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.12}.article img{height:auto}.archive-title{padding:60px 0 30px}.pagination{padding:35px 0}@media(max-width:800px){.navline{align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:18px}.menu{gap:14px}.cards{grid-template-columns:1fr}.hero{min-height:440px}.section{padding:55px 0}}
/* Panoramic illustrated homepage hero */
.hero-art{width:100%;background:#f5f0e6;line-height:0;overflow:hidden}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain}
.hero-intro{min-height:320px;padding:55px 0;background:var(--slate);color:white}
.hero-intro h1{font-size:clamp(2.5rem,5vw,4.6rem)}
@media(max-width:800px){.hero-intro{min-height:280px;padding:45px 0}}

/* Custom club logo */
.custom-logo-link{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}
.custom-logo{display:block;width:auto;max-width:100%;height:80px;object-fit:contain}
@media(max-width:800px){.custom-logo{height:64px}.navline{gap:12px}}

/* v1.3: wider club identity header */
.header-wide{max-width:none;width:100%;padding:12px clamp(24px,3.2vw,60px);min-height:124px}
.header-identity{display:flex;align-items:center;gap:22px;min-width:0}
.header-identity .custom-logo{height:100px;width:auto;max-width:100px;object-fit:contain}
.club-wordmark{display:flex;flex-direction:column;text-decoration:none;color:var(--slate);line-height:1.12;white-space:nowrap}
.club-name{font-size:clamp(1.1rem,1.5vw,1.55rem);font-weight:800;letter-spacing:.015em}
.club-subtitle{font-size:.69rem;letter-spacing:.16em;color:var(--blue);font-weight:700;margin-top:8px}
.header-wide nav{margin-left:auto}
.header-wide .menu{justify-content:flex-end}
@media(max-width:800px){.header-wide{min-height:0;align-items:stretch;gap:14px;padding:12px 20px}.header-identity{gap:14px}.header-identity .custom-logo{height:72px;max-width:72px}.club-name{font-size:1.05rem}.club-subtitle{font-size:.59rem;margin-top:5px}.header-wide nav{margin-left:0}.header-wide .menu{justify-content:flex-start}}
@media(max-width:370px){.header-identity .custom-logo{height:60px;max-width:60px}.club-name{font-size:.94rem}}

/* v1.4: adjustable uncropped panoramic artwork */
.hero-art{display:flex;justify-content:center;align-items:center;width:100%;overflow:hidden;background:#f5f0e6}
.hero-art img{display:block;width:100%;max-width:var(--vw-hero-width,1200px);height:auto;object-fit:contain}
@media(max-width:800px){.hero-art img{max-width:100%}}

/* v1.5: full-bleed, sky-cropped illustration and one-line club name */
.club-name{white-space:nowrap}
.hero-art{display:block;width:100%;height:var(--vw-hero-height,520px);overflow:hidden;background:#f5f0e6}
.hero-art img{display:block;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center bottom}
@media(max-width:1100px){
 .club-name{font-size:clamp(.95rem,1.8vw,1.3rem)}
}
@media(max-width:800px){
 .club-name{white-space:normal;overflow-wrap:normal}
 .hero-art{height:auto}
 .hero-art img{width:100%;height:auto;object-fit:contain}
}

/* v1.6: compact, single-line editorial hero headline */
.hero-intro{min-height:0;padding:48px 0 52px}
.hero-intro h1{font-size:clamp(2rem,3.05vw,50px);line-height:1.12;max-width:none;letter-spacing:-.025em;margin:6px 0 20px}
@media(min-width:1000px){.hero-intro h1{white-space:nowrap}}
@media(max-width:800px){.hero-intro{min-height:0;padding:38px 0 44px}.hero-intro h1{font-size:clamp(2rem,6vw,3rem);white-space:normal}}

/* v1.7: photo-led upcoming event feature */
.next-event-section{padding-top:76px;padding-bottom:86px}
.next-event-section h2{margin-bottom:30px}
.next-event-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--light);overflow:hidden;min-height:400px}
.next-event-details{padding:clamp(28px,4.5vw,64px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.next-event-label{color:var(--blue)}
.next-event-details h3{font-size:clamp(1.9rem,3vw,3rem);line-height:1.13;letter-spacing:-.025em;margin:12px 0 22px}
.next-event-details h3 a{text-decoration:none;color:var(--slate)}
.next-event-details h3 a:hover{color:var(--blue)}
.next-event-meta{color:#526b7b;font-size:1rem;margin:0 0 9px;line-height:1.5}
.next-event-meta span[aria-hidden="true"]{margin-right:5px}
.next-event-summary{margin:16px 0 8px;color:#52616c;max-width:52ch}
.next-event-button{margin-top:22px}
.next-event-photo{display:block;min-height:400px;overflow:hidden;line-height:0}
.next-event-photo img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;transition:transform .35s ease}
.next-event-photo:hover img{transform:scale(1.025)}
.next-event-feature.no-photo{grid-template-columns:1fr;min-height:0}
.next-event-feature.no-photo .next-event-details{padding:45px 55px}
.next-event-empty{padding-bottom:65px}
@media(max-width:800px){
 .next-event-section{padding-top:52px;padding-bottom:60px}
 .next-event-feature{grid-template-columns:1fr;min-height:0}
 .next-event-details,.next-event-feature.no-photo .next-event-details{padding:30px 26px}
 .next-event-photo,.next-event-photo img{min-height:0;height:auto}
 .next-event-photo img{aspect-ratio:16/10;object-fit:cover}
}
@media(prefers-reduced-motion:reduce){.next-event-photo img{transition:none}}

/* v1.8: event detail and upcoming/past archive */
.event-page-header{padding-top:65px;padding-bottom:28px}
.event-page-header .eyebrow{color:var(--blue)}
.event-page-header h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08;letter-spacing:-.035em;margin:12px 0 22px}
.event-page-meta{display:flex;flex-wrap:wrap;gap:12px 28px;color:#526b7b;font-weight:600}
.event-page-cover img{display:block;width:100%;max-height:600px;object-fit:cover}
.event-page-body{padding-top:42px;padding-bottom:80px}
.event-page-copy{max-width:850px;font-size:1.08rem}
.event-page-copy > *{max-width:100%}
.event-page-copy .wp-block-gallery{max-width:none;gap:14px}
.event-page-copy .wp-block-gallery img{display:block;object-fit:cover}
.event-page-copy .wp-block-image img{height:auto}
.event-page-copy figcaption{font-size:.88rem;color:var(--muted)}
.event-page-note{font-size:.9rem;color:var(--muted);margin-top:45px}
.event-page-back{margin-top:36px;font-weight:700}
.events-archive-section{padding-top:38px;padding-bottom:75px}
.events-archive-section h2{margin-top:0}
.event-card .meta{margin:5px 0}
@media(max-width:800px){
 .event-page-header{padding-top:42px}
 .event-page-body{padding-top:25px;padding-bottom:50px}
 .event-page-copy{font-size:1rem}
}

/* v1.9: compact event covers with optional uncropped mode */
.event-page-cover{overflow:hidden}
.event-page-cover img{
  display:block;
  width:100%;
  height:420px;
  max-height:none;
  object-fit:cover;
  object-position:center center;
}
.event-page-cover--contain{
  background:#f5f6f7;
}
.event-page-cover--contain img{
  height:auto;
  max-height:600px;
  object-fit:contain;
  margin-inline:auto;
  width:auto;
  max-width:100%;
}
@media(max-width:800px){
  .event-page-cover img{height:260px}
  .event-page-cover--contain img{height:auto;max-height:420px}
}

/* v1.9.2: align hero introduction to the same 1200px content grid as Next event. */
.hero-intro > .wrap { width: 100%; }

/* v2.0: photography-first Garage cards and car profiles */
.garage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.garage-card{min-width:0}
.garage-card-image{display:block;aspect-ratio:3/2;overflow:hidden;background:#e7eaed;text-decoration:none}
.garage-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.garage-card-image:hover img{transform:scale(1.035)}
.garage-card-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:800;font-size:3rem;color:#8e9ba4}
.garage-card-info{padding:17px 0 5px}
.garage-card-info h3{font-size:1.5rem;line-height:1.25;margin:0 0 5px}
.garage-card-info h3 a{text-decoration:none;color:var(--slate)}
.garage-card-info h3 a:hover{color:var(--blue)}
.garage-card-year{font-size:.95rem;color:var(--muted);margin:0 0 12px}
.garage-card-link{font-size:.91rem;font-weight:700;text-decoration:none}
.garage-all-link{margin-top:32px}
.garage-archive-header h1{font-size:clamp(2.5rem,5vw,4rem);margin:8px 0}
.garage-archive{padding-top:20px}
.garage-profile-header{padding-top:62px;padding-bottom:28px}
.garage-profile-header .eyebrow{color:var(--blue)}
.garage-profile-header h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;letter-spacing:-.03em;margin:12px 0}
.garage-profile-year{color:var(--muted);font-size:1.15rem;margin:0}
.garage-profile-cover img{display:block;width:100%;height:clamp(270px,38vw,560px);object-fit:cover}
.garage-profile-main{padding-top:45px;padding-bottom:75px}
.garage-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:18px;margin:0 0 38px;padding:25px;background:var(--light)}
.garage-specs div{min-width:0}.garage-specs dt{font-size:.77rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:700}
.garage-specs dd{margin:5px 0 0;font-size:1.08rem;font-weight:700;overflow-wrap:anywhere}
.garage-profile-story{max-width:850px;font-size:1.08rem}
.garage-profile-story .wp-block-gallery{gap:14px}
.garage-profile-back{margin-top:38px;font-weight:700}
@media(max-width:800px){.garage-grid{grid-template-columns:1fr;gap:32px}.garage-profile-header{padding-top:40px}.garage-profile-main{padding-top:28px}.garage-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.garage-card-image img{transition:none}}

/* v2.1: unified News archive and article presentation */
.news-archive{padding-bottom:80px}
.news-archive .archive-title h1{font-size:clamp(2.5rem,5vw,4rem);margin:8px 0}
.news-archive .card img,.news-home .card img{display:block;aspect-ratio:3/2;height:auto;object-fit:cover}
.news-archive .card-content,.news-home .card-content{padding:22px}
.news-archive .card-content h3,.news-home .card-content h3{line-height:1.25}
.news-archive .pagination{padding:35px 0 0}
.news-article-header{padding-top:62px;padding-bottom:28px}
.news-article-header .eyebrow{color:var(--blue)}
.news-article-header h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;letter-spacing:-.03em;margin:12px 0}
.news-article-cover img{display:block;width:100%;height:clamp(260px,38vw,520px);object-fit:cover}
.news-article-body{padding-top:38px;padding-bottom:75px}
.news-article-copy{max-width:850px;font-size:1.08rem}
.news-article-copy .wp-block-gallery{gap:14px}
.news-article-back{margin-top:36px;font-weight:700}
.news-all-link{margin-top:32px}
@media(max-width:800px){.news-article-header{padding-top:40px}.news-article-body{padding-top:25px;padding-bottom:50px}.news-article-copy{font-size:1rem}}

/* v2.1.1: consistent archive heading typography across Articles, Garage and Events */
.news-archive .archive-title h1,
.garage-archive-header h1,
.events-archive-header h1 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:700;
  line-height:1.15;
  letter-spacing:normal;
  margin:8px 0;
}

/* v2.2: 20% larger logo overlapping the header border; no other layout changes */
@media(min-width:801px){
 .header-identity .custom-logo{height:120px;max-width:120px;width:auto}
 .header-identity .custom-logo-link{position:relative;z-index:2;transform:translateY(54px)}
}
@media(max-width:800px){
 .header-identity .custom-logo{height:86.4px;max-width:86.4px;width:auto}
 .header-identity .custom-logo-link{position:relative;z-index:2;transform:translateY(14px)}
}
@media(max-width:370px){.header-identity .custom-logo{height:72px;max-width:72px}}
.site-header{overflow:visible}

/* v2.2.1: wordmark only — shift right 24px and increase title to 30px. */
@media(min-width:801px){
 .header-identity{gap:46px}
 .club-name{font-size:30px}
}

/* v2.2.2: header top 20px above logo, preserving 120px badge and ~54px overlap. */
@media (min-width:801px) {
  .header-wide { min-height:86px; padding-top:0; padding-bottom:0; }
  .header-identity .custom-logo-link { transform:translateY(37px); }
}

/* v2.2.4: 10px above badge, same 120px badge and 54px overlap. */
@media(min-width:801px){
  .header-wide{min-height:76px}
  .header-identity .custom-logo-link{transform:translateY(32px)}
}
/* Social links only; no impact on other page components. */
.header-wide .header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}
.header-wide .header-actions nav{margin-left:0}
.header-social{display:flex;align-items:center;gap:12px}
.header-social:not(:empty){border-left:1px solid #dce3e9;padding-left:16px}
.social-link{display:inline-flex;align-items:center;justify-content:center;color:var(--blue);width:22px;height:24px;text-decoration:none}
.social-link:hover,.social-link:focus-visible{color:#0d3b74}
.social-link svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.footer-social{display:flex;align-items:center;gap:16px;margin-top:18px}
.site-footer .footer-social .social-link{color:#fff;width:26px;height:28px}
.site-footer .footer-social .social-link svg{width:23px;height:23px}
@media(max-width:800px){
  .header-wide .header-actions{margin-left:0;flex-wrap:wrap;gap:14px}
  .header-social:not(:empty){padding-left:14px}
}

/* v2.2.5: homepage-only vertical section spacing adjustments. */
body.home .hero-intro{padding-top:36px;padding-bottom:40px}
body.home .next-event-section{padding-top:60px;padding-bottom:64px}
body.home .garage-home,body.home .news-home,body.home .section.alt:not(.garage-home){padding-top:60px;padding-bottom:60px}
body.home .statement{padding-top:75px;padding-bottom:75px}
body.home .site-footer{padding-top:36px;padding-bottom:36px}
@media(max-width:800px){
 body.home .hero-intro{padding-top:30px;padding-bottom:34px}
 body.home .next-event-section{padding-top:42px;padding-bottom:48px}
 body.home .garage-home,body.home .news-home,body.home .section.alt:not(.garage-home){padding-top:45px;padding-bottom:45px}
 body.home .statement{padding-top:60px;padding-bottom:60px}
}

/* v2.3.0: compact bilingual flag switcher; preserve 76px desktop header. */
.vw-language-flags{display:flex;align-items:center;gap:5px;border-left:1px solid #dce3e9;padding-left:12px;flex-shrink:0}
.vw-language-flag{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid transparent;border-radius:4px;text-decoration:none;font-size:19px;line-height:1;opacity:.7;transition:opacity .15s ease,background .15s ease}
.vw-language-flag.is-active{opacity:1;background:#edf2f6;border-color:#d4e0ea}
.vw-language-flag:hover,.vw-language-flag:focus-visible{opacity:1;background:#edf2f6}
@media(max-width:800px){.vw-language-flags{padding-left:10px}.vw-language-flag{width:27px;height:27px}}

/* v2.3.1: fluid layouts, preserving the approved desktop header. */
.hero-art{height:auto!important;min-height:0;aspect-ratio:auto}
.hero-art img{display:block;width:100%;height:auto!important;max-width:none;object-fit:contain}
.wrap{width:100%;max-width:1200px;padding-inline:clamp(16px,3vw,24px)}
body.home .hero-intro{padding-block:clamp(30px,3vw,36px) clamp(34px,3.4vw,40px)}
body.home .next-event-section{padding-block:clamp(42px,4.4vw,60px) clamp(48px,4.7vw,64px)}
body.home .garage-home,body.home .news-home,body.home .section.alt:not(.garage-home){padding-block:clamp(42px,4.4vw,60px)}
body.home .statement{padding-block:clamp(55px,5.5vw,75px)}
.section h2{font-size:clamp(1.85rem,3.4vw,3.2rem)}
.cards,.garage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,.garage-card,.next-event-feature,.next-event-details{min-width:0}
.card img{max-width:100%}
.vw-language-flag img{display:block;width:22px;height:15px;object-fit:cover}
.vw-mobile-menu-toggle{display:none;background:transparent;border:1px solid #dce3e9;border-radius:4px;padding:8px;color:var(--slate);cursor:pointer}
.vw-mobile-menu-toggle svg{display:block;width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
@media (min-width:801px) and (max-width:1240px){
 .header-wide{padding-inline:clamp(15px,2vw,28px)}
 .header-identity{gap:clamp(18px,2.3vw,46px)}
 .club-name{font-size:clamp(18px,2.1vw,30px)}
 .header-wide .header-actions{gap:clamp(8px,1.1vw,16px)}
 .header-wide .menu{gap:clamp(9px,1.5vw,24px)}
}
@media (min-width:801px) and (max-width:1100px){
 .cards,.garage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:800px){
 .header-wide{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 16px;gap:8px;min-height:70px}
 .header-identity{min-width:0;flex:1;gap:12px;align-items:center}
 .header-identity .custom-logo{height:clamp(56px,10vw,72px);max-width:72px}
 .header-identity .custom-logo-link{transform:none}
 .club-wordmark{min-width:0;white-space:normal}
 .club-name{font-size:clamp(.95rem,2.8vw,1.2rem);white-space:normal;line-height:1.15}
 .club-subtitle{font-size:.58rem;margin-top:4px}
 .vw-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
 .header-wide .header-actions{display:none;flex-basis:100%;width:100%;margin:0;gap:12px;align-items:flex-start;flex-direction:column;padding:10px 0 6px}
 .header-wide .header-actions.is-open{display:flex}
 .header-wide .header-actions nav{width:100%}
 .header-wide .menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;margin:0}
 .header-wide .menu li{width:100%}
 .header-wide .menu a{display:block;padding:9px 4px}
 .header-social:not(:empty),.vw-language-flags{border-left:0;padding-left:0}
 .cards,.garage-grid{grid-template-columns:1fr;gap:clamp(16px,3vw,28px)}
 .section{padding-block:clamp(36px,6vw,55px)}
 .statement{padding-block:clamp(48px,7vw,60px)}
 .hero-intro{min-height:0}
 .next-event-feature{grid-template-columns:1fr}
 .site-footer{padding-block:clamp(30px,5vw,36px)}
}
@media (max-width:420px){
 .header-wide{padding-inline:12px}
 .club-name{font-size:clamp(.85rem,3.5vw,1rem)}
 .header-identity .custom-logo{height:56px;max-width:56px}
 .header-identity{gap:8px}
 .garage-specs{grid-template-columns:1fr}
}

/* v2.3.2: compact panoramic hero; retain full width and focus on vehicle lineup. */
.hero-art{height:clamp(220px,22vw,420px)!important;min-height:0;aspect-ratio:auto;overflow:hidden}
.hero-art img{width:100%;height:100%!important;max-width:none;object-fit:cover;object-position:center bottom}
@media(max-width:800px){.hero-art{height:clamp(170px,29vw,260px)!important}}

/* v2.3.3: mobile-only typography refinement in homepage introduction. */
@media (max-width: 800px) {
  body.home .hero-intro h1 { font-size: clamp(1.65rem, 6.8vw, 2rem); }
  body.home .hero-intro p { font-size: clamp(1rem, 4.1vw, 1.1rem); line-height: 1.55; }
  body.home .hero-intro .btn { padding: 11px 18px; }
}


/* v2.3.4: mobile homepage section compactness; individual featured-image widths. */
@media (min-width: 801px) {
  .garage-profile-cover, .event-page-cover { max-width: 848px; margin-inline: auto; }
  .garage-profile-cover img { width: 100%; height: auto; object-fit: contain; }
  .event-page-cover img { height: auto; max-height: 420px; object-fit: contain; margin-inline: auto; }
  .event-page-cover--contain img { max-height: 600px; }
}
@media (max-width: 600px) {
  body.home .next-event-section, body.home .garage-home, body.home .news-home { padding-top: 34px; padding-bottom: 36px; }
  body.home .next-event-section h2, body.home .garage-home h2, body.home .news-home h2 { font-size: clamp(1.6rem, 6.5vw, 1.85rem); margin-bottom: 22px; }
  body.home .next-event-details, body.home .next-event-feature.no-photo .next-event-details { padding: 24px 20px; }
  body.home .next-event-details h3 { font-size: 1.7rem; margin: 8px 0 16px; }
  body.home .next-event-summary { margin-top: 12px; }
  body.home .next-event-button { margin-top: 16px; }
  body.home .next-event-feature { min-height: 0; }
  body.home .next-event-photo { min-height: 0; }
  body.home .garage-grid, body.home .news-home .cards { gap: 20px; }
  body.home .garage-card-image { aspect-ratio: 16/10; }
  body.home .garage-card-info { padding: 12px 0 2px; }
  body.home .garage-card-info h3 { font-size: 1.3rem; }
  body.home .garage-card-year { margin-bottom: 8px; }
  body.home .news-home .card-content { padding: 17px; }
  body.home .news-home .card-content h3 { font-size: 1.25rem; }
  body.home .news-home .card-content p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
  body.home .next-event-section .btn, body.home .garage-home .btn, body.home .news-home .btn { padding: 10px 17px; }
}

/* v2.3.5: responsive, uncropped individual Garage/Event featured images only. */
.single-club_car .garage-profile-cover,
.single-club_event .event-page-cover {
  width: 100%;
  max-width: 644px;
  margin-inline: auto;
  text-align: center;
}
.single-club_car .garage-profile-cover img,
.single-club_event .event-page-cover img,
.single-club_event .event-page-cover--contain img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 414px;
  object-fit: contain;
  margin-inline: auto;
}

/* v2.3.6: lightbox only on individual Garage, Events and Articles pages. */
.vw-lightbox-open{overflow:hidden}
.vw-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(8,15,22,.94);display:flex;align-items:center;justify-content:center;padding:48px 62px 58px;box-sizing:border-box;color:#fff}
.vw-lightbox[hidden]{display:none!important}
.vw-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:none}
.vw-lightbox-close,.vw-lightbox-prev,.vw-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font:inherit;display:flex;align-items:center;justify-content:center;border-radius:4px}
.vw-lightbox-close{right:16px;top:14px;width:42px;height:42px;font-size:30px}
.vw-lightbox-prev,.vw-lightbox-next{top:50%;transform:translateY(-50%);width:44px;height:54px;font-size:36px}
.vw-lightbox-prev{left:10px}.vw-lightbox-next{right:10px}
.vw-lightbox-close:hover,.vw-lightbox-prev:hover,.vw-lightbox-next:hover{background:rgba(255,255,255,.22)}
.vw-lightbox-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:.06em}
.vw-lightbox :focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){.vw-lightbox{padding:62px 8px 72px}.vw-lightbox-prev,.vw-lightbox-next{top:auto;bottom:12px;transform:none;width:46px;height:42px}.vw-lightbox-prev{left:12px}.vw-lightbox-next{right:12px}.vw-lightbox-count{bottom:24px}}

/* v2.3.10: doubled equal, responsive top and bottom spacing for the four
   requested homepage sections. Keep other sections and styling unchanged. */
body.home .hero-intro,
body.home .next-event-section,
body.home .garage-home,
body.home .news-home,
body.home .news-home + .section.alt {
  padding-block: clamp(1.34rem, 2.66vw, 3rem);
}
/* Allow the hero's bottom edge to follow its content and reduced padding. */
body.home .hero-intro { min-height: 0; }

/* v2.3.12: keep in-article images within both content width and viewport height.
   Excludes the separate featured/cover image and all other post types. */
.single-post .news-article-copy img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 78vh;
  max-height: 78dvh;
  object-fit: contain;
}
.single-post .news-article-copy .wp-block-image,
.single-post .news-article-copy .wp-block-gallery,
.single-post .news-article-copy .wp-block-gallery .wp-block-image {
  max-width: 100%;
  min-width: 0;
}
.single-post .news-article-copy .wp-block-gallery img {
  max-height: 78vh;
  max-height: 78dvh;
  object-fit: contain;
}

/* v2.3.13: responsive videos in Articles only; preserve video aspect ratio. */
.single-post .news-article-copy video,
.single-post .news-article-copy .wp-block-video video {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 78vh;
  max-height: 78dvh;
  margin-inline: auto;
}
.single-post .news-article-copy .wp-block-embed.is-type-video,
.single-post .news-article-copy .wp-block-embed.is-provider-youtube,
.single-post .news-article-copy .wp-block-embed.is-provider-vimeo {
  width: 100%;
  max-width: min(100%, calc(78vh * 16 / 9));
  max-width: min(100%, calc(78dvh * 16 / 9));
  margin-inline: auto;
}
.single-post .news-article-copy .wp-block-embed.is-type-video .wp-block-embed__wrapper,
.single-post .news-article-copy .wp-block-embed.is-provider-youtube .wp-block-embed__wrapper,
.single-post .news-article-copy .wp-block-embed.is-provider-vimeo .wp-block-embed__wrapper {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}
.single-post .news-article-copy .wp-block-embed.is-type-video iframe,
.single-post .news-article-copy .wp-block-embed.is-provider-youtube iframe,
.single-post .news-article-copy .wp-block-embed.is-provider-vimeo iframe {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 78vh;
  max-height: 78dvh;
  aspect-ratio: 16 / 9;
  margin-inline: auto;
}

/* v2.3.15: membership form field spacing and invisible honeypot. */
.vw-membership-form .vw-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);margin-block:1.2rem 2rem}
.vw-membership-form .vw-form-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.vw-membership-form .vw-form-field input,.vw-membership-form .vw-form-field select{width:100%;min-width:0;padding:.7em .85em;border:1px solid #b8c5cf;border-radius:4px;font:inherit}
.vw-membership-form .vw-form-consents{display:grid;gap:1rem;margin-block:1rem 1.6rem}
.vw-membership-form .vw-form-one-consent{display:flex;align-items:flex-start;gap:.75rem}
.vw-membership-form .vw-form-one-consent input{margin-top:.35em;flex-shrink:0}
.vw-membership-form .vw-form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:600px){.vw-membership-form .vw-form-grid{grid-template-columns:1fr}}
/* Keep desktop navigation on one line; use existing mobile menu earlier when needed. */
@media(min-width:1101px){.header-wide .menu{flex-wrap:nowrap}.header-wide .menu>li{white-space:nowrap}}
@media(min-width:801px) and (max-width:1100px){.vw-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.header-wide{flex-wrap:wrap}.header-wide .header-actions{display:none;flex-basis:100%;width:100%;margin:0;gap:12px;align-items:flex-start;flex-direction:column;padding:10px 0 6px}.header-wide .header-actions.is-open{display:flex}.header-wide .header-actions nav{width:100%}.header-wide .menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}.header-wide .menu li{width:100%}.header-wide .menu a{display:block;padding:9px 4px}}

/* v2.3.16: preserve breathing room between club identity and navigation.
   Switch to the existing collapsible navigation before the two groups collide. */
@media (min-width:801px) and (max-width:1450px){
 .header-wide{flex-wrap:wrap;column-gap:clamp(1.25rem,2.5vw,2.5rem)}
 .header-wide .header-identity{min-width:0;flex:1 1 auto}
 .vw-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
 .header-wide .header-actions{display:none;flex-basis:100%;width:100%;margin:0;gap:12px;align-items:flex-start;flex-direction:column;padding:10px 0 6px}
 .header-wide .header-actions.is-open{display:flex}
 .header-wide .header-actions nav{width:100%}
 .header-wide .menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}
 .header-wide .menu li{width:100%}
 .header-wide .menu a{display:block;padding:9px 4px}
}
@media (min-width:1451px){.header-wide{column-gap:clamp(1.5rem,2.5vw,3rem)}.header-wide .header-identity{flex-shrink:0}.header-wide .menu{flex-wrap:nowrap}.header-wide .menu>li{white-space:nowrap}}
/* Keep the Croatian two-word expression intact, while scaling the headline to fit. */
body.home .statement h2{font-size:clamp(1.7rem,4.1vw,4.2rem);line-height:1.18;overflow-wrap:normal}
body.home .statement .vw-keep-phrase{white-space:nowrap}
@media(max-width:420px){body.home .statement h2{font-size:clamp(1.45rem,6.2vw,1.8rem)}}

/* v2.3.17: unobtrusive membership Turnstile placement */
.vw-membership-turnstile { margin: 1.25rem 0 1rem; min-height: 1px; }

/* v2.3.22: three upcoming event cards and archive link on homepage. */
body.home .vw-home-upcoming-grid { margin-bottom: 18px; }
body.home .vw-home-events-all-link { margin-top: 12px; }

/* v2.3.23: Keep footer disclaimer on its own line below the club name. */
.site-footer .vw-footer-club-name{display:block}
.site-footer .vw-footer-disclaimer{display:block;margin-top:8px}

/* v2.3.28: clearly visible membership form errors. */
.vw-membership-form-wrap .vw-form-notice.error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:6px;padding:14px 16px;margin:0 0 20px;font-weight:600}

/* v2.3.30: consistent, compact reading typography on mobile single-content pages. */
@media (max-width: 600px) {
  .single-post .news-article-copy,
  .single-club_car .garage-profile-story,
  .single-club_event .event-page-copy {
    font-size: 16px;
    line-height: 1.55;
  }
}

/* v2.3.31: improve event metadata contrast without changing layout. */
.event-card .meta, .next-event-meta, .event-page-meta { color:#405563; }
