/* =========================================================================
   GED Lite – Elementor-free location template
   Everything is scoped to body.ged-lite / .gll-* so it can't leak.
   ========================================================================= */

.ged-lite {
	--gll-navy: #201e6b;
	--gll-blue: #0012be;
	--gll-blue-light: #506cfb;
	--gll-pill: #5b67f0;
	--gll-green: #01c53d;       /* CTA button, blog links */
	--gll-green-bright: #00e74d;/* footer headings */
	--gll-green-soft: #61ce70;  /* header phone button */
	--gll-green-label: #72ed9c;
	--gll-text: #4b4b4b;
	--gll-rule: rgba(80, 108, 251, .36);
	--gll-muted: #dbe1fb;
	--gll-sans: "Mulish", Arial, sans-serif;
	--gll-slab: "Roboto Slab", Georgia, serif;
	--gll-body: "Lato", Arial, sans-serif;
	--gll-max: 1140px;
	--gll-gutter: 20px;
	margin: 0;
	background: #fff;
}

.ged-lite *, .ged-lite *::before, .ged-lite *::after { box-sizing: border-box; }

/* Elementor popups are not styled on this template – never show them. */
.ged-lite .elementor-location-popup,
.ged-lite [data-elementor-type="popup"] { display: none !important; }

.gll-container {
	width: 100%;
	max-width: calc(var(--gll-max) + var(--gll-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gll-gutter);
}

.gll-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

.gll-skip {
	position: absolute; left: 12px; top: -60px; z-index: 10000;
	padding: 10px 16px; border-radius: 4px;
	background: #fff; color: var(--gll-navy);
	font: 600 15px/1 var(--gll-sans);
	text-decoration: none;
}
.gll-skip:focus { top: 12px; }

.ged-lite :where(a, button):focus-visible {
	outline: 2px solid var(--gll-green-label);
	outline-offset: 2px;
}

/* =========================== HEADER =========================== */

.gll-header {
	position: relative;
	z-index: 100;
	background: var(--gll-navy);
	margin: 0; padding: 0;
	border: 0; box-shadow: none;
}

.gll-header__inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 30px;
	min-height: 100px;
	/* Same as the live Elementor header: full width, 40px sides, content max 1521px */
	max-width: calc(1521px + 80px);
	padding-inline: 40px;
}

.gll-logo { flex: 0 1 auto; min-width: 120px; display: block; line-height: 0; }
.gll-logo img { display: block; width: 197px; max-width: 100%; height: 55px; object-fit: contain; object-position: left center; }

.gll-nav { flex: 1 1 auto; display: flex; justify-content: flex-end; min-width: 0; }

.gll-header__actions { flex: 0 0 auto; display: flex; align-items: center; gap: 30px; }

.gll-search-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; padding: 0;
	background: transparent; border: 0; border-radius: 50%;
	color: #fff; cursor: pointer;
}
.gll-search-btn:hover { background: rgba(255, 255, 255, .1); }

.gll-phone {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 22px;
	border-radius: 100px;
	background: var(--gll-green-soft);
	color: #fff !important;
	font: 700 15px/1 "DM Sans", var(--gll-sans);
	text-decoration: none !important;
	white-space: nowrap;
	transition: filter .15s;
}
.gll-phone:hover { filter: brightness(.93); }
.gll-phone__icon { display: none; line-height: 0; }

