/*
Theme Name: LabourWeb Theme
Theme URI: https://example.local/labourweb
Description: Elementor-ready LabourWeb starter theme for MP, councillor, candidate and CLP websites. Includes editable Elementor demo layouts, themed News/Team/Events areas and a setup dashboard.
Author: Charter.Digital Starter Kit
Version: 8.4.0
Text Domain: labourweb-theme
Requires at least: 6.1
Tested up to: 6.6
Requires PHP: 7.4
*/
:root{--lw-red:#E4003B;--lw-red-dark:#b8002f;--lw-navy:#121212;--lw-ink:#121212;--lw-muted:#64748b;--lw-cream:#fff7ed;--lw-soft:#f8fafc;--lw-yellow:#ffd447;--lw-white:#fff;--lw-radius:24px;--lw-shadow:0 24px 70px rgba(17,24,39,.16)}
*{box-sizing:border-box}body{margin:0;font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--lw-ink);background:#fff}a{color:var(--lw-red)}img{max-width:100%;height:auto}.lw-wrap{width:min(1160px,calc(100% - 32px));margin-inline:auto}.lw-topbar{background:var(--lw-red);color:#fff}.lw-topbar .lw-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px}.lw-topbar-text{font-weight:800;font-size:.94rem}.lw-top-actions{display:flex;gap:8px;flex-wrap:wrap}.lw-top-actions a{color:#fff;text-decoration:none;font-weight:900;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 12px;line-height:1;transition:.18s ease}.lw-top-actions a:hover{color:#fff;background:rgba(255,255,255,.14);box-shadow:0 0 0 3px rgba(255,255,255,.18);transform:translateY(-1px)}.lw-header{background:#fff;border-bottom:1px solid rgba(15,23,42,.08);position:sticky;top:0;z-index:99}.admin-bar .lw-header{top:32px}.lw-header .lw-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.lw-brand{text-decoration:none;color:var(--lw-navy);display:flex;flex-direction:column}.lw-brand strong{font-size:1.5rem;letter-spacing:-.04em}.lw-brand span{font-size:.9rem;color:var(--lw-muted);font-weight:700}.lw-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.lw-nav a{display:block;text-decoration:none;color:var(--lw-navy);font-weight:850;padding:10px 12px;border-radius:999px}.lw-nav a:hover{background:var(--lw-soft);color:var(--lw-red)}.lw-main{min-height:55vh}.lw-footer{background:var(--lw-navy);color:#fff;padding:44px 0 28px}.lw-footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:24px}.lw-footer h2,.lw-footer h3{margin:0 0 12px;color:#fff}.lw-footer p,.lw-footer a{color:rgba(255,255,255,.82)}.lw-footer a{text-decoration:none}.lw-footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:18px;font-size:.9rem;color:rgba(255,255,255,.7)}.lw-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:900;text-decoration:none;line-height:1;border:2px solid transparent;transition:.18s ease}.lw-btn-primary{background:var(--lw-red);color:#fff}.lw-btn-primary:hover{background:var(--lw-red-dark);color:#fff;transform:translateY(-1px)}.lw-btn-light{background:#fff;color:var(--lw-red)}.lw-btn-light:hover{color:var(--lw-red);transform:translateY(-1px)}.lw-btn-outline{background:transparent;color:inherit;border-color:currentColor}.lw-btn-outline:hover{background:rgba(255,255,255,.12);color:inherit}.lw-archive-hero{background:linear-gradient(135deg,var(--lw-red),#8c0026);color:#fff;padding:64px 0}.lw-archive-hero h1{font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.05em;line-height:.96;margin:0;color:#fff}.lw-archive-hero p{font-size:1.15rem;line-height:1.6;max-width:760px;color:rgba(255,255,255,.9)}.lw-section{padding:64px 0}.lw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lw-card{background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px rgba(15,23,42,.08);border-radius:24px;overflow:hidden}.lw-card-img{aspect-ratio:16/10;background:#e2e8f0;display:block;width:100%;object-fit:cover}.lw-card-body{padding:24px}.lw-card h2,.lw-card h3{margin:0 0 10px;color:var(--lw-navy);letter-spacing:-.03em}.lw-card p{color:#475569;line-height:1.6}.lw-meta{color:var(--lw-muted);font-weight:800;font-size:.88rem;margin-bottom:10px}.lw-single{padding:54px 0}.lw-single-shell{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,1fr);gap:40px}.lw-article-title{font-size:clamp(2.3rem,5vw,4.4rem);line-height:.98;letter-spacing:-.055em;color:var(--lw-navy);margin:0 0 18px}.lw-article-content{font-size:1.08rem;line-height:1.75}.lw-sidebar-card{background:var(--lw-cream);border-radius:24px;padding:24px;border:1px solid rgba(228,0,58,.16)}.lw-team-badge{display:inline-flex;background:var(--lw-red);color:#fff;border-radius:999px;padding:6px 10px;font-weight:900;font-size:.78rem}.lw-event-frame{width:100%;height:720px;border:0;border-radius:24px;box-shadow:var(--lw-shadow);background:#fff}.elementor-page .lw-main{overflow:hidden}.lw-template-main{margin:0;padding:0}.lw-hidden-title .entry-title{display:none!important}
@media(max-width:900px){.lw-topbar .lw-wrap,.lw-header .lw-wrap{align-items:flex-start;flex-direction:column;padding:12px 0}.lw-footer-grid,.lw-grid,.lw-single-shell{grid-template-columns:1fr}.admin-bar .lw-header{top:0}.lw-header{position:relative}}
/* Elementor layout styling */
.lw-el-hero{background:radial-gradient(circle at 85% 15%,rgba(255,212,71,.34),transparent 26rem),linear-gradient(135deg,var(--lw-red) 0%,#c90034 58%,#8c0026 100%);color:#fff;padding:72px 0 58px!important;overflow:hidden}.lw-el-hero h1,.lw-el-hero h2,.lw-el-hero p{color:#fff}.lw-el-eyebrow{font-weight:950!important;text-transform:uppercase;letter-spacing:.08em;color:#fff!important}.lw-el-hero-title .elementor-heading-title{font-size:clamp(2.5rem,6vw,5.6rem)!important;line-height:.94!important;letter-spacing:-.055em!important;font-weight:950!important}.lw-el-lede{font-size:1.2rem;line-height:1.6;color:rgba(255,255,255,.94)!important}.lw-el-card-image img{border-radius:22px;box-shadow:var(--lw-shadow);transform:rotate(1deg);background:#fff;padding:12px}.lw-el-action-section{margin-top:-28px;z-index:4}.lw-el-action-card .elementor-widget-container{background:#fff;border-radius:22px;padding:24px;box-shadow:0 18px 50px rgba(15,23,42,.12);border:1px solid rgba(15,23,42,.08);min-height:160px;transition:.18s ease}.lw-el-action-card .elementor-widget-container:hover{transform:translateY(-2px)}.lw-el-red-card .elementor-widget-container{background:var(--lw-red)!important;color:#fff;border-radius:24px;padding:26px;min-height:220px}.lw-el-red-card h1,.lw-el-red-card h2,.lw-el-red-card h3,.lw-el-red-card p{color:#fff!important}.lw-el-white-card .elementor-widget-container{background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px rgba(15,23,42,.08);border-radius:24px;padding:26px;min-height:220px}.lw-el-navy-card .elementor-widget-container{background:var(--lw-navy);color:#fff;border-radius:24px;padding:26px;min-height:220px}.lw-el-navy-card h1,.lw-el-navy-card h2,.lw-el-navy-card h3,.lw-el-navy-card p{color:#fff!important}.lw-el-yellow-card .elementor-widget-container{background:var(--lw-yellow);color:var(--lw-navy);border-radius:24px;padding:26px;min-height:220px}.lw-el-section{padding:68px 0!important}.lw-el-soft{background:var(--lw-soft)}.lw-el-cream{background:var(--lw-cream)}.lw-el-heading .elementor-heading-title{font-size:clamp(2rem,4vw,3.6rem)!important;line-height:1!important;letter-spacing:-.04em!important;color:var(--lw-navy)!important}.lw-el-panel{background:#fff;border-radius:28px;box-shadow:0 20px 55px rgba(15,23,42,.10);padding:34px}.lw-el-contact-band{background:linear-gradient(135deg,var(--lw-navy),#263142);border-radius:30px;padding:34px!important;color:#fff}.lw-el-contact-band h1,.lw-el-contact-band h2,.lw-el-contact-band p{color:#fff!important}.lw-el-stat .elementor-widget-container{background:#fff;border-radius:20px;padding:22px;border:1px solid rgba(15,23,42,.08)}.lw-el-stat strong{display:block;color:var(--lw-red);font-size:2.15rem;line-height:1;font-weight:950}.lw-el-profile-card .elementor-widget-container{background:#fff;border-radius:24px;padding:22px;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 38px rgba(15,23,42,.08)}.lw-el-profile-card img{border-radius:18px}.lw-el-event-frame iframe{width:100%;height:680px;border:0;border-radius:24px;box-shadow:var(--lw-shadow)}

/* LabourWeb 2.1 richer Elementor design fixes */
.elementor-section.lw-el-hero{padding:92px 0 74px!important}.lw-kicker{display:inline-flex;align-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 12px;color:#fff;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:18px}.lw-hero-rich .elementor-container{align-items:center}.lw-hero-photo > .elementor-widget-wrap{background:#fff;border-radius:30px;padding:18px!important;box-shadow:0 28px 80px rgba(17,24,39,.24);transform:rotate(1deg)}.lw-hero-photo .elementor-widget-image img{border-radius:22px;background:#f8fafc;padding:12px;box-shadow:none!important;transform:none!important}.lw-photo-caption{padding:16px 4px 2px;color:var(--lw-navy)}.lw-photo-caption strong{display:block;font-size:1.15rem;letter-spacing:-.03em}.lw-photo-caption span{display:block;color:#64748b;line-height:1.5;margin-top:4px}.lw-hero-copy .elementor-widget-button{display:inline-block;margin-right:10px;margin-top:16px}.lw-action-row{margin-top:-34px;position:relative;z-index:6;padding:0 0 38px!important}.lw-action-row .elementor-container{gap:18px}.lw-action-box > .elementor-widget-wrap{background:#fff;border-radius:24px;padding:24px!important;box-shadow:0 24px 60px rgba(15,23,42,.14);border:1px solid rgba(15,23,42,.08);min-height:178px;display:block!important;transition:.18s ease}.lw-action-box > .elementor-widget-wrap:hover{transform:translateY(-3px);box-shadow:0 30px 70px rgba(15,23,42,.18)}.lw-action-icon{width:42px;height:42px;border-radius:14px;background:var(--lw-red);color:#fff;display:grid;place-items:center;font-weight:950;font-size:1.1rem;margin-bottom:10px}.lw-action-title .elementor-heading-title{font-size:1.28rem!important;letter-spacing:-.035em!important;color:var(--lw-navy)!important}.lw-action-copy p{color:#475569;line-height:1.55;margin:0}.lw-action-row-plain{margin-top:0;padding:54px 0!important;background:#fff}.lw-el-panel{background:#fff;border-radius:28px;box-shadow:0 20px 55px rgba(15,23,42,.10);padding:34px;border:1px solid rgba(15,23,42,.08)}
/* Card classes must style the Elementor column wrapper, not every child widget */
.lw-card-grid .elementor-container,.lw-stat-row .elementor-container{gap:20px}.lw-box > .elementor-widget-wrap{border-radius:28px;padding:24px!important;min-height:280px;display:flex!important;flex-direction:column;align-content:flex-start;justify-content:flex-start;overflow:hidden;transition:.18s ease}.lw-box > .elementor-widget-wrap:hover{transform:translateY(-3px)}.lw-box-white > .elementor-widget-wrap{background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px rgba(15,23,42,.08)}.lw-box-red > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-red),#b90031);color:#fff;box-shadow:0 22px 58px rgba(228,0,58,.22)}.lw-box-navy > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-navy),#263142);color:#fff;box-shadow:0 22px 58px rgba(17,24,39,.22)}.lw-box-yellow > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-yellow),#ffe88d);color:var(--lw-navy);box-shadow:0 18px 45px rgba(15,23,42,.08)}.lw-box-red h1,.lw-box-red h2,.lw-box-red h3,.lw-box-red p,.lw-box-navy h1,.lw-box-navy h2,.lw-box-navy h3,.lw-box-navy p{color:#fff!important}.lw-box .elementor-widget-image{margin-bottom:18px}.lw-card-inner-img img{width:100%;height:150px!important;object-fit:cover;border-radius:18px;background:#fff;padding:10px}.lw-card-title .elementor-heading-title{font-size:1.45rem!important;letter-spacing:-.04em!important;line-height:1.08!important}.lw-card-copy p{line-height:1.58;margin:0}.lw-mini-btn .elementor-button{background:rgba(255,255,255,.95)!important;color:var(--lw-red)!important;border-radius:999px!important;font-weight:900!important;padding:12px 16px!important;margin-top:10px}.lw-box-white .lw-mini-btn .elementor-button,.lw-box-yellow .lw-mini-btn .elementor-button{background:var(--lw-red)!important;color:#fff!important}.lw-stat-box > .elementor-widget-wrap{border-radius:24px;padding:24px!important;min-height:180px;display:flex!important;align-items:center;justify-content:center;text-align:left}.lw-stat-white > .elementor-widget-wrap{background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px rgba(15,23,42,.08)}.lw-stat-yellow > .elementor-widget-wrap{background:var(--lw-yellow)}.lw-stat-red > .elementor-widget-wrap{background:var(--lw-red);color:#fff}.lw-stat-html strong{display:block;font-size:clamp(2.2rem,4vw,3.2rem);line-height:.95;font-weight:950;color:var(--lw-red);letter-spacing:-.05em}.lw-stat-red .lw-stat-html strong{color:#fff}.lw-stat-html span{display:block;margin-top:8px;font-weight:850;color:inherit}.lw-feature-band{background:linear-gradient(135deg,#fff7ed,#f8fafc);padding:74px 0!important}.lw-feature-copy > .elementor-widget-wrap{padding:34px!important}.lw-feature-card-stack > .elementor-widget-wrap{display:grid!important;grid-template-columns:1fr 1fr;gap:18px}.lw-feature-card-stack .lw-box{width:100%!important}.lw-feature-card-stack .lw-box > .elementor-widget-wrap{min-height:270px}.lw-el-contact-band{width:min(1160px,calc(100% - 32px));margin:28px auto 66px;border-radius:34px!important;padding:44px!important}.lw-grid{align-items:stretch}.lw-card{transition:.18s ease}.lw-card:hover{transform:translateY(-3px);box-shadow:0 24px 64px rgba(15,23,42,.13)}.lw-card-team .lw-meta{display:inline-flex;background:var(--lw-red);color:#fff;border-radius:999px;padding:6px 10px}.lw-card-events .lw-meta{display:inline-flex;background:var(--lw-yellow);color:var(--lw-navy);border-radius:999px;padding:6px 10px}.lw-profile-hero .elementor-container{align-items:center}.lw-profile-photo > .elementor-widget-wrap{background:#fff;border-radius:30px;padding:18px!important;box-shadow:var(--lw-shadow)}.lw-profile-photo img{border-radius:22px!important}.lw-el-event-frame iframe{width:100%;height:680px;border:0;border-radius:24px;box-shadow:var(--lw-shadow);background:#fff}.lw-top-actions a:hover,.lw-top-actions a:focus{color:#fff!important;background:rgba(255,255,255,.16)!important;box-shadow:0 0 0 3px rgba(255,255,255,.22);transform:translateY(-1px)}
@media(max-width:900px){.lw-feature-card-stack > .elementor-widget-wrap{grid-template-columns:1fr}.lw-action-row{margin-top:0;padding-top:24px!important}.lw-hero-photo > .elementor-widget-wrap{transform:none}.lw-box > .elementor-widget-wrap{min-height:0}.lw-stat-box > .elementor-widget-wrap{min-height:130px}.lw-el-contact-band{width:calc(100% - 32px);padding:28px!important}}


/* LabourWeb 2.2 branding, text colour and demo image refinements */
body, .elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-widget-container{color:var(--lw-ink)}
a, a:visited{color:var(--lw-red)}
a:hover, a:focus{color:var(--lw-red-dark)}
.lw-nav a,.lw-nav a:visited{color:var(--lw-navy)}
.lw-footer a,.lw-footer a:visited{color:rgba(255,255,255,.86)}
.lw-el-hero a:not(.elementor-button), .lw-box-red a:not(.elementor-button), .lw-box-navy a:not(.elementor-button), .lw-el-contact-band a:not(.elementor-button){color:#fff!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.lw-box-yellow a:not(.elementor-button){color:var(--lw-navy)!important}
.elementor-widget-heading .elementor-heading-title{color:var(--lw-navy)}
.lw-el-hero .elementor-heading-title,.lw-el-hero .elementor-widget-text-editor,.lw-el-hero .elementor-widget-text-editor p{color:#fff!important}
.lw-box-white .elementor-widget-text-editor p,.lw-box-yellow .elementor-widget-text-editor p,.lw-action-copy p,.lw-card-copy p{color:#475569!important}
.lw-box-red .elementor-widget-text-editor p,.lw-box-red .elementor-heading-title,.lw-box-navy .elementor-widget-text-editor p,.lw-box-navy .elementor-heading-title{color:#fff!important}
.lw-btn,.lw-btn:visited,.elementor-button,.elementor-button:visited{color:#fff;text-decoration:none}.lw-btn-light,.lw-btn-light:visited{color:var(--lw-red)!important}.lw-btn-outline,.lw-btn-outline:visited{color:inherit!important}
.lw-article-feature-img img{width:100%;border-radius:24px;box-shadow:var(--lw-shadow);margin-bottom:22px;aspect-ratio:16/10;object-fit:cover}
.lw-card-img{min-height:210px}
.lw-card h2 a,.lw-card h2 a:visited{color:var(--lw-navy);text-decoration:none}.lw-card h2 a:hover{color:var(--lw-red)}
.lw-card-team .lw-card-img{aspect-ratio:1/1;object-position:center top}.lw-card-events .lw-card-img{aspect-ratio:16/10}
.lw-top-actions a,.lw-top-actions a:visited,.lw-top-actions a:hover,.lw-top-actions a:focus{color:#fff!important}


/* LabourWeb v4 fixes: stop Elementor/WordPress blue defaults leaking into content */
.elementor-kit-*,
.elementor *,
.elementor-widget-container,
.elementor-widget-container p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-html,
.elementor-icon-list-text,
.lw-main p,
.lw-main li,
.lw-main span:not(.elementor-button-text):not(.lw-team-badge),
.lw-main div:not(.lw-action-icon):not(.lw-kicker) { color: inherit; }
.elementor-widget-heading .elementor-heading-title,
.lw-main h1,.lw-main h2,.lw-main h3,.lw-main h4,.lw-main h5,.lw-main h6{color:var(--lw-navy)!important;}
.lw-el-hero .elementor-heading-title,.lw-el-hero h1,.lw-el-hero h2,.lw-el-hero h3,.lw-el-hero p,.lw-el-hero span,
.lw-box-red .elementor-heading-title,.lw-box-red h1,.lw-box-red h2,.lw-box-red h3,.lw-box-red p,.lw-box-red span,
.lw-box-navy .elementor-heading-title,.lw-box-navy h1,.lw-box-navy h2,.lw-box-navy h3,.lw-box-navy p,.lw-box-navy span,
.lw-el-contact-band .elementor-heading-title,.lw-el-contact-band h1,.lw-el-contact-band h2,.lw-el-contact-band h3,.lw-el-contact-band p,.lw-el-contact-band span{color:#fff!important;}
.lw-box-white p,.lw-box-yellow p,.lw-action-copy,.lw-action-copy p,.lw-photo-caption span,.lw-card p{color:#475569!important;}
.lw-box-yellow .elementor-heading-title,.lw-box-yellow h1,.lw-box-yellow h2,.lw-box-yellow h3,.lw-box-yellow span{color:var(--lw-navy)!important;}
/* Prose links only: do not apply the generic Labour-red link colour to component buttons. */
.elementor-widget-text-editor a:not(.elementor-button):not(.lw-widget-button):not(.lw-widget-card-button):not(.lw-btn):not(.lw-designed-card-button):not(.lw-top-action):not(.lw-action-link),
.elementor-widget-theme-post-content a:not(.elementor-button):not(.lw-widget-button):not(.lw-widget-card-button):not(.lw-btn):not(.lw-designed-card-button):not(.lw-top-action):not(.lw-action-link),
.lw-main .entry-content a:not(.elementor-button):not(.lw-widget-button):not(.lw-widget-card-button):not(.lw-btn):not(.lw-designed-card-button):not(.lw-action-link){color:var(--lw-red)!important;}
.lw-el-hero a:not(.elementor-button):not(.lw-btn),.lw-box-red a:not(.elementor-button):not(.lw-btn),.lw-box-navy a:not(.elementor-button):not(.lw-btn),.lw-el-contact-band a:not(.elementor-button):not(.lw-btn){color:#fff!important;}
.lw-topbar a,.lw-topbar a:visited,.lw-topbar a:hover,.lw-topbar a:focus{color:#fff!important;}

/* Clickable action cards */
.lw-action-box > .elementor-widget-wrap{padding:0!important;overflow:hidden;}
.lw-action-link{display:block;height:100%;min-height:178px;padding:24px;text-decoration:none!important;color:var(--lw-navy)!important;}
.lw-action-link:hover{color:var(--lw-navy)!important;}
.lw-action-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.lw-action-head .lw-action-icon{flex:0 0 46px;margin:0;}
.lw-action-head strong{display:block;font-size:1.22rem;line-height:1.08;letter-spacing:-.035em;color:var(--lw-navy)!important;}
.lw-action-link p{margin:0;color:#475569!important;line-height:1.55;}
.lw-action-box > .elementor-widget-wrap:hover .lw-action-link{background:linear-gradient(180deg,#fff,#fff7f9);}

/* Single posts/profiles: one image only */
.lw-single-feature{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:28px;box-shadow:var(--lw-shadow);margin:0 0 28px;background:#e2e8f0;}
.category-team .lw-single-feature{aspect-ratio:4/3;max-height:520px;object-position:center top;}
.lw-article-content .lw-el-hero{display:none!important;}
.lw-article-feature-img{display:none!important;}

/* LabourWeb v5 polish: brand-safe colours, buttons and single profile layout */
.elementor-button,
.elementor-button:visited,
.elementor-widget-button .elementor-button,
.lw-main .elementor-button,
.lw-main a.elementor-button {
  background: var(--lw-red) !important;
  color: #fff !important;
  border-color: var(--lw-red) !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
.lw-main a.elementor-button:hover {
  background: var(--lw-red-dark) !important;
  color: #fff !important;
  border-color: var(--lw-red-dark) !important;
  transform: translateY(-1px);
}
.lw-btn-light.elementor-button,
.lw-btn-light .elementor-button,
.elementor-button.lw-btn-light {
  background:#fff !important;
  color:var(--lw-red) !important;
  border-color:#fff !important;
}
.lw-btn-outline.elementor-button,
.lw-btn-outline .elementor-button,
.elementor-button.lw-btn-outline {
  background:transparent !important;
  color:#fff !important;
  border-color:#fff !important;
}
.lw-archive-hero h1,
.lw-archive-hero .lw-article-title,
.lw-archive-hero p,
.lw-archive-hero span { color:#fff !important; }
.lw-archive-hero .lw-team-badge{background:#fff;color:var(--lw-red)!important;}
.lw-action-head{align-items:center!important;}
.lw-action-head .lw-action-icon{margin:0!important;}
.lw-action-head strong{margin:0!important;}
.lw-action-link{display:flex!important;flex-direction:column;justify-content:flex-start;}
.lw-action-link p{max-width:92%;}

.lw-profile-header{background:linear-gradient(135deg,var(--lw-red),#8c0026);padding:66px 0;color:#fff;}
.lw-profile-header-grid{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);gap:34px;align-items:center;}
.lw-profile-image-panel{background:#fff;border-radius:30px;padding:18px;box-shadow:0 28px 80px rgba(17,24,39,.22);transform:rotate(-1deg);}
.lw-profile-main-img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:22px;background:#f8fafc;}
.lw-profile-intro-panel h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.9;letter-spacing:-.065em;margin:18px 0 16px;color:#fff!important;}
.lw-profile-role{font-size:1.35rem;line-height:1.55;max-width:720px;color:rgba(255,255,255,.92)!important;margin:0 0 22px;}
.lw-profile-quick-contact{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-weight:800;}
.lw-profile-quick-contact a{color:#fff!important;text-decoration:underline;text-underline-offset:4px;}
.lw-profile-body-section{background:#fff;}
.lw-profile-contact-card ul{margin:0 0 18px;padding-left:18px;line-height:1.8;color:#475569;}
.lw-profile-contact-card a:not(.lw-btn){color:var(--lw-red)!important;}
.category-team .lw-single-feature{display:none!important;}
@media(max-width:900px){.lw-profile-header-grid{grid-template-columns:1fr}.lw-profile-image-panel{transform:none}.lw-profile-header{padding:42px 0}.lw-profile-intro-panel h1{font-size:3.2rem}}


/* LabourWeb v6 profile layout, brand typography and button contrast fixes */
html, body, button, input, select, textarea,
.elementor, .elementor *, .lw-main, .lw-header, .lw-footer, .lw-topbar {
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
}
.lw-main .lw-btn,
.lw-main .lw-btn:visited,
.lw-main .lw-btn-primary,
.lw-main .lw-btn-primary:visited,
.lw-main a.lw-btn,
.lw-main a.lw-btn:visited,
.lw-card .lw-btn,
.lw-card .lw-btn:visited,
.category .lw-btn,
.category .lw-btn:visited,
.lw-grid .lw-btn,
.lw-grid .lw-btn:visited {
  color:#fff !important;
  background:var(--lw-red) !important;
  border-color:var(--lw-red) !important;
  text-decoration:none !important;
}
.lw-main .lw-btn:hover,
.lw-main .lw-btn-primary:hover,
.lw-card .lw-btn:hover,
.category .lw-btn:hover,
.lw-grid .lw-btn:hover {
  color:#fff !important;
  background:var(--lw-red-dark) !important;
  border-color:var(--lw-red-dark) !important;
}
.lw-el-hero .lw-btn-light,
.lw-el-hero .lw-btn-light:visited,
.lw-btn-light,
.lw-btn-light:visited {
  background:#fff !important;
  border-color:#fff !important;
  color:var(--lw-red) !important;
}
.lw-el-hero .lw-btn-outline,
.lw-el-hero .lw-btn-outline:visited,
.lw-btn-outline,
.lw-btn-outline:visited {
  background:transparent !important;
  border-color:#fff !important;
  color:#fff !important;
}

.lw-profile-top{background:linear-gradient(135deg,var(--lw-red),#8c0026);color:#fff;padding:62px 0;}
.lw-profile-top-grid{display:grid;grid-template-columns:minmax(220px,330px) minmax(0,1fr);gap:34px;align-items:center;}
.lw-profile-top-photo{background:#fff;border-radius:30px;padding:16px;box-shadow:0 28px 80px rgba(17,24,39,.22);}
.lw-profile-top-photo .lw-profile-main-img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:22px;background:#eef0f2;}
.lw-profile-top-copy h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.9;letter-spacing:-.065em;margin:16px 0 14px;color:#fff!important;}
.lw-profile-top-copy p{font-size:1.38rem;line-height:1.45;max-width:760px;color:#fff!important;margin:0;font-weight:750;}
.lw-profile-main{background:var(--lw-soft);padding:58px 0;}
.lw-profile-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:28px;align-items:start;}
.lw-profile-bio-card,.lw-profile-contact-card{background:#fff;border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(15,23,42,.10);border:1px solid rgba(15,23,42,.08);}
.lw-profile-bio-card h2,.lw-profile-contact-card h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1;letter-spacing:-.04em;margin:0 0 18px;color:var(--lw-navy)!important;}
.lw-profile-bio-card p{font-size:1.08rem;line-height:1.75;color:#334155!important;margin:0 0 18px;}
.lw-profile-optional-section{padding:0!important;background:transparent!important;}
.lw-profile-optional-section .elementor-container{max-width:none!important;}
.lw-profile-optional-note{background:#fff7ed;border:1px solid rgba(228,0,58,.16);border-radius:18px;padding:18px;margin-top:20px;}
.lw-contact-icon-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
.lw-contact-icon-list li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;}
.lw-contact-icon-list li > span{width:44px;height:44px;border-radius:14px;background:var(--lw-red);color:#fff!important;display:inline-flex;align-items:center;justify-content:center;font-weight:900;}
.lw-contact-icon-list strong{display:block;color:var(--lw-navy)!important;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;}
.lw-contact-icon-list a,.lw-contact-icon-list a:visited{color:var(--lw-red)!important;text-decoration:none;font-weight:800;word-break:break-word;}
.lw-contact-icon-list a:hover{text-decoration:underline;text-underline-offset:3px;}
.lw-social-row{border-top:1px solid rgba(15,23,42,.08);margin-top:22px;padding-top:18px;display:flex;gap:10px;flex-wrap:wrap;}
.lw-social-row a{display:inline-flex;border-radius:999px;background:var(--lw-navy);color:#fff!important;text-decoration:none;font-weight:900;padding:9px 13px;}
.lw-social-row span{color:#64748b!important;font-weight:700;line-height:1.5;}
.lw-card .lw-card-body .lw-btn-primary,
.lw-card .lw-card-body .lw-btn-primary:visited,
.lw-post-list .lw-btn-primary,
.lw-post-list .lw-btn-primary:visited{color:#fff!important;}
@media(max-width:900px){.lw-profile-top-grid,.lw-profile-main-grid{grid-template-columns:1fr}.lw-profile-top{padding:42px 0}.lw-profile-top-copy h1{font-size:3.15rem}.lw-profile-main{padding:36px 0}}

/* LabourWeb v7: mission colours, media asset importer and flexible header logo */
:root{
  --lw-growth:#E5007D;
  --lw-green-energy:#3BAA35;
  --lw-nhs:#1D70B8;
  --lw-policing:#F39206;
  --lw-opportunity:#662381;
}
.lw-brand{display:flex;align-items:center;gap:12px;min-width:0}.lw-brand-text{display:flex;flex-direction:column}.lw-brand-logo-wrap{display:flex;align-items:center}.lw-brand-logo{display:block;max-height:58px;width:auto;max-width:260px;object-fit:contain}.lw-brand:has(.lw-brand-logo) span{color:inherit}.lw-header .lw-wrap{min-height:88px}
.lw-box-growth > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-growth),#a9005c);color:#fff;box-shadow:0 22px 58px rgba(229,0,125,.22)}
.lw-box-green-energy > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-green-energy),#237f22);color:#fff;box-shadow:0 22px 58px rgba(58,170,53,.20)}
.lw-box-nhs > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-nhs),#0b4f8d);color:#fff;box-shadow:0 22px 58px rgba(29,112,184,.22)}
.lw-box-policing > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-policing),#c46c00);color:#121212;box-shadow:0 22px 58px rgba(243,146,6,.20)}
.lw-box-opportunity > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-opportunity),#3b1450);color:#fff;box-shadow:0 22px 58px rgba(102,35,129,.24)}
.lw-box-growth h1,.lw-box-growth h2,.lw-box-growth h3,.lw-box-growth p,.lw-box-growth span,
.lw-box-green-energy h1,.lw-box-green-energy h2,.lw-box-green-energy h3,.lw-box-green-energy p,.lw-box-green-energy span,
.lw-box-nhs h1,.lw-box-nhs h2,.lw-box-nhs h3,.lw-box-nhs p,.lw-box-nhs span,
.lw-box-opportunity h1,.lw-box-opportunity h2,.lw-box-opportunity h3,.lw-box-opportunity p,.lw-box-opportunity span{color:#fff!important}
.lw-box-policing h1,.lw-box-policing h2,.lw-box-policing h3,.lw-box-policing p,.lw-box-policing span{color:#121212!important}
.lw-box-growth .lw-mini-btn .elementor-button,.lw-box-green-energy .lw-mini-btn .elementor-button,.lw-box-nhs .lw-mini-btn .elementor-button,.lw-box-opportunity .lw-mini-btn .elementor-button{background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important}.lw-box-policing .lw-mini-btn .elementor-button{background:#121212!important;color:#fff!important;border-color:#121212!important}
.lw-stat-growth > .elementor-widget-wrap{background:var(--lw-growth);color:#fff}.lw-stat-green-energy > .elementor-widget-wrap{background:var(--lw-green-energy);color:#fff}.lw-stat-nhs > .elementor-widget-wrap{background:var(--lw-nhs);color:#fff}.lw-stat-policing > .elementor-widget-wrap{background:var(--lw-policing);color:#121212}.lw-stat-opportunity > .elementor-widget-wrap{background:var(--lw-opportunity);color:#fff}.lw-stat-growth .lw-stat-html strong,.lw-stat-green-energy .lw-stat-html strong,.lw-stat-nhs .lw-stat-html strong,.lw-stat-opportunity .lw-stat-html strong{color:#fff}.lw-stat-policing .lw-stat-html strong{color:#121212}
@media(max-width:900px){.lw-brand-logo{max-height:48px;max-width:220px}}


/* LabourWeb v7.6 layout repair: Elementor container-safe grids, cards and page consistency */
.lw-kicker{display:none!important;}
.lw-main,.lw-main *,.lw-header,.lw-footer{font-family:Poppins,Arial,Helvetica,sans-serif!important;}
.lw-template-main{overflow:hidden;}

/* Elementor 4 container output uses .e-con and .e-con-inner rather than legacy widget-wraps. */
.lw-el-section.e-con,
.lw-el-section.elementor-element,
.lw-action-row.e-con,
.lw-card-grid.e-con,
.lw-stat-row.e-con,
.lw-feature-band.e-con,
.lw-profile-editor-main.e-con,
.lw-profile-editor-hero.e-con,
.lw-article-editor-grid.e-con,
.lw-two-col.e-con{padding-left:16px!important;padding-right:16px!important;}

.lw-action-row > .e-con-inner,
.lw-card-grid > .e-con-inner,
.lw-stat-row > .e-con-inner{
  display:grid!important;
  width:min(1160px,100%)!important;
  max-width:1160px!important;
  margin-inline:auto!important;
  gap:20px!important;
  align-items:stretch!important;
}
.lw-action-row > .e-con-inner,
.lw-card-grid > .e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.lw-stat-row > .e-con-inner{grid-template-columns:1.35fr repeat(3,minmax(0,1fr))!important;}
.lw-feature-band > .e-con-inner,
.lw-two-col > .e-con-inner,
.lw-profile-editor-main > .e-con-inner,
.lw-profile-editor-hero > .e-con-inner,
.lw-article-editor-grid > .e-con-inner{
  display:grid!important;
  width:min(1160px,100%)!important;
  max-width:1160px!important;
  margin-inline:auto!important;
  gap:24px!important;
  align-items:start!important;
}
.lw-two-col > .e-con-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.95fr)!important;}
.lw-feature-band > .e-con-inner{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr)!important;align-items:center!important;}
.lw-profile-editor-main > .e-con-inner{grid-template-columns:minmax(0,1fr) minmax(300px,390px)!important;}
.lw-profile-editor-hero > .e-con-inner{grid-template-columns:minmax(230px,330px) minmax(0,1fr)!important;align-items:center!important;}
.lw-article-editor-grid > .e-con-inner{grid-template-columns:minmax(0,1fr) minmax(280px,380px)!important;}

.lw-action-row > .e-con-inner > .e-con,
.lw-card-grid > .e-con-inner > .e-con,
.lw-stat-row > .e-con-inner > .e-con,
.lw-feature-card-stack > .e-con-inner > .e-con,
.lw-feature-card-stack > .e-con,
.lw-profile-editor-main > .e-con-inner > .e-con,
.lw-profile-editor-hero > .e-con-inner > .e-con,
.lw-article-editor-grid > .e-con-inner > .e-con,
.lw-two-col > .e-con-inner > .e-con{
  width:100%!important;
  max-width:100%!important;
  flex:initial!important;
}

/* Card surfaces for both legacy widgets and modern containers */
.e-con.lw-box,
.lw-box.e-con,
.lw-box > .elementor-widget-wrap{
  border-radius:26px!important;
  padding:24px!important;
  min-height:260px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(15,23,42,.10);
  border:1px solid rgba(15,23,42,.08);
  transition:.18s ease;
}
.e-con.lw-box:hover,.lw-box.e-con:hover,.lw-box > .elementor-widget-wrap:hover{transform:translateY(-3px);box-shadow:0 25px 65px rgba(15,23,42,.14);}
.e-con.lw-box-white,.lw-box-white.e-con,.lw-box-white > .elementor-widget-wrap{background:#fff!important;color:var(--lw-ink)!important;}
.e-con.lw-box-red,.lw-box-red.e-con,.lw-box-red > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-red),#a9002d)!important;color:#fff!important;}
.e-con.lw-box-navy,.lw-box-navy.e-con,.lw-box-navy > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-navy),#263142)!important;color:#fff!important;}
.e-con.lw-box-yellow,.lw-box-yellow.e-con,.lw-box-yellow > .elementor-widget-wrap{background:var(--lw-yellow)!important;color:var(--lw-navy)!important;}
.e-con.lw-box-growth,.lw-box-growth.e-con,.lw-box-growth > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-growth),#a9005c)!important;color:#fff!important;}
.e-con.lw-box-green-energy,.lw-box-green-energy.e-con,.lw-box-green-energy > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-green-energy),#237f22)!important;color:#fff!important;}
.e-con.lw-box-nhs,.lw-box-nhs.e-con,.lw-box-nhs > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-nhs),#0b4f8d)!important;color:#fff!important;}
.e-con.lw-box-policing,.lw-box-policing.e-con,.lw-box-policing > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-policing),#f8be4a)!important;color:#121212!important;}
.e-con.lw-box-opportunity,.lw-box-opportunity.e-con,.lw-box-opportunity > .elementor-widget-wrap{background:linear-gradient(145deg,var(--lw-opportunity),#3b1450)!important;color:#fff!important;}
.lw-box-red *,.lw-box-navy *,.lw-box-growth *,.lw-box-green-energy *,.lw-box-nhs *,.lw-box-opportunity *{color:#fff!important;}
.lw-box-policing *,.lw-box-yellow *{color:#121212!important;}
.lw-box-white .elementor-heading-title,.lw-box-white h1,.lw-box-white h2,.lw-box-white h3{color:var(--lw-navy)!important;}
.lw-box-white p{color:#475569!important;} .lw-box-white span:not(.elementor-button-text):not(.elementor-button-content-wrapper):not(.elementor-button-icon){color:#475569!important;}
.lw-card-inner-img img{width:100%!important;aspect-ratio:16/10;object-fit:cover;border-radius:18px!important;margin-bottom:12px;}

/* Action cards */
.e-con.lw-action-box,.lw-action-box.e-con,.lw-action-box > .elementor-widget-wrap{
  background:#fff!important;border-radius:24px!important;box-shadow:0 24px 60px rgba(15,23,42,.14);border:1px solid rgba(15,23,42,.08);padding:0!important;min-height:178px;overflow:hidden;transition:.18s ease;
}
.e-con.lw-action-box:hover,.lw-action-box.e-con:hover{transform:translateY(-3px);}
.lw-action-link{display:block!important;height:100%;min-height:178px;padding:24px;text-decoration:none!important;color:var(--lw-navy)!important;background:#fff!important;}
.lw-action-link:hover{background:linear-gradient(180deg,#fff,#fff7f9)!important;color:var(--lw-navy)!important;}
.lw-action-head{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 12px!important;}
.lw-action-head strong{display:block!important;color:var(--lw-navy)!important;font-size:1.22rem!important;line-height:1.08!important;letter-spacing:-.035em!important;}
.lw-action-icon{flex:0 0 46px!important;width:46px!important;height:46px!important;border-radius:14px!important;background:var(--lw-red)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;font-size:1.25rem!important;margin:0!important;}
.lw-action-link p{margin:0!important;color:#475569!important;line-height:1.55!important;}

/* Stats */
.e-con.lw-stat-box,.lw-stat-box.e-con,.lw-stat-box > .elementor-widget-wrap{border-radius:24px!important;padding:24px!important;min-height:150px!important;display:flex!important;align-items:center!important;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 45px rgba(15,23,42,.08);}
.lw-stat-red.e-con,.lw-stat-red > .elementor-widget-wrap{background:var(--lw-red)!important;color:#fff!important;}
.lw-stat-yellow.e-con,.lw-stat-yellow > .elementor-widget-wrap{background:var(--lw-yellow)!important;color:var(--lw-navy)!important;}
.lw-stat-html strong{display:block;font-size:clamp(2.2rem,4vw,3.2rem);line-height:.95;font-weight:950;color:var(--lw-red)!important;letter-spacing:-.05em;}
.lw-stat-red .lw-stat-html strong,.lw-stat-red .lw-stat-html span{color:#fff!important;}

/* Feature stack */
.lw-feature-card-stack > .e-con-inner,
.lw-feature-card-stack.e-con{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;
}

/* Hero and headers */
.lw-el-hero{padding:72px 0 58px!important;}
.lw-page-hero{padding:64px 0!important;}
.lw-el-hero > .e-con-inner{width:min(1160px,100%)!important;max-width:1160px!important;margin-inline:auto!important;}
.lw-el-hero-title .elementor-heading-title,
.lw-archive-hero h1{font-size:clamp(2.6rem,5.5vw,5rem)!important;line-height:.94!important;letter-spacing:-.055em!important;font-weight:950!important;}
.lw-el-lede p,.lw-el-lede{font-size:1.16rem!important;line-height:1.6!important;color:rgba(255,255,255,.94)!important;}
.lw-archive-hero h1,.lw-archive-hero p,.lw-archive-hero span{color:#fff!important;}

/* Contact band no longer full-bleed child stretching */
.lw-el-contact-band{width:min(1160px,calc(100% - 32px))!important;margin:28px auto 66px!important;border-radius:34px!important;padding:0!important;background:linear-gradient(135deg,var(--lw-navy),#263142)!important;color:#fff!important;}
.lw-el-contact-band > .e-con-inner{max-width:none!important;width:100%!important;padding:44px!important;}
.lw-contact-band-inner{width:100%!important;max-width:680px!important;}
.lw-el-contact-band *{color:#fff!important;}

/* Elementor-editable team profiles */
.lw-team-elementor-single .lw-profile-editor-hero{background:linear-gradient(135deg,var(--lw-red),#8c0026)!important;color:#fff!important;padding:62px 16px!important;}
.lw-team-elementor-single .lw-profile-editor-hero *{color:#fff!important;}
.lw-profile-top-photo-elementor{background:#fff!important;border-radius:30px!important;padding:16px!important;box-shadow:0 28px 80px rgba(17,24,39,.22)!important;}
.lw-profile-top-photo-elementor img,.lw-profile-elementor-img img{display:block!important;width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center!important;border-radius:22px!important;background:#eef0f2!important;}
.lw-profile-role-elementor p{font-size:1.35rem!important;line-height:1.45!important;font-weight:800!important;color:#fff!important;}
.lw-profile-editor-main{background:var(--lw-soft)!important;padding:58px 16px!important;}
.lw-profile-bio-card-editor,.lw-profile-contact-card-editor{background:#fff!important;border-radius:28px!important;padding:30px!important;box-shadow:0 18px 50px rgba(15,23,42,.10)!important;border:1px solid rgba(15,23,42,.08)!important;}
.lw-profile-bio-card-editor h2,.lw-profile-contact-card-editor h2{color:var(--lw-navy)!important;}
.lw-profile-bio-card-editor p{color:#334155!important;font-size:1.07rem!important;line-height:1.75!important;}
.lw-contact-icon-list{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:16px!important;}
.lw-contact-icon-list li{display:grid!important;grid-template-columns:44px 1fr!important;gap:14px!important;align-items:start!important;}
.lw-contact-icon-list li > span{width:44px!important;height:44px!important;border-radius:14px!important;background:var(--lw-red)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important;}
.lw-contact-icon-list strong{display:block!important;color:var(--lw-navy)!important;font-size:.82rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;margin-bottom:3px!important;}
.lw-contact-icon-list a,.lw-contact-icon-list a:visited{color:var(--lw-red)!important;text-decoration:none!important;font-weight:800!important;word-break:break-word!important;}
.lw-social-row{border-top:1px solid rgba(15,23,42,.08)!important;margin-top:22px!important;padding-top:18px!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.lw-social-row a{display:inline-flex!important;border-radius:999px!important;background:var(--lw-navy)!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;padding:9px 13px!important;}

/* News/article content positioning */
.lw-single-shell{align-items:start;}
.lw-article-editor-grid > .e-con-inner{align-items:start!important;}
.lw-article-main-col,.lw-article-side-col{width:100%!important;}
.lw-article-content .lw-el-section{padding:0 0 26px!important;}
.lw-article-content .lw-el-section > .e-con-inner{max-width:100%!important;width:100%!important;padding:0!important;}

/* Button contrast everywhere */
.lw-main .lw-btn,.lw-main .lw-btn:visited,.lw-grid .lw-btn,.lw-grid .lw-btn:visited,.lw-card .lw-btn,.lw-card .lw-btn:visited,.elementor-button,.elementor-button:visited{color:#fff!important;}
.lw-main .lw-btn-light,.lw-main .lw-btn-light:visited{background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important;}

/* Responsive */
@media(max-width:900px){
  .lw-action-row > .e-con-inner,.lw-card-grid > .e-con-inner,.lw-stat-row > .e-con-inner,.lw-feature-band > .e-con-inner,.lw-two-col > .e-con-inner,.lw-profile-editor-main > .e-con-inner,.lw-profile-editor-hero > .e-con-inner,.lw-article-editor-grid > .e-con-inner,.lw-feature-card-stack > .e-con-inner,.lw-feature-card-stack.e-con{grid-template-columns:1fr!important;}
  .lw-action-row{margin-top:0!important;padding-top:24px!important;}
  .lw-el-contact-band > .e-con-inner{padding:28px!important;}
}

/* LabourWeb v7.7 homepage visual polish and contrast fixes */
:root{--lw-red-dark:#b80030;}
.lw-main a.lw-btn,
.lw-main a.lw-btn:visited,
.lw-main .elementor-button,
.lw-main .elementor-button:visited,
.lw-card .elementor-button,
.lw-card .elementor-button:visited,
.lw-post-list .elementor-button,
.lw-post-list .elementor-button:visited,
.lw-grid .elementor-button,
.lw-grid .elementor-button:visited{
  color:#fff!important;
  text-decoration:none!important;
}
.lw-main .lw-btn-primary .elementor-button,
.lw-main .lw-mini-btn .elementor-button,
.lw-main .elementor-button{
  background:var(--lw-red)!important;
  border-color:var(--lw-red)!important;
  color:#fff!important;
}
.lw-main .lw-btn-primary .elementor-button:hover,
.lw-main .lw-mini-btn .elementor-button:hover,
.lw-main .elementor-button:hover{
  background:var(--lw-red-dark)!important;
  border-color:var(--lw-red-dark)!important;
  color:#fff!important;
}

/* Proper button rows on red hero/contact sections */
.lw-button-row{display:flex!important;gap:14px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:8px!important;}
.lw-button-row .lw-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;padding:14px 22px!important;font-weight:900!important;line-height:1!important;border:2px solid transparent!important;box-shadow:0 14px 34px rgba(15,23,42,.16)!important;transition:.18s ease!important;}
.lw-button-row .lw-btn:hover{transform:translateY(-2px)!important;text-decoration:none!important;}
.lw-button-row .lw-btn-light{background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important;}
.lw-button-row .lw-btn-light:hover{background:var(--lw-yellow)!important;color:var(--lw-navy)!important;border-color:var(--lw-yellow)!important;}
.lw-button-row .lw-btn-outline{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important;}
.lw-button-row .lw-btn-outline:hover{background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important;}
.lw-hero-button-row,.lw-contact-buttons{width:100%!important;}
.lw-hero-copy .elementor-widget-button{display:inline-block!important;width:auto!important;margin-right:12px!important;}
.lw-hero-copy .lw-btn-light .elementor-button{background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important;}
.lw-hero-copy .lw-btn-outline .elementor-button{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:#fff!important;}
.lw-el-contact-band .lw-btn-light .elementor-button{background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important;}
.lw-el-contact-band .lw-btn-outline .elementor-button{background:transparent!important;color:#fff!important;border-color:#fff!important;}

/* Hero image caption should be a proper white-on-red card, not loose black text. */
.lw-hero-photo{position:relative!important;}
.lw-hero-photo .lw-photo-caption{
  position:relative!important;
  margin-top:-38px!important;
  margin-left:24px!important;
  margin-right:24px!important;
  background:linear-gradient(135deg,var(--lw-red),#a9002d)!important;
  color:#fff!important;
  border-radius:22px!important;
  padding:20px!important;
  box-shadow:0 24px 60px rgba(15,23,42,.24)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.lw-photo-caption strong{display:block!important;color:#fff!important;font-size:1.12rem!important;line-height:1.15!important;margin-bottom:6px!important;}
.lw-photo-caption span{display:block!important;color:rgba(255,255,255,.92)!important;line-height:1.5!important;}

/* Stats: number centred, label below, never bunched inline. */
.lw-stat-box.e-con,.e-con.lw-stat-box,.lw-stat-box > .elementor-widget-wrap{
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:26px 18px!important;
}
.lw-stat-html{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-align:center!important;width:100%!important;}
.lw-stat-html strong{display:block!important;font-size:clamp(2.8rem,5vw,4.4rem)!important;line-height:.9!important;font-weight:950!important;letter-spacing:-.06em!important;margin:0!important;}
.lw-stat-html span{display:block!important;font-size:.98rem!important;line-height:1.25!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.035em!important;margin:0!important;max-width:13ch!important;}
.lw-stat-yellow .lw-stat-html strong,.lw-stat-yellow .lw-stat-html span,
.lw-stat-box:not(.lw-stat-red) .lw-stat-html span{color:var(--lw-navy)!important;}
.lw-stat-white .lw-stat-html strong{color:var(--lw-red)!important;}
.lw-stat-white .lw-stat-html span{color:#475569!important;}

/* Wider mission cards */
.lw-mission-intro > .e-con-inner{display:block!important;width:min(1160px,100%)!important;max-width:1160px!important;margin-inline:auto!important;}
.lw-mission-intro .e-con{max-width:760px!important;}
.lw-mission-grid > .e-con-inner{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;}
.lw-mission-grid .lw-box{min-height:330px!important;}
.lw-mission-grid .lw-card-inner-img img{aspect-ratio:16/9!important;}

/* Cards: dark/mission/red/navy cards use white content; light cards keep readable dark text. */
.lw-box-red .elementor-heading-title,.lw-box-red p,.lw-box-red span,.lw-box-red strong,
.lw-box-navy .elementor-heading-title,.lw-box-navy p,.lw-box-navy span,.lw-box-navy strong,
.lw-box-growth .elementor-heading-title,.lw-box-growth p,.lw-box-growth span,.lw-box-growth strong,
.lw-box-green-energy .elementor-heading-title,.lw-box-green-energy p,.lw-box-green-energy span,.lw-box-green-energy strong,
.lw-box-nhs .elementor-heading-title,.lw-box-nhs p,.lw-box-nhs span,.lw-box-nhs strong,
.lw-box-opportunity .elementor-heading-title,.lw-box-opportunity p,.lw-box-opportunity span,.lw-box-opportunity strong{color:#fff!important;}
.lw-box-white .elementor-heading-title,.lw-box-white strong{color:var(--lw-navy)!important;}
.lw-box-white p{color:#475569!important;} .lw-box-white span:not(.elementor-button-text):not(.elementor-button-content-wrapper):not(.elementor-button-icon){color:#475569!important;}
.lw-box-yellow .elementor-heading-title,.lw-box-yellow p,.lw-box-yellow span,.lw-box-yellow strong,
.lw-box-policing .elementor-heading-title,.lw-box-policing p,.lw-box-policing span,.lw-box-policing strong{color:#121212!important;}
.lw-box-red .lw-mini-btn .elementor-button,
.lw-box-navy .lw-mini-btn .elementor-button,
.lw-box-growth .lw-mini-btn .elementor-button,
.lw-box-green-energy .lw-mini-btn .elementor-button,
.lw-box-nhs .lw-mini-btn .elementor-button,
.lw-box-opportunity .lw-mini-btn .elementor-button{background:#fff!important;border-color:#fff!important;color:var(--lw-red)!important;}
.lw-box-red .lw-mini-btn .elementor-button:hover,
.lw-box-navy .lw-mini-btn .elementor-button:hover,
.lw-box-growth .lw-mini-btn .elementor-button:hover,
.lw-box-green-energy .lw-mini-btn .elementor-button:hover,
.lw-box-nhs .lw-mini-btn .elementor-button:hover,
.lw-box-opportunity .lw-mini-btn .elementor-button:hover{background:var(--lw-yellow)!important;border-color:var(--lw-yellow)!important;color:var(--lw-navy)!important;}

/* Keep homepage contact band contained and visually intentional. */
.lw-el-contact-band{overflow:hidden!important;}
.lw-el-contact-band .lw-contact-band-inner{max-width:760px!important;}
.lw-el-contact-band .lw-contact-band-inner h2,
.lw-el-contact-band .lw-contact-band-inner p{color:#fff!important;}

@media(max-width:1100px){.lw-mission-grid > .e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:680px){.lw-button-row{flex-direction:column!important;align-items:stretch!important}.lw-button-row .lw-btn{width:100%!important}.lw-mission-grid > .e-con-inner{grid-template-columns:1fr!important}.lw-hero-photo .lw-photo-caption{margin:14px 0 0!important}.lw-stat-html strong{font-size:3rem!important}}


/* LabourWeb v7.8: menu refresh, stronger contrast and stat-card repair */
/* Red buttons should always be red with white text, unless explicitly styled as a hero light/outline button. */
.lw-main .elementor-button,
.lw-main .elementor-button:visited,
.lw-main a.lw-btn-primary,
.lw-main a.lw-btn-primary:visited,
.lw-main .lw-mini-btn .elementor-button,
.lw-main .lw-mini-btn .elementor-button:visited,
.lw-grid .lw-btn-primary,
.lw-grid .lw-btn-primary:visited,
.lw-card .lw-btn-primary,
.lw-card .lw-btn-primary:visited{
  background:var(--lw-red)!important;
  border-color:var(--lw-red)!important;
  color:#fff!important;
  text-decoration:none!important;
}
.lw-main .elementor-button:hover,
.lw-main .lw-mini-btn .elementor-button:hover,
.lw-grid .lw-btn-primary:hover,
.lw-card .lw-btn-primary:hover{
  background:var(--lw-red-dark)!important;
  border-color:var(--lw-red-dark)!important;
  color:#fff!important;
}
/* Keep intentional hero/contact contrast buttons. */
.lw-button-row .lw-btn-light,
.lw-el-hero .lw-btn-light,
.lw-el-contact-band .lw-btn-light{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--lw-red)!important;
}
.lw-button-row .lw-btn-outline,
.lw-el-hero .lw-btn-outline,
.lw-el-contact-band .lw-btn-outline{
  background:rgba(255,255,255,.10)!important;
  border-color:#fff!important;
  color:#fff!important;
}

/* Coloured cards: most dark/strong cards use white text, including the policing mission colour. */
.e-con.lw-box-policing,.lw-box-policing.e-con,.lw-box-policing > .elementor-widget-wrap{
  background:linear-gradient(145deg,#F39206,#b95d00)!important;
  color:#fff!important;
}
.lw-box-red .elementor-heading-title,.lw-box-red p,.lw-box-red span,.lw-box-red strong,
.lw-box-navy .elementor-heading-title,.lw-box-navy p,.lw-box-navy span,.lw-box-navy strong,
.lw-box-growth .elementor-heading-title,.lw-box-growth p,.lw-box-growth span,.lw-box-growth strong,
.lw-box-green-energy .elementor-heading-title,.lw-box-green-energy p,.lw-box-green-energy span,.lw-box-green-energy strong,
.lw-box-nhs .elementor-heading-title,.lw-box-nhs p,.lw-box-nhs span,.lw-box-nhs strong,
.lw-box-policing .elementor-heading-title,.lw-box-policing p,.lw-box-policing span,.lw-box-policing strong,
.lw-box-opportunity .elementor-heading-title,.lw-box-opportunity p,.lw-box-opportunity span,.lw-box-opportunity strong{
  color:#fff!important;
}
.lw-box-red a:not(.elementor-button),.lw-box-navy a:not(.elementor-button),.lw-box-growth a:not(.elementor-button),.lw-box-green-energy a:not(.elementor-button),.lw-box-nhs a:not(.elementor-button),.lw-box-policing a:not(.elementor-button),.lw-box-opportunity a:not(.elementor-button){color:#fff!important;}
.lw-box-yellow .elementor-heading-title,.lw-box-yellow p,.lw-box-yellow span,.lw-box-yellow strong,
.lw-box-white .elementor-heading-title,.lw-box-white strong{color:var(--lw-navy)!important;}
.lw-box-white p{color:#475569!important;} .lw-box-white span:not(.elementor-button-text):not(.elementor-button-content-wrapper):not(.elementor-button-icon){color:#475569!important;}
.lw-box-yellow p,.lw-box-yellow span{color:#121212!important;}

/* Local priority stats: force number above label in the actual Elementor HTML widget output. */
.lw-stat-row > .e-con-inner{grid-template-columns:1.25fr repeat(3,minmax(180px,1fr))!important;align-items:stretch!important;}
.e-con.lw-stat-box,.lw-stat-box.e-con,.lw-stat-box > .elementor-widget-wrap{
  min-height:185px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:22px!important;
}
.lw-stat-html,
.lw-stat-html .elementor-widget-container,
.lw-stat-layout{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:12px!important;
}
.lw-stat-html strong,
.lw-stat-layout strong{
  display:block!important;
  width:100%!important;
  font-size:clamp(3rem,5vw,4.6rem)!important;
  line-height:.86!important;
  font-weight:950!important;
  letter-spacing:-.065em!important;
  margin:0!important;
  white-space:nowrap!important;
}
.lw-stat-html span,
.lw-stat-layout span{
  display:block!important;
  width:100%!important;
  max-width:14ch!important;
  font-size:1rem!important;
  line-height:1.25!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  margin:0 auto!important;
  white-space:normal!important;
}
.lw-stat-red .lw-stat-html strong,.lw-stat-red .lw-stat-html span,.lw-stat-red .lw-stat-layout strong,.lw-stat-red .lw-stat-layout span{color:#fff!important;}
.lw-stat-yellow .lw-stat-html strong,.lw-stat-yellow .lw-stat-html span,.lw-stat-yellow .lw-stat-layout strong,.lw-stat-yellow .lw-stat-layout span{color:#121212!important;}
.lw-stat-white .lw-stat-html strong,.lw-stat-white .lw-stat-layout strong{color:var(--lw-red)!important;}
.lw-stat-white .lw-stat-html span,.lw-stat-white .lw-stat-layout span{color:#475569!important;}

/* Hero caption card and homepage hero button alignment. */
.lw-photo-caption,.lw-hero-photo .lw-photo-caption{background:linear-gradient(135deg,var(--lw-red),#a9002d)!important;color:#fff!important;}
.lw-photo-caption strong,.lw-photo-caption span,.lw-hero-photo .lw-photo-caption strong,.lw-hero-photo .lw-photo-caption span{color:#fff!important;}
.lw-hero-button-row .lw-button-row{display:flex!important;flex-direction:row!important;gap:14px!important;align-items:center!important;justify-content:flex-start!important;}
.lw-hero-button-row .lw-button-row .lw-btn{width:auto!important;}

/* Campaign/community safety card consistency. */
.lw-box-policing .lw-mini-btn .elementor-button,
.lw-box-red .lw-mini-btn .elementor-button,
.lw-box-navy .lw-mini-btn .elementor-button,
.lw-box-growth .lw-mini-btn .elementor-button,
.lw-box-green-energy .lw-mini-btn .elementor-button,
.lw-box-nhs .lw-mini-btn .elementor-button,
.lw-box-opportunity .lw-mini-btn .elementor-button{
  background:rgba(18,18,18,.92)!important;
  border-color:rgba(18,18,18,.92)!important;
  color:#fff!important;
}
.lw-box-policing .lw-mini-btn .elementor-button:hover,
.lw-box-red .lw-mini-btn .elementor-button:hover,
.lw-box-navy .lw-mini-btn .elementor-button:hover,
.lw-box-growth .lw-mini-btn .elementor-button:hover,
.lw-box-green-energy .lw-mini-btn .elementor-button:hover,
.lw-box-nhs .lw-mini-btn .elementor-button:hover,
.lw-box-opportunity .lw-mini-btn .elementor-button:hover{
  background:#000!important;
  border-color:#000!important;
  color:#fff!important;
}
@media(max-width:900px){
  .lw-stat-row > .e-con-inner{grid-template-columns:1fr!important;}
  .lw-hero-button-row .lw-button-row{flex-direction:column!important;align-items:stretch!important;}
  .lw-hero-button-row .lw-button-row .lw-btn{width:100%!important;}
}

/* v7.10 fixes: defaults, hero centering, stronger contrast and stat card layout */
.lw-el-hero.lw-hero-rich.e-con,
.lw-el-hero.lw-hero-rich > .e-con-inner{
  align-items:center!important;
}
.lw-el-hero.lw-hero-rich .lw-hero-copy.e-con,
.lw-el-hero.lw-hero-rich .lw-hero-copy > .elementor-widget-wrap{
  justify-content:center!important;
  align-self:stretch!important;
}
.lw-el-hero.lw-hero-rich .lw-hero-copy{
  min-height:520px!important;
}
.elementor-button,
.elementor-button span,
.elementor-button .elementor-button-text,
a.elementor-button,
a.elementor-button:visited,
.lw-btn,
.lw-btn:visited,
.lw-mini-btn .elementor-button,
.lw-mini-btn .elementor-button span,
.lw-mini-btn .elementor-button .elementor-button-text{
  text-decoration:none!important;
}
/* Red buttons must always be readable. */
.elementor-button[style*="E4003B"],
.lw-btn-primary,
.lw-btn-primary:visited,
.lw-box-white .lw-mini-btn .elementor-button,
.lw-box-yellow .lw-mini-btn .elementor-button,
.lw-mini-btn .elementor-button,
.lw-mini-btn .elementor-button span,
.lw-mini-btn .elementor-button .elementor-button-text{
  color:#fff!important;
}
.lw-box-white .lw-mini-btn .elementor-button span,
.lw-box-white .lw-mini-btn .elementor-button .elementor-button-text,
.lw-box-yellow .lw-mini-btn .elementor-button span,
.lw-box-yellow .lw-mini-btn .elementor-button .elementor-button-text{
  color:#fff!important;
}
/* Make all strong-colour card buttons white text, including nested Elementor spans. */
.lw-box-red .elementor-button,.lw-box-red .elementor-button span,.lw-box-red .elementor-button .elementor-button-text,
.lw-box-navy .elementor-button,.lw-box-navy .elementor-button span,.lw-box-navy .elementor-button .elementor-button-text,
.lw-box-growth .elementor-button,.lw-box-growth .elementor-button span,.lw-box-growth .elementor-button .elementor-button-text,
.lw-box-green-energy .elementor-button,.lw-box-green-energy .elementor-button span,.lw-box-green-energy .elementor-button .elementor-button-text,
.lw-box-nhs .elementor-button,.lw-box-nhs .elementor-button span,.lw-box-nhs .elementor-button .elementor-button-text,
.lw-box-policing .elementor-button,.lw-box-policing .elementor-button span,.lw-box-policing .elementor-button .elementor-button-text,
.lw-box-opportunity .elementor-button,.lw-box-opportunity .elementor-button span,.lw-box-opportunity .elementor-button .elementor-button-text{
  color:#fff!important;
}
/* Elementor sometimes wraps html widget classes differently; target every possible stat wrapper. */
.lw-stat-box .lw-stat-layout,
.lw-stat-html .lw-stat-layout,
.elementor-widget-html.lw-stat-html .lw-stat-layout,
.lw-stat-html .elementor-widget-container .lw-stat-layout{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:12px!important;
  width:100%!important;
}
.lw-stat-box .lw-stat-layout strong,
.lw-stat-html .lw-stat-layout strong,
.elementor-widget-html.lw-stat-html .lw-stat-layout strong{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  font-size:clamp(3rem,5vw,4.6rem)!important;
  line-height:.86!important;
  font-weight:950!important;
  letter-spacing:-.065em!important;
  margin:0!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.lw-stat-box .lw-stat-layout span,
.lw-stat-html .lw-stat-layout span,
.elementor-widget-html.lw-stat-html .lw-stat-layout span{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:14ch!important;
  font-size:1rem!important;
  line-height:1.25!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  margin:0 auto!important;
  white-space:normal!important;
  text-align:center!important;
}
.lw-stat-yellow .lw-stat-layout strong,.lw-stat-yellow .lw-stat-layout span{color:#121212!important;}
.lw-stat-red .lw-stat-layout strong,.lw-stat-red .lw-stat-layout span{color:#fff!important;}
.lw-stat-white .lw-stat-layout strong{color:var(--lw-red)!important;}
.lw-stat-white .lw-stat-layout span{color:#475569!important;}


/* LabourWeb v7.11: homepage spacing, smaller hero, default setting display and stubborn button/stat fixes */
.lw-el-hero.lw-hero-rich{padding:50px 0 42px!important;}
.lw-el-hero.lw-hero-rich .lw-hero-copy{min-height:420px!important;}
.lw-action-row{margin-top:26px!important;}
.lw-action-row > .e-con-inner{padding-top:0!important;}

/* Force all red/card mini buttons to readable white, including Elementor's nested spans and generated wrappers. */
.lw-mini-btn a,
.lw-mini-btn a:visited,
.lw-mini-btn .elementor-button,
.lw-mini-btn .elementor-button:visited,
.lw-mini-btn .elementor-button *,
.lw-mini-btn .elementor-button-text,
.lw-box .lw-mini-btn a,
.lw-box .lw-mini-btn a:visited,
.lw-box .lw-mini-btn a span,
.lw-box .lw-mini-btn .elementor-button span,
.lw-box-white .lw-mini-btn a,
.lw-box-white .lw-mini-btn a:visited,
.lw-box-white .lw-mini-btn a span,
.lw-box-white .lw-mini-btn .elementor-button span,
.lw-box-yellow .lw-mini-btn a,
.lw-box-yellow .lw-mini-btn a:visited,
.lw-box-yellow .lw-mini-btn a span,
.lw-box-yellow .lw-mini-btn .elementor-button span{
  color:#fff!important;
  fill:#fff!important;
}
.lw-box-white .lw-mini-btn .elementor-button,
.lw-box-yellow .lw-mini-btn .elementor-button,
.lw-mini-btn .elementor-button{
  background:var(--lw-red)!important;
  border-color:var(--lw-red)!important;
}
.lw-box-white .lw-mini-btn .elementor-button:hover,
.lw-box-yellow .lw-mini-btn .elementor-button:hover,
.lw-mini-btn .elementor-button:hover{
  background:var(--lw-red-dark)!important;
  border-color:var(--lw-red-dark)!important;
  color:#fff!important;
}

/* Extra-hard stat repair: number and label must never sit inline. */
.lw-stat-layout{display:block!important;text-align:center!important;width:100%!important;}
.lw-stat-layout .lw-stat-number,
.lw-stat-layout strong{
  display:block!important;
  width:100%!important;
  margin:0 0 12px!important;
  text-align:center!important;
  float:none!important;
  clear:both!important;
}
.lw-stat-layout .lw-stat-break{display:block!important;content:""!important;margin:0!important;line-height:0!important;}
.lw-stat-layout .lw-stat-label,
.lw-stat-layout span{
  display:block!important;
  width:100%!important;
  max-width:14ch!important;
  margin:0 auto!important;
  text-align:center!important;
  float:none!important;
  clear:both!important;
}
@media(max-width:900px){.lw-el-hero.lw-hero-rich .lw-hero-copy{min-height:auto!important}.lw-el-hero.lw-hero-rich{padding:38px 0!important}.lw-action-row{margin-top:18px!important}}

/* LabourWeb v7.12: final mini-button text override
   Light/white card rules were correctly making normal card text dark, but they were also catching
   Elementor's nested button spans. Button text must always inherit the button contrast instead. */
.lw-main .lw-mini-btn,
.lw-main .lw-mini-btn *,
.lw-main .lw-mini-btn a,
.lw-main .lw-mini-btn a:visited,
.lw-main .lw-mini-btn .elementor-button,
.lw-main .lw-mini-btn .elementor-button:visited,
.lw-main .lw-mini-btn .elementor-button span,
.lw-main .lw-mini-btn .elementor-button .elementor-button-text,
.lw-main .lw-box-white .lw-mini-btn,
.lw-main .lw-box-white .lw-mini-btn *,
.lw-main .lw-box-white .lw-mini-btn a,
.lw-main .lw-box-white .lw-mini-btn a:visited,
.lw-main .lw-box-white .lw-mini-btn a span,
.lw-main .lw-box-white .lw-mini-btn .elementor-button,
.lw-main .lw-box-white .lw-mini-btn .elementor-button:visited,
.lw-main .lw-box-white .lw-mini-btn .elementor-button span,
.lw-main .lw-box-white .lw-mini-btn .elementor-button .elementor-button-text,
.lw-main .lw-box-yellow .lw-mini-btn,
.lw-main .lw-box-yellow .lw-mini-btn *,
.lw-main .lw-box-yellow .lw-mini-btn a,
.lw-main .lw-box-yellow .lw-mini-btn a:visited,
.lw-main .lw-box-yellow .lw-mini-btn a span,
.lw-main .lw-box-yellow .lw-mini-btn .elementor-button,
.lw-main .lw-box-yellow .lw-mini-btn .elementor-button:visited,
.lw-main .lw-box-yellow .lw-mini-btn .elementor-button span,
.lw-main .lw-box-yellow .lw-mini-btn .elementor-button .elementor-button-text{
  color:#fff!important;
  fill:#fff!important;
  text-decoration:none!important;
}
.lw-main .lw-mini-btn .elementor-button,
.lw-main .lw-mini-btn a.elementor-button,
.lw-main .lw-box-white .lw-mini-btn .elementor-button,
.lw-main .lw-box-white .lw-mini-btn a.elementor-button,
.lw-main .lw-box-yellow .lw-mini-btn .elementor-button,
.lw-main .lw-box-yellow .lw-mini-btn a.elementor-button{
  background:var(--lw-red)!important;
  border-color:var(--lw-red)!important;
  color:#fff!important;
}
.lw-main .lw-mini-btn .elementor-button:hover,
.lw-main .lw-mini-btn a.elementor-button:hover,
.lw-main .lw-box-white .lw-mini-btn .elementor-button:hover,
.lw-main .lw-box-yellow .lw-mini-btn .elementor-button:hover{
  background:var(--lw-red-dark)!important;
  border-color:var(--lw-red-dark)!important;
  color:#fff!important;
}


/* LabourWeb v7.13: fix white/light-card text rule overriding red button spans.
   The old .lw-box-white span rule made normal text readable, but it also caught Elementor's
   .elementor-button-text span. These targeted rules are intentionally broad for any button
   inside white/yellow/light cards. */
.lw-box-white a.elementor-button,
.lw-box-white a.elementor-button:visited,
.lw-box-white .elementor-button,
.lw-box-white .elementor-button:visited,
.lw-box-yellow a.elementor-button,
.lw-box-yellow a.elementor-button:visited,
.lw-box-yellow .elementor-button,
.lw-box-yellow .elementor-button:visited,
.lw-card a.elementor-button,
.lw-card .elementor-button {
  background: var(--lw-red) !important;
  border-color: var(--lw-red) !important;
  color: #fff !important;
}
.lw-box-white a.elementor-button *,
.lw-box-white .elementor-button *,
.lw-box-white .elementor-button span,
.lw-box-white .elementor-button .elementor-button-text,
.lw-box-white .elementor-button-content-wrapper,
.lw-box-white .elementor-button-content-wrapper span,
.lw-box-yellow a.elementor-button *,
.lw-box-yellow .elementor-button *,
.lw-box-yellow .elementor-button span,
.lw-box-yellow .elementor-button .elementor-button-text,
.lw-box-yellow .elementor-button-content-wrapper,
.lw-box-yellow .elementor-button-content-wrapper span,
.lw-card a.elementor-button *,
.lw-card .elementor-button *,
.lw-card .elementor-button span,
.lw-card .elementor-button .elementor-button-text {
  color: #fff !important;
  fill: #fff !important;
}
.lw-box-white a.elementor-button:hover,
.lw-box-white .elementor-button:hover,
.lw-box-yellow a.elementor-button:hover,
.lw-box-yellow .elementor-button:hover,
.lw-card a.elementor-button:hover,
.lw-card .elementor-button:hover {
  background: var(--lw-red-dark) !important;
  border-color: var(--lw-red-dark) !important;
  color: #fff !important;
}

/* LabourWeb v7.14: align matching cards in rows.
   Keep equal heights, image lines and button baselines consistent across Elementor legacy columns,
   Elementor containers, and shortcode-generated archive grids. */
.lw-card-grid > .elementor-container,
.lw-card-grid > .e-con-inner,
.lw-mission-grid > .elementor-container,
.lw-mission-grid > .e-con-inner,
.lw-stat-row > .elementor-container,
.lw-stat-row > .e-con-inner,
.lw-action-row > .elementor-container,
.lw-action-row > .e-con-inner,
.lw-grid{
  align-items:stretch!important;
}
.lw-card-grid .elementor-column,
.lw-mission-grid .elementor-column,
.lw-action-row .elementor-column,
.lw-stat-row .elementor-column{
  display:flex!important;
}
.lw-card-grid .elementor-widget-wrap,
.lw-mission-grid .elementor-widget-wrap,
.lw-action-row .elementor-widget-wrap,
.lw-stat-row .elementor-widget-wrap{
  width:100%!important;
}
.lw-card-grid .lw-box > .elementor-widget-wrap,
.lw-mission-grid .lw-box > .elementor-widget-wrap,
.lw-card-grid .lw-box.e-con,
.lw-mission-grid .lw-box.e-con,
.lw-box.lw-equal-card > .elementor-widget-wrap,
.lw-box.lw-equal-card.e-con{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.lw-card-grid .lw-box .elementor-widget,
.lw-mission-grid .lw-box .elementor-widget{
  flex:0 0 auto!important;
}
.lw-card-grid .lw-card-copy,
.lw-mission-grid .lw-card-copy,
.lw-box .lw-card-copy{
  flex:1 1 auto!important;
}
.lw-card-grid .lw-mini-btn,
.lw-mission-grid .lw-mini-btn,
.lw-box .lw-mini-btn,
.lw-card-grid .elementor-widget-button.lw-mini-btn,
.lw-mission-grid .elementor-widget-button.lw-mini-btn{
  margin-top:auto!important;
  padding-top:14px!important;
  align-self:flex-start!important;
}
.lw-card-grid .lw-card-title .elementor-heading-title,
.lw-mission-grid .lw-card-title .elementor-heading-title{
  min-height:2.2em!important;
  display:flex!important;
  align-items:flex-start!important;
}
.lw-card-inner-img,
.lw-card-inner-img .elementor-widget-container{
  width:100%!important;
}
.lw-card-inner-img img,
.lw-card-grid .lw-card-inner-img img,
.lw-mission-grid .lw-card-inner-img img{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:18px!important;
  margin:0 0 16px!important;
}
/* Cards without images keep their first heading aligned with cards that do have images when mixed. */
.lw-card-grid .lw-box:not(:has(.lw-card-inner-img)) .lw-card-title,
.lw-mission-grid .lw-box:not(:has(.lw-card-inner-img)) .lw-card-title{
  margin-top:0!important;
}
/* Shortcode/archive cards: image, content, and buttons align in rows. */
.lw-grid{
  grid-auto-rows:1fr!important;
}
.lw-grid .lw-card{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.lw-grid .lw-card-img{
  flex:0 0 auto!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.lw-grid .lw-card-body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
}
.lw-grid .lw-card-body p{
  flex:1 1 auto!important;
}
.lw-grid .lw-card-body .lw-btn{
  margin-top:auto!important;
  align-self:flex-start!important;
}
/* Action cards align icon/title row and body text consistently. */
.lw-action-row .lw-action-box > .elementor-widget-wrap,
.lw-action-row .lw-action-box.e-con{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.lw-action-row .lw-action-link{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.lw-action-row .lw-action-link p{
  margin-top:auto!important;
}
@media(max-width:900px){
  .lw-card-grid .lw-card-title .elementor-heading-title,
  .lw-mission-grid .lw-card-title .elementor-heading-title{min-height:0!important;}
}

/* LabourWeb v7.15: robust card internals alignment.
   Equal-height cards alone are not enough: images need a fixed visual frame,
   text needs a flexible middle area, and CTA buttons need to pin to the bottom.
   These rules cover both legacy Elementor columns and newer container markup. */
.lw-card-grid .lw-box,
.lw-mission-grid .lw-box,
.lw-action-row .lw-action-box,
.lw-feature-card-stack .lw-box,
.lw-box.lw-equal-card,
.elementor-element.lw-box,
.elementor-element.lw-action-box{
  height:100%!important;
}

.lw-card-grid .lw-box,
.lw-card-grid .lw-box > .elementor-widget-wrap,
.lw-card-grid .lw-box.e-con,
.lw-mission-grid .lw-box,
.lw-mission-grid .lw-box > .elementor-widget-wrap,
.lw-mission-grid .lw-box.e-con,
.lw-feature-card-stack .lw-box,
.lw-feature-card-stack .lw-box > .elementor-widget-wrap,
.lw-feature-card-stack .lw-box.e-con,
.lw-action-row .lw-action-box,
.lw-action-row .lw-action-box > .elementor-widget-wrap,
.lw-action-row .lw-action-box.e-con{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}

/* Fix image alignment regardless of uploaded image dimensions. */
.lw-card-grid .lw-card-inner-img,
.lw-mission-grid .lw-card-inner-img,
.lw-feature-card-stack .lw-card-inner-img{
  flex:0 0 auto!important;
  width:100%!important;
  margin-bottom:16px!important;
}
.lw-card-grid .lw-card-inner-img .elementor-widget-container,
.lw-mission-grid .lw-card-inner-img .elementor-widget-container,
.lw-feature-card-stack .lw-card-inner-img .elementor-widget-container{
  width:100%!important;
  height:190px!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.lw-mission-grid .lw-card-inner-img .elementor-widget-container{
  height:205px!important;
}
.lw-card-grid .lw-card-inner-img img,
.lw-mission-grid .lw-card-inner-img img,
.lw-feature-card-stack .lw-card-inner-img img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:18px!important;
  margin:0!important;
  display:block!important;
}

/* Keep headings aligned even where titles wrap differently. */
.lw-card-grid .lw-card-title,
.lw-mission-grid .lw-card-title,
.lw-feature-card-stack .lw-card-title{
  flex:0 0 auto!important;
  margin-bottom:8px!important;
}
.lw-card-grid .lw-card-title .elementor-heading-title,
.lw-mission-grid .lw-card-title .elementor-heading-title,
.lw-feature-card-stack .lw-card-title .elementor-heading-title{
  min-height:2.75em!important;
  display:flex!important;
  align-items:flex-start!important;
}

/* Body text becomes the elastic area so buttons align at the bottom. */
.lw-card-grid .lw-card-copy,
.lw-mission-grid .lw-card-copy,
.lw-feature-card-stack .lw-card-copy,
.lw-card-grid .lw-card-copy .elementor-widget-container,
.lw-mission-grid .lw-card-copy .elementor-widget-container,
.lw-feature-card-stack .lw-card-copy .elementor-widget-container,
.lw-card-grid .lw-card-copy p,
.lw-mission-grid .lw-card-copy p,
.lw-feature-card-stack .lw-card-copy p{
  flex:1 1 auto!important;
}

.lw-card-grid .lw-mini-btn,
.lw-mission-grid .lw-mini-btn,
.lw-feature-card-stack .lw-mini-btn,
.lw-box .elementor-widget-button.lw-mini-btn{
  flex:0 0 auto!important;
  margin-top:auto!important;
  padding-top:18px!important;
  align-self:flex-start!important;
}

/* Shortcode/archive listings: fixed image frame + elastic content + bottom-aligned CTA. */
.lw-grid .lw-card-img{
  height:210px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.lw-grid .lw-card-body h2,
.lw-grid .lw-card-body h3{
  min-height:2.6em!important;
}
.lw-grid .lw-card-body p{
  flex:1 1 auto!important;
}
.lw-grid .lw-card-body .lw-btn,
.lw-grid .lw-card-body .button{
  margin-top:auto!important;
  align-self:flex-start!important;
}

/* Elementor action cards: keep icon/title at top, copy aligned, card clickable area consistent. */
.lw-action-row .lw-action-link{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.lw-action-row .lw-action-title-row{
  flex:0 0 auto!important;
  min-height:54px!important;
}
.lw-action-row .lw-action-link p{
  margin-top:12px!important;
  flex:1 1 auto!important;
}

@media(max-width:900px){
  .lw-card-grid .lw-card-inner-img .elementor-widget-container,
  .lw-mission-grid .lw-card-inner-img .elementor-widget-container,
  .lw-feature-card-stack .lw-card-inner-img .elementor-widget-container,
  .lw-grid .lw-card-img{
    height:auto!important;
    aspect-ratio:16/10!important;
  }
  .lw-card-grid .lw-card-title .elementor-heading-title,
  .lw-mission-grid .lw-card-title .elementor-heading-title,
  .lw-feature-card-stack .lw-card-title .elementor-heading-title,
  .lw-grid .lw-card-body h2,
  .lw-grid .lw-card-body h3{
    min-height:0!important;
  }
}

/* LabourWeb v7.16: real internal card alignment.
   Elementor containers can render an .e-con-inner wrapper inside each card. Previous fixes
   equalised the outside card height, but did not always make the actual inner wrapper a flex
   column. These rules make the image, title, text and button occupy predictable rows. */
.lw-card-grid .lw-box.e-con,
.lw-mission-grid .lw-box.e-con,
.lw-feature-card-stack .lw-box.e-con,
.lw-card-grid .elementor-element.lw-box,
.lw-mission-grid .elementor-element.lw-box,
.lw-feature-card-stack .elementor-element.lw-box{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.lw-card-grid .lw-box.e-con > .e-con-inner,
.lw-mission-grid .lw-box.e-con > .e-con-inner,
.lw-feature-card-stack .lw-box.e-con > .e-con-inner,
.lw-card-grid .elementor-element.lw-box > .e-con-inner,
.lw-mission-grid .elementor-element.lw-box > .e-con-inner,
.lw-feature-card-stack .elementor-element.lw-box > .e-con-inner,
.lw-card-grid .lw-box > .elementor-widget-wrap,
.lw-mission-grid .lw-box > .elementor-widget-wrap,
.lw-feature-card-stack .lw-box > .elementor-widget-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:100%!important;
  flex:1 1 auto!important;
  gap:0!important;
}
/* Every image gets the same frame, independent of the original upload ratio. */
.lw-card-grid .lw-card-inner-img,
.lw-mission-grid .lw-card-inner-img,
.lw-feature-card-stack .lw-card-inner-img{
  display:block!important;
  flex:0 0 190px!important;
  height:190px!important;
  width:100%!important;
  margin:0 0 18px!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.lw-mission-grid .lw-card-inner-img{flex-basis:190px!important;height:190px!important;}
.lw-card-grid .lw-card-inner-img .elementor-widget-container,
.lw-mission-grid .lw-card-inner-img .elementor-widget-container,
.lw-feature-card-stack .lw-card-inner-img .elementor-widget-container{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.lw-card-grid .lw-card-inner-img img,
.lw-mission-grid .lw-card-inner-img img,
.lw-feature-card-stack .lw-card-inner-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:18px!important;
  margin:0!important;
  padding:0!important;
}
/* Titles use a fixed title lane so following text starts on the same line. */
.lw-card-grid .lw-card-title,
.lw-mission-grid .lw-card-title,
.lw-feature-card-stack .lw-card-title{
  display:flex!important;
  flex:0 0 3.3em!important;
  min-height:3.3em!important;
  align-items:flex-start!important;
  margin:0 0 10px!important;
}
.lw-card-grid .lw-card-title .elementor-widget-container,
.lw-mission-grid .lw-card-title .elementor-widget-container,
.lw-feature-card-stack .lw-card-title .elementor-widget-container{
  width:100%!important;
}
.lw-card-grid .lw-card-title .elementor-heading-title,
.lw-mission-grid .lw-card-title .elementor-heading-title,
.lw-feature-card-stack .lw-card-title .elementor-heading-title{
  margin:0!important;
  min-height:0!important;
}
/* Copy fills the middle; the button then pins to the bottom of the card. */
.lw-card-grid .lw-card-copy,
.lw-mission-grid .lw-card-copy,
.lw-feature-card-stack .lw-card-copy{
  display:block!important;
  flex:1 1 auto!important;
  margin:0!important;
}
.lw-card-grid .lw-card-copy .elementor-widget-container,
.lw-mission-grid .lw-card-copy .elementor-widget-container,
.lw-feature-card-stack .lw-card-copy .elementor-widget-container,
.lw-card-grid .lw-card-copy p,
.lw-mission-grid .lw-card-copy p,
.lw-feature-card-stack .lw-card-copy p{
  margin:0!important;
}
.lw-card-grid .lw-mini-btn,
.lw-mission-grid .lw-mini-btn,
.lw-feature-card-stack .lw-mini-btn,
.lw-card-grid .elementor-widget-button.lw-mini-btn,
.lw-mission-grid .elementor-widget-button.lw-mini-btn,
.lw-feature-card-stack .elementor-widget-button.lw-mini-btn{
  display:block!important;
  flex:0 0 auto!important;
  margin-top:auto!important;
  padding-top:22px!important;
  align-self:flex-start!important;
}
/* If a card has no button, it still keeps the same bottom breathing space visually. */
.lw-card-grid .lw-box.e-con:not(:has(.lw-mini-btn)) > .e-con-inner,
.lw-mission-grid .lw-box.e-con:not(:has(.lw-mini-btn)) > .e-con-inner,
.lw-feature-card-stack .lw-box.e-con:not(:has(.lw-mini-btn)) > .e-con-inner{
  padding-bottom:4px!important;
}
/* Archive shortcode cards get the same true row system. */
.lw-grid .lw-card{display:flex!important;flex-direction:column!important;height:100%!important;}
.lw-grid .lw-card-img{height:220px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;flex:0 0 220px!important;}
.lw-grid .lw-card-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;}
.lw-grid .lw-card-body h2,.lw-grid .lw-card-body h3{min-height:3.2em!important;margin-bottom:10px!important;}
.lw-grid .lw-card-body p{flex:1 1 auto!important;margin-bottom:18px!important;}
.lw-grid .lw-card-body .lw-btn{margin-top:auto!important;align-self:flex-start!important;}
@media(max-width:900px){
  .lw-card-grid .lw-card-inner-img,
  .lw-mission-grid .lw-card-inner-img,
  .lw-feature-card-stack .lw-card-inner-img{height:auto!important;flex-basis:auto!important;aspect-ratio:16/10!important;}
  .lw-card-grid .lw-card-title,
  .lw-mission-grid .lw-card-title,
  .lw-feature-card-stack .lw-card-title,
  .lw-grid .lw-card-body h2,.lw-grid .lw-card-body h3{min-height:0!important;flex-basis:auto!important;}
}

/* LabourWeb v7.17: real internal card alignment.
   Previous fixes equalised the outside containers but Elementor still laid out image,
   heading, text and buttons as independent widgets. The generated demo cards now use
   a single .lw-designed-card structure, so every card in a row has a fixed media lane,
   title/body lane and bottom-aligned action lane. */
.lw-card-grid .lw-designed-card-wrap,
.lw-mission-grid .lw-designed-card-wrap,
.lw-feature-card-stack .lw-designed-card-wrap {
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  padding:0 !important;
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.lw-card-grid .lw-designed-card-wrap > .elementor-widget-html,
.lw-mission-grid .lw-designed-card-wrap > .elementor-widget-html,
.lw-feature-card-stack .lw-designed-card-wrap > .elementor-widget-html,
.lw-designed-card-wrap .lw-designed-card-widget,
.lw-designed-card-wrap .elementor-widget-container {
  width:100% !important;
  height:100% !important;
  display:flex !important;
}
.lw-designed-card {
  width:100% !important;
  height:100% !important;
  min-height:390px !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:28px !important;
  padding:24px !important;
  overflow:hidden !important;
  box-shadow:0 18px 45px rgba(15,23,42,.10) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
.lw-designed-card:hover {transform:translateY(-3px);box-shadow:0 25px 65px rgba(15,23,42,.14)!important;}
.lw-designed-card-media {
  flex:0 0 172px !important;
  height:172px !important;
  width:100% !important;
  margin:0 0 24px !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.22) !important;
}
.lw-designed-card-media img {
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.lw-designed-card-content {
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}
.lw-designed-card-content h3 {
  min-height:2.35em !important;
  margin:0 0 18px !important;
  font-size:clamp(1.32rem,1.6vw,1.55rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.04em !important;
  font-weight:950 !important;
}
.lw-designed-card-content p {
  margin:0 !important;
  line-height:1.58 !important;
  font-size:1.02rem !important;
  max-width:34ch !important;
}
.lw-designed-card-actions {
  flex:0 0 auto !important;
  margin-top:auto !important;
  padding-top:28px !important;
}
.lw-designed-card-button,
.lw-designed-card-button:visited {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:var(--lw-red) !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:950 !important;
  line-height:1 !important;
  padding:13px 20px !important;
  min-height:44px !important;
}
.lw-designed-card-button:hover,
.lw-designed-card-button:focus {background:var(--lw-red-dark)!important;color:#fff!important;transform:translateY(-1px);}
.lw-designed-card-dark,
.lw-designed-card-dark h3,
.lw-designed-card-dark p {color:#fff !important;}
.lw-designed-card-light h3 {color:var(--lw-navy)!important;}
.lw-designed-card-light p {color:#475569!important;}
.lw-designed-card-red {background:linear-gradient(145deg,var(--lw-red),#a9002d)!important;color:#fff!important;}
.lw-designed-card-navy {background:linear-gradient(145deg,var(--lw-navy),#263142)!important;color:#fff!important;}
.lw-designed-card-growth {background:linear-gradient(145deg,var(--lw-growth),#a9005c)!important;color:#fff!important;}
.lw-designed-card-green-energy {background:linear-gradient(145deg,var(--lw-green-energy),#237f22)!important;color:#fff!important;}
.lw-designed-card-nhs {background:linear-gradient(145deg,var(--lw-nhs),#0b4f8d)!important;color:#fff!important;}
.lw-designed-card-opportunity {background:linear-gradient(145deg,var(--lw-opportunity),#3b1450)!important;color:#fff!important;}
.lw-designed-card-policing {background:linear-gradient(145deg,var(--lw-policing),#f8be4a)!important;color:#121212!important;}
.lw-designed-card-yellow {background:var(--lw-yellow)!important;color:#121212!important;}
.lw-designed-card-white {background:#fff!important;color:var(--lw-ink)!important;}
.lw-designed-card-red .lw-designed-card-button,
.lw-designed-card-navy .lw-designed-card-button,
.lw-designed-card-growth .lw-designed-card-button,
.lw-designed-card-green-energy .lw-designed-card-button,
.lw-designed-card-nhs .lw-designed-card-button,
.lw-designed-card-opportunity .lw-designed-card-button {
  background:rgba(255,255,255,.95)!important;
  color:var(--lw-red)!important;
}
.lw-designed-card-red .lw-designed-card-button:hover,
.lw-designed-card-navy .lw-designed-card-button:hover,
.lw-designed-card-growth .lw-designed-card-button:hover,
.lw-designed-card-green-energy .lw-designed-card-button:hover,
.lw-designed-card-nhs .lw-designed-card-button:hover,
.lw-designed-card-opportunity .lw-designed-card-button:hover {
  background:#fff!important;
  color:var(--lw-red-dark)!important;
}
/* Rows of four mission cards need slightly shallower cards so they do not look too tall. */
.lw-mission-grid .lw-designed-card {min-height:370px!important;}
.lw-mission-grid .lw-designed-card-media {height:145px!important;flex-basis:145px!important;}
/* Mobile: let cards breathe naturally while preserving image consistency. */
@media (max-width: 767px){
  .lw-designed-card{min-height:0!important;}
  .lw-designed-card-content h3{min-height:0!important;}
  .lw-designed-card-media{height:180px!important;flex-basis:180px!important;}
}

/* LabourWeb v7.18: final button colour inheritance fix.
   Keep the nice white buttons with red text on dark/mission cards, but make any
   red buttons on light cards use white text. This sits at the very end of the
   stylesheet to beat broad card text colour rules and Elementor nested spans. */
.lw-designed-card-white .lw-designed-card-button,
.lw-designed-card-light .lw-designed-card-button,
.lw-designed-card-yellow .lw-designed-card-button,
.lw-designed-card-policing .lw-designed-card-button,
.lw-box-white .lw-designed-card-button,
.lw-box-yellow .lw-designed-card-button,
.lw-designed-card-white .lw-designed-card-button:visited,
.lw-designed-card-light .lw-designed-card-button:visited,
.lw-designed-card-yellow .lw-designed-card-button:visited,
.lw-designed-card-policing .lw-designed-card-button:visited,
.lw-box-white .lw-designed-card-button:visited,
.lw-box-yellow .lw-designed-card-button:visited {
  background: var(--lw-red) !important;
  border-color: var(--lw-red) !important;
  color: #fff !important;
}
.lw-designed-card-white .lw-designed-card-button *,
.lw-designed-card-light .lw-designed-card-button *,
.lw-designed-card-yellow .lw-designed-card-button *,
.lw-designed-card-policing .lw-designed-card-button *,
.lw-box-white .lw-designed-card-button *,
.lw-box-yellow .lw-designed-card-button * {
  color: #fff !important;
}
.lw-designed-card-white .lw-designed-card-button:hover,
.lw-designed-card-light .lw-designed-card-button:hover,
.lw-designed-card-yellow .lw-designed-card-button:hover,
.lw-designed-card-policing .lw-designed-card-button:hover,
.lw-box-white .lw-designed-card-button:hover,
.lw-box-yellow .lw-designed-card-button:hover {
  background: var(--lw-red-dark) !important;
  border-color: var(--lw-red-dark) !important;
  color: #fff !important;
}

/* Legacy Elementor button cards: red button = white text, but keep intentional white buttons red. */
.lw-box-white .lw-mini-btn .elementor-button,
.lw-box-yellow .lw-mini-btn .elementor-button,
.lw-designed-card-white .elementor-button,
.lw-designed-card-light .elementor-button,
.lw-designed-card-yellow .elementor-button,
.lw-designed-card-policing .elementor-button {
  background: var(--lw-red) !important;
  border-color: var(--lw-red) !important;
  color: #fff !important;
}
.lw-box-white .lw-mini-btn .elementor-button span,
.lw-box-yellow .lw-mini-btn .elementor-button span,
.lw-designed-card-white .elementor-button span,
.lw-designed-card-light .elementor-button span,
.lw-designed-card-yellow .elementor-button span,
.lw-designed-card-policing .elementor-button span {
  color: #fff !important;
}
.lw-box-red .lw-mini-btn .elementor-button,
.lw-box-navy .lw-mini-btn .elementor-button,
.lw-box-growth .lw-mini-btn .elementor-button,
.lw-box-green-energy .lw-mini-btn .elementor-button,
.lw-box-nhs .lw-mini-btn .elementor-button,
.lw-box-opportunity .lw-mini-btn .elementor-button,
.lw-designed-card-red .lw-designed-card-button,
.lw-designed-card-navy .lw-designed-card-button,
.lw-designed-card-growth .lw-designed-card-button,
.lw-designed-card-green-energy .lw-designed-card-button,
.lw-designed-card-nhs .lw-designed-card-button,
.lw-designed-card-opportunity .lw-designed-card-button {
  background:#fff !important;
  border-color:#fff !important;
  color:var(--lw-red) !important;
}
.lw-box-red .lw-mini-btn .elementor-button span,
.lw-box-navy .lw-mini-btn .elementor-button span,
.lw-box-growth .lw-mini-btn .elementor-button span,
.lw-box-green-energy .lw-mini-btn .elementor-button span,
.lw-box-nhs .lw-mini-btn .elementor-button span,
.lw-box-opportunity .lw-mini-btn .elementor-button span,
.lw-designed-card-red .lw-designed-card-button *,
.lw-designed-card-navy .lw-designed-card-button *,
.lw-designed-card-growth .lw-designed-card-button *,
.lw-designed-card-green-energy .lw-designed-card-button *,
.lw-designed-card-nhs .lw-designed-card-button *,
.lw-designed-card-opportunity .lw-designed-card-button * {
  color:var(--lw-red) !important;
}


/* LabourWeb v7.19: button/link colour inheritance fix.
   The generic Elementor link colour rule must never treat card buttons as normal text links. */
.elementor .lw-designed-card-white a.lw-designed-card-button,
.elementor .lw-designed-card-light a.lw-designed-card-button,
.elementor .lw-designed-card-yellow a.lw-designed-card-button,
.elementor .lw-designed-card-policing a.lw-designed-card-button,
.lw-main .lw-designed-card-white a.lw-designed-card-button,
.lw-main .lw-designed-card-light a.lw-designed-card-button,
.lw-main .lw-designed-card-yellow a.lw-designed-card-button,
.lw-main .lw-designed-card-policing a.lw-designed-card-button,
.lw-main a.lw-designed-card-button.lw-btn-primary,
.elementor a.lw-designed-card-button.lw-btn-primary {
  background: var(--lw-red) !important;
  border-color: var(--lw-red) !important;
  color: #fff !important;
}
.elementor .lw-designed-card-white a.lw-designed-card-button *,
.elementor .lw-designed-card-light a.lw-designed-card-button *,
.elementor .lw-designed-card-yellow a.lw-designed-card-button *,
.elementor .lw-designed-card-policing a.lw-designed-card-button *,
.lw-main .lw-designed-card-white a.lw-designed-card-button *,
.lw-main .lw-designed-card-light a.lw-designed-card-button *,
.lw-main .lw-designed-card-yellow a.lw-designed-card-button *,
.lw-main .lw-designed-card-policing a.lw-designed-card-button *,
.lw-main a.lw-designed-card-button.lw-btn-primary *,
.elementor a.lw-designed-card-button.lw-btn-primary * {
  color: #fff !important;
  fill: #fff !important;
}
.elementor .lw-designed-card-red a.lw-designed-card-button,
.elementor .lw-designed-card-navy a.lw-designed-card-button,
.elementor .lw-designed-card-growth a.lw-designed-card-button,
.elementor .lw-designed-card-green-energy a.lw-designed-card-button,
.elementor .lw-designed-card-nhs a.lw-designed-card-button,
.elementor .lw-designed-card-opportunity a.lw-designed-card-button,
.lw-main .lw-designed-card-red a.lw-designed-card-button,
.lw-main .lw-designed-card-navy a.lw-designed-card-button,
.lw-main .lw-designed-card-growth a.lw-designed-card-button,
.lw-main .lw-designed-card-green-energy a.lw-designed-card-button,
.lw-main .lw-designed-card-nhs a.lw-designed-card-button,
.lw-main .lw-designed-card-opportunity a.lw-designed-card-button {
  background:#fff !important;
  border-color:#fff !important;
  color:var(--lw-red) !important;
}
.elementor .lw-designed-card-red a.lw-designed-card-button *,
.elementor .lw-designed-card-navy a.lw-designed-card-button *,
.elementor .lw-designed-card-growth a.lw-designed-card-button *,
.elementor .lw-designed-card-green-energy a.lw-designed-card-button *,
.elementor .lw-designed-card-nhs a.lw-designed-card-button *,
.elementor .lw-designed-card-opportunity a.lw-designed-card-button *,
.lw-main .lw-designed-card-red a.lw-designed-card-button *,
.lw-main .lw-designed-card-navy a.lw-designed-card-button *,
.lw-main .lw-designed-card-growth a.lw-designed-card-button *,
.lw-main .lw-designed-card-green-energy a.lw-designed-card-button *,
.lw-main .lw-designed-card-nhs a.lw-designed-card-button *,
.lw-main .lw-designed-card-opportunity a.lw-designed-card-button * {
  color:var(--lw-red) !important;
  fill:var(--lw-red) !important;
}

/* LabourWeb v8.1 native Elementor component layout */
.lw-native-section{padding:36px 0!important}.lw-native-section>.e-con-inner,.lw-native-section>.elementor-container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.lw-native-hero-section{padding-top:34px!important}.lw-native-actions{padding-top:12px!important}.lw-native-card-grid>.e-con-inner,.lw-native-card-grid>.elementor-container{align-items:stretch}.lw-native-card-wrap{height:100%}.lw-native-card-wrap>.elementor-widget,.lw-native-card-wrap>.elementor-widget>.elementor-widget-container{height:100%}.lw-native-card-wrap .lw-widget-card{height:100%}.lw-widget-post-card .lw-widget-card-button,.lw-widget-card-button{color:#fff!important}.lw-widget-card-button *{color:inherit!important}


/* LabourWeb 8.2 native widget integration and layout audit */
.lw-native-section{padding-block:22px}
.lw-native-section:first-child{padding-top:34px}
.lw-native-actions{padding-top:34px!important;padding-bottom:30px!important}
.lw-native-actions>.e-con-inner{background:#f7f4ef;border-radius:28px;padding:24px!important}
.lw-native-card-grid>.e-con-inner{align-items:stretch}
.lw-native-card-grid>.e-con-inner>.e-con{height:auto;align-self:stretch}
.lw-native-card-grid .elementor-widget-labourweb-card{height:100%}
.lw-native-card-grid .elementor-widget-container{height:100%}
.lw-native-article-layout>.e-con-inner{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(280px,1fr)!important;align-items:start!important;gap:28px!important}
.lw-native-article-layout>.e-con-inner>.e-con{width:100%!important;max-width:none!important}
@media(max-width:800px){.lw-native-article-layout>.e-con-inner{grid-template-columns:1fr!important}.lw-native-actions>.e-con-inner{padding:16px!important}}


/* LabourWeb v2.2 — final contrast contract.
   These rules intentionally sit last and override theme/Elementor link inheritance. */
[class*="elementor-widget-labourweb-"]{font-family:Poppins,Arial,sans-serif}

/* Apply selected surfaces and their foreground colours consistently. */
.lw-widget-page-hero[class*="lw-colour-"],
.lw-widget-hero[class*="lw-colour-"],
.lw-widget-card[class*="lw-colour-"],
.lw-widget-action-card[class*="lw-colour-"],
.lw-widget-stat[class*="lw-colour-"],
.lw-widget-contact[class*="lw-colour-"],
.lw-widget-cta[class*="lw-colour-"],
.lw-widget-newsletter[class*="lw-colour-"],
.lw-widget-icon-list[class*="lw-colour-"],
.lw-widget-event-card[class*="lw-colour-"],
.lw-widget-profile-top[class*="lw-colour-"],
.lw-widget-section-intro-panel[class*="lw-colour-"]{
  background:var(--card-bg)!important;
  color:var(--card-fg)!important;
}

/* Dark/mission surfaces: all ordinary content is white. */
.lw-colour-red :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)),
.lw-colour-navy :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)),
.lw-colour-growth :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)),
.lw-colour-green :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)),
.lw-colour-nhs :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)),
.lw-colour-policing :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)),
.lw-colour-opportunity :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small,span:not(.lw-button-label)){
  color:#fff!important;
}
.lw-colour-red a:not(.lw-widget-button):not(.lw-widget-card-button),
.lw-colour-navy a:not(.lw-widget-button):not(.lw-widget-card-button),
.lw-colour-growth a:not(.lw-widget-button):not(.lw-widget-card-button),
.lw-colour-green a:not(.lw-widget-button):not(.lw-widget-card-button),
.lw-colour-nhs a:not(.lw-widget-button):not(.lw-widget-card-button),
.lw-colour-policing a:not(.lw-widget-button):not(.lw-widget-card-button),
.lw-colour-opportunity a:not(.lw-widget-button):not(.lw-widget-card-button){color:#fff!important}

/* Light surfaces: ordinary copy is dark. Buttons are excluded below. */
.lw-colour-white :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small),
.lw-colour-yellow :where(h1,h2,h3,h4,h5,h6,p,li,time,strong,small){color:var(--lw-dark)!important}

/* Red/dark buttons always have white text, regardless of parent card/link rules. */
a.lw-widget-button.lw-button-red,
a.lw-widget-button.lw-button-dark,
a.lw-widget-card-button,
.lw-widget-post-card a.lw-widget-card-button,
.lw-widget-event-card a.lw-widget-card-button,
.lw-widget-profile-socials a{
  background:var(--lw-red)!important;
  color:#fff!important;
  border-color:var(--lw-red)!important;
}
a.lw-widget-button.lw-button-red *,
a.lw-widget-button.lw-button-dark *,
a.lw-widget-card-button *,
.lw-widget-post-card a.lw-widget-card-button *,
.lw-widget-event-card a.lw-widget-card-button *,
.lw-widget-profile-socials a *{color:#fff!important}

/* Transparent/outline buttons on dark surfaces remain visibly white. */
.lw-colour-red a.lw-button-outline,.lw-colour-navy a.lw-button-outline,
.lw-colour-growth a.lw-button-outline,.lw-colour-green a.lw-button-outline,
.lw-colour-nhs a.lw-button-outline,.lw-colour-policing a.lw-button-outline,
.lw-colour-opportunity a.lw-button-outline{
  background:transparent!important;border-color:#fff!important;color:#fff!important;
}
.lw-colour-red a.lw-button-outline *,.lw-colour-navy a.lw-button-outline *,
.lw-colour-growth a.lw-button-outline *,.lw-colour-green a.lw-button-outline *,
.lw-colour-nhs a.lw-button-outline *,.lw-colour-policing a.lw-button-outline *,
.lw-colour-opportunity a.lw-button-outline *{color:#fff!important}

/* Intentional white buttons on dark cards keep red text. */
.lw-colour-red a.lw-button-white,.lw-colour-navy a.lw-button-white,
.lw-colour-growth a.lw-button-white,.lw-colour-green a.lw-button-white,
.lw-colour-nhs a.lw-button-white,.lw-colour-policing a.lw-button-white,
.lw-colour-opportunity a.lw-button-white,
.lw-colour-red .lw-widget-card-button,.lw-colour-navy .lw-widget-card-button,
.lw-colour-growth .lw-widget-card-button,.lw-colour-green .lw-widget-card-button,
.lw-colour-nhs .lw-widget-card-button,.lw-colour-policing .lw-widget-card-button,
.lw-colour-opportunity .lw-widget-card-button{
  background:#fff!important;color:var(--lw-red)!important;border-color:#fff!important;
}
.lw-colour-red a.lw-button-white *,.lw-colour-navy a.lw-button-white *,
.lw-colour-growth a.lw-button-white *,.lw-colour-green a.lw-button-white *,
.lw-colour-nhs a.lw-button-white *,.lw-colour-policing a.lw-button-white *,
.lw-colour-opportunity a.lw-button-white *,
.lw-colour-red .lw-widget-card-button *,.lw-colour-navy .lw-widget-card-button *,
.lw-colour-growth .lw-widget-card-button *,.lw-colour-green .lw-widget-card-button *,
.lw-colour-nhs .lw-widget-card-button *,.lw-colour-policing .lw-widget-card-button *,
.lw-colour-opportunity .lw-widget-card-button *{color:var(--lw-red)!important}

/* But listing/event/profile action buttons are always red with white text. */
.lw-widget-post-card .lw-widget-card-button,
.lw-widget-event-card .lw-widget-card-button,
.lw-widget-profile-socials a{background:var(--lw-red)!important;color:#fff!important;border-color:var(--lw-red)!important}
.lw-widget-post-card .lw-widget-card-button *,
.lw-widget-event-card .lw-widget-card-button *,
.lw-widget-profile-socials a *{color:#fff!important}

/* Specific headings requested for action cards, campaigns, events and guidance panels. */
.lw-widget-action-card h3,
.lw-widget-event-card:not(.lw-colour-white):not(.lw-colour-yellow) h3,
.lw-widget-card:not(.lw-colour-white):not(.lw-colour-yellow) h3,
.lw-widget-icon-list:not(.lw-colour-white):not(.lw-colour-yellow) h2,
.lw-widget-icon-list:not(.lw-colour-white):not(.lw-colour-yellow) h3,
.lw-widget-profile-top h1,.lw-widget-profile-top p{color:#fff!important}

/* Manual events always look like cards, including legacy transparent content. */
.lw-widget-event-card{background:var(--card-bg,var(--lw-nhs))!important;color:var(--card-fg,#fff)!important;box-shadow:0 12px 35px rgba(18,18,18,.10);border-radius:18px;overflow:hidden}
.lw-widget-event-card.lw-colour-white{--card-bg:var(--lw-nhs);--card-fg:#fff}
.lw-widget-event-card.lw-colour-white :where(h3,p,time){color:#fff!important}

/* Profile header and social actions. */
.lw-widget-profile-top h1,.lw-widget-profile-top p{color:var(--card-fg,#fff)!important}
.lw-widget-profile-socials{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem}
.lw-widget-profile-socials a{display:inline-flex;padding:.7rem 1rem;border-radius:999px;font-weight:800;text-decoration:none!important}

/* Avoid generic Elementor/theme anchor rules recolouring component buttons. */
.elementor a.lw-button-red,.lw-main a.lw-button-red,
.elementor a.lw-button-dark,.lw-main a.lw-button-dark,
.elementor .lw-colour-white a.lw-widget-card-button,
.elementor .lw-colour-yellow a.lw-widget-card-button,
.lw-main .lw-colour-white a.lw-widget-card-button,
.lw-main .lw-colour-yellow a.lw-widget-card-button,
.elementor .lw-widget-post-card a.lw-widget-card-button,
.elementor .lw-widget-event-card a.lw-widget-card-button,
.elementor .lw-widget-profile-socials a{
  background:var(--lw-red)!important;color:#fff!important;border-color:var(--lw-red)!important
}
.elementor a.lw-button-red *,.lw-main a.lw-button-red *,
.elementor a.lw-button-dark *,.lw-main a.lw-button-dark *,
.elementor .lw-colour-white a.lw-widget-card-button *,
.elementor .lw-colour-yellow a.lw-widget-card-button *,
.lw-main .lw-colour-white a.lw-widget-card-button *,
.lw-main .lw-colour-yellow a.lw-widget-card-button *,
.elementor .lw-widget-post-card a.lw-widget-card-button *,
.elementor .lw-widget-event-card a.lw-widget-card-button *,
.elementor .lw-widget-profile-socials a *{color:#fff!important}
.elementor a.lw-button-white,.lw-main a.lw-button-white{background:#fff!important;color:var(--lw-red)!important}
.elementor a.lw-button-white *,.lw-main a.lw-button-white *{color:var(--lw-red)!important}
