/*
Theme Name: WCLA
Theme URI: https://weddingcarswa.asn.au
Author: WCLA Web Team
Description: WCLA's car rental / limousine hire homepage design — hero slider, a vehicle slider right under the banner, awards banner, filterable vehicle grid, testimonials, newsletter signup, and a dark footer with gallery. (Internal folder/slug kept as "genurent" so existing Customizer settings carry over on update — only the visible branding changed.)
Version: 1.14.0
Requires PHP: 7.4
Text Domain: genurent
*/

:root{
	--accent:#ee3d24;
	--accent-2:#fb6b36;
	--dark:#242424;
	--footer-bg:#242424;
	--text-gray:#767676;
	--border-light:#e9e9e9;
	--bg-light:#f0f0f0;
	--newsletter-bg:#eef0f4;
}
*{box-sizing:border-box;}
html{overflow-x:hidden;}
body{
	margin:0;
	overflow-x:hidden; /* belt-and-suspenders: nothing on the page — carousels included — can ever force a page-wide horizontal scrollbar */
	font-family:'Open Sans', Arial, sans-serif;
	color:#4a4a4a;
	background:#fff;
	-webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto; display:block;}
button{font-family:inherit; cursor:pointer;}
.wrap{max-width:1300px; margin:0 auto; padding:0 20px;}

h1,h2,h3,h4,.heading-font{font-family:'Poppins', sans-serif;}

.section-title{text-align:center; margin-bottom:40px;}
.section-title h2{
	font-family:'Poppins', sans-serif; font-weight:300; text-transform:uppercase;
	letter-spacing:0.12em; font-size:clamp(22px,3vw,30px); color:#2b2b2b; margin:0 0 14px;
}
.section-title .rule{width:46px; height:2px; background:var(--accent); margin:0 auto;}