/* Search overlay */
.gll-search[hidden] { display: none; }
.gll-search { position: fixed; inset: 0; z-index: 9999; }
.gll-search__backdrop { position: absolute; inset: 0; background: rgba(14, 12, 60, .75); }
.gll-search__panel {
	position: relative;
	display: flex; align-items: center; gap: 12px;
	max-width: 760px; margin: 18vh auto 0; padding: 0 var(--gll-gutter);
}
.gll-search__form { flex: 1; display: flex; background: #fff; border-radius: 6px; overflow: hidden; }
.gll-search__form input {
	flex: 1; min-width: 0; height: 60px; padding: 0 20px;
	border: 0; margin: 0; background: #fff; color: #111;
	font: 400 18px/1 var(--gll-sans);
}
.gll-search__form input:focus { outline: none; }
.gll-search__submit {
	width: 60px; border: 0; background: var(--gll-green); color: #fff; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.gll-search__close {
	width: 48px; height: 48px; border: 0; border-radius: 50%;
	background: transparent; color: #fff; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.gll-search-open { overflow: hidden; }

/* ======================== MAIN CONTENT ======================== */

.gll-page { padding: 18px 0 70px; }

/* Main container: 1360px incl. side padding */
.gll-page > .gll-container {
	max-width: 1360px;
	padding-inline: clamp(16px, 4vw, 24px);
}

.gll-breadcrumbs { margin-bottom: 18px; font: 400 13px/1.5 var(--gll-body); color: var(--gll-text); }
.gll-breadcrumbs a { color: var(--gll-navy); text-decoration: none; }
.gll-breadcrumbs a:hover { text-decoration: underline; }
.gll-bc__sep { margin: 0 4px; }

.gll-layout--sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 48px;
	align-items: start;
}

.gll-content { font: 400 18px/1.625 var(--gll-body); color: var(--gll-text); }
.gll-content:focus { outline: none; }

.gll-title {
	margin: 0 0 20px;
	font: 400 48px/1.23 var(--gll-slab);
	color: #000;
}

.gll-content .entry-content img { max-width: 100%; height: auto; }

.gll-sidebar .widget { margin-bottom: 30px; }

/* The theme's .sidebar / .sidebar-primary rules set a width, float and margins
   meant for the old Genesis layout; reset them so the sidebar fills its 340px column. */
.ged-lite .gll-sidebar.sidebar,
.ged-lite .gll-sidebar.sidebar-primary {
	width: auto; max-width: none; min-width: 0;
	float: none; margin: 0; padding: 0;
}

/* ===================== Sidebar widgets (new design) =====================
   Old-design sidebar widgets restyled to match the blog "Categories" list:
   - .location-widget-outer = "<City> Practice Areas", "Additional Locations"
   - .find-lawyer           = "Find a Passionate Personal Injury Lawyer Now!"
   - .random-faq-loop       = "FAQs"                                          */
.ged-lite .gll-sidebar .widget_custom_html > .widget-wrap { padding: 0; background: none; }
.ged-lite .gll-sidebar .location-widget-outer { background: none; padding: 0; margin: 0 0 40px; }
.ged-lite .gll-sidebar .widget_custom_html { margin: 0 0 40px; }

.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer, .random-faq-loop) {
	background: none; padding: 0; border: 0;
}
/* keep 40px between widgets ("Additional Locations" is itself the widget, so it keeps its own margin) */
.ged-lite .gll-sidebar .location-widget-outer { margin: 0 0 40px; }
.ged-lite .gll-sidebar :is(.find-lawyer, .random-faq-loop) { margin: 0; }
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer, .random-faq-loop)::before,
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer, .random-faq-loop)::after { display: none; }

/* Headings */
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer, .random-faq-loop) > .widget-title,
.ged-lite .gll-sidebar .location-widget-outer .widget-title,
.ged-lite .gll-sidebar .location-widget-outer .widget-title span {
	background: none; color: #000; text-align: left;
	font: 400 20px/27px var(--gll-slab);
	text-transform: none; letter-spacing: normal;
}
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer, .random-faq-loop) .widget-title {
	padding: 0; margin: 0 0 10px; border: 0;
}

/* Link lists */
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) ul { list-style: none; margin: 0; padding: 0; background: none; }
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) li { margin: 0; padding: 0; border: 0; background: none; }
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) li a {
	display: flex; align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid #ebebeb;
	background: none;
	color: #0000a0;
	font: 500 16px/22px var(--gll-sans);
	text-transform: none; letter-spacing: normal; text-decoration: none;
	transition: color .2s;
}
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) li a::before {
	content: "\2192"; /* → */
	display: inline-block; flex: none; position: static;
	width: auto; height: auto; margin: 0 16px 0 0;
	background: none;
	color: #8c8c8c; font-weight: 400;
	transition: transform .2s;
}
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) li a:hover,
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) li a:focus-visible { color: var(--gll-blue-light); background: none; }
.ged-lite .gll-sidebar :is(.location-widget-outer, .find-lawyer) li a:hover::before { transform: translateX(3px); }

