/* Edish Infrastructure — inner pages.
 * The page content still comes from the parent (S3) templates. This file brings it into
 * the new design: fonts, banner, breadcrumb, buttons, spacing. Scoped to body.ei-inner. */

body.ei-inner { padding-bottom: 0 !important; background: #fff; color: #33485c; font-family: var(--f-body); -webkit-font-smoothing: antialiased; }
body.ei-inner #container { font-family: var(--f-body); }

/* Typography: new fonts everywhere except icon fonts */
.ei-inner #container :is(h1, h2, h3, h4, h5, .pb-title) { font-family: var(--f-head); letter-spacing: -.02em; }
.ei-inner #container :is(p, li, td, th, dt, dd, label, input, select, textarea, button, small, strong, b, em, blockquote, a, span, div):not(.fa):not([class*="fa-"]):not([class*="glyphicon"]) { font-family: var(--f-body); }
.ei-inner #container :is(h1, h2, h3, h4, h5, .pb-title) :is(span, a, b, strong, em) { font-family: inherit; }

/* ---------- Page banner (parent titles.php) ---------- */
body.ei-inner .page-background {
	background: radial-gradient(700px 320px at 85% 0%, rgba(31, 134, 214, .35), transparent 62%),
		radial-gradient(500px 280px at 0% 100%, rgba(255, 122, 61, .12), transparent 62%),
		linear-gradient(180deg, #06111f, #0b2038) !important;
	position: relative; overflow: hidden; padding: 64px 0 58px !important; text-align: center;
}
body.ei-inner .page-background::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(70% 90% at 50% 20%, #000, transparent); mask-image: radial-gradient(70% 90% at 50% 20%, #000, transparent); opacity: .6; pointer-events: none; }
body.ei-inner .page-background > * { position: relative; }
body.ei-inner .page-background h1,
body.ei-inner .page-background .pb-title {
	font-family: var(--f-head) !important; color: #fff !important; text-transform: none !important;
	font-size: clamp(24px, 3.4vw, 46px) !important; font-weight: 800 !important; letter-spacing: -.015em !important; line-height: 1.08 !important;
	margin: 0 auto !important; padding: 0 var(--gut); max-width: 1100px; display: block; text-wrap: balance;
}
body.ei-inner .page-background h2 {
	font-family: var(--f-body) !important; color: #c3d3e4 !important; text-transform: none !important;
	font-size: clamp(16px, 1.6vw, 19px) !important; font-weight: 500 !important; letter-spacing: 0 !important; line-height: 1.5 !important;
	margin: 14px auto 0 !important; padding: 0 var(--gut); max-width: 760px; text-wrap: balance;
}

/* Pages that ship their own full-width hero don't need the generic banner as well. */
body.ei-inner:has(.ec-hero) .page-background { display: none; }

/* ---------- Breadcrumb (parent edish_breadcrumbs) ---------- */
body.ei-inner .edish-bc { background: #fff; border-bottom: 1px solid var(--card-line); font-family: var(--f-body); font-size: 13px; padding: 12px 0; color: var(--muted); }
body.ei-inner .edish-bc a { color: var(--blue); font-weight: 600; }
body.ei-inner .edish-bc .breadcrumb_last { color: var(--muted); }

/* ---------- Buttons: primary calls to action use the new accent ---------- */
body.ei-inner #container .order-link a,
body.ei-inner #container a.hx-btn.p,
body.ei-inner #container .ed-cta a {
	background: var(--accent) !important; color: #1d0d05 !important; border-color: var(--accent) !important;
	box-shadow: 0 10px 26px -12px rgba(255, 122, 61, .8);
}
body.ei-inner #container .order-link a:hover,
body.ei-inner #container a.hx-btn.p:hover,
body.ei-inner #container .ed-cta a:hover { background: var(--accent-hi) !important; color: #1d0d05 !important; }

/* Plan cards & panels: a touch more polish, same structure */
.ei-inner .plan-details { box-shadow: 0 14px 34px -22px rgba(20, 55, 96, .4); transition: transform .2s, box-shadow .2s; }
.ei-inner .plan-details:hover { transform: translateY(-3px); box-shadow: 0 26px 48px -26px rgba(20, 55, 96, .5); }

/* Contact-us / quote forms */
.ei-inner .edf input[type="text"], .ei-inner .edf input[type="email"], .ei-inner .edf input[type="tel"], .ei-inner .edf select, .ei-inner .edf textarea { border-radius: 10px; font-family: var(--f-body); }
.ei-inner .wpcf7-submit { background: var(--accent) !important; color: #1d0d05 !important; border: 0 !important; border-radius: 8px !important; font-weight: 700 !important; }

/* Links inside long-form content */
.ei-inner .dc-page-content p a { text-underline-offset: 2px; }

/* Desktop sizing: the legacy page designs are drawn for a 1170px column with 14px text, which
 * feels small next to the 1240px header and the homepage. Scale the content area 10% so the
 * column lines up with the header (1170 x 1.1 = 1287) and text is ~15px. Browsers without CSS
 * zoom simply show the original size. */
@media (min-width: 1320px) {
	body.ei-inner #container { zoom: 1.1; }
	body.ei-inner #container .row { max-width: 1170px; }
	/* Legacy full-bleed banners use 100vw; compensate for the 1.1 zoom so they don't overflow. */
	body.ei-inner #container .ed-hero { width: calc(100vw / 1.1) !important; margin-left: calc(50% - 50vw / 1.1) !important; }
}

/* Legacy fixed-width Bootstrap containers (750/970px) must never be wider than their column. */
body.ei-inner #container .container { max-width: 100%; }

/* Keep the sticky header from covering in-page anchors */
.ei-inner [id] { scroll-margin-top: 96px; }

/* Accessibility: links inside running text must not rely on colour alone. */
body.page-id-2770 #container :is(p, li) > a:not([class]) { font-weight: 700; }
body.ei-inner .post-wrap :is(p, li) > a:not([class]) { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
/* Blog posts: the parent theme prints a second breadcrumb under the Edish one; keep only the accessible one. */
body.ei-inner .post-breadcrumbs { display: none; }
/* Accessibility: AA contrast for blog-post links on the light grey panel. */
body.ei-inner .post-wrap :is(p, li) > a:not([class]) { color: #0b5cab; }
.ei-tb-left a, .ei-tb a { display: inline-block; padding-block: 4px; min-height: 24px; }
/* Accessibility: AA contrast for the muted helper text on the quote form. */
body.ei-inner .edf :is(small, .edf-opt, .edf-note, .edf-svcgroup h4) { color: #566879 !important; }
/* Accessibility: comfortable tap targets for footer and breadcrumb links. */

body.ei-inner .edish-bc a { display: inline-block; padding-block: 4px; }

@media (max-width: 680px) {
	body.ei-inner .page-background { padding: 44px 0 40px !important; }
	body.ei-inner .page-background h1, body.ei-inner .page-background .pb-title { font-size: 25px !important; }
}