/* ===== Header ===== */
.site-header{
	position:absolute; top:24px; left:0; right:0; z-index:50;
}
.site-header.is-static{position:relative; top:0; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,0.08);}
.header-inner{
	background:#fff; display:flex; align-items:center; justify-content:space-between;
	padding:12px 30px; border-radius:2px; box-shadow:0 6px 24px rgba(0,0,0,0.12);
	max-width:1200px; margin:0 auto;
}
.site-logo{font-family:'Poppins', sans-serif; font-weight:700; font-size:22px; letter-spacing:0.01em;}
.site-logo a{display:flex; align-items:center;}
.site-logo .accent{color:var(--accent);}
.site-logo .dark{color:#232323;}
.site-logo img{max-height:40px;}
/* The WCLA logo is wide (about 2.3:1) and carries small-print text inside
   the artwork itself ("Wedding Car and Limousine Association", the star
   rating, "Member") — it needs to run noticeably taller than a plain
   wordmark for that text to actually be readable in the header. */
.site-logo img.site-logo-img{height:86px; width:auto; max-height:none; display:block;}
@media (max-width:480px){.site-logo img.site-logo-img{height:62px;}}

.main-navigation ul{display:flex; list-style:none; margin:0; padding:0; gap:28px;}
.main-navigation li{position:relative;}
.main-navigation a{
	font-family:'Poppins', sans-serif; font-size:12.5px; font-weight:500; letter-spacing:0.04em;
	text-transform:uppercase; color:#666; padding:8px 0; display:inline-block;
}
.main-navigation li.current-menu-item > a,
.main-navigation a:hover{color:#2b2b2b;}
.main-navigation li.current-menu-item > a{border-bottom:2px solid var(--accent);}
.header-search{background:none; border:none; color:#888; font-size:16px; margin-left:10px;}

.menu-toggle{display:none; background:none; border:1px solid #ddd; padding:8px 12px; border-radius:3px;}

/* ===== Hero ===== */
.hero-slider{position:relative; height:90vh; min-height:520px; max-height:760px; overflow:hidden; background:#111;}
.hero-slide{position:absolute; inset:0; opacity:0; transition:opacity 1s ease;}
.hero-slide.active{opacity:1;}
.hero-slide .bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.hero-slide .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,10,0.15) 0%, rgba(10,10,10,0.65) 100%);}
.hero-content{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; max-width:1200px; margin:0 auto; padding:0 24px;}
.hero-tag{display:inline-block; background:var(--accent); color:#fff; font-family:'Poppins',sans-serif; font-size:11px; font-weight:600; letter-spacing:0.12em; padding:7px 16px; margin-bottom:18px; text-transform:uppercase;}
.hero-content h1{font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(32px,5vw,48px); color:#fff; text-transform:uppercase; margin:0 0 10px; letter-spacing:0.02em;}
.hero-content .price{color:#eee; font-size:15px; margin:0 0 26px;}
.hero-btn{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.9); color:#2b2b2b; border-top:3px solid var(--accent); padding:16px 30px; font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; width:fit-content;}
.hero-arrows{position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); display:flex; justify-content:space-between; z-index:3; padding:0 24px; pointer-events:none;}
.hero-arrow{pointer-events:all; background:rgba(0,0,0,0.25); border:none; color:#fff; width:44px; height:44px; border-radius:50%; font-size:18px;}
.hero-arrow:hover{background:var(--accent);}
.hero-empty{background:linear-gradient(135deg,#2b2b2b,#111); color:#fff; text-align:center; padding:120px 24px;}

/* ===== Featured fleet strip ===== */
.fleet-strip{background:var(--bg-light); padding:50px 0;}

/* Vehicle carousel — right under the hero banner: image + name only.
   Auto-advances every 5s on its own (see auto-carousel.js) and can also
   be nudged with the prev/next arrows above it — same as a Bootstrap
   carousel. Motion is driven by JS setting scrollLeft on .fleet-marquee
   (the element that actually clips/scrolls); .fleet-slider-track is just
   the wide strip of cards sitting inside it. */
.fleet-slider-controls{display:none; justify-content:flex-end; gap:10px; margin-bottom:18px;}
/* JS adds .is-looping to the container only once it's determined the
   content actually overflows the visible width — a couple of vehicles
   that already fit comfortably get no arrows and no motion. */
.fleet-carousel.is-looping .fleet-slider-controls{display:flex;}
.fleet-slider-arrow{
	width:42px; height:42px; border-radius:50%; border:1px solid #ddd; background:#fff; color:#2b2b2b;
	font-size:18px; display:flex; align-items:center; justify-content:center;
}
.fleet-slider-arrow:hover{background:var(--accent); border-color:var(--accent); color:#fff;}
.fleet-marquee{overflow:hidden;}
.fleet-slider-track{display:flex; gap:var(--wcla-gap, 20px); width:max-content; will-change:transform;}

.fleet-card{
	flex:0 0 240px; text-align:center; display:block;
	background:#fff; border:1px solid var(--border-light); border-radius:3px; padding:18px 16px 22px;
	transition:box-shadow .2s, transform .2s;
}
.fleet-card:hover{box-shadow:0 14px 30px rgba(0,0,0,0.08); transform:translateY(-3px);}
.fleet-card .thumb{height:var(--wcla-card-height, 130px); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.fleet-card .thumb img{max-height:var(--wcla-card-height, 130px); width:100%; object-fit:cover; border-radius:2px;}
.fleet-card h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:15px; color:#2b2b2b; margin:0;}

.price-btn{display:inline-block; background:var(--accent); color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; padding:10px 22px; border-radius:2px; border:none; cursor:pointer;}
.price-btn:hover{background:#d5341d; color:#fff;}

/* ===== Welcome / two-feature section ===== */
.welcome-section{padding:80px 0;}
.welcome-lead{text-align:center; max-width:680px; margin:0 auto 46px; color:var(--text-gray); font-size:15px;}
.feature-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.feature-box{border:1px solid var(--border-light); padding:34px; display:flex; gap:20px; align-items:flex-start;}
.feature-icon{width:56px; height:56px; border-radius:50%; border:2px solid var(--accent); display:flex; align-items:center; justify-content:center; color:var(--accent); flex-shrink:0;}
.feature-box h3{font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; margin:0 0 12px; color:#2b2b2b;}
.feature-box p{color:var(--text-gray); font-size:14px; line-height:1.8; margin:0;}

/* ===== Awards banner ===== */
.awards-banner{
	background:linear-gradient(115deg, var(--accent) 0%, var(--accent-2) 100%);
	position:relative; overflow:hidden; padding:50px 0; color:#fff;
}
.awards-banner::after{
	content:""; position:absolute; inset:0; opacity:0.15; pointer-events:none;
	background-image:
		linear-gradient(45deg, rgba(255,255,255,0.4) 25%, transparent 25%),
		linear-gradient(-45deg, rgba(255,255,255,0.4) 25%, transparent 25%);
	background-size:60px 60px;
}
.awards-inner{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:30px;}
.awards-title h3{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(20px,2.6vw,26px); margin:0; line-height:1.3;}
.awards-stats{display:flex; gap:50px; flex-wrap:wrap;}
.award-stat{text-align:center;}
.award-stat .icon{font-size:30px; margin-bottom:10px;}
.award-stat span{display:block; font-size:13px;}

/* ===== Clean cars split section ===== */
.clean-cars{position:relative; padding:70px 0; background-size:cover; background-position:center; min-height:340px; display:flex; align-items:center;}
.clean-cars-box{
	background:rgba(245,245,245,0.97); padding:44px 60px 44px 40px; max-width:900px;
	display:flex; gap:40px; align-items:center; flex-wrap:wrap;
	clip-path:polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%);
}
.clean-cars-box .cc-left{flex:0 0 300px;}
.clean-cars-box h3{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(20px,2.4vw,26px); margin:0 0 14px; color:#232323;}
.clean-cars-box .tagline{color:var(--accent); font-size:13px; letter-spacing:0.1em; text-transform:uppercase;}
.clean-cars-box .cc-right{flex:1; min-width:260px; color:var(--text-gray); font-size:14px; line-height:1.9;}

/* Cascading chevron steps + closing arrowhead, continuing the clean-cars-box
   arrow motif so the section builds to a visual conclusion instead of just
   stopping after the lead box. */
.clean-cars-arrows{display:flex; align-items:stretch; margin-top:18px; flex-wrap:wrap;}
.cc-arrow-step{
	background:rgba(255,255,255,0.95); padding:24px 30px 24px 40px; flex:1; min-width:220px;
	display:flex; align-items:center; gap:16px;
	clip-path:polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%, 10% 50%);
	margin-right:-22px; position:relative;
}
.cc-arrow-step:nth-child(1){z-index:4;}
.cc-arrow-step:nth-child(2){background:rgba(255,238,233,0.96); z-index:3;}
.cc-arrow-step:nth-child(3){background:rgba(255,218,201,0.96); z-index:2;}
.cc-arrow-step .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:28px; color:var(--accent); opacity:0.45; flex-shrink:0;}
.cc-arrow-step h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; margin:0 0 4px; color:#232323;}
.cc-arrow-step p{font-size:12.5px; color:var(--text-gray); margin:0; line-height:1.55;}
.cc-arrow-end{
	flex:0 0 54px; background:linear-gradient(115deg, var(--accent) 0%, var(--accent-2) 100%);
	clip-path:polygon(0 0, 55% 0, 100% 50%, 55% 100%, 0 100%, 18% 50%);
	display:flex; align-items:center; justify-content:center; color:#fff; z-index:1; position:relative;
}
.cc-arrow-end svg{width:18px; height:18px;}

/* ===== Newest vehicles / filterable grid ===== */
.vehicles-section{padding:80px 0;}
.vehicle-filters{display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:44px; font-family:'Poppins',sans-serif; font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:#888; font-weight:600;}
.vehicle-filters button{background:none; border:none; color:#888; padding:4px 2px;}
.vehicle-filters button.active, .vehicle-filters button:hover{color:var(--accent);}
.vehicle-filters .sep{color:#ccc;}
.vehicle-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.vehicle-card{border:1px solid var(--border-light); transition:box-shadow .2s;}
.vehicle-card:hover{box-shadow:0 12px 30px rgba(0,0,0,0.08);}
.vehicle-card .thumb{height:140px; overflow:hidden; display:block;}
.vehicle-card .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.vehicle-card .body{padding:20px 22px;}
.vehicle-card h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; margin:0 0 6px;}
.vehicle-card .cat{font-size:12px; color:var(--text-gray); margin:0 0 14px;}
.vehicle-card .row{display:flex; justify-content:space-between; align-items:center;}
.vehicle-card .price{color:var(--accent); font-weight:700; font-size:14px;}

/* ===== Call to action ===== */
.cta-section{
	position:relative; overflow:hidden; padding:80px 0;
	background:linear-gradient(115deg, var(--accent) 0%, var(--accent-2) 100%); color:#fff;
}
.cta-pattern{
	position:absolute; inset:0; opacity:0.15; pointer-events:none;
	background-image:
		linear-gradient(45deg, rgba(255,255,255,0.4) 25%, transparent 25%),
		linear-gradient(-45deg, rgba(255,255,255,0.4) 25%, transparent 25%);
	background-size:60px 60px;
}
.cta-inner{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.cta-copy{max-width:600px;}
.cta-eyebrow{display:inline-block; font-family:'Poppins',sans-serif; font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; background:rgba(255,255,255,0.18); padding:7px 16px; border-radius:30px; margin-bottom:16px;}
.cta-copy h2{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(24px,3.2vw,32px); margin:0 0 12px; color:#fff;}
.cta-copy p{margin:0; font-size:14.5px; line-height:1.8; color:rgba(255,255,255,0.92);}
.cta-actions{display:flex; gap:16px; flex-wrap:wrap; flex-shrink:0;}
.cta-btn{
	display:inline-flex; align-items:center; gap:10px; font-family:'Poppins',sans-serif; font-weight:700;
	font-size:13px; letter-spacing:0.04em; text-transform:uppercase; padding:16px 26px;
	border-radius:2px; transition:transform .15s ease, box-shadow .15s ease;
}
.cta-btn:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,0.18);}
.cta-btn-primary{background:#fff; color:var(--accent);}
.cta-btn-secondary{background:rgba(255,255,255,0.12); color:#fff; border:1.5px solid rgba(255,255,255,0.6);}
.cta-arrow{display:inline-flex; width:16px; height:16px;}
.cta-arrow svg{width:100%; height:100%;}

/* ===== Locations ===== */
.locations-section{padding:80px 0;}
.locations-legend{display:flex; justify-content:center; gap:36px; align-items:center; margin-bottom:36px; font-size:13.5px; color:#444;}
.legend-pin{display:inline-flex; align-items:center; gap:8px;}
.legend-pin .dot{width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px;}
.legend-pin.rent .dot{background:transparent; color:var(--accent); border:2px solid var(--accent); width:20px; height:20px;}
.legend-pin.office .dot{background:var(--accent);}
.map-embed{border:1px solid var(--border-light); min-height:360px; background:#eee; display:flex; align-items:center; justify-content:center; color:#999; font-size:13px;}
.map-embed iframe{width:100%; height:100%; min-height:360px; border:0;}

/* ===== Footer ===== */
.site-footer{background:var(--footer-bg); color:#b7b7b7; padding:60px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.2fr 1.2fr 1fr 1fr; gap:30px; padding-bottom:40px;}
.footer-col h4{font-family:'Poppins',sans-serif; color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:0.05em; margin:0 0 14px; font-weight:600;}
.footer-rule{width:30px; height:2px; background:var(--accent); margin-bottom:20px;}
.footer-col p, .footer-col li{font-size:13.5px; line-height:1.9;}
.footer-contact li{display:flex; gap:10px; align-items:flex-start; list-style:none; padding:0 0 10px;}
.footer-contact .ico{color:var(--accent); flex-shrink:0;}
.footer-posts ul{list-style:none; margin:0; padding:0;}
.footer-posts li{border-bottom:1px solid rgba(255,255,255,0.08); padding:10px 0;}
.footer-posts a{display:flex; align-items:center; gap:8px; font-size:13.5px;}
.footer-posts .chev{color:var(--accent);}
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:6px;}
.gallery-grid img{width:100%; height:52px; object-fit:cover; display:block;}
.gallery-grid-item{display:block; overflow:hidden; position:relative;}
.gallery-grid-item img{transition:transform .25s ease, opacity .25s ease;}
.gallery-grid-item:hover img{transform:scale(1.08); opacity:0.85;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08); margin-top:10px; padding:22px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;}
.footer-logo img{height:90px; width:auto; display:block;}
.footer-logo .accent{color:var(--accent);}
.footer-copy{font-size:12.5px; color:#8a8a8a;}
.footer-credit{display:inline-block; margin-left:8px; padding-left:10px; border-left:1px solid rgba(255,255,255,0.15);}
.footer-credit a{color:#a7a7a7;}
.footer-credit a:hover{color:var(--accent);}
.footer-social{display:flex; gap:10px;}
.footer-social a{width:32px; height:32px; border-radius:50%; border:1px solid rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; color:#b7b7b7; font-size:13px;}
.footer-social a:hover{background:var(--accent); border-color:var(--accent); color:#fff;}

/* Same social-icon treatment, adapted for use on a light page (e.g. a member's profile) rather than the dark footer */
.social-icons-light{display:flex; gap:10px;}
.social-icons-light a{width:32px; height:32px; border-radius:50%; border:1px solid var(--border-light); display:flex; align-items:center; justify-content:center; color:#666; font-size:13px;}
.social-icons-light a:hover{background:var(--accent); border-color:var(--accent); color:#fff;}

.member-fleet-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px;}
.member-fleet-card{display:block; border:1px solid var(--border-light); border-radius:6px; overflow:hidden; transition:box-shadow .2s, transform .2s;}
.member-fleet-card:hover{box-shadow:0 10px 24px rgba(20,20,20,0.08); transform:translateY(-3px);}
.member-fleet-card img{width:100%; height:130px; object-fit:cover; display:block;}
.member-fleet-card-body{padding:14px 16px;}
.member-fleet-card-body h4{margin:0 0 4px; font-family:'Poppins',sans-serif; font-size:14px;}
.member-fleet-card-body p{margin:0; font-size:12px; color:var(--text-gray);}

/* ===== Our Members page ===== */
.members-page-header .members-intro{
	max-width:760px; margin:16px auto 0; text-align:center; color:var(--text-gray);
	font-size:15.5px; line-height:1.8;
}
.members-page-header .members-intro p{margin:0 0 14px;}
.members-page-header .members-intro p:last-child{margin-bottom:0;}
.members-page-header .breadcrumb, .members-page-header h1{text-align:center;}

.member-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.member-card{
	display:flex; flex-direction:column; background:#fff; border-radius:8px; overflow:hidden;
	border:1px solid var(--border-light); box-shadow:0 2px 10px rgba(20,20,20,0.03);
	transition:transform .22s ease, box-shadow .22s ease;
}
.member-card:hover{transform:translateY(-5px); box-shadow:0 18px 34px rgba(20,20,20,0.1);}
.member-card-photo{display:block; height:210px; background:#eee;}
.member-card-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
.member-card:hover .member-card-photo img{transform:scale(1.05);}
.member-card-photo-placeholder{width:100%; height:100%; background:linear-gradient(135deg,#efefef,#ddd);}
.member-card-body{padding:22px 24px 26px; display:flex; flex-direction:column; flex:1;}
.member-card-name{font-family:'Poppins',sans-serif; font-size:19px; font-weight:700; margin:0 0 10px;}
.member-card-name a{color:#232323;}
.member-card-name a:hover{color:var(--accent);}
.member-card-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px;}
.member-card-tags .service-pill{font-size:10.5px; padding:4px 11px;}
.member-card-excerpt{color:var(--text-gray); font-size:13.5px; line-height:1.75; margin:0 0 18px; flex:1;}
.member-card-link{
	margin-top:auto; align-self:flex-start; font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:600;
	letter-spacing:0.02em; color:var(--accent); padding-bottom:2px; border-bottom:1.5px solid transparent;
	transition:border-color .2s;
}
.member-card-link:hover{border-color:var(--accent);}
.member-card-link span{display:inline-block; transition:transform .2s;}
.member-card-link:hover span{transform:translateX(3px);}

@media (max-width:960px){ .member-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .member-grid{grid-template-columns:1fr;} }

/* ===== Generic page/blog ===== */
.page-header{padding:60px 0 20px;}
.page-header h1{font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(26px,3.4vw,36px);}
.content-section{padding:20px 0 80px;}
.simple-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px;}
.simple-card{border:1px solid var(--border-light);}
.simple-card img{height:180px; width:100%; object-fit:cover;}
.simple-card .body{padding:18px 20px;}

@media (max-width: 900px){
	.main-navigation{display:none;}
	.menu-toggle{display:inline-block;}
	.footer-grid{grid-template-columns:1fr 1fr;}
	.feature-grid, .vehicle-grid{grid-template-columns:1fr 1fr;}
	.clean-cars-box{clip-path:none;}
	.cc-arrow-step{clip-path:none; margin-right:0; margin-bottom:4px; flex:1 1 100%;}
	.cc-arrow-end{display:none;}
	.cta-inner{justify-content:center; text-align:center;}
	.cta-actions{justify-content:center; width:100%;}
}
@media (max-width: 600px){
	.feature-grid, .vehicle-grid{grid-template-columns:1fr;}
	.footer-grid{grid-template-columns:1fr;}
}

/* ===== WCLA plugin form, re-themed for this light theme =====
   The WCLA Member Management plugin's [wcla_enquiry_form] ships styled
   for a dark theme by default. Wrapping it in .genurent-plugin-form here
   re-skins it to match Genurent's light background and red-orange accent,
   without needing to touch the plugin itself. */
.genurent-plugin-form .wcla-form label{color:#2b2b2b;}
.genurent-plugin-form .wcla-form input[type="text"],
.genurent-plugin-form .wcla-form input[type="email"],
.genurent-plugin-form .wcla-form input[type="tel"],
.genurent-plugin-form .wcla-form input[type="date"],
.genurent-plugin-form .wcla-form input[type="time"],
.genurent-plugin-form .wcla-form input[type="number"],
.genurent-plugin-form .wcla-form select,
.genurent-plugin-form .wcla-form textarea{
	background:#fff; border:1px solid #ddd; color:#2b2b2b;
}
.genurent-plugin-form .wcla-form input:focus,
.genurent-plugin-form .wcla-form select:focus,
.genurent-plugin-form .wcla-form textarea:focus{border-color:var(--accent);}
.genurent-plugin-form .wcla-form-note{color:var(--text-gray); opacity:1;}
.genurent-plugin-form .wcla-checkbox-list{border-color:#ddd;}
.genurent-plugin-form .wcla-btn-submit{
	background:var(--accent); color:#fff; border-radius:2px; font-family:'Poppins',sans-serif;
}
.genurent-plugin-form .wcla-btn-submit:hover{background:#d5341d;}
.genurent-plugin-form .wcla-form-response.success{color:#2f855a;}
.genurent-plugin-form .wcla-form-response.error{color:#c53030;}

/* ===== Fallback vehicle enquiry form (no WCLA member linked yet) ===== */
.genurent-form-row{margin-bottom:16px;}
.genurent-form-row-group{display:flex; gap:14px;}
.genurent-form-row-group .genurent-form-row{flex:1; min-width:0;}
.genurent-form label{display:block; font-size:12.5px; font-weight:600; margin-bottom:6px; color:#2b2b2b;}
.genurent-form input, .genurent-form select, .genurent-form textarea{
	width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:3px; font-size:13.5px; font-family:inherit; color:#2b2b2b;
}
.genurent-form input:focus, .genurent-form select:focus, .genurent-form textarea:focus{outline:none; border-color:var(--accent);}
.genurent-form textarea{resize:vertical;}
.genurent-form-response{margin-top:12px; font-size:13.5px;}
.genurent-form-response.success{color:#2f855a;}
.genurent-form-response.error{color:#c53030;}
@media (max-width:560px){ .genurent-form-row-group{flex-direction:column; gap:0;} }

/* ===== Member info blocks on the vehicle page (Overview / Website / Cars / Services) ===== */
.info-block{margin-bottom:36px;}
.info-block h2{font-family:'Poppins',sans-serif; font-weight:500; font-size:20px; color:#2b2b2b; margin:0 0 8px;}
.info-rule{width:36px; height:2px; background:#ddd; margin-bottom:16px;}
.info-body{color:#555; font-size:14.5px; line-height:1.8;}
.info-body p{margin:0 0 14px;}
.info-body a{color:var(--accent); text-decoration:underline;}
.fleet-thumbs{display:flex; flex-wrap:wrap; gap:12px;}
.fleet-thumbs img{width:150px; height:105px; object-fit:cover; border-radius:2px;}
.service-tags{display:flex; flex-wrap:wrap; gap:8px;}
.service-pill{
	display:inline-block; font-size:12px; letter-spacing:0.03em; text-transform:uppercase;
	background:var(--bg-light); border:1px solid var(--border-light); padding:6px 14px; border-radius:20px;
	color:#2b2b2b !important; text-decoration:none !important;
}
.service-pill:hover{background:var(--accent); border-color:var(--accent); color:#fff !important;}

/* ===== Vehicle page two-column layout ===== */
.vehicle-page-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:start;}
.vehicle-page-main{min-width:0;} /* stops any wide content (galleries etc.) forcing this column wider than its track */
.vehicle-page-aside{min-width:0; align-self:start;}
.vehicle-contact-card{
	border:1px solid var(--border-light); padding:28px;
	position:sticky; top:24px; /* keeps the form in view alongside a long left column instead of stranding it near the top */
}
@media (max-width:900px){
	.vehicle-page-grid{grid-template-columns:1fr;}
	.vehicle-contact-card{position:static;}
}

/* ===== Mini carousel (a vehicle's own photo gallery) =====
   Same JS-driven auto-advance as the homepage fleet carousel, smaller
   card size. JS only clones the slide list (for a seamless loop) once
   it detects the photos actually overflow the visible width — see
   auto-carousel.js; a couple of photos that already fit just sit still. */
.mini-marquee{overflow:hidden;}
.mini-slider-track{display:flex; gap:var(--wcla-gap, 10px); width:max-content; will-change:transform;}

.mini-slide{flex:0 0 150px; display:block; text-decoration:none; color:inherit;}
.mini-slide img{width:150px; height:var(--wcla-gallery-height, 105px); object-fit:cover; border-radius:2px; display:block;}
.mini-slide-placeholder{width:150px; height:var(--wcla-gallery-height, 105px); background:linear-gradient(135deg,#eee,#ddd); border-radius:2px;}
.mini-slide--labelled{border:1px solid var(--border-light); border-radius:2px; overflow:hidden; transition:border-color .2s;}
.mini-slide--labelled img, .mini-slide--labelled .mini-slide-placeholder{width:150px; border-radius:0;}
.mini-slide--labelled span{display:block; padding:8px 10px; font-size:12px; font-weight:600; color:#2b2b2b;}
.mini-slide--labelled:hover{border-color:var(--accent);}

/* ===== Ordinary content pages (About, Join, service pages, Request a Quote…) ===== */
.entry-content{color:#4a4a4a; font-size:15.5px; line-height:1.85;}
.entry-content > *:first-child{margin-top:0;}
.entry-content h2{font-family:'Poppins',sans-serif; font-size:26px; font-weight:600; color:#232323; margin:42px 0 14px; line-height:1.3;}
.entry-content h3{font-family:'Poppins',sans-serif; font-size:20px; font-weight:600; color:#232323; margin:32px 0 10px; line-height:1.35;}
.entry-content h4{font-family:'Poppins',sans-serif; font-size:17px; font-weight:600; color:#232323; margin:26px 0 8px;}
.entry-content p{margin:0 0 18px;}
.entry-content a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;}
.entry-content a:hover{color:#c22e18;}
.entry-content ul, .entry-content ol{margin:0 0 22px; padding-left:22px;}
.entry-content li{margin-bottom:9px;}
.entry-content img{max-width:100%; height:auto; border-radius:4px;}
.entry-content blockquote{margin:0 0 22px; padding:4px 0 4px 18px; border-left:3px solid var(--accent); color:#555;}
.entry-content table{width:100%; border-collapse:collapse; margin:0 0 22px;}
.entry-content th, .entry-content td{border:1px solid var(--border-light); padding:10px 14px; text-align:left;}
.entry-content th{background:var(--bg-light);}

/* Rows of pictures the old pages showed as a list */
.content-gallery{display:flex; flex-wrap:wrap; gap:14px; margin:0 0 26px;}
.content-gallery img{width:calc(50% - 7px); height:auto; object-fit:cover; border-radius:4px;}
.content-gallery img:only-child{width:100%;}

/* "View Members / Join WCLA" style link rows */
.content-buttons{display:flex; flex-wrap:wrap; gap:12px; margin:0 0 26px;}
.entry-content .content-buttons a{
	background:var(--accent); color:#fff; text-decoration:none; padding:12px 26px; border-radius:2px;
	font-family:'Poppins',sans-serif; font-size:13px; font-weight:600; letter-spacing:0.03em;
}
.entry-content .content-buttons a:hover{background:#d5341d; color:#fff;}

/* ===== Page banner hero (About/Join/News/Request a Quote/Service pages) =====
   A simple two-panel diagonal hero: a clean red-orange gradient panel on
   the left carrying the title (same gradient used on the awards band and
   the CTA section, so it reads as this theme rather than a generic
   banner), and a bright photo panel on the right — the page's Featured
   Image if it has one, else a plain dark panel. Roughly a 1500x300 band
   on desktop, so the panel scales but stays wide and short. */
/* NOTE: this section is deliberately NOT display:flex. The inner wrap
   below centers itself the normal (margin:auto) way — inside a flex row,
   auto margins instead center the whole box within the full viewport
   width, which pulled the title out over the photo panel instead of
   leaving it in the left panel where it belongs. Plain block flow keeps
   it flush with the rest of the site's left-aligned content (header
   logo, page text, etc). */
.page-banner-hero{
	position:relative; overflow:hidden; min-height:260px; margin-bottom:0;
	background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);
}
.pbh-graphic{
	position:absolute; top:0; right:0; bottom:0; left:40%;
	background:#2a3140; background-size:cover; background-position:center;
	clip-path:polygon(10% 0, 100% 0, 100% 100%, 0 100%);
}
/* A light tint only — enough to keep the diagonal edge crisp, not to
   darken the photo itself. */
.pbh-graphic::before{
	content:""; position:absolute; inset:0;
	background:linear-gradient(100deg, rgba(20,24,34,0.22) 0%, rgba(20,24,34,0.08) 35%, rgba(20,24,34,0) 65%);
}
.pbh-inner{position:relative; z-index:2; display:flex; align-items:center; min-height:260px;}
.pbh-text{max-width:420px; padding:44px 0;}
.pbh-crumb{color:rgba(255,255,255,0.8); font-size:13px; margin:0 0 12px;}
.pbh-crumb a{color:rgba(255,255,255,0.8);}
.pbh-crumb a:hover{color:#fff;}
.pbh-text h1{font-family:'Poppins',sans-serif; font-weight:700; font-size:clamp(26px,3.4vw,38px); margin:0 0 10px; color:#fff; line-height:1.2;}
.pbh-sub{color:rgba(255,255,255,0.88); font-size:14.5px; margin:0; line-height:1.7; max-width:380px;}
@media (max-width:760px){
	.page-banner-hero{min-height:0;}
	.pbh-graphic{display:none;}
	.pbh-inner{min-height:0;}
	.pbh-text{max-width:none; padding:34px 0;}
}

/* The strip of photos across the top of a service page — larger than a vehicle gallery's thumbnails */
.page-slider{margin-bottom:34px;}
.page-slider .mini-slide{flex:0 0 260px;}
.page-slider .mini-slide img{width:260px; height:170px; border-radius:4px;}

.service-members{background:#fafafa; border-top:1px solid var(--border-light);}
.news-date{font-size:11.5px; color:var(--text-gray); margin:0 0 8px; letter-spacing:0.06em; text-transform:uppercase;}
.pagination .page-numbers{display:inline-block; padding:8px 14px; margin:0 3px; border:1px solid var(--border-light); border-radius:3px; color:#444; font-size:13px;}
.pagination .page-numbers.current, .pagination a.page-numbers:hover{background:var(--accent); border-color:var(--accent); color:#fff;}

/* ===== Menu: dropdowns (About Us / Our Services) ===== */
.header-inner{position:relative;}
.main-navigation .menu-item-has-children > a::after{content:'\25BE'; font-size:10px; margin-left:6px; color:#aaa;}
.main-navigation .sub-menu{
	display:none; position:absolute; top:100%; left:-18px; z-index:90; min-width:250px; flex-direction:column; gap:0;
	background:#fff; padding:10px 0; box-shadow:0 14px 34px rgba(0,0,0,0.14); border-top:2px solid var(--accent);
}
.main-navigation li:hover > .sub-menu, .main-navigation li:focus-within > .sub-menu{display:flex;}
.main-navigation .sub-menu li{width:100%;}
.main-navigation .sub-menu a{display:block; padding:10px 22px; white-space:nowrap; border-bottom:0;}
.main-navigation .sub-menu a:hover{background:#f6f6f6; color:var(--accent);}
.main-navigation .sub-menu li.current-menu-item > a{border-bottom:0; color:var(--accent);}

/* ===== Menu: phone/tablet ===== */
@media (max-width:900px){
	.main-navigation.is-open{
		display:block; position:absolute; top:100%; left:0; right:0; z-index:90; background:#fff;
		padding:10px 24px 20px; box-shadow:0 14px 30px rgba(0,0,0,0.14); max-height:75vh; overflow:auto;
	}
	.main-navigation.is-open ul{flex-direction:column; gap:0;}
	.main-navigation.is-open a{display:block; padding:12px 0; border-bottom:1px solid #f0f0f0;}
	.main-navigation.is-open li.current-menu-item > a{border-bottom:1px solid #f0f0f0; color:var(--accent);}
	.main-navigation.is-open .menu-item-has-children > a::after{content:'';}
	.main-navigation.is-open .sub-menu{
		display:flex; position:static; box-shadow:none; border-top:0; padding:0 0 0 16px; min-width:0; background:transparent;
	}
	.main-navigation.is-open .sub-menu a{padding:10px 0; white-space:normal;}
	.page-slider .mini-slide{flex-basis:200px;}
	.page-slider .mini-slide img{width:200px; height:132px;}
}
