/* ==========================================================================
   Heroes Car Wash — theme styles (supplements theme.json)
   ========================================================================== */

:root {
	--heroes-gold: var(--wp--preset--color--gold);
	--heroes-navy: var(--wp--preset--color--navy);
	--heroes-green: var(--wp--preset--color--green);
	--heroes-ink: var(--wp--preset--color--ink);
	--heroes-shadow: 0 10px 30px rgba(10, 16, 31, 0.12);
}

body { -webkit-font-smoothing: antialiased; }
.heroes-icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: -0.2em; }

/* ---------- Block style: eyebrow text ---------- */
.is-style-eyebrow {
	color: var(--heroes-gold);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
	text-transform: uppercase;
	margin-bottom: 0.25rem !important;
}

/* ---------- Block style: headings with gold underline ---------- */
.is-style-underlined::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 0.9rem;
	background: var(--heroes-gold);
}
.is-style-underlined.has-text-align-center::after { margin-left: auto; margin-right: auto; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s; }
.wp-block-button.is-style-green .wp-block-button__link {
	background: var(--heroes-green); border-color: var(--heroes-green); color: #fff;
}
.wp-block-button.is-style-green .wp-block-button__link:hover { background: #1f3a1b; }
.wp-block-button.is-style-outline-light .wp-block-button__link {
	background: transparent; border-color: rgba(255,255,255,.6); color: #fff;
}
.wp-block-button.is-style-outline-light .wp-block-button__link:hover { background: #fff; color: var(--heroes-ink); }
.wp-block-button.is-style-outline-dark .wp-block-button__link {
	background: transparent; border-color: var(--heroes-navy); border-width: 2px; color: var(--heroes-navy);
}
.wp-block-button.is-style-outline-dark .wp-block-button__link:hover { background: var(--heroes-navy); color: #fff; }
.wp-block-button.is-style-pill .wp-block-button__link { border-radius: 999px; width: 100%; }
.heroes-btn-sm .wp-block-button__link { padding: .7rem 1rem; font-size: .75rem; }
.heroes-btn-xs .wp-block-button__link { padding: .3rem .7rem; font-size: .68rem; }

/* ---------- Header ---------- */
.heroes-announce, .heroes-utility, .heroes-promo { gap: .5rem 1.25rem !important; }
.heroes-announce p, .heroes-utility p, .heroes-promo p { margin: 0; }
.heroes-announce__title { font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; }
.heroes-utility__links a { text-decoration: none; letter-spacing: .06em; }
.heroes-sep { opacity: .5; margin: 0 1rem; }
.heroes-social-square .wp-social-link { border-radius: 2px !important; }
.heroes-social-square.has-small-icon-size { font-size: 13px; }
.heroes-promo__label { letter-spacing: .18em; }
.heroes-promo mark { background: none; }
.heroes-header { position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.admin-bar .heroes-header { top: 32px; }
.heroes-nav .wp-block-navigation-item__content:hover,
.heroes-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--heroes-gold); }
.heroes-nav .wp-block-navigation__submenu-container {
	border: 0 !important; box-shadow: var(--heroes-shadow); padding: .5rem 0; min-width: 220px !important;
}
.heroes-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 1.1rem; }
.heroes-site-header { position: relative; z-index: 40; }
@media (max-width: 1100px) {
	.heroes-header__ctas { display: none; }
}
@media (max-width: 781px) {
	.heroes-utility { justify-content: center !important; }
	.heroes-promo__label { display: none; }
	.heroes-header .wp-block-site-logo img { width: 140px !important; }
	.admin-bar .heroes-header { top: 46px; }
}

/* ---------- Page hero (inner pages) ---------- */
.heroes-page-hero h1 { margin-top: 0; }
.heroes-page-hero p:not(.is-style-eyebrow) { color: rgba(255,255,255,.85); font-size: var(--wp--preset--font-size--large); max-width: 640px; margin-inline: auto; }

/* ---------- Home hero ---------- */
.heroes-hero { border-bottom: 4px solid var(--heroes-gold); }
.heroes-hero .wp-block-cover__inner-container { width: 100%; }
.heroes-hero h1 { color: #fff; max-width: 13ch; }
.heroes-hero__mascot img { filter: drop-shadow(0 12px 24px rgba(0,0,0,.35)); }

/* ---------- Feature strip ---------- */
.heroes-strip { gap: 0 !important; }
.heroes-strip > .wp-block-column { margin: 0 !important; display: flex; align-items: center; justify-content: center; }
.heroes-strip p { margin: 0; color: #fff; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; display: flex; gap: .6rem; align-items: center; }
.heroes-strip .heroes-icon { color: var(--heroes-gold); }

/* ---------- Cards ---------- */
.is-style-card { background: #fff; border: 1px solid rgba(10,16,31,.08); padding: 1.6rem; box-shadow: 0 2px 8px rgba(10,16,31,.04); }
.is-style-card-top-border { background: #fff; border-top: 4px solid var(--heroes-gold); padding: 2rem 1.6rem; box-shadow: var(--heroes-shadow); }
.heroes-number { color: rgba(202,160,43,.35); font-size: 2.2rem; font-weight: 800; line-height: 1; margin: 0; }
.heroes-icon-box { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--heroes-gold); color: var(--heroes-ink); }
.heroes-amenity { display: flex !important; gap: 1rem; align-items: flex-start; }
.heroes-amenity > * { margin: 0 !important; }
.heroes-amenity h3 { font-size: 1rem; margin: 0 0 .25rem; }
.heroes-amenity p { font-size: .85rem; margin: 0; }
.heroes-feature-dark { padding: 2rem 1.6rem; }
.heroes-feature-dark .heroes-icon { color: var(--heroes-gold); width: 28px; height: 28px; }
.heroes-feature-dark h3 { color: #fff; font-size: 1.2rem; }
.heroes-feature-dark p { color: rgba(255,255,255,.75); font-size: .9rem; }

/* ---------- Pricing ("Choose Your Mission") ---------- */
.heroes-tabs { display: flex; justify-content: center; margin: 0 auto 2.5rem; }
.heroes-tabs__inner { display: inline-flex; background: #fff; border-radius: 999px; padding: 5px; box-shadow: var(--heroes-shadow); }
.heroes-tabs button {
	border: 0; background: transparent; padding: .65rem 1.2rem; border-radius: 999px; cursor: pointer;
	font: 700 .72rem/1 var(--wp--preset--font-family--montserrat); letter-spacing: .1em; text-transform: uppercase; color: var(--heroes-navy);
}
.heroes-tabs button[aria-selected="true"] { background: var(--heroes-navy); color: #fff; }
.heroes-tabpanel[hidden] { display: none !important; }

.heroes-plans { gap: 1.25rem !important; align-items: stretch !important; }
.heroes-plan {
	position: relative; border-radius: 18px; padding: 2.5rem 1.25rem 1.25rem; color: #fff; overflow: hidden;
	display: flex !important; flex-direction: column; box-shadow: var(--heroes-shadow);
}
.heroes-plan > * { position: relative; z-index: 1; }
.heroes-plan__name { color: #fff; text-align: center; font-size: 1.35rem !important; font-weight: 900; text-transform: uppercase; letter-spacing: .02em;
	-webkit-text-stroke: 1px rgba(0,0,0,.35); text-shadow: 0 2px 0 rgba(0,0,0,.35); min-height: 4.5rem; display: flex; align-items: center; justify-content: center; margin: 0; }
.heroes-plan__name small { display: block; font-size: .55em; color: var(--heroes-gold); -webkit-text-stroke: 0; }
.heroes-plan__price { text-align: center; font-size: 2.6rem !important; font-weight: 800; color: #fff; margin: 1.5rem 0 0; line-height: 1; }
.heroes-plan__price del { color: rgba(255,255,255,.6); font-size: .75em; text-decoration-color: #e0262b; text-decoration-thickness: 4px; margin-right: .35rem; }
.heroes-plan__price.is-sale ins { color: var(--heroes-gold); text-decoration: none; }
.heroes-plan__term { text-align: center; color: var(--heroes-gold); font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
	border-bottom: 1px solid rgba(255,255,255,.15); padding-bottom: 1rem; margin-top: .5rem !important; }
.heroes-plan__promo { border: 2px solid var(--heroes-gold); border-radius: 8px; background: rgba(202,160,43,.12); padding: .85rem; text-align: center; font-size: .8rem; font-weight: 700; color: #fff; }
.heroes-plan__promo strong:first-child { display: block; color: var(--heroes-gold); font-size: 1.4rem; text-transform: uppercase; }
.heroes-plan__promo p { margin: .3rem 0 0; }
.heroes-plan__features { list-style: none; padding: 0 0 0 .75rem; margin: 1rem 0 1.5rem; font-size: .82rem; flex: 1; }
.heroes-plan__features li { display: flex; gap: .75rem; align-items: center; padding: .4rem 0; }
.heroes-plan__features li::before { content: ""; width: 18px; height: 18px; flex: none;
	background: var(--heroes-gold); -webkit-mask: url("../images/icon-drop.svg") center/contain no-repeat; mask: url("../images/icon-drop.svg") center/contain no-repeat; }
.heroes-plan .wp-block-buttons { margin-top: auto; }
.heroes-plan .wp-block-button { width: 100%; }
.heroes-plan .wp-block-button__link { width: 100%; border-radius: 999px; padding: .7rem; font-size: .72rem; }
.heroes-plan.is-featured { border: 3px solid var(--heroes-gold); overflow: visible; }
.heroes-plan__badge { position: absolute !important; top: -14px; left: 50%; transform: translateX(-50%); white-space: nowrap; margin: 0 !important;
	background: var(--heroes-gold); color: var(--heroes-ink); font-size: .62rem; font-weight: 800; letter-spacing: .14em; padding: .35rem 1rem; border-radius: 999px; text-transform: uppercase; }
@media (max-width: 1100px) { .heroes-plans { flex-wrap: wrap !important; } .heroes-plans > .wp-block-column { flex-basis: calc(50% - .7rem) !important; } }
@media (max-width: 600px) { .heroes-plans > .wp-block-column { flex-basis: 100% !important; } }

/* ---------- Promo split cards (Wash Books / Gift Cards) ---------- */
.heroes-split-card { position: relative; overflow: hidden; padding: 1.75rem 1.5rem !important; box-shadow: var(--heroes-shadow); }
.heroes-split-card::after { content: ""; position: absolute; top: 0; right: -10%; width: 35%; height: 100%; background: rgba(255,255,255,.07); transform: skewX(-12deg); }
.heroes-split-card h3 { color: #fff; margin-top: 0; }
.heroes-split-card p { color: rgba(255,255,255,.8); font-size: .9rem; }
.heroes-split-card a { color: var(--heroes-gold) !important; font-weight: 700; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }

/* ---------- Lists ---------- */
.is-style-stars, .is-style-checks { list-style: none; padding-left: 0; }
.is-style-stars li, .is-style-checks li { position: relative; padding-left: 1.6rem; margin: .45rem 0; }
.is-style-stars li::before { content: "★"; position: absolute; left: 0; color: var(--heroes-gold); }
.is-style-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--heroes-gold); font-weight: 800; }

/* ---------- Images ---------- */
.is-style-gold-frame img { border: 2px solid var(--heroes-gold); padding: 0; }

/* ---------- Location card ---------- */
.heroes-location-card p { margin: 0; }
.heroes-map { min-height: 200px; border: 1px solid rgba(10,16,31,.1); background: #fff; }
.heroes-map iframe { width: 100%; height: 100%; min-height: 220px; border: 0; display: block; }

/* ---------- Reviews carousel ---------- */
.heroes-reviews { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem;
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); scrollbar-width: none; }
.heroes-reviews::-webkit-scrollbar { display: none; }
.heroes-review { flex: 0 0 min(300px, 80vw); scroll-snap-align: start; background: #1c1c1c; border: 1px solid rgba(255,255,255,.08); padding: 1.4rem !important; color: rgba(255,255,255,.8); font-size: .88rem; }
.heroes-review .heroes-stars { color: var(--heroes-gold); letter-spacing: .1em; margin: 0; }
.heroes-review__author { color: #fff; font-weight: 700; font-size: .8rem; margin-top: auto; }
.heroes-review__author small { display: block; color: rgba(255,255,255,.4); font-weight: 500; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Icon lines (contact details) ---------- */
.heroes-iconline { display: flex; gap: .6rem; align-items: flex-start; }
.heroes-iconline .heroes-icon { color: var(--heroes-gold); margin-top: .15em; }
.heroes-contact-item .heroes-icon-circle { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center; background: #f6ecd2; color: var(--heroes-navy); flex: none; }

/* ---------- FAQ (details block) ---------- */
.wp-block-details { border: 1px solid rgba(10,16,31,.1); background: #fff; padding: 1rem 1.25rem; margin-top: 0 !important; margin-bottom: .75rem !important; }
.wp-block-details summary { font-weight: 700; color: var(--heroes-navy); cursor: pointer; }
.wp-block-details[open] summary { color: var(--heroes-gold-dark, #a0812a); margin-bottom: .5rem; }

/* ---------- Forms (works with Contact Form 7 / WPForms / Fluent Forms) ---------- */
.heroes-form-card { background: #f4f4f6; border-radius: 16px; padding: 2rem !important; }
.heroes-form-card input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.heroes-form-card textarea, .heroes-form-card select {
	width: 100%; border: 1px solid #e3e3e8; border-radius: 6px; padding: .75rem .9rem; font: inherit; background: #fff;
}
.heroes-form-card input[type=submit], .heroes-form-card button[type=submit] {
	width: 100%; background: var(--heroes-gold); color: var(--heroes-ink); border: 1px solid var(--heroes-ink); border-radius: 999px; padding: .9rem; font: 700 1rem var(--wp--preset--font-family--montserrat); cursor: pointer;
}

/* ---------- Footer ---------- */
.heroes-footer__heading { font-size: .78rem !important; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 1rem; }
.heroes-footer__list { list-style: none; padding: 0; margin: 0; }
.heroes-footer__list li { margin: 0 0 .55rem; }
.heroes-footer a { text-decoration: none; }
.heroes-footer p a { text-decoration: underline; }
.heroes-footer__rule { border-color: rgba(255,255,255,.15) !important; opacity: 1; }
.heroes-footer__about { color: rgba(255,255,255,.85); max-width: 230px; }
.heroes-social-round .wp-social-link { background: rgba(255,255,255,.1) !important; }

/* ---------- Blog cards ---------- */
.heroes-post-card { height: 100%; }
.heroes-post-card .wp-block-post-featured-image { margin: -1.6rem -1.6rem .5rem; }

/* ==========================================================================
   Page-level components
   ========================================================================== */
.wp-block-button.is-style-outline-gold .wp-block-button__link { background: transparent; border: 2px solid var(--heroes-gold); color: var(--heroes-gold); }
.wp-block-button.is-style-outline-gold .wp-block-button__link:hover { background: var(--heroes-gold); color: var(--heroes-ink); }

/* Make every top-level section touch edge to edge. */
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.wp-block-post-content > .alignfull { margin-top: 0; margin-bottom: 0; }
main > .wp-block-post-content { margin-top: 0; }

.heroes-big-price { font-size: clamp(2.4rem, 5vw, 3.2rem) !important; font-weight: 800; line-height: 1; color: var(--heroes-navy); margin: .25rem 0; }
.has-white-color .heroes-big-price, .heroes-ticket-card .heroes-big-price, .has-navy-background-color .heroes-big-price { color: var(--heroes-gold); }
.heroes-orange { color: #f07c22 !important; }
.heroes-haunt-title { color: var(--heroes-gold) !important; text-transform: uppercase; letter-spacing: .02em; font-size: clamp(2.6rem, 6vw, 4.5rem) !important; line-height: .95 !important;
	text-shadow: 0 3px 0 rgba(0,0,0,.4); }
.heroes-haunt .wp-block-image img { box-shadow: 0 0 60px rgba(240,124,34,.35); }
.heroes-ticker { font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: .78rem !important; margin: 0; }
.heroes-ticket-card { border: 2px dashed var(--heroes-gold); padding: 2rem; background: rgba(255,255,255,.03); }
.heroes-haunt-step { border: 1px solid rgba(255,255,255,.12); padding: 1.5rem; height: 100%; }
.heroes-haunt-step .heroes-number { color: #f07c22; }
.heroes-notice { background: #fff7e0; border-left: 4px solid var(--heroes-gold); padding: 1rem 1.25rem; text-align: left !important; }

.heroes-hero .wp-block-cover__inner-container > .wp-block-columns { margin: 0 auto; }
.heroes-hero h1 { font-size: clamp(2.3rem, 5vw, 3.6rem) !important; }
.heroes-hero .is-style-eyebrow { color: var(--heroes-gold); }
.heroes-hero__mascot img { max-height: 440px; width: auto; }
@media (max-width: 781px) { .heroes-hero__mascot { display: none; } }

.heroes-strip > .wp-block-column { padding: 1.1rem 1rem; }
.heroes-strip p { font-size: .85rem; }

.heroes-photo-band { gap: 0 !important; border-top: 3px solid var(--heroes-gold); border-bottom: 3px solid var(--heroes-gold); margin: 0 !important; }
.heroes-photo-band > .wp-block-column { margin: 0 !important; }
.heroes-photo-band figure { margin: 0; height: 100%; }
.heroes-photo-band img { width: 100%; height: clamp(200px, 26vw, 380px); object-fit: cover; display: block; }

.heroes-stars-inline { color: var(--heroes-gold); font-size: 1.3rem; letter-spacing: .1em; vertical-align: -0.1em; margin-right: .4rem; }
.heroes-review { display: flex; flex-direction: column; }
.heroes-review p { margin: 0 0 .75rem; }
.heroes-review__author { margin-top: auto !important; }

.heroes-step { gap: .9rem !important; align-items: flex-start !important; margin: .9rem 0 !important; }
.heroes-step > * { margin: 0 !important; }
.heroes-step-num { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--heroes-green); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .9rem; }
.heroes-step-num--gold { background: var(--heroes-gold); color: var(--heroes-ink); }
.heroes-eyebrow-green { color: var(--heroes-green) !important; }
.heroes-save-box { border: 1px solid rgba(255,255,255,.25); padding: 1.2rem; height: 100%; }
.heroes-save-box p { margin: .2rem 0; }

.heroes-stat-card { border-radius: 16px; padding: 2rem 1rem; height: 100%; }
.heroes-stat-card p { margin: .25rem 0; }
.heroes-stat-icon .heroes-icon { width: 40px; height: 40px; color: var(--heroes-gold); }
.heroes-stat-card:not(.has-text-color) strong { color: var(--heroes-navy); }
.heroes-hoh-card { border-radius: 18px; }
.heroes-hoh-card .wp-block-image img { background: transparent; }
.heroes-pullquote { line-height: 1.2; font-weight: 700; }
.heroes-big-icon .heroes-icon { width: 44px; height: 44px; color: var(--heroes-gold); }

.heroes-faq-cat { margin-top: 2.5rem !important; padding-bottom: .5rem; border-bottom: 2px solid var(--heroes-gold); }
.heroes-faq-cat:first-child { margin-top: 0 !important; }

.heroes-plans--two { max-width: 760px; margin-inline: auto; }
.heroes-plans--books .heroes-plan__term { border: 0; order: -1; margin-top: 1rem !important; }
.heroes-plans--books .heroes-plan__features li::before { -webkit-mask-image: none; mask-image: none; content: "✓"; background: none; color: var(--heroes-gold); font-weight: 800; }
.heroes-plan__badge + .heroes-plan__name { margin-top: .5rem; }
.heroes-plan__promo p { margin: .25rem 0 0; }
.heroes-plan__promo p:first-child strong { display: block; color: var(--heroes-gold); font-size: 1.35rem; text-transform: uppercase; }
.heroes-plan__price strong { color: var(--heroes-gold); }
.heroes-plan__price s { color: rgba(255,255,255,.55); font-size: .7em; text-decoration-color: #e0262b; text-decoration-thickness: 4px; margin-right: .3rem; }

.heroes-contact-item { gap: 1rem !important; margin: 1.25rem 0 !important; }
.heroes-contact-item h3 { margin: 0 0 .2rem; }
.heroes-contact-item p { margin: 0; }
.heroes-icon-circle { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center; background: #f6ecd2; color: var(--heroes-navy); }
.heroes-icon-box { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--heroes-gold); color: var(--heroes-ink); }

/* Forms */
.heroes-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.heroes-form__field { grid-column: 1 / -1; display: flex; flex-direction: column; gap: .35rem; }
.heroes-form__field.is-half { grid-column: span 1; }
.heroes-form__field label { font-size: .85rem; font-weight: 600; color: var(--heroes-navy); }
.heroes-form__field.is-checkbox label { display: flex; gap: .5rem; align-items: center; font-weight: 600; }
.heroes-req { color: #c0392b; }
.heroes-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.heroes-form__submit { margin-top: 1.25rem; width: 100%; background: var(--heroes-gold); color: var(--heroes-ink); border: 1px solid var(--heroes-ink); border-radius: 999px;
	padding: .95rem; font: 700 1rem var(--wp--preset--font-family--montserrat); cursor: pointer; transition: background .2s; }
.heroes-form__submit:hover { background: var(--heroes-gold-dark, #a0812a); color: #fff; }
.heroes-form-card input:not([type=checkbox]), .heroes-form-card textarea, .heroes-form-card select {
	width: 100%; border: 1px solid #dcdce3; border-radius: 6px; padding: .75rem .9rem; font: inherit; font-size: .95rem; background: #fff; color: #1a1a1a; }
.heroes-form-card input:focus, .heroes-form-card textarea:focus, .heroes-form-card select:focus { outline: 2px solid var(--heroes-gold); border-color: var(--heroes-gold); }
.heroes-form-notice { padding: 1rem 1.25rem; border-radius: 8px; font-weight: 600; margin-bottom: 1rem; }
.heroes-form-notice.is-success { background: #e6f2e4; color: var(--heroes-green); border: 1px solid #b7d6b1; }
.heroes-form-notice.is-error { background: #fdecea; color: #a12a1e; border: 1px solid #f3b8b1; }
@media (max-width: 600px) { .heroes-form__grid { grid-template-columns: 1fr; } .heroes-form__field.is-half { grid-column: 1 / -1; } }

.heroes-paperform { min-height: 400px; }

/* ---------- Fixes after first WordPress test ---------- */
.heroes-plans > .wp-block-column { display: flex; }
.heroes-plans > .wp-block-column > .heroes-plan { flex: 1; }
.heroes-plan__name { flex-direction: column; line-height: 1.1; }
.heroes-plan__name small { margin-top: .25rem; letter-spacing: .12em; }
.heroes-hero h1 { max-width: none; }
.heroes-site-header + main, main + .wp-block-template-part, footer.wp-block-template-part { margin-top: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.heroes-iconline > span { display: block; }
.heroes-location-card .heroes-iconline { font-size: 1rem; }
.heroes-map { height: 100%; }
.heroes-logo img, .heroes-footer-logo img { height: auto; }
.wp-block-image.aligncenter { margin-inline: auto; }
@media (max-width: 1100px) { .heroes-header .heroes-header__ctas { display: none !important; } }
@media (max-width: 781px) {
	.heroes-hero .heroes-hero__mascot { display: none !important; }
	.heroes-utility__label { display: none; }
	.heroes-utility__links { font-size: .65rem; }
	.heroes-hero { min-height: 0 !important; }
	.heroes-strip > .wp-block-column { flex-basis: 100% !important; }
}

/* ---------- Real plan artwork (title graphics, rank badges, feature icons) ---------- */
.heroes-plan__title { margin: 0 auto !important; min-height: 4.5rem; display: flex !important; align-items: center; justify-content: center; }
.heroes-plan__title img { max-width: 100%; max-height: 92px; width: auto; height: auto; }
.heroes-plan::before { content: ""; position: absolute; inset: 35% 8% 12%; background: center top / contain no-repeat; opacity: .07; pointer-events: none; z-index: 0; }
.heroes-plan--sergeant::before { background-image: url("../images/plans/badge-sergeant.png"); }
.heroes-plan--captain::before { background-image: url("../images/plans/badge-captain.png"); }
.heroes-plan--general::before { background-image: url("../images/plans/badge-general.png"); }
.heroes-plans--books .heroes-plan::before { display: none; }
.heroes-plan__features li[class*="f-"]::before { -webkit-mask: none; mask: none; background: center / contain no-repeat; width: 22px; height: 22px; }
.heroes-plan__features li.f-ceramic::before { background-image: url("../images/icons/ceramic.png"); }
.heroes-plan__features li.f-drying::before { background-image: url("../images/icons/drying.png"); }
.heroes-plan__features li.f-fusion-prime::before { background-image: url("../images/icons/fusion-prime.png"); }
.heroes-plan__features li.f-graphene::before { background-image: url("../images/icons/graphene.svg"); }
.heroes-plan__features li.f-lava-wax::before { background-image: url("../images/icons/lava-wax.png"); }
.heroes-plan__features li.f-presoak::before { background-image: url("../images/icons/presoak.png"); }
.heroes-plan__features li.f-rain-repel::before { background-image: url("../images/icons/rain-repel.png"); }
.heroes-plan__features li.f-tire-shine::before { background-image: url("../images/icons/tire-shine.png"); }
.heroes-plan__features li.f-tri-foam::before { background-image: url("../images/icons/tri-foam.png"); }
.heroes-plan__features li.f-watermelon::before { background-image: url("../images/icons/watermelon.svg"); }
.heroes-plan__features li.f-wheel-bright::before { background-image: url("../images/icons/wheel-bright.png"); }
.heroes-plan__features li.f-wheel-cleaner::before { background-image: url("../images/icons/wheel-cleaner.png"); }