/* FAQs: image on top, title below, divider between items */
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing {
	display: block; margin: 0; padding: 16px 0;
	background: none; border: 0; border-bottom: 1px solid #ebebeb;
}
.ged-lite .gll-sidebar .random-faq-loop .faq-page__link-env {
	display: flex; flex-direction: column; gap: 12px;
	background: none; text-decoration: none;
}
.ged-lite .gll-sidebar .random-faq-loop .faq-page__link-env::before,
.ged-lite .gll-sidebar .random-faq-loop .faq-page__link-env::after { display: none; }
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing img {
	order: -1; display: block;
	width: 100%; height: auto; aspect-ratio: 3 / 2;
	object-fit: cover; border-radius: 8px;
	margin: 0; padding: 0; background: #f4f5fb;
}
/* FAQ without a featured image: new Ged Lawyers logo centred on the light tile */
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing img.gll-faq-logo,
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing img[alt="faq thumb"] {
	object-fit: contain; padding: 24px 40px; box-sizing: border-box;
}
/* Theme uses "body .sidebar .faq-page-listing .faq-page__link-env div.new-title.faq-page__title", so match its depth */
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing .faq-page__link-env div.new-title.faq-page__title {
	margin: 0; padding: 0; background: none;
	color: #0000a0; text-align: left;
	font: 600 16px/22px var(--gll-sans);
	text-transform: none; letter-spacing: normal;
	transition: color .2s;
}
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing .faq-page__link-env:hover div.new-title.faq-page__title,
.ged-lite .gll-sidebar .random-faq-loop .faq-page-listing .faq-page__link-env:focus-visible div.new-title.faq-page__title { color: var(--gll-blue-light); }

/* ============================ CTA ============================ */

