/*!
 * Corpoorate Core — Header & Footer
 * Visual direction: corporate "Dotted" style — dark top bar, white bar with bold uppercase menu,
 * accent-topped dropdowns, dotted textures, dark multi-column footer.
 */

:root {
	--corp-primary: #16a34a;
	--corp-primary-rgb: 22, 163, 74;
	--corp-primary-dark: #15803d;
	--corp-dark: #0b1f17;
	--corp-ink: #0f1d17;
	--corp-text: #4a5a52;
	--corp-muted: #6b7a72;
	--corp-line: #e5ece8;
	--corp-soft: #f2f8f4;
	--corp-white: #fff;
	--corp-radius: 8px;
	--corp-shadow: 0 18px 40px -12px rgba(11, 31, 23, .22);
	--corp-font-head: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--corp-font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--corp-logo-h: 52px;
	--corp-bar-h: 86px;
	--corp-bar-h-stuck: 70px;
	--corp-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Scoped reset (protects against theme CSS) ---------- */
.corp-hf, .corp-hf *, .corp-hf *::before, .corp-hf *::after { box-sizing: border-box; }
.corp-hf { font-family: var(--corp-font-body); font-size: 15px; line-height: 1.6; color: var(--corp-text); -webkit-font-smoothing: antialiased; }
.corp-hf ul, .corp-hf ol { list-style: none; margin: 0; padding: 0; }
.corp-hf li { margin: 0; padding: 0; }
.corp-hf li::before, .corp-hf li::marker { content: none; }
.corp-hf a { text-decoration: none; color: inherit; box-shadow: none; transition: color .2s, background-color .2s, border-color .2s, transform .2s var(--corp-ease); }
.corp-hf p { margin: 0; }
.corp-hf h2, .corp-hf h3 { margin: 0; font-family: var(--corp-font-head); color: inherit; letter-spacing: 0; text-transform: none; }
.corp-hf img { max-width: 100%; height: auto; border: 0; }
.corp-hf svg { flex-shrink: 0; }
.corp-hf button { font: inherit; color: inherit; background: none; border: 0; margin: 0; padding: 0; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; min-height: 0; line-height: 1; border-radius: 0; }
.corp-hf :focus-visible { outline: 2px solid var(--corp-primary); outline-offset: 2px; }
.corp-hf [hidden] { display: none !important; }
.corp-sr, .corp-hf .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.corp-container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }

.corp-skip { position: absolute; left: 12px; top: -60px; z-index: 100000; background: var(--corp-primary); color: #fff !important; padding: 10px 16px; border-radius: 6px; font-weight: 600; }
.corp-skip:focus { top: 12px; }
.corp-content-start { display: block; height: 0; outline: 0; }

/* ---------- Buttons ---------- */
.corp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 6px; border: 2px solid transparent; font-family: var(--corp-font-head); font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; line-height: 1.2; white-space: nowrap; cursor: pointer; }
.corp-hf .corp-btn--primary { background: var(--corp-primary); color: #fff; }
.corp-hf .corp-btn--primary:hover { background: var(--corp-primary-dark); color: #fff; }
.corp-hf .corp-btn--primary:hover .corp-icon--arrow { transform: translateX(3px); }
.corp-hf .corp-btn--outline { border-color: var(--corp-primary); color: var(--corp-primary); background: transparent; }
.corp-hf .corp-btn--outline:hover { background: var(--corp-primary); color: #fff; }
.corp-hf .corp-btn--white { background: #fff; color: var(--corp-primary-dark); }
.corp-hf .corp-btn--white:hover { background: var(--corp-dark); color: #fff; }
.corp-hf .corp-btn--ghost { border-color: rgba(255, 255, 255, .7); color: #fff; background: transparent; }
.corp-hf .corp-btn--ghost:hover { background: #fff; color: var(--corp-primary-dark); border-color: #fff; }
.corp-btn--block { width: 100%; }
.corp-icon--arrow { transition: transform .2s var(--corp-ease); }

.corp-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--corp-font-head); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--corp-primary); }
.corp-eyebrow::before { content: ""; width: 22px; height: 2px; background: currentColor; }
.corp-eyebrow--light { color: rgba(255, 255, 255, .85); }

.corp-iconbtn { display: inline-flex !important; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50% !important; color: var(--corp-ink) !important; }
.corp-iconbtn:hover { background: var(--corp-soft) !important; color: var(--corp-primary) !important; }

/* ---------- Top bar ---------- */
.corp-topbar {
	background-color: var(--corp-dark);
	background-image: radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1.2px);
	background-size: 14px 14px;
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	position: relative;
	z-index: 1001;
}
.corp-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; }
.corp-topbar__info, .corp-topbar__links { display: flex; align-items: center; flex-wrap: wrap; }
.corp-topbar__info li, .corp-topbar__links li { display: flex; align-items: center; }
.corp-topbar__info li + li { margin-left: 22px; padding-left: 22px; border-left: 1px solid rgba(255, 255, 255, .12); }
.corp-topbar__info a, .corp-topbar__info li > span, .corp-topbar__hours { display: inline-flex; align-items: center; gap: 8px; }
.corp-topbar__info .corp-icon { color: var(--corp-primary); }
.corp-topbar a:hover { color: #fff; }
.corp-topbar__right { display: flex; align-items: center; gap: 18px; }
.corp-topbar__links li + li::before { content: ""; width: 1px; height: 12px; background: rgba(255, 255, 255, .2); margin: 0 12px; }
.corp-hf .corp-topbar__partner { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; }
.corp-hf .corp-topbar__partner .corp-icon { color: var(--corp-primary); }
.corp-hf .corp-topbar__partner:hover { color: var(--corp-primary); }

/* ---------- Social ---------- */
.corp-social { display: flex; align-items: center; gap: 6px; }
.corp-social a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; }
.corp-social--topbar a { width: 28px; height: 28px; color: rgba(255, 255, 255, .7); }
.corp-social--topbar a:hover { color: #fff; background: var(--corp-primary); }
.corp-hf .corp-social--footer { margin-top: 24px; gap: 10px; }
.corp-social--footer a { width: 38px; height: 38px; border: 1px solid rgba(255, 255, 255, .16); color: #fff; }
.corp-social--footer a:hover { background: var(--corp-primary); border-color: var(--corp-primary); transform: translateY(-2px); }
.corp-hf .corp-social--drawer { margin-top: 18px; gap: 8px; }
.corp-social--drawer a { width: 38px; height: 38px; background: var(--corp-soft); color: var(--corp-ink); }
.corp-social--drawer a:hover { background: var(--corp-primary); color: #fff; }

/* ---------- Main bar ---------- */
.corp-mainbar {
	position: relative;
	z-index: 1000;
	background: #fff;
	border-bottom: 1px solid var(--corp-line);
	transition: box-shadow .3s, transform .3s var(--corp-ease);
}
.corp-mainbar__inner { display: flex; align-items: center; gap: 28px; height: var(--corp-bar-h); transition: height .3s var(--corp-ease); }
.corp-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.corp-logo__img { display: block; height: var(--corp-logo-h) !important; width: auto !important; max-width: 260px; object-fit: contain; transition: height .3s var(--corp-ease); }
.corp-logo__text { font-family: var(--corp-font-head); font-weight: 800; font-size: 22px; color: var(--corp-ink); }
.corp-nav { flex: 1 1 auto; display: flex; justify-content: center; height: 100%; }
.corp-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.corp-actions__cta { margin-left: 10px; }
.corp-burger { display: none !important; }

/* Sticky (JS adds .is-stuck) */
.corp-hf--sticky .corp-mainbar.is-stuck { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 10px 30px -14px rgba(11, 31, 23, .3); border-bottom-color: transparent; animation: corp-drop .35s var(--corp-ease); }
.corp-hf--sticky .corp-mainbar.is-stuck .corp-mainbar__inner { height: var(--corp-bar-h-stuck); }
.corp-hf--sticky .corp-mainbar.is-stuck .corp-logo__img { height: calc(var(--corp-logo-h) * .82) !important; }
.corp-mainbar-spacer { display: none; }
.corp-mainbar-spacer.is-active { display: block; }
body.admin-bar .corp-hf--sticky .corp-mainbar.is-stuck { top: 32px; }
@keyframes corp-drop { from { transform: translateY(-100%); } to { transform: none; } }

/* ---------- Desktop menu ---------- */
.corp-menu--desktop { display: flex; align-items: stretch; height: 100%; }
.corp-menu--desktop > li { position: relative; display: flex; align-items: center; }
.corp-menu--desktop > li.corp-has-mega { position: static; }
.corp-hf .corp-menu--desktop > li > .corp-menu__link {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 14px;
	font-family: var(--corp-font-head);
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--corp-ink);
}
.corp-menu--desktop > li.menu-item-has-children > .corp-menu__link,
.corp-menu--desktop > li.corp-has-mega > .corp-menu__link { padding-right: 4px; }
.corp-menu--desktop > li > .corp-menu__link::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: calc(50% - 20px);
	height: 2px;
	background: var(--corp-primary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--corp-ease);
}
.corp-menu--desktop > li.menu-item-has-children > .corp-menu__link::after,
.corp-menu--desktop > li.corp-has-mega > .corp-menu__link::after { right: 4px; }
.corp-hf .corp-menu--desktop > li:hover > .corp-menu__link,
.corp-hf .corp-menu--desktop > li:focus-within > .corp-menu__link,
.corp-hf .corp-menu--desktop > li.current-menu-item > .corp-menu__link,
.corp-hf .corp-menu--desktop > li.current-menu-ancestor > .corp-menu__link,
.corp-hf .corp-menu--desktop > li.current-menu-parent > .corp-menu__link { color: var(--corp-primary); }
.corp-menu--desktop > li:hover > .corp-menu__link::after,
.corp-menu--desktop > li.is-open > .corp-menu__link::after,
.corp-menu--desktop > li.current-menu-item > .corp-menu__link::after,
.corp-menu--desktop > li.current-menu-ancestor > .corp-menu__link::after { transform: scaleX(1); }

.corp-submenu-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: 22px; height: 22px; margin-right: 8px; color: var(--corp-muted) !important; border-radius: 4px !important; }
.corp-submenu-toggle .corp-icon { transition: transform .25s var(--corp-ease); }
.corp-menu--desktop li:hover > .corp-submenu-toggle,
.corp-menu--desktop li.is-open > .corp-submenu-toggle { color: var(--corp-primary) !important; }
.corp-menu--desktop > li:hover > .corp-submenu-toggle .corp-icon,
.corp-menu--desktop > li.is-open > .corp-submenu-toggle .corp-icon { transform: rotate(180deg); }

/* Dropdowns */
.corp-menu--desktop .corp-submenu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	padding: 10px 0;
	background: #fff;
	border-top: 3px solid var(--corp-primary);
	border-radius: 0 0 var(--corp-radius) var(--corp-radius);
	box-shadow: var(--corp-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .22s, transform .22s var(--corp-ease), visibility .22s;
	z-index: 20;
}
.corp-menu--desktop .corp-submenu .corp-submenu { top: -13px; left: 100%; border-radius: var(--corp-radius); }
.corp-menu--desktop li { position: relative; }
.corp-menu--desktop li:hover > .corp-submenu,
.corp-menu--desktop li:focus-within > .corp-submenu,
.corp-menu--desktop li.is-open > .corp-submenu { opacity: 1; visibility: visible; transform: none; }
.corp-menu--desktop .corp-submenu li { display: flex; align-items: center; }
.corp-hf .corp-menu--desktop .corp-submenu .corp-menu__link { display: block; flex: 1; padding: 9px 22px; font-size: 14px; font-weight: 500; color: var(--corp-text); }
.corp-hf .corp-menu--desktop .corp-submenu .corp-menu__link:hover,
.corp-hf .corp-menu--desktop .corp-submenu .current-menu-item > .corp-menu__link { color: var(--corp-primary); background: var(--corp-soft); padding-left: 28px; }
.corp-menu--desktop .corp-submenu .corp-submenu-toggle { position: absolute; right: 8px; transform: rotate(-90deg); }

/* Mega menu */
.corp-menu--desktop .corp-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	border-top: 3px solid var(--corp-primary);
	box-shadow: var(--corp-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .25s, transform .25s var(--corp-ease), visibility .25s;
	z-index: 20;
	max-height: calc(100vh - 140px);
	overflow-y: auto;
}
.corp-menu--desktop li.corp-has-mega:hover > .corp-mega,
.corp-menu--desktop li.corp-has-mega:focus-within > .corp-mega,
.corp-menu--desktop li.corp-has-mega.is-open > .corp-mega { opacity: 1; visibility: visible; transform: none; }
.corp-mega__inner { padding-top: 26px; padding-bottom: 30px; }
.corp-mega__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; padding: 0 12px; }
.corp-hf .corp-mega__all { display: inline-flex; align-items: center; gap: 6px; font-family: var(--corp-font-head); font-size: 13px; font-weight: 700; color: var(--corp-primary); }
.corp-hf .corp-mega__all:hover { color: var(--corp-primary-dark); }
.corp-mega__all:hover .corp-icon--arrow { transform: translateX(3px); }
.corp-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 8px; }
.corp-hf .corp-mega__item { display: flex; align-items: flex-start; gap: 12px; height: 100%; padding: 12px; border-radius: var(--corp-radius); }
.corp-hf .corp-mega__item:hover { background: var(--corp-soft); }
.corp-mega__icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 10px; background: rgba(var(--corp-primary-rgb), .1); color: var(--corp-primary); transition: background .2s, color .2s; }
.corp-mega__item:hover .corp-mega__icon { background: var(--corp-primary); color: #fff; }
.corp-mega__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.corp-mega__text strong { font-family: var(--corp-font-head); font-size: 13.5px; font-weight: 700; line-height: 1.35; color: var(--corp-ink); }
.corp-mega__item:hover .corp-mega__text strong { color: var(--corp-primary); }
.corp-mega__text small { font-size: 12.5px; line-height: 1.45; color: var(--corp-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.corp-mega__promo {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) auto auto;
	align-items: center;
	gap: 14px 28px;
	margin: 6px 0 0 8px !important;
	padding: 20px 26px !important;
	border-radius: 12px;
	color: rgba(255, 255, 255, .88);
	background-color: var(--corp-primary);
	background-image: radial-gradient(rgba(255, 255, 255, .18) 1px, transparent 1.3px), linear-gradient(120deg, var(--corp-primary-dark), var(--corp-primary));
	background-size: 14px 14px, 100% 100%;
}
.corp-mega__promo--span1, .corp-mega__promo--span2 { grid-template-columns: 1fr; margin-left: 0 !important; }
.corp-mega__promo--span2 .corp-steps { display: none; }
.corp-mega__promo h3 { font-size: 17px; font-weight: 700; color: #fff; margin-bottom: 4px; line-height: 1.3; }
.corp-mega__promo p { font-size: 13px; line-height: 1.5; }
.corp-steps { display: grid; gap: 7px; }
.corp-steps li { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: #fff; line-height: 1.3; }
.corp-steps li span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; background: rgba(255, 255, 255, .22); font-size: 11.5px; font-family: var(--corp-font-head); }

/* Account dropdown */
.corp-account { position: relative; }
.corp-account__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	min-width: 210px;
	padding: 8px !important;
	background: #fff;
	border-top: 3px solid var(--corp-primary);
	border-radius: 0 0 var(--corp-radius) var(--corp-radius);
	box-shadow: var(--corp-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s, transform .2s var(--corp-ease), visibility .2s;
	z-index: 30;
}
.corp-account.is-open .corp-account__menu { opacity: 1; visibility: visible; transform: none; }
.corp-account__hello { padding: 8px 12px 10px; font-size: 13px; color: var(--corp-muted); border-bottom: 1px solid var(--corp-line); margin-bottom: 6px !important; }
.corp-hf .corp-account__menu a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 6px; font-size: 14px; color: var(--corp-text); }
.corp-hf .corp-account__menu a:hover { background: var(--corp-soft); color: var(--corp-primary); }

/* ---------- Search overlay ---------- */
.corp-search { position: fixed; inset: 0; z-index: 100001; display: flex; justify-content: center; align-items: flex-start; padding: 16vh 16px 0; }
.corp-search__backdrop { position: absolute; inset: 0; background: rgba(11, 31, 23, .78); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s; }
.corp-search__box { position: relative; width: 100%; max-width: 760px; opacity: 0; transform: translateY(-14px); transition: opacity .25s, transform .3s var(--corp-ease); }
.corp-search.is-open .corp-search__backdrop, .corp-search.is-open .corp-search__box { opacity: 1; transform: none; }
.corp-search__form { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 20px; background: #fff; border-radius: 12px; box-shadow: var(--corp-shadow); }
.corp-search__icon { color: var(--corp-muted); }
.corp-hf .corp-search__form input[type="search"] { flex: 1; min-width: 0; height: 52px; border: 0 !important; outline: 0; box-shadow: none !important; background: transparent; font-size: 18px; color: var(--corp-ink); padding: 0; margin: 0; }
.corp-search__hint { margin-top: 18px !important; font-size: 13px; color: rgba(255, 255, 255, .7); display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.corp-hf .corp-search__hint a { color: #fff; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; }
.corp-hf .corp-search__hint a:hover { background: var(--corp-primary); border-color: var(--corp-primary); }
.corp-hf .corp-search__close { position: absolute; top: -60px; right: 0; color: #fff !important; }
.corp-hf .corp-search__close:hover { background: rgba(255, 255, 255, .12) !important; color: #fff !important; }

/* ---------- Mobile drawer ---------- */
.corp-drawer { position: fixed; inset: 0; z-index: 100000; }
.corp-drawer__backdrop { position: absolute; inset: 0; background: rgba(11, 31, 23, .6); opacity: 0; transition: opacity .3s; }
.corp-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(400px, 90vw); background: #fff; overflow-y: auto; overscroll-behavior: contain; padding: 0 22px 32px; transform: translateX(100%); transition: transform .35s var(--corp-ease); }
.corp-drawer.is-open .corp-drawer__backdrop { opacity: 1; }
.corp-drawer.is-open .corp-drawer__panel { transform: none; }
.corp-drawer__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; background: #fff; border-bottom: 1px solid var(--corp-line); }
.corp-drawer__head .corp-logo__img { height: 40px !important; }
.corp-menu--mobile > li { border-bottom: 1px solid var(--corp-line); }
.corp-menu--mobile li { position: relative; }
.corp-hf .corp-menu--mobile .corp-menu__link { display: flex; align-items: center; gap: 10px; padding: 14px 44px 14px 0; font-family: var(--corp-font-head); font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: var(--corp-ink); }
.corp-hf .corp-menu--mobile .current-menu-item > .corp-menu__link, .corp-hf .corp-menu--mobile .corp-menu__link:hover { color: var(--corp-primary); }
.corp-menu--mobile .corp-submenu-toggle { position: absolute; top: 8px; right: 0; width: 36px; height: 36px; margin: 0; background: var(--corp-soft) !important; color: var(--corp-ink) !important; border-radius: 6px !important; }
.corp-menu--mobile li.is-open > .corp-submenu-toggle { background: var(--corp-primary) !important; color: #fff !important; }
.corp-menu--mobile li.is-open > .corp-submenu-toggle .corp-icon { transform: rotate(180deg); }
.corp-menu--mobile .corp-submenu { display: none; padding: 0 0 12px 12px !important; border-left: 2px solid rgba(var(--corp-primary-rgb), .25); margin: 0 0 8px 2px !important; }
.corp-menu--mobile li.is-open > .corp-submenu { display: block; }
.corp-hf .corp-menu--mobile .corp-submenu .corp-menu__link { padding: 9px 40px 9px 8px; font-family: var(--corp-font-body); font-weight: 500; font-size: 14.5px; letter-spacing: 0; text-transform: none; color: var(--corp-text); }
.corp-menu--mobile .corp-submenu .corp-submenu-toggle { top: 4px; width: 30px; height: 30px; }
.corp-mega-mobile .corp-icon { color: var(--corp-primary); }
.corp-hf .corp-mega-mobile__all .corp-menu__link { color: var(--corp-primary); font-weight: 700; }
.corp-drawer__ctas { display: grid; gap: 10px; margin-top: 22px; }
.corp-drawer__account, .corp-drawer__contact { margin-top: 20px !important; display: grid; gap: 4px; }
.corp-hf .corp-drawer__account a, .corp-hf .corp-drawer__contact a { display: inline-flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 14.5px; color: var(--corp-text); }
.corp-hf .corp-drawer__account a:hover, .corp-hf .corp-drawer__contact a:hover { color: var(--corp-primary); }
.corp-drawer__contact .corp-icon, .corp-drawer__account .corp-icon { color: var(--corp-primary); }
.corp-drawer__contact { padding-top: 18px; border-top: 1px solid var(--corp-line); }
html.corp-lock, html.corp-lock body { overflow: hidden !important; }

/* ---------- Footer CTA band ---------- */
.corp-fcta {
	position: relative;
	color: rgba(255, 255, 255, .9);
	background-color: var(--corp-primary);
	background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1.3px), linear-gradient(120deg, var(--corp-primary-dark), var(--corp-primary) 60%);
	background-size: 16px 16px, 100% 100%;
}
.corp-fcta__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 52px; padding-bottom: 52px; }
.corp-fcta__text { max-width: 720px; }
.corp-fcta h2 { font-size: clamp(22px, 2.6vw, 32px); font-weight: 800; line-height: 1.25; color: #fff; margin: 10px 0 10px; }
.corp-fcta p { font-size: 15.5px; }
.corp-fcta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }

/* ---------- Footer ---------- */
.corp-footer {
	position: relative;
	color: rgba(255, 255, 255, .66);
	background-color: var(--corp-dark);
	background-image: radial-gradient(rgba(255, 255, 255, .055) 1px, transparent 1.3px);
	background-size: 18px 18px;
	font-size: 14.5px;
}
.corp-footer__grid { display: grid; grid-template-columns: 1.35fr 1.1fr .9fr 1.15fr; gap: 48px; padding-top: 76px; padding-bottom: 56px; }
.corp-flogo { display: inline-block; margin-bottom: 20px; }
.corp-flogo .corp-logo__img { height: calc(var(--corp-logo-h) * .9) !important; }
.corp-flogo--plate { background: #fff; padding: 10px 16px; border-radius: 10px; }
.corp-flogo--white .corp-logo__img { filter: brightness(0) invert(1); }
.corp-flogo .corp-logo__text { color: #fff; }
.corp-fcol__about { max-width: 360px; line-height: 1.75; }
.corp-hf .corp-fcol__title { position: relative; font-size: 15px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; padding-bottom: 14px; margin-bottom: 22px; }
.corp-fcol__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; border-radius: 2px; background: var(--corp-primary); }
.corp-flinks { display: grid; gap: 10px; }
.corp-hf .corp-flinks a { display: inline-flex; align-items: center; gap: 8px; line-height: 1.45; }
.corp-hf .corp-flinks a::before { content: ""; width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; border: 1.5px solid var(--corp-primary); transition: background .2s; }
.corp-hf .corp-flinks a:hover { color: #fff; transform: translateX(4px); }
.corp-hf .corp-flinks a:hover::before { background: var(--corp-primary); }
.corp-hf .corp-flinks .corp-flinks__more { color: var(--corp-primary); font-weight: 600; }
.corp-hf .corp-flinks .corp-flinks__more::before { display: none; }
.corp-fcontact { display: grid; gap: 14px; margin-bottom: 24px !important; }
.corp-fcontact li { display: flex; align-items: flex-start; gap: 12px; line-height: 1.55; }
.corp-fcontact__icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 8px; background: rgba(var(--corp-primary-rgb), .14); color: var(--corp-primary); margin-top: -6px; }
.corp-hf .corp-fcontact a:hover { color: #fff; }
.corp-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .08); background: rgba(0, 0, 0, .18); font-size: 13.5px; }
.corp-footer__bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; }
.corp-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; }
.corp-legal li { display: flex; align-items: center; }
.corp-legal li + li::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: rgba(255, 255, 255, .3); margin: 0 12px; }
.corp-hf .corp-legal a:hover { color: #fff; }

/* Back to top */
.corp-hf .corp-totop { position: fixed; right: 22px; bottom: 22px; z-index: 999; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--corp-primary); color: #fff; box-shadow: 0 10px 24px -8px rgba(var(--corp-primary-rgb), .7); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s, visibility .25s, transform .25s var(--corp-ease), background .2s; }
.corp-hf .corp-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.corp-hf .corp-totop:hover { background: var(--corp-primary-dark); color: #fff; transform: translateY(-3px); }

/* ---------- Responsive ---------- */
@media (max-width: 1240px) {
	.corp-hf .corp-menu--desktop > li > .corp-menu__link { padding: 0 10px; font-size: 13px; }
	.corp-menu--desktop > li > .corp-menu__link::after { left: 10px; right: 10px; }
	.corp-mainbar__inner { gap: 18px; }
	.corp-mega__promo { grid-template-columns: minmax(0, 1fr) auto; }
	.corp-mega__promo .corp-steps { display: none; }
}
@media (max-width: 1100px) {
	.corp-nav { display: none; }
	.corp-burger { display: inline-flex !important; }
	.corp-mainbar__inner { justify-content: space-between; }
	.corp-actions { margin-left: auto; }
	.corp-topbar__hours, .corp-topbar__tagline { display: none !important; }
	.corp-footer__grid { grid-template-columns: 1fr 1fr; gap: 44px 40px; }
}
@media (max-width: 782px) {
	body.admin-bar .corp-hf--sticky .corp-mainbar.is-stuck { top: 46px; }
	:root { --corp-bar-h: 72px; --corp-bar-h-stuck: 64px; }
	.corp-logo__img { height: calc(var(--corp-logo-h) * .8) !important; max-width: 200px; }
	.corp-topbar { display: none; }
	.corp-fcta__inner { flex-direction: column; align-items: flex-start; padding-top: 40px; padding-bottom: 40px; }
}
@media (max-width: 600px) {
	body.admin-bar .corp-hf--sticky .corp-mainbar.is-stuck { top: 0; }
	.corp-container { padding: 0 16px; }
	.corp-actions__cta { display: none !important; }
	.corp-account { display: none; }
	.corp-footer__grid { grid-template-columns: 1fr; gap: 36px; padding-top: 52px; padding-bottom: 40px; }
	.corp-footer__bottom-inner { flex-direction: column; align-items: flex-start; padding-right: 76px; }
	.corp-fcta__actions { width: 100%; }
	.corp-fcta__actions .corp-btn { flex: 1 1 100%; }
	.corp-search { padding-top: 90px; }
	.corp-search__form .corp-btn { padding: 12px 14px; }
	.corp-hf .corp-search__form input[type="search"] { font-size: 16px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	.corp-hf *, .corp-hf *::before, .corp-hf *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