.gll-cta {
	background: linear-gradient(180deg, var(--gll-blue-light) 0%, var(--gll-blue) 100%);
	color: #fff;
	padding: 75px 0 90px;
}
.gll-cta__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.gll-cta__intro { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 16px; }
.gll-cta__badge {
	width: 42px; height: 42px; margin-top: -8px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; background: #e4e8fe; color: #7c8bf7;
}
.ged-lite .gll-cta p { margin: 0; }
.gll-cta__label { font: 600 20px/27px var(--gll-sans); text-transform: uppercase; color: var(--gll-green-label); }
.ged-lite .gll-cta__title { margin: 10px 0 14px; font: 400 40px/1.05 var(--gll-slab); color: #fff; }
.gll-cta__text { font: 400 20px/27px var(--gll-sans); max-width: 470px; }
.gll-cta__contacts { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 34px; }
.gll-cta__contacts li { display: flex; gap: 20px; align-items: flex-start; margin: 0; }
.gll-cta__icon { flex: 0 0 42px; color: #fff; line-height: 0; }
.gll-cta__item-title { font: 400 16px/26px var(--gll-slab); }
.gll-cta__item-text, .gll-cta a.gll-cta__item-text { display: block; font: 600 15px/22px var(--gll-sans); color: #fff; text-decoration: none; }
.gll-cta__form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0; }
.gll-field { margin: 0; }
.gll-field--full { grid-column: 1 / -1; }
/* Inputs match the live Elementor form 3f38c89 in every state: no border, no
   outline, no colour change on hover or focus. The selectors are stronger than
   the theme's "body form input:hover/focus { border: 1px solid #c00000 }". */
.ged-lite .gll-cta__form input,
.ged-lite .gll-cta__form textarea,
.ged-lite .gll-cta__form input:hover,
.ged-lite .gll-cta__form textarea:hover,
.ged-lite .gll-cta__form input:focus,
.ged-lite .gll-cta__form textarea:focus {
	display: block; width: 100%; margin: 0; padding: 7px 20px; height: 59px;
	border: 0; border-radius: 5px; background: #fff; color: #242424;
	font: 400 14px/14px var(--gll-sans); box-shadow: none; outline: 0;
	transition: all .3s ease-in-out;
}
.ged-lite .gll-cta__form textarea,
.ged-lite .gll-cta__form textarea:hover,
.ged-lite .gll-cta__form textarea:focus { height: 224px; line-height: 1.4; resize: vertical; }
.gll-cta__form ::placeholder { color: inherit; font-family: inherit; opacity: .6; }
.ged-lite .gll-cta__form [aria-invalid="true"] { box-shadow: 0 0 0 2px #ffb4b4; }
.gll-cta__submit {
	min-width: 255px; height: 49px; padding: 0 40px; border: 0; border-radius: 5px;
	background: var(--gll-green); color: #fff; font: 400 20px/1 var(--gll-slab); cursor: pointer; transition: all .3s;
}
.gll-cta__submit:hover, .gll-cta__submit:focus { background: #00e74d; color: #fff; } /* live hover colour */
.gll-cta__submit[disabled], .gll-newsletter button[disabled] { opacity: .7; cursor: default; }
.gll-form-msg { margin: 14px 0 0 !important; font: 600 15px/1.4 var(--gll-sans); color: #fff; }
.gll-form-msg.is-error { color: #ffd6d6; }


/* ============================ BLOG ============================ */

.gll-blog { padding: 80px 0 100px; background: #fff; border-top: 1px solid #eceefb; }

.gll-blog__head {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 20px;
	margin-bottom: 48px;
}
.ged-lite .gll-blog p.gll-blog__label {
	margin: 0 0 12px;
	font: 600 20px/27px var(--gll-sans);
	text-transform: uppercase;
	color: var(--gll-blue);
}
.ged-lite .gll-blog__title { margin: 0; font: 400 40px/55px var(--gll-slab); color: #000; }
.gll-blog__more {
	display: inline-flex; align-items: center; gap: 6px;
	margin-bottom: 14px;
	font: 600 16px/1.4 var(--gll-sans);
	color: var(--gll-green); text-decoration: none; white-space: nowrap;
}
.gll-blog__more:hover { text-decoration: underline; }

.gll-blog__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 2 * 32px) / 3);
	gap: 32px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 0 16px 4px;
}
.gll-blog__track::-webkit-scrollbar { display: none; }
.gll-blog__track:focus { outline: none; }

.gll-card { scroll-snap-align: start; display: flex; flex-direction: column; }
.gll-card__img { display: block; height: 205px; border-radius: 12px; overflow: hidden; background: #e9ecf8; }
.gll-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }

.gll-card__cat {
	align-self: flex-start;
	margin: 10px 0 0 4px;
	padding: 8px 12px;
	border-radius: 3px;
	background: var(--gll-pill); color: #fff !important;
	font: 600 13px/1 var(--gll-sans);
	text-decoration: none;
}

.ged-lite .gll-card__title { margin: 14px 16px 0; font: 400 20px/27px var(--gll-slab); }
.gll-card__title a { color: #000; text-decoration: none; }
.gll-card__title a:hover { color: var(--gll-blue); }

.gll-card__more {
	align-self: flex-end;
	display: inline-flex; align-items: center; gap: 6px;
	margin: 18px 12px 0 0;
	font: 400 16px/1.4 var(--gll-slab);
	color: var(--gll-green); text-decoration: none;
}
.gll-card__more::before { content: ""; width: 32px; height: 1px; background: currentColor; }

.gll-blog__nav { display: flex; justify-content: center; gap: 12px; margin-top: 36px; }
.gll-blog__btn {
	width: 42px; height: 42px; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid #d6daf5; border-radius: 50%;
	background: #fff; color: var(--gll-navy); cursor: pointer;
}
.gll-blog__btn:hover { background: var(--gll-navy); color: #fff; border-color: var(--gll-navy); }
.gll-blog__btn[disabled] { opacity: .35; cursor: default; background: #fff; color: var(--gll-navy); }

/* =========================== FOOTER =========================== */

.gll-footer { background: var(--gll-navy); color: #fff; padding: 60px 0 0; }
.gll-footer a { color: inherit; text-decoration: none; }
.gll-footer a:hover { text-decoration: underline; }
.ged-lite .gll-footer p,
.ged-lite .gll-footer address { margin: 0; font-style: normal; }

.gll-footer__top {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 64px; padding-bottom: 60px;
	grid-template-areas: "div loc" "sig loc"; grid-template-rows: auto 1fr;
}
.gll-footer__divisions { grid-area: div; }
.gll-footer__locations { grid-area: loc; }
.gll-footer__signup    { grid-area: sig; align-self: start; }
.gll-footer__logo--top { display: none; }
.gll-office__phone { white-space: nowrap; }

.ged-lite .gll-footer__h { margin: 0 0 26px; font: 600 24px/1 var(--gll-sans); color: #fff; }

.gll-division { margin-bottom: 18px; max-width: 410px; }
.gll-division__title { display: inline-block; font: 700 18px/22px var(--gll-slab); color: var(--gll-green-bright) !important; }
.gll-division__text { font: 300 18px/22px var(--gll-slab); }

.gll-footer__rule { max-width: 410px; margin: 22px 0 24px; border: 0; border-top: 1px solid var(--gll-rule); }
.ged-lite .gll-footer__signup-h { margin: 0 0 30px; font: 400 18px/22px var(--gll-slab); color: #fff; }
.gll-newsletter { display: flex; max-width: 410px; margin: 0; }
/* Matches the live Elementor form bd2ced0 in every state (grey 1px border, no change on hover/focus). */
.ged-lite .gll-newsletter input,
.ged-lite .gll-newsletter input:hover,
.ged-lite .gll-newsletter input:focus {
	flex: 1; min-width: 0; height: 40px; margin: 0; padding: 5px 14px;
	border: 1px solid #69727d; border-radius: 5px 0 0 5px; background: #fff; color: #7a7a7a;
	font: 600 14px/19.6px var(--gll-sans); box-shadow: none; outline: 0;
	transition: all .3s ease-in-out;
}
.gll-newsletter input::placeholder { color: inherit; font-family: inherit; opacity: .6; }
.gll-newsletter button,
.gll-newsletter button:hover,
.gll-newsletter button:focus {
	height: 40px; padding: 0 24px; border: 0; border-radius: 0 5px 5px 0;
	background: var(--gll-green-soft); color: #fff; font: 400 16px/1 var(--gll-sans); cursor: pointer; transition: all .3s;
}
.gll-form-msg--footer { margin-top: 10px !important; font-size: 14px; }

.gll-states { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }

.ged-lite .gll-state { margin: 0 0 14px; font: 700 20px/22px var(--gll-slab); }
.gll-state a { color: var(--gll-green-bright) !important; }
.gll-office + .gll-state,
.gll-states__col > .gll-state:not(:first-child) { margin-top: 22px; }

.gll-office { margin-bottom: 16px; }
.ged-lite .gll-office__city { margin: 0 0 4px; font: 700 18px/22px var(--gll-slab); color: #fff; }
.gll-office__addr,
.gll-office__phones { font: 300 16px/22px var(--gll-slab); }
.gll-office__phones { margin-top: 4px !important; }
.gll-office__phones a + a { margin-left: 4px; }

.gll-footer__mid {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	padding: 36px 0;
	border-top: 1px solid var(--gll-rule);
}
.gll-footer__logo { line-height: 0; }
.gll-footer__logo img { display: block; height: 34px; width: auto; }

.gll-legal, .gll-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.gll-legal { gap: 6px 28px; }
.gll-legal a { font: 600 14px/27px var(--gll-sans); }
.gll-social { gap: 10px; }
.gll-social a {
	width: 34px; height: 34px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
}
.gll-social a:hover { background: rgba(255, 255, 255, .12); text-decoration: none; }

.gll-footer__bottom {
	display: flex; gap: 50px; align-items: flex-start;
	padding: 20px 0 28px;
	border-top: 1px solid var(--gll-rule);
}
.gll-copy { flex: 0 0 auto; font: 600 14px/18px var(--gll-sans); }
.gll-disclaimer { font: 600 13px/16px var(--gll-sans); color: var(--gll-muted); }

/* ========================= RESPONSIVE ========================= */

/* <=1140px: Max Mega Menu shows its hamburger in the menu's place and the
   site's drawer (Code Snippets #5) takes over. Layout stays: logo | toggle | search | phone. */

@media (max-width: 1024px) {
	.gll-search-btn { display: none; } /* live header hides search from 1024px down */
	.gll-layout--sidebar { grid-template-columns: 1fr; gap: 40px; }
	.gll-cta__grid { grid-template-columns: 1fr; gap: 44px; }
	.gll-blog__track { grid-auto-columns: calc((100% - 32px) / 2); }
}

@media (max-width: 767px) {
	.ged-lite { --gll-gutter: 16px; }

	/* live header on phones: 80px tall, 25px sides, logo 144x32, only logo + hamburger */
	.gll-header__inner { min-height: 80px; padding-inline: 25px; gap: 20px; }
	.gll-logo img { width: 144px; height: 32px; }
	.gll-header__actions { display: none; }

	.gll-title { font-size: 34px; line-height: 1.2; }

	.gll-cta { padding: 56px 0 64px; }
	.gll-cta__intro { grid-template-columns: 1fr; row-gap: 14px; }
	.gll-cta__badge { margin-top: 0; }
	.ged-lite .gll-cta__title { font-size: 32px; }
	.gll-cta__text { font-size: 18px; line-height: 25px; }
	.gll-cta__form { grid-template-columns: 1fr; }
	.gll-cta__submit { width: 100%; min-width: 0; }


	.gll-blog { padding: 64px 0; }
	.gll-blog__head { flex-direction: column; align-items: flex-start; margin-bottom: 30px; }
	.ged-lite .gll-blog__title { font-size: 30px; line-height: 38px; }
	.gll-blog__more { margin-bottom: 0; }
	.gll-blog__track { grid-auto-columns: 85%; gap: 18px; padding: 0 0 4px; }

}


@media (prefers-reduced-motion: reduce) {
	.gll-blog__track { scroll-behavior: auto; }
}

/* ===================== Contact Form 7 (CTA + newsletter) =====================
   The CTA and footer signup are Contact Form 7 forms ("Location Page CTA", "Newsletter
   Signup"). These rules make CF7's markup look exactly like the previous forms. */
.ged-lite .gll-cf7 .hidden-fields-container,
.ged-lite .gll-cf7 > div[style*="display: none"],
.ged-lite .gll-cf7 > div[style*="display:none"] { display: none; }
.ged-lite .gll-cf7 .wpcf7-form-control-wrap { display: block; position: relative; }
.ged-lite .gll-cf7 p { margin: 0; }

/* CTA submit: CF7 prints <input type="submit">, which the input rule above would turn
   into a white field, so restore the green button (same as .gll-cta__submit). */
.ged-lite .gll-cta__form input.gll-cta__submit,
.ged-lite .gll-cta__form input.gll-cta__submit:hover,
.ged-lite .gll-cta__form input.gll-cta__submit:focus {
	display: inline-block; width: auto; min-width: 255px; height: 49px; padding: 0 40px;
	border: 0; border-radius: 5px; background: var(--gll-green); color: #fff;
	font: 400 20px/1 var(--gll-slab); cursor: pointer; box-shadow: none;
	text-transform: none; letter-spacing: normal; /* theme makes submit inputs UPPERCASE */
}
.ged-lite .gll-cta__form input.gll-cta__submit:hover,
.ged-lite .gll-cta__form input.gll-cta__submit:focus { background: #00e74d; }
.ged-lite .gll-cta__form input.gll-cta__submit:disabled { opacity: .7; cursor: default; }
.ged-lite .gll-cf7 .wpcf7-spinner { margin: 0 0 0 12px; vertical-align: middle; }

/* Validation + messages (white text on the blue CTA / dark footer) */
.ged-lite .gll-cta__form .wpcf7-not-valid { box-shadow: 0 0 0 2px #ffb4b4; }
.ged-lite .gll-cf7 .wpcf7-not-valid-tip { margin-top: 6px; font: 600 13px/1.3 var(--gll-sans); color: #ffd6d6; }
.ged-lite .gll-cf7 .wpcf7-response-output {
	grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; border: 0 !important;
	font: 600 15px/1.4 var(--gll-sans); color: #fff;
}
.ged-lite .gll-cf7.invalid .wpcf7-response-output,
.ged-lite .gll-cf7.unaccepted .wpcf7-response-output,
.ged-lite .gll-cf7.failed .wpcf7-response-output,
.ged-lite .gll-cf7.aborted .wpcf7-response-output,
.ged-lite .gll-cf7.spam .wpcf7-response-output { color: #ffd6d6 !important; } /* theme sets .wpcf7-response-output { color: #fff !important } */

/* Newsletter: the CF7 form holds a .gll-newsletter row (email + button), like before. */
.ged-lite .gll-newsletter-cf7 { max-width: 410px; margin: 0; }
.ged-lite .gll-newsletter-cf7 .gll-newsletter { position: relative; }
.ged-lite .gll-newsletter .wpcf7-form-control-wrap { flex: 1; min-width: 0; }
.ged-lite .gll-newsletter .wpcf7-form-control-wrap input { width: 100%; }
.ged-lite .gll-newsletter input[type="submit"],
.ged-lite .gll-newsletter input[type="submit"]:hover,
.ged-lite .gll-newsletter input[type="submit"]:focus {
	flex: none; width: auto; height: 40px; padding: 0 24px; border: 0; border-radius: 0 5px 5px 0;
	background: var(--gll-green-soft); color: #fff; font: 400 16px/1 var(--gll-sans); cursor: pointer;
	text-transform: none; letter-spacing: normal; box-shadow: none;
}
.ged-lite .gll-newsletter .wpcf7-spinner { position: absolute; top: 8px; right: -36px; margin: 0; }
.ged-lite .gll-newsletter-cf7 .wpcf7-response-output { margin-top: 10px !important; font-size: 14px; }

@media (max-width: 767px) {
	.ged-lite .gll-cta__form input.gll-cta__submit { width: 100%; min-width: 0; }
}

/* ===================== Moved from Customizer > Additional CSS =====================
   These .ged-lite rules used to sit in Appearance > Customize > Additional CSS
   (printed on every page of the site). They only apply to this template, so they live here now.
   ".ged-lite h1.gll-title" was NOT moved: .gll-title above already sets the same
   Roboto Slab 48px, and the old rule was blocking the smaller 34px title on phones. */
.ged-lite .breadcrumb li a { color: #201e6b; }
.ged-lite #breadcrumbs svg { fill: #201e6b !important; }
.ged-lite #breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	border: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* In-content CTA box ("As a full-service law firm, ...") */
.ged-lite .customized-cta {
	background-color: #201e6b !important;
	background-image: none !important;
}
.ged-lite .customized-cta .cta-button { 
	background: #29ad4a !important; 
    font-family: "Roboto Slab", Sans-serif;
    border-radius: 5px
}
.ged-lite .customized-cta .cta-button:hover {
	color: #fff !important;
	background: #15a346 !important;
    box-shadow: 0 12px 28px rgba(25, 198, 85, 0.44) !important;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.3s ease !important;
}

/* ===================== Footer: tablet + phone (matches the new-design footer) =====================
   <=1140px: logo on top, Divisions | Locations, centered signup row, then social, legal links,
   copyright and disclaimer, all centered.  <=899px: Divisions above Locations (Locations keep 2 columns). */
@media (max-width: 1140px) {
	.gll-footer__logo--top { display: inline-block; margin: 0 0 50px; }
	.gll-footer__mid .gll-footer__logo { display: none; }

	.gll-footer__top { grid-template-areas: "div loc" "sig sig"; grid-template-rows: auto auto; row-gap: 50px; padding-bottom: 40px; }
	.gll-footer__signup { text-align: center; }
	.gll-footer__signup .gll-footer__rule { display: none; }
	.ged-lite .gll-footer__signup-h { margin-bottom: 16px; }
	.gll-footer__signup .gll-newsletter,
	.ged-lite .gll-footer__signup .gll-newsletter-cf7 { max-width: 540px; margin-inline: auto; text-align: left; }

	.gll-footer__mid { flex-direction: column; justify-content: center; gap: 24px; padding: 28px 0; }
	.gll-footer__mid nav { order: 2; }
	.gll-social { order: 1; justify-content: center; gap: 20px; }
	.gll-legal { justify-content: center; }

	.gll-footer__bottom { flex-direction: column; align-items: center; gap: 10px; text-align: center; padding-bottom: 72px; } /* room for the accessibility button */
}

@media (max-width: 899px) {
	.gll-footer__top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "div" "loc" "sig"; }
}

@media (max-width: 767px) {
	.gll-states { gap: 0 16px; }
	.ged-lite .gll-state { font-size: 18px; overflow-wrap: anywhere; }
	.gll-legal { gap: 6px 22px; }
	.ged-lite .gll-newsletter .wpcf7-spinner { top: 48px; right: 0; } /* keep inside the screen */
}