/* ==========================================================================
   HOLT Truck Centers theme, Concept 03 "Lineage".
   Tokens come from theme.json as --wp--preset--* variables; this file adds the
   component styling that block markup cannot express. Class names are stable
   hooks used by the patterns, the template parts and the core plugin blocks.
   Ported from Design Files/option-c/index.html and inventory.html.
   ========================================================================== */

:root {
  --htc-orange: var(--wp--preset--color--orange);
  --htc-asphalt: var(--wp--preset--color--asphalt);
  --htc-black: var(--wp--preset--color--black);
  --htc-white: var(--wp--preset--color--white);
  --htc-gray-100: var(--wp--preset--color--gray-100);
  --htc-gray-200: var(--wp--preset--color--gray-200);
  --htc-gray-300: var(--wp--preset--color--gray-300);
  --htc-gray-500: var(--wp--preset--color--gray-500);
  --htc-gray-700: var(--wp--preset--color--gray-700);
  --htc-red: #84201E; /* form errors only */
  --htc-line: rgba(39, 37, 34, 0.14);
  --htc-line-inverse: rgba(255, 255, 255, 0.14);
  --htc-font-display: var(--wp--preset--font-family--barlow-condensed);
  --htc-font-text: var(--wp--preset--font-family--barlow);
  --htc-btn-size: 0.84rem;
  --htc-btn-track: 0.08em;
  --htc-radius: 4px;
  --htc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --htc-dur: 0.28s;
  --htc-gutter: clamp(16px, 4vw, 48px);
  --htc-utility-h: 36px;
  --htc-header-h: clamp(84px, 7vw, 104px);
  --htc-filters-w: 300px;
  --htc-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --htc-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
  --htc-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --htc-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E");
  --htc-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.8-3.8'/%3E%3C/svg%3E");
  --htc-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E");
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.is-locked, body.has-modal-open { overflow: hidden; }
img { height: auto; }
strong { font-weight: 600; }
::selection { background: var(--htc-orange); color: var(--htc-black); }
:focus-visible { outline: 3px solid var(--htc-orange); outline-offset: 3px; }
.is-style-light :focus-visible, .htc-page-head :focus-visible, .wp-block-navigation__responsive-container.is-menu-open :focus-visible { outline-color: var(--htc-asphalt); }
.screen-reader-text, .htc-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Full-width bands butt together: no block gap between them, the color change is the divider. */
main > :where(.wp-block-group, .wp-block-cover, .alignfull, .htc-carousel),
.entry-content > :where(.alignfull, .wp-block-cover, .htc-carousel, .htc-page-head) { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.htc-section { padding-block: clamp(64px, 8vw, 112px); }
.htc-section--tight { padding-block: clamp(48px, 6vw, 80px); }

/* Pages without a hero: push the content below the fixed header. */
body:not(.htc-has-hero) main { padding-top: calc(var(--htc-utility-h) + var(--htc-header-h)); }
body.admin-bar .htc-header { top: var(--wp-admin--admin-bar--height, 32px); }

/* ---------- typography styles ---------- */
.is-style-eyebrow {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--htc-font-text) !important; font-size: 0.74rem !important; font-weight: 500 !important; line-height: 1.2 !important;
  letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--htc-gray-700) !important;
}
.is-style-eyebrow::before { content: ""; flex: 0 0 28px; height: 2px; background: var(--htc-orange); }
.is-style-eyebrow.has-text-align-center { justify-content: center; }
.is-style-asphalt .is-style-eyebrow, .is-style-black .is-style-eyebrow, .wp-block-cover .is-style-eyebrow, .htc-ad .is-style-eyebrow { color: var(--htc-gray-300) !important; }
.is-style-lead { font-size: var(--wp--preset--font-size--large) !important; max-width: 62ch; }
.is-style-meta { font-family: var(--htc-font-text) !important; font-size: 0.74rem !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: var(--htc-gray-700) !important; }
.is-style-display { font-size: var(--wp--preset--font-size--xx-large) !important; line-height: 1 !important; }
.htc-measure { max-width: 62ch; }
h1, h2, h3, h4, h5, h6 { overflow-wrap: anywhere; }

/* ---------- band styles (Group block styles) ---------- */
.wp-block-group.is-style-light { background: var(--htc-gray-200); color: var(--htc-asphalt); }
.wp-block-group.is-style-light.htc-band-soft { background: var(--htc-gray-100); }
.wp-block-group.is-style-asphalt { background: var(--htc-asphalt); color: var(--htc-white); }
.wp-block-group.is-style-black { background: var(--htc-black); color: var(--htc-white); }
.is-style-asphalt :is(h1, h2, h3, h4, h5, h6), .is-style-black :is(h1, h2, h3, h4, h5, h6) { color: var(--htc-white); }
.is-style-asphalt p, .is-style-black p { color: var(--htc-gray-300); }
.is-style-asphalt p strong, .is-style-black p strong, .is-style-asphalt a, .is-style-black a { color: var(--htc-white); }
.is-style-asphalt a:hover, .is-style-black a:hover { color: var(--htc-orange); }
.wp-block-group.is-style-hairline-top { border-top: 1px solid var(--htc-gray-300); }
.wp-block-group.is-style-hairline-bottom { border-bottom: 1px solid var(--htc-gray-300); }
.wp-block-group.is-style-hairline-top.is-style-hairline-bottom { border-block: 1px solid var(--htc-gray-300); }

/* ---------- reveal ---------- */
.htc-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.7s var(--htc-ease), transform 0.7s var(--htc-ease); }
.htc-reveal.is-in { opacity: 1; transform: none; }
.htc-d1 { transition-delay: 0.06s; } .htc-d2 { transition-delay: 0.12s; } .htc-d3 { transition-delay: 0.18s; } .htc-d4 { transition-delay: 0.24s; }
.block-editor-block-list__layout .htc-reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .htc-reveal { opacity: 1; transform: none; transition: none; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- buttons: solid fills only, never outline ---------- */
.wp-block-button .wp-block-button__link, .htc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px;
  padding: 15px 24px; border: 0; border-radius: var(--htc-radius);
  font-family: var(--htc-font-text); font-size: var(--htc-btn-size); font-weight: 600; line-height: 1;
  letter-spacing: var(--htc-btn-track); text-transform: uppercase; text-decoration: none; white-space: nowrap; cursor: pointer;
  background: var(--htc-asphalt); color: var(--htc-white);
  transition: background-color var(--htc-dur) var(--htc-ease), color var(--htc-dur) var(--htc-ease);
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus-visible, .htc-btn:hover, .htc-btn:focus-visible { background: var(--htc-orange); color: var(--htc-black); }
.wp-block-button.is-style-orange .wp-block-button__link, .htc-btn--orange { background: var(--htc-orange); color: var(--htc-black); }
.wp-block-button.is-style-orange .wp-block-button__link:hover, .htc-btn--orange:hover { background: var(--htc-asphalt); color: var(--htc-white); }
.wp-block-button.is-style-white .wp-block-button__link, .htc-btn--white { background: var(--htc-white); color: var(--htc-black); }
.wp-block-button.is-style-white .wp-block-button__link:hover, .htc-btn--white:hover { background: var(--htc-orange); color: var(--htc-black); }
.htc-btn--gray { background: var(--htc-gray-200); color: var(--htc-asphalt); }
.htc-btn--gray:hover { background: var(--htc-asphalt); color: var(--htc-white); }
.htc-btn--sm { min-height: 40px; padding: 12px 16px; font-size: 0.75rem; }
.htc-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
/* Uppercase text link with arrow (the EXPLORE pattern). */
.wp-block-button.is-style-text-link .wp-block-button__link, .htc-text-link {
  min-height: 0; padding: 0 0 4px; border-radius: 0; background: none; color: var(--htc-asphalt);
  gap: 8px; border-bottom: 2px solid transparent; font-weight: 500;
  transition: border-color var(--htc-dur) var(--htc-ease), color var(--htc-dur) var(--htc-ease);
}
.wp-block-button.is-style-text-link .wp-block-button__link::after, .htc-text-link::after {
  content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--htc-arrow) center / contain no-repeat; mask: var(--htc-arrow) center / contain no-repeat;
  transition: transform var(--htc-dur) var(--htc-ease);
}
.wp-block-button.is-style-text-link .wp-block-button__link:hover, .htc-text-link:hover { background: none; color: var(--htc-asphalt); border-color: var(--htc-orange); }
.wp-block-button.is-style-text-link .wp-block-button__link:hover::after, .htc-text-link:hover::after { transform: translateX(3px); }
.is-style-asphalt .wp-block-button.is-style-text-link .wp-block-button__link, .is-style-black .wp-block-button.is-style-text-link .wp-block-button__link,
.wp-block-cover .wp-block-button.is-style-text-link .wp-block-button__link, .is-style-asphalt .htc-text-link, .is-style-black .htc-text-link { color: var(--htc-white); }
.is-style-asphalt .wp-block-button.is-style-text-link .wp-block-button__link:hover, .is-style-black .wp-block-button.is-style-text-link .wp-block-button__link:hover,
.wp-block-cover .wp-block-button.is-style-text-link .wp-block-button__link:hover { color: var(--htc-white); }
.wp-block-buttons { gap: 12px; }
@media (max-width: 639.98px) { .wp-block-buttons:not(.htc-inline) .wp-block-button { flex: 1 1 auto; } .wp-block-buttons:not(.htc-inline) .wp-block-button__link { width: 100%; } }

/* ==========================================================================
   HEADER: utility strip, header row, navigation panels, overlay menu, search
   ========================================================================== */
.htc-header { position: fixed; inset: 0 0 auto 0; z-index: 50; color: var(--htc-white); padding-left: 0 !important; padding-right: 0 !important; }
.htc-header > * { margin-block: 0 !important; }
.htc-utility { height: var(--htc-utility-h); background: rgba(0, 0, 0, 0.9); padding: 0 var(--htc-gutter); justify-content: flex-end; }
.htc-utility .wp-block-buttons { flex-wrap: nowrap; gap: 28px; }
.htc-utility .wp-block-button__link {
  min-height: 0; height: var(--htc-utility-h); padding: 0; background: transparent; color: var(--htc-white); border-radius: 0;
  font-size: 0.72rem; font-weight: 500; letter-spacing: 0.1em; gap: 8px;
}
.htc-utility .wp-block-button__link:hover { background: transparent; color: var(--htc-orange); }
.htc-utility .htc-utility__hotline .wp-block-button__link { color: var(--htc-orange); font-weight: 600; }
.htc-utility .htc-utility__hotline .wp-block-button__link:hover { color: var(--htc-white); }
.htc-utility__hotline .wp-block-button__link::before { content: ""; order: -2; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--htc-phone) center / contain no-repeat; mask: var(--htc-phone) center / contain no-repeat; }
.htc-utility__hotline .wp-block-button__link::after { content: "Hotline:"; order: -1; }

.htc-header__row { height: var(--htc-header-h); padding: 0 var(--htc-gutter); background: transparent; transition: background-color var(--htc-dur) var(--htc-ease), box-shadow var(--htc-dur) var(--htc-ease); }
.htc-header.is-scrolled .htc-header__row, .htc-header.is-open .htc-header__row, body:not(.htc-has-hero) .htc-header__row { background: var(--htc-black); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12); }
.htc-header .wp-block-site-logo, .htc-brand { flex: 0 0 auto; }
.htc-header .wp-block-site-logo img { height: clamp(44px, 3.2vw, 60px); width: auto; max-width: none; }
.htc-header__right { gap: 0; }
.htc-header .wp-block-navigation { --navigation-layout-justify: flex-end; }

/* Top-level links: condensed display type at 17px (18px from 1600px), orange rule grows in on hover/open. */
.htc-header .wp-block-navigation .wp-block-navigation-item { position: relative; }
.htc-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: inline-flex; align-items: center; height: 48px; padding: 0 9px; color: var(--htc-white); text-decoration: none;
  font-family: var(--htc-font-display); font-size: 1.0625rem; font-weight: 600; letter-spacing: 0.045em; text-transform: uppercase; white-space: nowrap; position: relative;
}
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: ""; position: absolute; left: 9px; right: 9px; bottom: 6px; height: 3px; background: var(--htc-orange);
  transform: scaleX(0); transform-origin: left; transition: transform var(--htc-dur) var(--htc-ease);
}
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.is-open > .wp-block-navigation-item__content::after,
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after,
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { gap: 2px; }
/* Caret */
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-icon { width: 18px; height: 44px; margin-left: -7px; color: var(--htc-white); display: inline-flex; align-items: center; justify-content: center; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-icon svg { width: 14px; height: 14px; stroke-width: 2.2; transition: transform var(--htc-dur) var(--htc-ease); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.is-open > .wp-block-navigation__submenu-icon svg,
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
/* Torque: preserve core disclosure semantics, render text-only navigation. */
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container.htc-mega {
 position:fixed!important; top:var(--htc-menu-top,calc(var(--htc-utility-h) + var(--htc-header-h)))!important; left:0!important; right:0!important;
 width:100%!important; min-width:0!important; max-width:none!important; height:auto!important; max-height:calc(100dvh - var(--htc-menu-top,140px)); overflow:auto!important;
 padding:0!important; margin:0!important; display:block!important; z-index:60; background:#20201e!important; color:#fff; border:0!important; border-radius:0;
 box-shadow:0 30px 60px #0006; opacity:0!important; visibility:hidden!important; pointer-events:none!important; transform:translateY(-5px); transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child.is-open > .htc-mega { opacity:1!important; visibility:visible!important; pointer-events:auto!important; transform:none; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__inner { display:grid; grid-template-columns:240px minmax(0,1fr); margin:0; padding:0; gap:0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__head { padding:32px; display:flex; flex-direction:column; align-items:flex-start; background:var(--htc-orange); color:#191918; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__eyebrow { font:600 10px/1.3 var(--htc-font-text); letter-spacing:.16em; text-transform:uppercase; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__title { margin:25px 0 40px; font:600 clamp(44px,3.5vw,54px)/1 var(--htc-font-display); letter-spacing:-.035em; text-transform:uppercase; color:#191918; overflow-wrap:normal; word-break:normal; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__all { display:inline-flex; align-items:center; gap:18px; margin-top:auto; font:600 12px/1.3 var(--htc-font-text); color:#191918; text-decoration:none; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__all::after, .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__name::after, .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__cta::after, .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__foot a::after { content:'↗'; font:400 18px/1 var(--htc-font-text); flex-shrink:0; transition:transform .2s; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__content { display:flex; align-items:flex-start; gap:42px; padding:32px 42px; min-width:0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__body { display:flex; flex:1; gap:42px; min-width:0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__group { flex:1; min-width:0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__label { margin:0 0 10px; padding:0 0 16px; border-bottom:1px solid #ffffff26; font:600 11px/1.3 var(--htc-font-text); letter-spacing:.1em; text-transform:uppercase; color:#b9b8b5; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__number { color:var(--htc-orange); margin-right:16px; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__cards { display:grid; grid-template-columns:1fr; gap:0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__card { display:block; padding:10px 0; min-height:43px; border-bottom:1px solid #ffffff12; color:white!important; text-decoration:none; background:transparent; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__name { display:flex; align-items:center; justify-content:space-between; gap:12px; font:600 25px/1.15 var(--htc-font-display); letter-spacing:0; text-transform:none; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__name::after { color:#aaa; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__card:hover, .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__card:focus-visible { color:var(--htc-orange)!important; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__card:hover .htc-mega__name::after { color:var(--htc-orange); transform:translate(2px,-2px); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__rail { flex:0 0 235px; padding:24px; background:#30302d; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__inventory-title { font:600 43px/.98 var(--htc-font-display); text-transform:uppercase; letter-spacing:-.02em; margin:0 0 28px; color:#fff; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__ctas { display:flex; flex-direction:column; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__cta { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 0; border-top:1px solid #ffffff26; color:#fff!important; font:600 13px/1.3 var(--htc-font-text); text-decoration:none; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__cta::after { color:var(--htc-orange); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__cta:hover::after { transform:translate(2px,-2px); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__foot { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px var(--htc-gutter); background:#171716; color:#b9b8b5; font:400 11px/1.3 var(--htc-font-text); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__foot > span { font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__foot a { display:flex; align-items:center; gap:20px; text-decoration:none; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega__foot a::after { color:var(--htc-orange); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-size=medium] { width:850px!important; right:var(--htc-gutter)!important; left:auto!important; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-size=medium] .htc-mega__inner { grid-template-columns:210px minmax(0,1fr); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-size=medium] .htc-mega__cards { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; }
/* Short menus retain the orange title rail, with no empty inventory space.
   Match the base panel specificity so its full-width rule cannot override sizing. */
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container.htc-mega[data-compact=true] { width:min(680px,calc(100vw - 32px))!important; left:var(--htc-panel-left,16px)!important; right:auto!important; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__inner { grid-template-columns:210px minmax(0,1fr); }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__content { flex-direction:column; justify-content:center; padding:28px 32px; gap:20px; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__body, .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__rail { width:100%; flex:0 0 auto; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__rail { padding:0; background:transparent; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__cta { font:600 25px/1.15 var(--htc-font-display); text-transform:none; letter-spacing:0; padding:15px 0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__cta:first-child { border-top:0; }
.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega[data-compact=true] .htc-mega__foot { padding:15px 32px; }
@media(prefers-reduced-motion:reduce){.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega,.htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-mega *::after{transition:none!important;transform:none!important;}}


/* Menu (hamburger) button and the close button. */
.htc-header .wp-block-navigation__responsive-container-open, .htc-header .wp-block-navigation__responsive-container-close {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; height: 44px; padding: 0 8px; border: 0; border-radius: var(--htc-radius);
  background: transparent; color: inherit; cursor: pointer; font-family: var(--htc-font-text); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;
}
.htc-header .wp-block-navigation__responsive-container-open:hover { background: rgba(255, 255, 255, 0.12); }
.htc-header .wp-block-navigation__responsive-container-open::before { content: "Menu"; }
.htc-header .wp-block-navigation__responsive-container-open svg, .htc-header .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }

/* Search: icon button that expands a dark field (core "button only" behaviour). */
.htc-header .wp-block-search { margin: 0; }
.htc-header .wp-block-search__button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 8px; margin: 0; border: 0; border-radius: var(--htc-radius);
  background: transparent; color: var(--htc-white); cursor: pointer;
}
.htc-header .wp-block-search__button:hover { background: rgba(255, 255, 255, 0.12); }
.htc-header .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.htc-header .wp-block-search__inside-wrapper { border: 0; }
.htc-header .wp-block-search__input {
  height: 44px; padding: 0 8px; border: 0; border-bottom: 1px solid var(--htc-gray-500); border-radius: 0; background: var(--htc-black); color: var(--htc-white);
  font-family: var(--htc-font-text); font-size: 1rem; min-width: 220px;
}
.htc-header .wp-block-search__input:focus { outline: 0; border-bottom-color: var(--htc-orange); }
.htc-header .wp-block-search__input::placeholder { color: var(--htc-gray-500); }
.htc-header .wp-block-search.wp-block-search__searchfield-hidden .wp-block-search__input { display: none; }

/* Desktop: the navigation is inline from 1280px; below that the core overlay takes over. */
@media (min-width: 1280px) {
  .htc-header .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) { display: block; position: relative; width: 100%; z-index: auto; background-color: inherit; }
  .htc-header .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
  .htc-header .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-content { display: flex; flex-wrap: nowrap; }
  .htc-header .wp-block-navigation__responsive-container-open.always-shown { display: none; }
  .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .htc-overlay-top { display: none; }
}
/* Top-level nav type: 17px from 1280px (base rule above), 18px from 1600px. */
@media (min-width: 1600px) {
  .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 1.125rem; padding: 0 11px; }
  .htc-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { left: 11px; right: 11px; }
}
@media (min-width: 1600px) {
  .htc-header__right { gap: 8px; }
}
@media (max-width: 1279.98px) {
  .htc-header .wp-block-site-logo img { content: url("../img/logo-holt-white.png"); height: clamp(44px, 6vw, 56px); }
  .htc-utility { justify-content: center; padding-inline: 12px; }
  .htc-utility .wp-block-buttons { gap: 20px; }
  .htc-utility .htc-utility__link { display: none; }
}

/* Overlay menu (below 1280px): full-screen white panel, large condensed links, accordion submenus. */
.htc-header .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--htc-white) !important; color: var(--htc-asphalt) !important; padding: 0 var(--htc-gutter) 64px !important; overflow-y: auto; -webkit-overflow-scrolling: touch;
  transform: none !important; left: 0 !important; right: 0 !important; width: 100vw !important; max-width: 100vw !important; box-sizing: border-box !important;
  animation: htcFadeIn 0.28s var(--htc-ease);
}
@keyframes htcFadeIn { from { opacity: 0; } to { opacity: 1; } }
.htc-header .is-menu-open .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; width: 100%; }
.htc-header .is-menu-open .wp-block-navigation__responsive-container-content, .htc-header .is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; width: 100%; flex-wrap: wrap; }
.htc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; justify-content: space-between; text-align: left; }
.htc-header .is-menu-open .wp-block-navigation-item__content { text-align: left; }
.htc-header .is-menu-open .wp-block-navigation__responsive-container-close { position: absolute; top: 14px; right: var(--htc-gutter); color: var(--htc-asphalt); }
.htc-header .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: var(--htc-gray-100); }
.htc-header .is-menu-open .wp-block-navigation__responsive-container-content { display: block; padding-top: 0; }
.htc-overlay-top { order: -1; }
.htc-overlay-top__head { display: flex; align-items: center; justify-content: space-between; height: 72px; border-bottom: 1px solid var(--htc-gray-300); padding-right: 56px; }
.htc-overlay-top__head img { height: 34px; width: auto; }
.htc-overlay-top__utility { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 24px 0 12px; }
.htc-overlay-top__utility .htc-btn { padding-inline: 12px; width: 100%; box-sizing: border-box; min-width: 0; }
.htc-overlay-top__hotline { padding: 12px 0 24px; border-bottom: 1px solid var(--htc-gray-300); }
.htc-overlay-top__hotline a { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--htc-asphalt); font-family: var(--htc-font-display); font-weight: 500; font-size: 28px; line-height: 1; text-transform: uppercase; }
.htc-overlay-top__hotline a span { font-family: var(--htc-font-text); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.14em; color: var(--htc-gray-700); }
.htc-overlay-top__hotline a::before { content: ""; width: 22px; height: 22px; background: var(--htc-orange); -webkit-mask: var(--htc-phone) center / contain no-repeat; mask: var(--htc-phone) center / contain no-repeat; }
.htc-overlay-top__search form { display: flex; gap: 12px; padding: 16px 0; }
.htc-overlay-top__search input { flex: 1; min-width: 0; height: 48px; padding: 0 4px; border: 0; border-bottom: 1px solid var(--htc-gray-300); border-radius: 0; background: transparent; font-family: var(--htc-font-text); font-size: 1rem; color: var(--htc-asphalt); }
.htc-overlay-top__search input:focus { outline: 0; border-bottom-color: var(--htc-asphalt); }
.htc-header .is-menu-open .wp-block-navigation__container { display: block; }
.htc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { display: block; border-bottom: 1px solid var(--htc-gray-300); }
.htc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: block; flex: 1; padding: 16px 0; text-decoration: none; color: var(--htc-asphalt); font-family: var(--htc-font-display); font-weight: 500; font-size: 30px; line-height: 1; text-transform: uppercase; letter-spacing: 0.01em;
}
.htc-header .is-menu-open .wp-block-navigation-item.has-child { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: space-between; }
.htc-header .is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content { flex: 1; }
.htc-header .is-menu-open .wp-block-navigation__submenu-icon { display: inline-flex !important; width: 52px; height: 52px; margin: 0; align-items: center; justify-content: center; color: var(--htc-asphalt); border-radius: var(--htc-radius); }
.htc-header .is-menu-open .wp-block-navigation__submenu-icon svg { width: 20px; height: 20px; stroke-width: 2; transition: transform var(--htc-dur) var(--htc-ease); }
/* Chevron rotates only for the accordion state theme.js owns; core's own aria-expanded flips true for every submenu once the overlay opens. */
.htc-header .is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"] svg, .htc-header .is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon > svg { transform: none; }
.htc-header .is-menu-open .wp-block-navigation-item.htc-acc-open > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
.htc-header .is-menu-open .wp-block-navigation__submenu-container { display: none !important; flex-basis: 100%; width: 100%; padding: 0 0 12px !important; margin: 0; background: transparent !important; border: 0 !important; box-shadow: none; }
.htc-header .is-menu-open .wp-block-navigation-item.htc-acc-open > .wp-block-navigation__submenu-container { display: block !important; }
.htc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { display: block; }
.htc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block; padding: 12px 0 12px 16px !important; text-decoration: none; color: var(--htc-gray-700); font-family: var(--htc-font-text); font-size: 0.875rem; font-weight: 500; line-height: 1.3;
  letter-spacing: 0.08em; text-transform: uppercase; box-shadow: inset 2px 0 0 var(--htc-gray-300);
}
.htc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--htc-black); box-shadow: inset 2px 0 0 var(--htc-orange); }
/* Mega markup inside the overlay: no title or "View all"; the photo tiles become small 2-up thumbnails above the links. */
.htc-header .is-menu-open .htc-mega { position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; height: auto !important; min-width: 0 !important; width: 100% !important; overflow: visible !important; }
.htc-header .is-menu-open .htc-mega__inner { display: flex; flex-direction: column; padding: 0 0 4px; max-width: none; }
.htc-header .is-menu-open .htc-mega__head, .htc-header .is-menu-open .htc-mega__tile, .htc-header .is-menu-open .htc-mega__card img { display: none; }
.htc-header .is-menu-open .htc-mega__label { margin: 12px 0 2px 16px; font-family: var(--htc-font-text); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-500); }
.htc-header .is-menu-open .htc-mega__cards { display: block; }
.htc-header .is-menu-open .htc-mega__card {
  display: block; padding: 12px 0 12px 16px; text-decoration: none; color: var(--htc-gray-700); font-family: var(--htc-font-text); font-size: 0.875rem; font-weight: 500; line-height: 1.3;
  letter-spacing: 0.08em; text-transform: uppercase; box-shadow: inset 2px 0 0 var(--htc-gray-300);
}
.htc-header .is-menu-open .htc-mega__card:hover { color: var(--htc-black); box-shadow: inset 2px 0 0 var(--htc-orange); }
.htc-header .is-menu-open .htc-mega__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 0 12px 16px; }
.htc-header .is-menu-open .htc-mega__cta { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 12px; border-radius: var(--htc-radius); background: var(--htc-orange); color: var(--htc-black); text-decoration: none; text-align: center; font-family: var(--htc-font-text); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }

/* ==========================================================================
   HERO CAROUSEL (htc/carousel wrapping Cover slides)
   ========================================================================== */
.htc-carousel { position: relative; background: var(--htc-black); color: var(--htc-white); overflow: hidden; }
.htc-carousel__track { display: grid; min-height: var(--htc-carousel-h, 88vh); min-height: var(--htc-carousel-h-svh, 88svh); }
.htc-carousel__track > .htc-carousel__slide, .htc-carousel__track > .wp-block-cover { grid-area: 1 / 1; margin: 0 !important; }
.htc-carousel.is-ready .htc-carousel__track > .htc-carousel__slide { opacity: 0; visibility: hidden; transition: opacity 1s var(--htc-ease), visibility 0s linear 1s; }
.htc-carousel.is-ready .htc-carousel__track > .htc-carousel__slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; z-index: 1; }
.htc-carousel:not(.is-ready) .htc-carousel__track > .htc-carousel__slide:not(:first-child) { display: none; }
.htc-carousel__slide.wp-block-cover { min-height: var(--htc-carousel-h, 88vh); }
.htc-carousel__slide .wp-block-cover__image-background { filter: saturate(0.78) contrast(1.04); }
.htc-carousel.is-ready .htc-carousel__track > .htc-carousel__slide.is-active .wp-block-cover__image-background { animation: htcHeroZoom 11s var(--htc-ease) forwards; }
@keyframes htcHeroZoom { from { transform: scale(1); } to { transform: scale(1.06); } }
.htc-carousel__slide .wp-block-cover__inner-container {
  width: 100%; max-width: var(--wp--style--global--wide-size, 1240px); margin-inline: auto;
  padding: calc(var(--htc-utility-h) + var(--htc-header-h) + 40px) 0 128px;
}
.htc-carousel__slide .wp-block-cover__inner-container > * { max-width: 760px; margin-left: 0 !important; margin-right: auto !important; }
.htc-carousel__slide :is(h1, h2) { font-size: clamp(2.5rem, 5vw, 4rem); line-height: 1; max-width: 20ch; margin: 0 0 16px; color: var(--htc-white); text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.htc-carousel__slide .is-style-eyebrow { margin-bottom: 18px; color: var(--htc-orange) !important; font-size: 1.05rem !important; letter-spacing: 0.14em; }
.htc-carousel__slide .is-style-eyebrow::before { display: none !important; }
.htc-hero__sub { font-family: var(--htc-font-display) !important; font-weight: 500 !important; font-size: clamp(1.25rem, 2vw, 1.625rem) !important; line-height: 1.1 !important; text-transform: uppercase; letter-spacing: 0.02em; margin: 0 0 12px; color: var(--htc-white); }
.htc-carousel__slide p:not(.is-style-eyebrow):not(.htc-hero__sub) { font-size: 1.0625rem; max-width: 54ch; color: rgba(255, 255, 255, 0.92); margin: 0 0 16px; }
.htc-carousel__slide .wp-block-buttons { margin-top: 12px; }
.htc-carousel__dots {
  position: absolute; z-index: 3; left: 0; right: 0; bottom: 44px; margin: 0 auto; padding: 0 var(--htc-gutter); max-width: calc(var(--wp--style--global--wide-size, 1240px) + 2 * var(--htc-gutter));
  list-style: none; display: flex; gap: 8px;
}
.htc-carousel__dots button { width: 40px; height: 22px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.htc-carousel__dots button::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 3px; background: rgba(255, 255, 255, 0.4); transition: background var(--htc-dur); }
.htc-carousel__dots button[aria-current="true"]::before, .htc-carousel__dots button:hover::before { background: var(--htc-white); }
.htc-carousel__arrows { position: absolute; z-index: 3; right: var(--htc-gutter); bottom: 36px; display: flex; gap: 8px; }
.htc-carousel__arrow {
  width: 48px; height: 48px; border: 0; border-radius: var(--htc-radius); background: rgba(255, 255, 255, 0.14); color: var(--htc-white); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; transition: background var(--htc-dur), color var(--htc-dur);
}
.htc-carousel__arrow:hover { background: var(--htc-white); color: var(--htc-black); }
.htc-carousel__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.htc-carousel__arrow::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--htc-arrow) center / contain no-repeat; mask: var(--htc-arrow) center / contain no-repeat; }
.htc-carousel__arrow--prev::before { transform: scaleX(-1); }
.htc-carousel__arrow:has(svg)::before { content: none; }
/* Single Cover heroes on inner pages (Canvas template) reuse the same anatomy. */
.wp-block-cover.htc-hero:not(.htc-carousel__slide) .wp-block-cover__inner-container { padding-top: calc(var(--htc-utility-h) + var(--htc-header-h) + 40px); }
.wp-block-cover.htc-hero .wp-block-cover__image-background { filter: saturate(0.78) contrast(1.04); }

/* ==========================================================================
   CAMPAIGN BAND, ACTION STRIP, HOTLINE BAND
   ========================================================================== */
.htc-campaign { align-items: end; gap: 32px; }
.htc-campaign h2 { font-size: clamp(3.5rem, 8vw, 7rem) !important; letter-spacing: -0.005em; margin-bottom: 12px; }
.htc-campaign p:not(.is-style-eyebrow) { font-size: 1.125rem; color: var(--htc-gray-700); }
.htc-campaign .is-style-eyebrow { margin-bottom: 16px; }
/* Concept F: the campaign band is a full-bleed photo Cover (Banner-Aged-Inventory.jpg) with the campaign-veil gradient and white type. */
.wp-block-cover.htc-campaign-band { display: block; min-height: 0; padding: clamp(64px, 8vw, 112px) 0; margin: 0; background: var(--htc-black); color: var(--htc-white); overflow: hidden; }
.htc-campaign-band .wp-block-cover__image-background { filter: saturate(0.95); }
.htc-campaign-band .wp-block-cover__inner-container { position: relative; z-index: 1; width: 100%; }
.htc-campaign-band .htc-campaign h2 { color: var(--htc-white); text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.htc-campaign-band .htc-campaign p:not(.is-style-eyebrow) { color: rgba(255, 255, 255, 0.9); }
.htc-campaign-band .htc-campaign .is-style-eyebrow { color: var(--htc-gray-300) !important; }

.wp-block-group.is-style-action-strip { background: var(--htc-asphalt); color: var(--htc-white); padding: 0 !important; }
.is-style-action-strip .wp-block-buttons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; width: 100%; max-width: none; }
.is-style-action-strip .wp-block-button { margin: 0; }
.is-style-action-strip .wp-block-button + .wp-block-button { border-left: 1px solid var(--htc-line-inverse); }
.is-style-action-strip .wp-block-button__link {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 34px 32px; border-radius: 0; background: transparent; color: var(--htc-white);
  font-family: var(--htc-font-display); font-weight: 500; font-size: clamp(1.5rem, 2.2vw, 1.875rem); letter-spacing: 0.01em; line-height: 1; white-space: normal; text-align: left; transition: background var(--htc-dur);
}
.is-style-action-strip .wp-block-button__link::after { content: ""; flex: 0 0 auto; width: 26px; height: 26px; background: var(--htc-orange); -webkit-mask: var(--htc-arrow) center / contain no-repeat; mask: var(--htc-arrow) center / contain no-repeat; transition: transform var(--htc-dur) var(--htc-ease); }
.is-style-action-strip .wp-block-button__link:hover { background: var(--htc-black); color: var(--htc-white); }
.is-style-action-strip .wp-block-button__link:hover::after { transform: translateX(6px); }

/* Concept F quick links: three full-bleed 3:2 photo Cover tiles with a linked heading and orange arrow. */
.htc-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px !important; padding: 0 !important; background: var(--htc-asphalt); }
.htc-quick > .wp-block-cover.htc-ptile { position: relative; display: block; aspect-ratio: 3 / 2; min-height: 0; overflow: hidden; background: var(--htc-asphalt); color: var(--htc-white); padding: 0; margin: 0; }
.htc-ptile .wp-block-cover__image-background { filter: saturate(0.85); transition: transform 0.8s var(--htc-ease); }
.htc-ptile:hover .wp-block-cover__image-background { transform: scale(1.05); }
.htc-ptile .wp-block-cover__inner-container { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; width: auto; padding: 0 clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px); }
.htc-ptile h3 { margin: 0; font-size: clamp(1.625rem, 2.4vw, 2.125rem); font-weight: 500; letter-spacing: 0.005em; line-height: 1; color: var(--htc-white); }
.htc-ptile h3 a { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--htc-white); text-decoration: none; }
.htc-ptile h3 a:hover { color: var(--htc-white); }
/* The whole tile is clickable: the heading link stretches over the tile. */
.htc-ptile h3 a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.htc-ptile h3 a::after { content: ""; flex: 0 0 auto; width: 26px; height: 26px; background: var(--htc-orange); -webkit-mask: var(--htc-arrow) center / contain no-repeat; mask: var(--htc-arrow) center / contain no-repeat; transition: transform var(--htc-dur) var(--htc-ease); }
.htc-ptile:hover h3 a::after { transform: translateX(6px); }

/* Concept F hotline band: photo column edge to edge on the left, copy on the right, stacked on phones. */
.wp-block-group.htc-hotline-band { padding: 0 !important; text-align: left; }
.htc-hotline-band .htc-hotline-band__cols { gap: 0 !important; margin: 0; align-items: stretch !important; }
.htc-hotline-band .wp-block-column { min-width: 0; }
.htc-hotline-band__media { position: relative; }
.htc-hotline-band__media .wp-block-image { margin: 0; height: 100%; }
.htc-hotline-band__media .wp-block-image img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(0.85); }
.htc-hotline-band__body { display: flex; align-items: center; }
.htc-hotline-band__copy { width: 100%; max-width: calc(var(--wp--style--global--wide-size, 1240px) / 2); padding: clamp(48px, 6vw, 96px) var(--htc-gutter) clamp(48px, 6vw, 96px) clamp(32px, 5vw, 80px); }
.htc-hotline-band h2 { font-size: clamp(1.5rem, 2.6vw, 2rem) !important; margin-bottom: 8px; }
.htc-hotline-band .htc-hotline-band__number { justify-content: flex-start; margin: 0 0 24px; }
.htc-hotline-band .htc-hotline-band__number .wp-block-button__link {
  min-height: 0; padding: 0; border-radius: 0; background: none; color: var(--htc-asphalt);
  font-family: var(--htc-font-display); font-weight: 600; font-size: clamp(3rem, 6vw, 5rem); letter-spacing: -0.005em; line-height: 1; text-transform: none;
}
.htc-hotline-band .htc-hotline-band__number .wp-block-button__link:hover { background: none; color: var(--htc-orange); }
.htc-hotline-band p { max-width: 56ch; margin: 0; color: var(--htc-gray-700); }
.htc-hotline-band .wp-block-buttons:not(.htc-hotline-band__number) { margin-top: 24px; }

/* ==========================================================================
   SPLIT SECTIONS, VIDEO FACADE
   ========================================================================== */
.htc-split { gap: clamp(32px, 6vw, 96px); }
.htc-split .wp-block-column { min-width: 0; }
.htc-split .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.htc-split .wp-block-image { margin: 0; }
.htc-split h2 { margin-bottom: 16px; }
.htc-split .wp-block-buttons { margin-top: 24px; }
.htc-video-figure { margin: 0; }
.htc-video { position: relative; aspect-ratio: 16 / 9; background: var(--htc-black); overflow: hidden; }
.htc-video img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.8); }
.htc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.htc-video__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.05)); cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--htc-white); }
.htc-video__play span { display: inline-flex; align-items: center; gap: 14px; font-family: var(--htc-font-text); font-size: var(--htc-btn-size); font-weight: 500; letter-spacing: var(--htc-btn-track); text-transform: uppercase; }
.htc-video__play i { width: 64px; height: 64px; border-radius: 50%; background: var(--htc-white); display: inline-flex; align-items: center; justify-content: center; transition: background var(--htc-dur); }
.htc-video__play i::after { content: ""; width: 22px; height: 22px; margin-left: 3px; background: var(--htc-black); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4l13 8-13 8z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4l13 8-13 8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.htc-video__play:hover i { background: var(--htc-orange); }
.htc-video-figure figcaption, .wp-block-embed.is-style-facade figcaption { margin-top: 12px; text-align: left; font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1.4; letter-spacing: 0.12em; text-transform: uppercase; color: var(--htc-gray-700); }

/* ==========================================================================
   PRODUCT TILES (Cover blocks in a grid Group)
   ========================================================================== */
.htc-section__head { max-width: 70ch; margin-bottom: 48px; }
.htc-section__head h2 { margin-bottom: 16px; }
.htc-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 8px !important; }
/* Product cards: photo on top, copy on a white panel (replaces the text-over-photo tiles) */
.htc-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 16px !important; }
.htc-card { display: flex; flex-direction: column; background: var(--htc-white); border: 1px solid var(--htc-gray-200); border-top: 3px solid var(--htc-asphalt); overflow: hidden; transition: border-color var(--htc-dur) var(--htc-ease), box-shadow var(--htc-dur) var(--htc-ease); }
.htc-card:hover { border-top-color: var(--htc-orange); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08); }
.htc-card__media { margin: 0 !important; aspect-ratio: 3 / 2; overflow: hidden; background: var(--htc-gray-200); }
.htc-card__media a { display: block; height: 100%; }
.htc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s var(--htc-ease); }
.htc-card:hover .htc-card__media img { transform: scale(1.04); }
.htc-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px 20px 22px; }
.htc-card__body h3 { font-size: clamp(1.25rem, 1.5vw, 1.5rem); line-height: 1.05; margin: 0 0 10px; color: var(--htc-black); }
.htc-card__body p { font-size: 0.9375rem; line-height: 1.55; color: var(--htc-gray-700); margin: 0 0 16px; flex: 1 1 auto; }
.htc-card__body .wp-block-buttons { margin: 0; }
.htc-card:hover .wp-block-button.is-style-text-link .wp-block-button__link { border-color: var(--htc-orange); }
.htc-card:hover .wp-block-button.is-style-text-link .wp-block-button__link::after { transform: translateX(3px); }
.htc-tiles > .wp-block-cover.htc-tile { position: relative; display: block; aspect-ratio: 3 / 4; min-height: 0; overflow: hidden; background: var(--htc-asphalt); color: var(--htc-white); padding: 24px; margin: 0; }
.htc-tile .wp-block-cover__image-background { filter: saturate(0.85); transition: transform 0.8s var(--htc-ease); }
.htc-tile:hover .wp-block-cover__image-background { transform: scale(1.05); }
.htc-tile .wp-block-cover__inner-container { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px; width: auto; }
.htc-tile h3 { font-size: clamp(1.5rem, 2vw, 1.75rem); margin: 0 0 8px; color: var(--htc-white); }
.htc-tile p { font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, 0.88); margin: 0 0 16px; }
.htc-tile .wp-block-buttons { margin: 0; }
.htc-tile .wp-block-button.is-style-text-link .wp-block-button__link { color: var(--htc-white); }
.htc-tile:hover .wp-block-button.is-style-text-link .wp-block-button__link { border-color: var(--htc-orange); }
.htc-tile:hover .wp-block-button.is-style-text-link .wp-block-button__link::after { transform: translateX(3px); }
/* The whole tile is clickable: the text link stretches over the tile. */
.htc-tile .wp-block-button.is-style-text-link .wp-block-button__link::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.htc-tile { position: relative; }

/* ==========================================================================
   CONTACT SPLIT, FORMS (WPForms modern markup), AD CARD
   ========================================================================== */
.htc-contact { gap: clamp(32px, 6vw, 96px); align-items: start; }
.htc-contact .wp-block-column { min-width: 0; }
.htc-contact h2 { margin-bottom: 16px; }
.htc-form-slot { margin-top: 32px; }
.htc-form-slot:empty { display: none; }
.htc-ad.wp-block-cover { position: relative; display: block; min-height: 460px; background: var(--htc-asphalt); color: var(--htc-white); overflow: hidden; padding: 32px; margin: 0; }
.htc-ad .wp-block-cover__image-background { filter: saturate(0.7); opacity: 0.75; transition: transform 0.8s var(--htc-ease); }
.htc-ad:hover .wp-block-cover__image-background { transform: scale(1.04); }
.htc-ad .wp-block-cover__inner-container { position: absolute; left: 0; right: 0; bottom: 0; padding: 32px; width: auto; }
.htc-ad h3 { font-size: clamp(2rem, 3vw, 2.75rem); max-width: 12ch; color: var(--htc-white); margin: 0 0 16px; }
.htc-ad .is-style-eyebrow { margin-bottom: 16px; }
.htc-ad .wp-block-button.is-style-text-link .wp-block-button__link { color: var(--htc-white); }
.htc-ad .wp-block-button.is-style-text-link .wp-block-button__link::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.htc-ad:hover .wp-block-button.is-style-text-link .wp-block-button__link { border-color: var(--htc-orange); }

/* WPForms: plain fields with hairline underlines (the Lineage form style). */
.wpforms-container.wpforms-render-modern, .wpforms-container {
  --wpforms-field-text-color: var(--htc-asphalt) !important;
  --wpforms-field-background-color: transparent !important;
  --wpforms-field-border-color: var(--htc-gray-300) !important;
  --wpforms-field-border-color-spare: var(--htc-gray-300) !important;
  --wpforms-field-border-radius: 0 !important;
  --wpforms-field-border-size: 1px !important;
  --wpforms-field-menu-color: #ffffff !important;
  --wpforms-field-size-input-height: 46px !important;
  --wpforms-field-size-line-height: 1.4 !important;
  --wpforms-field-size-font-size: 17px !important;
  --wpforms-field-size-padding-h: 0px !important;
  --wpforms-field-size-input-spacing: 24px !important;
  --wpforms-field-size-sublabel-spacing: 6px !important;
  --wpforms-field-size-checkbox-size: 20px !important;
  --wpforms-label-color: var(--htc-gray-700) !important;
  --wpforms-label-sublabel-color: var(--htc-gray-500) !important;
  --wpforms-label-error-color: var(--htc-red) !important;
  --wpforms-label-size-font-size: 12px !important;
  --wpforms-label-size-sublabel-font-size: 12px !important;
  --wpforms-button-background-color: var(--htc-asphalt) !important;
  --wpforms-button-border-color: var(--htc-asphalt) !important;
  --wpforms-button-text-color: #ffffff !important;
  --wpforms-button-border-radius: 4px !important;
  --wpforms-button-size-height: 48px !important;
  --wpforms-button-size-padding-h: 24px !important;
  --wpforms-button-size-font-size: 13.5px !important;
  --wpforms-page-break-color: var(--htc-orange) !important;
}
.wpforms-container .wpforms-field-label { font-family: var(--htc-font-text) !important; font-weight: 500 !important; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700) !important; }
.wpforms-container input:not([type="checkbox"]):not([type="radio"]), .wpforms-container select, .wpforms-container textarea {
  font-family: var(--htc-font-text) !important; border-width: 0 0 1px !important; border-style: solid !important; border-color: var(--htc-gray-300) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important;
}
.wpforms-container input:focus, .wpforms-container select:focus, .wpforms-container textarea:focus { outline: none !important; border-bottom: 2px solid var(--htc-asphalt) !important; box-shadow: none !important; }
.wpforms-container input[type="checkbox"], .wpforms-container input[type="radio"] { accent-color: var(--htc-orange); }
.wpforms-container ::placeholder { color: var(--htc-gray-500) !important; opacity: 1; }
.wpforms-container button[type="submit"], .wpforms-container .wpforms-submit {
  font-family: var(--htc-font-text) !important; font-weight: 600 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; border: 0 !important; transition: background-color var(--htc-dur), color var(--htc-dur) !important;
}
.wpforms-container button[type="submit"]:hover, .wpforms-container .wpforms-submit:hover { --wpforms-button-background-color: var(--htc-orange) !important; --wpforms-button-border-color: var(--htc-orange) !important; --wpforms-button-text-color: #000000 !important; background: var(--htc-orange) !important; color: var(--htc-black) !important; }
.wpforms-container .wpforms-field-description, .wpforms-container .wpforms-field-limit-text { color: var(--htc-gray-500) !important; }
.wpforms-container .wpforms-confirmation-container-full { background: var(--htc-white) !important; border: 0 !important; border-top: 2px solid var(--htc-orange) !important; border-radius: 0 !important; color: var(--htc-asphalt) !important; padding: 32px !important; }
.wpforms-container label.wpforms-error, .wpforms-container em.wpforms-error { color: var(--htc-red) !important; font-size: 14px !important; }

/* ==========================================================================
   LOCATIONS (htc/location-list): tabs, head, card grid
   ========================================================================== */
/* Concept F locations: 220px full-bleed photo strip Cover carrying the white heading, tabs and cards below on white. */
.htc-locations { background: var(--htc-white); }
.wp-block-cover.htc-loc-strip { display: flex; align-items: flex-end; height: 220px; min-height: 220px; padding: 0; margin: 0; background: var(--htc-black); color: var(--htc-white); overflow: hidden; }
.htc-loc-strip .wp-block-cover__image-background { object-position: center 60%; filter: saturate(0.8); }
.htc-loc-strip .wp-block-cover__inner-container { position: relative; z-index: 1; width: 100%; padding-bottom: 28px; }
.htc-loc-strip h2 { margin: 0; color: var(--htc-white); text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.htc-loc-body { padding-block: clamp(40px, 5vw, 64px) clamp(64px, 8vw, 112px); }
.htc-loc-tabs { display: flex; flex-wrap: wrap; gap: 0 32px; border-bottom: 1px solid var(--htc-gray-300); margin: 0 0 32px; padding: 0; list-style: none; }
.htc-loc-tabs button, .htc-loc-tab {
  background: transparent; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 16px 0; color: var(--htc-gray-700); cursor: pointer;
  font-family: var(--htc-font-text); font-size: var(--htc-btn-size); font-weight: 500; line-height: 1; letter-spacing: var(--htc-btn-track); text-transform: uppercase; white-space: nowrap;
  transition: color var(--htc-dur), border-color var(--htc-dur);
}
.htc-loc-tabs button:hover, .htc-loc-tab:hover { color: var(--htc-black); }
.htc-loc-tabs button[aria-selected="true"], .htc-loc-tab[aria-selected="true"], .htc-loc-tab.is-active { color: var(--htc-black); border-bottom-color: var(--htc-orange); }
.htc-loc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.htc-loc-head h3, .htc-loc-title { margin: 0; }
.htc-loc-head span, .htc-loc-count { font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); }
.htc-loc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--htc-gray-300); border: 1px solid var(--htc-gray-300); margin: 0; padding: 0; list-style: none; }
.htc-loc-grid[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.htc-loc-grid[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.htc-loc-card { background: var(--htc-white); padding: 24px 24px 32px; min-width: 0; }
.htc-loc-card[hidden] { display: none; }
.htc-loc-card h4, .htc-loc-card__title { margin: 0 0 8px; font-size: 1.25rem; line-height: 1.15; }
.htc-loc-card h4 a, .htc-loc-card__title a { text-decoration: none; color: var(--htc-asphalt); }
.htc-loc-card h4 a:hover, .htc-loc-card__title a:hover { color: var(--htc-black); text-decoration: underline; text-decoration-color: var(--htc-orange); text-underline-offset: 4px; }
.htc-loc-card p, .htc-loc-card__meta { font-size: 0.9375rem; line-height: 1.5; color: var(--htc-gray-700); margin: 0 0 16px; }
.htc-loc-card .htc-text-link, .htc-loc-card__link { display: inline-flex; }
.htc-loc-empty { padding: 32px 0; color: var(--htc-gray-700); }

/* ==========================================================================
   PAGE HEAD (breadcrumb, title, count) and inner page basics
   ========================================================================== */
.htc-page-head { padding-block: clamp(32px, 4vw, 56px) clamp(28px, 3.5vw, 44px); }
/* Pages without a hero: the gray page-head band runs up under the fixed header (no white gap). */
body:not(.htc-has-hero) main > .entry-content > .htc-page-head:first-child { margin-top: calc(-1 * (var(--htc-utility-h) + var(--htc-header-h))) !important; padding-top: calc(var(--htc-utility-h) + var(--htc-header-h) + clamp(32px, 4vw, 56px)); }
.htc-crumbs, .htc-crumbs p { margin: 0 0 24px; font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); }
.htc-crumbs a { text-decoration: none; color: var(--htc-asphalt); padding-bottom: 2px; border-bottom: 2px solid transparent; }
.htc-crumbs a:hover { border-color: var(--htc-orange); color: var(--htc-asphalt); }
.htc-page-head__row { align-items: flex-end; gap: 24px; }
.htc-page-head h1, .htc-page-head .wp-block-post-title { margin: 0; }
.htc-page-head__count { font-family: var(--htc-font-text); font-size: 0.74rem !important; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); padding-bottom: 6px; margin: 0; }
.htc-page-head__count strong { display: block; font-family: var(--htc-font-display); font-weight: 500; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1; color: var(--htc-asphalt); letter-spacing: 0.005em; margin-bottom: 6px; }
.htc-page-head .wp-block-post-terms, .htc-page-head .wp-block-post-date { display: inline-block; }
.htc-entry :is(h2, h3, h4) { margin-top: 1.5em; }
.htc-entry > * + * { margin-top: 1rem; }
.htc-entry figure { margin-block: 1.5rem; }

/* Archive / search cards */
.htc-card-grid { gap: 32px 24px; }
.htc-card { display: flex; flex-direction: column; gap: 12px; padding-bottom: 24px; border-bottom: 1px solid var(--htc-gray-300); }
.htc-card .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.htc-card .wp-block-post-title { font-size: clamp(1.4rem, 2vw, 1.65rem); margin: 0; }
.htc-card .wp-block-post-title a { text-decoration: none; }
.htc-card .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--htc-orange); text-underline-offset: 4px; }
.htc-card .wp-block-post-excerpt__excerpt { font-size: 0.9375rem; color: var(--htc-gray-700); }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { text-decoration: none; padding: 10px 12px; border-radius: var(--htc-radius); color: var(--htc-asphalt); }
.wp-block-query-pagination a:hover { background: var(--htc-gray-200); }
.wp-block-query-pagination .page-numbers.current { background: var(--htc-asphalt); color: var(--htc-white); }

/* ==========================================================================
   INVENTORY (plugin markup from htc/inventory-filters and htc/inventory-listing)
   ========================================================================== */
.htc-inv { display: grid; grid-template-columns: var(--htc-filters-w) minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); align-items: start; }
/* Inventory page: the listing area is a light band with gutters; filters and cards are enclosed panels. */
.htc-inventory-page .entry-content > .htc-inv { width: 100%; max-width: none; margin: 0; padding: 40px clamp(24px, 3.5vw, 56px) 72px; background: var(--htc-gray-100); box-sizing: border-box; }
.htc-inventory-page .htc-inv-panel { background: var(--htc-white); border: 1px solid var(--htc-gray-200); padding: 22px 22px 8px; }
.htc-inventory-page .htc-inv-toolbar { background: var(--htc-white); border: 1px solid var(--htc-gray-200); border-bottom: 1px solid var(--htc-gray-200); padding: 16px 20px; }
.htc-inventory-page .htc-inv-card { background: var(--htc-white); border: 1px solid var(--htc-gray-200); border-top: 3px solid var(--htc-asphalt); transition: border-color var(--htc-dur) var(--htc-ease), box-shadow var(--htc-dur) var(--htc-ease); }
.htc-inventory-page .htc-inv-card:hover { border-top-color: var(--htc-orange); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08); }
.htc-inventory-page .htc-inv-card__body { padding: 16px 18px 20px; }
.htc-inventory-page .htc-inv-grid { gap: 24px; margin-top: 24px; }
.htc-inv .htc-inv { display: block; min-width: 0; }
.htc-inv > .wp-block-column { min-width: 0; }
.htc-inv.wp-block-columns { display: grid; }
.htc-inv > .wp-block-column { flex-basis: auto !important; width: auto; min-width: 0; }
.htc-listing-band { padding-block: clamp(32px, 4vw, 48px) clamp(64px, 8vw, 112px); }
/* Filters column: sticky on desktop, a full-screen panel on phones and tablets. */
.htc-inv-panel {
  /* Filters run down the page in full (no inner scroll, not sticky), per Shane 2026-09-16. */
  position: static; max-height: none; overflow: visible;
}
.htc-inv-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--htc-asphalt); }
.htc-inv-panel__head h2, .htc-inv-panel__title { margin: 0; font-size: 1.375rem; }
.htc-inv-panel__close { display: none; }
.htc-inv-panel__foot { display: none; }
.htc-inv-reset {
  display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 6px 0; color: var(--htc-gray-700); cursor: pointer;
  font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1; letter-spacing: 0.12em; text-transform: uppercase; border-bottom: 2px solid transparent;
}
.htc-inv-reset:hover { color: var(--htc-black); border-color: var(--htc-orange); }
.htc-inv-reset svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.htc-inv-filters { margin: 0; }
.htc-inv-filter-group { padding: 24px 0; border-bottom: 1px solid var(--htc-gray-300); margin: 0; min-width: 0; }
fieldset.htc-inv-filter-group { border: 0; border-bottom: 1px solid var(--htc-gray-300); padding-inline: 0; }
fieldset.htc-inv-filter-group legend { float: left; width: 100%; }
fieldset.htc-inv-filter-group .htc-inv-checks, fieldset.htc-inv-filter-group .htc-inv-filter-group__sub, fieldset.htc-inv-filter-group .htc-inv-range { clear: both; }
.htc-inv-filter-group__label, .htc-inv-filter-group legend { display: block; padding: 0; margin: 0 0 12px; font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); }
.htc-inv-filter-group__sub { margin: 16px 0 8px; font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase; color: var(--htc-gray-500); }
.htc-inv-filter-group__sub:first-of-type { margin-top: 0; }
.htc-inv-checks { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.htc-inv-checks label { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-family: var(--htc-font-text); font-size: 1rem; line-height: 1.3; color: var(--htc-asphalt); cursor: pointer; margin: 0; }
.htc-inv-checks label:has(input:disabled) { color: var(--htc-gray-500); cursor: default; }
.htc-inv-checks input { width: 18px; height: 18px; accent-color: var(--htc-orange); margin: 0; flex: 0 0 auto; }
.htc-inv-checks .htc-inv-n, .htc-inv-checks .n { margin-left: auto; font-size: 0.8125rem; color: var(--htc-gray-500); font-variant-numeric: tabular-nums; }
.htc-inv-checks--row { flex-direction: row; flex-wrap: wrap; gap: 4px 24px; }
.htc-inv-checks--row .htc-inv-n, .htc-inv-checks--row .n { margin-left: 2px; }
.htc-inv-range { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 10px; }
.htc-inv-range .htc-inv-range__to { font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1; letter-spacing: 0.12em; text-transform: uppercase; color: var(--htc-gray-500); padding-bottom: 14px; }
.htc-inv-select { position: relative; min-width: 0; }
.htc-inv-select select, .htc-inv-filters select, .htc-inv-toolbar select {
  width: 100%; appearance: none; -webkit-appearance: none; border: 0; border-bottom: 1px solid var(--htc-gray-300); border-radius: 0; background: transparent;
  padding: 10px 26px 10px 0; font-family: var(--htc-font-text); font-size: 1rem; line-height: 1.3; color: var(--htc-asphalt); cursor: pointer; transition: border-color var(--htc-dur);
}
.htc-inv-select select:focus, .htc-inv-filters select:focus, .htc-inv-toolbar select:focus { outline: 0; border-bottom: 2px solid var(--htc-asphalt); padding-bottom: 9px; }
.htc-inv-select select:disabled { color: var(--htc-gray-500); cursor: default; }
.htc-inv-select::after { content: ""; position: absolute; right: 8px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 1.5px solid var(--htc-gray-700); border-bottom: 1.5px solid var(--htc-gray-700); transform: rotate(45deg); pointer-events: none; }
.htc-inv-select--tight select { padding-top: 4px; padding-bottom: 4px; }
.htc-inv-keyword { position: relative; }
.htc-inv-keyword input { width: 100%; border: 0; border-bottom: 1px solid var(--htc-gray-300); border-radius: 0; background: transparent; padding: 10px 30px 10px 0; font-family: var(--htc-font-text); font-size: 1rem; line-height: 1.3; color: var(--htc-asphalt); transition: border-color var(--htc-dur); }
.htc-inv-keyword input:focus { outline: 0; border-bottom: 2px solid var(--htc-asphalt); padding-bottom: 9px; }
.htc-inv-keyword::after { content: ""; position: absolute; right: 4px; bottom: 12px; width: 18px; height: 18px; background: var(--htc-gray-700); -webkit-mask: var(--htc-search) center / contain no-repeat; mask: var(--htc-search) center / contain no-repeat; pointer-events: none; }
.htc-inv-keyword svg { display: none; }
/* Results column */
.htc-inv-results { min-width: 0; }
.htc-inv-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--htc-asphalt); }
.htc-inv-toolbar__left { display: flex; align-items: flex-end; gap: 16px; flex: 1 1 320px; min-width: 0; }
.htc-inv-toolbar__left .htc-inv-keyword { flex: 1 1 auto; min-width: 0; }
.htc-inv-toolbar__right { display: flex; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.htc-inv-field { display: flex; flex-direction: column; min-width: 150px; }
.htc-inv-field--keyword { flex: 1 1 auto; }
.htc-inv-field label, .htc-inv-toolbar label { font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); margin-bottom: 2px; }
.htc-inv-mobile-toggle { display: none; }
.htc-inv-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.htc-inv-chips:empty { display: none; }
.htc-inv-chips__label { font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-500); margin-right: 4px; }
.htc-inv-chip {
  display: inline-flex; align-items: center; gap: 8px; padding: 0 6px 0 12px; height: 32px; border: 0; border-radius: var(--htc-radius); background: var(--htc-gray-200); color: var(--htc-asphalt);
  font-family: var(--htc-font-text); font-size: 0.75rem; font-weight: 500; line-height: 1; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background var(--htc-dur), color var(--htc-dur);
}
.htc-inv-chip svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.htc-inv-chip:not(:has(svg))::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--htc-close) center / 70% no-repeat; mask: var(--htc-close) center / 70% no-repeat; }
.htc-inv-chip:hover { background: var(--htc-asphalt); color: var(--htc-white); }
.htc-inv-chip--clear { background: transparent; padding-inline: 4px; color: var(--htc-gray-700); text-decoration: underline; text-decoration-color: var(--htc-gray-300); text-underline-offset: 4px; }
.htc-inv-chip--clear::after { content: none !important; }
.htc-inv-chip--clear:hover { background: transparent; color: var(--htc-black); text-decoration-color: var(--htc-orange); }
.htc-inv-count { margin: 16px 0 0; font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1.4; letter-spacing: 0.12em; text-transform: uppercase; color: var(--htc-gray-700); }
.htc-inv.is-loading .htc-inv-grid { opacity: 0.45; pointer-events: none; transition: opacity var(--htc-dur); }
/* Cards */
.htc-inv-grid { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.htc-inv-grid[data-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.htc-inv-grid[data-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.htc-inv-card { display: flex; flex-direction: column; min-width: 0; }
.htc-inv-card__photo { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--htc-gray-100); }
.htc-inv-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--htc-ease); }
.htc-inv-card:hover .htc-inv-card__photo img { transform: scale(1.04); }
.htc-inv-card__badge { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: var(--htc-radius); background: rgba(0, 0, 0, 0.72); color: var(--htc-white); font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1; letter-spacing: 0.1em; text-transform: uppercase; }
.htc-inv-card__badge svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.htc-inv-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding-top: 16px; }
.htc-inv-card__title { font-size: clamp(1.5rem, 2vw, 1.75rem); margin: 0 0 4px; }
.htc-inv-card__title a { text-decoration: none; color: var(--htc-asphalt); }
.htc-inv-card__title a:hover { color: var(--htc-black); text-decoration: underline; text-decoration-color: var(--htc-orange); text-underline-offset: 4px; }
.htc-inv-card__stock { margin: 0 0 12px; font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-500); }
.htc-inv-card__meta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); border-top: 1px solid var(--htc-gray-300); border-bottom: 1px solid var(--htc-gray-300); }
.htc-inv-card__meta li { padding: 9px 0; font-family: var(--htc-font-text); font-size: 0.875rem; line-height: 1.35; color: var(--htc-asphalt); min-width: 0; overflow-wrap: anywhere; }
.htc-inv-card__meta li:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--htc-gray-300); }
.htc-inv-card__meta li:nth-child(odd) { padding-right: 14px; }
.htc-inv-card__meta li:nth-child(n+3) { border-top: 1px solid var(--htc-gray-300); }
.htc-inv-card__meta .htc-inv-vin, .htc-inv-card__meta .vin { font-size: 0.78rem; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.htc-inv-card__meta span { display: block; font-size: 0.66rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-500); margin-bottom: 2px; }
.htc-inv-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-top: 16px; margin-top: auto; }
.htc-inv-card__price { font-family: var(--htc-font-display); font-weight: 500; font-size: clamp(1.75rem, 2.4vw, 2.125rem); line-height: 1; letter-spacing: 0.005em; color: var(--htc-asphalt); margin: 0; }
.htc-inv-card__price small { display: block; font-family: var(--htc-font-text); font-size: 0.66rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-500); margin-bottom: 6px; }
.htc-inv-card__price a { color: var(--htc-orange); text-decoration: none; font-size: clamp(1.5rem, 2vw, 1.75rem); }
.htc-inv-card__price a:hover { color: var(--htc-black); text-decoration: underline; text-decoration-color: var(--htc-orange); text-underline-offset: 4px; }
.htc-inv-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.htc-inv-card__actions .htc-btn, .htc-inv-card__actions a, .htc-inv-card__actions button { padding-inline: 12px; }
/* Empty state */
.htc-inv-empty { margin-top: 32px; padding: clamp(40px, 5vw, 72px) 24px; text-align: center; border-top: 1px solid var(--htc-gray-300); border-bottom: 1px solid var(--htc-gray-300); }
.htc-inv-empty[hidden] { display: none; }
.htc-inv-empty h3 { margin-bottom: 8px; }
.htc-inv-empty p { color: var(--htc-gray-700); max-width: 48ch; margin-inline: auto; }
.htc-inv-empty .htc-btn { margin-top: 24px; }
/* Pagination */
.htc-inv-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: clamp(40px, 5vw, 64px); padding-top: 24px; border-top: 1px solid var(--htc-gray-300); }
.htc-inv-pagination:empty { display: none; }
.htc-inv-pagination button, .htc-inv-pagination a, .htc-inv-pagination span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border: 0; border-radius: var(--htc-radius); background: transparent; color: var(--htc-asphalt); cursor: pointer; text-decoration: none;
  font-family: var(--htc-font-text); font-size: 0.8125rem; font-weight: 500; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; transition: background var(--htc-dur), color var(--htc-dur);
}
.htc-inv-pagination button:hover, .htc-inv-pagination a:hover { background: var(--htc-gray-200); }
.htc-inv-pagination [aria-current="page"], .htc-inv-pagination .is-current { background: var(--htc-asphalt); color: var(--htc-white); }
.htc-inv-pagination [disabled] { opacity: 0.4; cursor: default; }
/* "Asking about" notice above the contact form after Request Info. */
.htc-form-unit { display: none; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding: 12px 16px; background: var(--htc-white); border-left: 2px solid var(--htc-orange); font-size: 0.9375rem; }
.htc-form-unit.is-visible { display: flex; }


/* ==========================================================================
   INVENTORY UNIT DETAIL (htc/inventory-detail block + inventory-cta pattern)
   Photo head strip under the transparent header, then a light band with the
   gallery, key facts row and enclosed white panels (specs left, request form
   and calculator right). Phones stack everything.
   ========================================================================== */
.htc-unit-page > * { margin-block: 0 !important; }
.htc-detail { --htc-detail-pad: clamp(16px, 3.5vw, 56px); margin: 0; }
.htc-detail__wrap { width: 100%; max-width: 1320px; margin-inline: auto; box-sizing: border-box; }
.htc-detail .htc-btn, .htc-unit-cta .wp-block-button__link { box-sizing: border-box; }
.htc-detail svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
html.htc-lock, html.htc-lock body { overflow: hidden; }

/* ---------- head strip ---------- */
.htc-detail-head {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; box-sizing: border-box;
  min-height: calc(var(--htc-utility-h) + var(--htc-header-h) + 260px);
  padding: calc(var(--htc-utility-h) + var(--htc-header-h) + 32px) var(--htc-detail-pad) clamp(28px, 3vw, 40px);
  background: var(--htc-black); color: var(--htc-white);
}
.htc-detail-head__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; filter: saturate(0.85); }
.htc-detail-head::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.74) 0%, rgba(0, 0, 0, 0.38) 42%, rgba(0, 0, 0, 0.84) 100%); }
.htc-detail-head__crumbs { margin: 0 0 16px; font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1.5; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
.htc-detail-head__crumbs a { color: var(--htc-white); text-decoration: none; padding-bottom: 2px; border-bottom: 2px solid transparent; transition: border-color var(--htc-dur) var(--htc-ease); }
.htc-detail-head__crumbs a:hover { color: var(--htc-white); border-color: var(--htc-orange); }
.htc-detail-head__crumbs span[aria-hidden] { margin-inline: 4px; }
.htc-detail-head__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; }
.htc-detail-head__text { min-width: 0; }
.htc-detail-head__title { margin: 0; color: var(--htc-white); font-size: clamp(2.25rem, 4.6vw, 3.75rem); line-height: 1; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); overflow-wrap: anywhere; }
.htc-detail-head__loc { display: flex; align-items: center; gap: 10px; margin: 12px 0 0; font-family: var(--htc-font-text); font-size: 0.8125rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-300); }
.htc-detail-head__loc::before { content: ""; width: 24px; height: 2px; background: var(--htc-orange); }
.htc-detail-head__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.htc-detail-head__share svg { font-size: 18px; }

/* ---------- light band ---------- */
.htc-detail__band { background: var(--htc-gray-100); padding: clamp(20px, 2.6vw, 36px) var(--htc-detail-pad) clamp(56px, 6vw, 88px); }

/* ---------- gallery: main photo with a 2x2 grid beside it ---------- */
.htc-gal { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 8px; }
.htc-gal--single, .htc-gal--grid-0 { grid-template-columns: minmax(0, 1fr); }
.htc-gal--single .htc-gal__main { max-width: 960px; }
.htc-gal__main { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--htc-gray-200); }
.htc-gal__open, .htc-gal__tile { position: relative; display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--htc-gray-200); cursor: zoom-in; overflow: hidden; }
.htc-gal__open img, .htc-gal__tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--htc-ease); }
.htc-gal__open:hover img, .htc-gal__tile:hover img { transform: scale(1.03); }
.htc-gal__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 8px; min-height: 0; }
.htc-gal__grid li { position: relative; min-width: 0; min-height: 0; }
.htc-gal--grid-1 .htc-gal__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
.htc-gal--grid-2 .htc-gal__grid { grid-template-columns: minmax(0, 1fr); }
.htc-gal--grid-3 .htc-gal__grid li:first-child { grid-column: 1 / -1; }
.htc-gal__all {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; text-align: center;
  background: rgba(0, 0, 0, 0.58); color: var(--htc-white); font-family: var(--htc-font-text); font-size: 0.8125rem; font-weight: 600; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase;
  transition: background-color var(--htc-dur) var(--htc-ease);
}
.htc-gal__all svg { font-size: 18px; }
.htc-gal__tile--all:hover .htc-gal__all { background: rgba(0, 0, 0, 0.74); }
.htc-gal__arrow {
  position: absolute; top: 50%; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-top: -24px; padding: 0; border: 0; border-radius: var(--htc-radius);
  background: rgba(0, 0, 0, 0.62); color: var(--htc-white); font-size: 22px; cursor: pointer; transition: background-color var(--htc-dur) var(--htc-ease), color var(--htc-dur) var(--htc-ease);
}
.htc-gal__arrow:hover { background: var(--htc-orange); color: var(--htc-black); }
.htc-gal__arrow--prev { left: 16px; }
.htc-gal__arrow--next { right: 16px; }
.htc-gal__badge {
  position: absolute; left: 16px; bottom: 16px; z-index: 1; display: inline-flex; align-items: center; gap: 8px; height: 30px; padding: 0 12px; border-radius: var(--htc-radius); pointer-events: none;
  background: rgba(0, 0, 0, 0.72); color: var(--htc-white); font-family: var(--htc-font-text); font-size: 0.72rem; font-weight: 500; line-height: 1; letter-spacing: 0.1em; text-transform: uppercase;
}
.htc-gal__badge svg { font-size: 14px; }
.htc-gal__strip { display: none; }
.htc-gal--empty { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 7; background: var(--htc-gray-200); font-family: var(--htc-font-text); font-size: 0.8125rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); }

/* ---------- key facts row ---------- */
.htc-facts { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 8px; }
.htc-facts__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.htc-facts__tile { flex: 1 1 140px; display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 0; padding: 16px 20px; background: var(--htc-white); border: 1px solid var(--htc-gray-200); border-top: 3px solid var(--htc-asphalt); box-sizing: border-box; }
.htc-facts__label { font-family: var(--htc-font-text); font-size: 0.66rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-500); }
.htc-facts__value { font-family: var(--htc-font-display); font-size: clamp(1.3rem, 1.7vw, 1.625rem); font-weight: 500; line-height: 1.05; letter-spacing: 0.01em; text-transform: uppercase; color: var(--htc-asphalt); overflow-wrap: anywhere; }
.htc-facts__tile--price { flex: 1.7 1 230px; background: var(--htc-asphalt); border-color: var(--htc-asphalt); border-top-color: var(--htc-orange); }
.htc-facts__tile--price .htc-facts__label { color: var(--htc-gray-300); }
.htc-facts__price { font-size: clamp(2rem, 2.8vw, 2.625rem); color: var(--htc-white); letter-spacing: 0.005em; }
a.htc-facts__call { font-size: clamp(1.6rem, 2.2vw, 2rem); color: var(--htc-orange); text-decoration: none; }
a.htc-facts__call:hover { color: var(--htc-white); text-decoration: underline; text-decoration-color: var(--htc-orange); text-underline-offset: 4px; }
.htc-facts__actions { display: flex; flex-direction: column; gap: 8px; min-width: 250px; }
.htc-facts__actions .htc-btn { flex: 1 1 0; }

/* ---------- specs (left) and request form + calculator (right) ---------- */
.htc-detail__cols { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; align-items: start; margin-top: 24px; }
.htc-detail__main, .htc-detail__side { display: grid; gap: 24px; min-width: 0; }
.htc-detail__panel { min-width: 0; padding: clamp(20px, 2.4vw, 32px); background: var(--htc-white); border: 1px solid var(--htc-gray-200); border-top: 3px solid var(--htc-asphalt); box-sizing: border-box; }
.htc-detail__panel-title { margin: 0 0 4px; padding-bottom: 14px; border-bottom: 1px solid var(--htc-asphalt); font-size: clamp(1.5rem, 2vw, 1.875rem); line-height: 1; }
.htc-detail__panel-text { margin: 14px 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--htc-gray-700); }
.htc-specs__list { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.htc-spec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: baseline; gap: 12px; min-width: 0; padding: 11px 0; border-bottom: 1px solid var(--htc-gray-200); }
.htc-spec dt { font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1.3; letter-spacing: 0.12em; text-transform: uppercase; color: var(--htc-gray-500); }
.htc-spec dd { margin: 0; font-size: 0.9375rem; font-weight: 500; line-height: 1.35; color: var(--htc-asphalt); overflow-wrap: anywhere; }
.htc-desc__body { margin-top: 16px; font-size: 0.9375rem; line-height: 1.6; color: var(--htc-asphalt); }
.htc-desc__body > * + * { margin-top: 0.75em; }
.htc-request { border-top-color: var(--htc-orange); }
.htc-request__form .wpforms-container { margin: 8px 0 0 !important; }
.htc-request__form .wpforms-submit-container { margin-top: 8px; }

/* ---------- pre-tax payment calculator ---------- */
.htc-calc__fields { display: grid; gap: 20px; margin-top: 20px; }
.htc-calc__field { display: grid; gap: 4px; min-width: 0; }
.htc-calc__label { font-family: var(--htc-font-text); font-size: 0.69rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-700); }
.htc-calc__price { font-family: var(--htc-font-display); font-size: 1.75rem; font-weight: 500; line-height: 1.1; color: var(--htc-asphalt); }
.htc-calc__input, .htc-calc__select select {
  width: 100%; box-sizing: border-box; appearance: none; -webkit-appearance: none; margin: 0; padding: 10px 0; border: 0; border-bottom: 1px solid var(--htc-gray-300); border-radius: 0; background: transparent;
  font-family: var(--htc-font-text); font-size: 1rem; line-height: 1.3; color: var(--htc-asphalt); transition: border-color var(--htc-dur);
}
.htc-calc__select { position: relative; display: block; }
.htc-calc__select select { padding-right: 28px; cursor: pointer; text-overflow: ellipsis; }
.htc-calc__select::after { content: ""; position: absolute; right: 8px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 1.5px solid var(--htc-gray-700); border-bottom: 1.5px solid var(--htc-gray-700); transform: rotate(45deg); pointer-events: none; }
.htc-calc__input:focus, .htc-calc__select select:focus { outline: 0; border-bottom: 2px solid var(--htc-asphalt); padding-bottom: 9px; }
.htc-calc__error { margin: 4px 0 0; font-size: 0.875rem; line-height: 1.4; color: var(--htc-red); }
.htc-calc__note { margin: 4px 0 0; font-size: 0.8125rem; line-height: 1.4; color: var(--htc-gray-700); }
.htc-calc__note:empty { display: none; }
.htc-calc__result { display: grid; justify-items: center; gap: 10px; margin-top: 28px; padding: 28px 24px 24px; background: var(--htc-asphalt); color: var(--htc-white); text-align: center; }
.htc-calc__payment { display: block; font-family: var(--htc-font-display); font-size: clamp(3rem, 5vw, 4.25rem); font-weight: 500; line-height: 1; letter-spacing: 0.005em; color: var(--htc-white); font-variant-numeric: tabular-nums; }
.htc-calc__caption { margin: 0; font-family: var(--htc-font-text); font-size: 0.74rem; font-weight: 500; line-height: 1.3; letter-spacing: 0.14em; text-transform: uppercase; color: var(--htc-gray-300); }
.htc-calc__cta { width: 100%; margin-top: 10px; }
.htc-calc__disclaimer { margin: 0; font-size: 0.8125rem; line-height: 1.4; color: var(--htc-gray-300); }

/* ---------- share by email modal ---------- */
.htc-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.htc-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.72); }
.htc-modal__panel { position: relative; width: min(620px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; background: var(--htc-white); border-top: 4px solid var(--htc-orange); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); outline: 0; }
.htc-modal__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 12px 14px 24px; background: var(--htc-asphalt); color: var(--htc-white); }
.htc-modal__title { margin: 0; font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.1; color: var(--htc-white); }
.htc-modal__close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--htc-radius); background: transparent; color: var(--htc-white); font-size: 22px; cursor: pointer; }
.htc-modal__close:hover { background: var(--htc-orange); color: var(--htc-black); }
.htc-modal__body { padding: 8px 24px 24px; }

/* ---------- lightbox ---------- */
.htc-lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 64px clamp(16px, 6vw, 96px); background: rgba(0, 0, 0, 0.95); color: var(--htc-white); }
.htc-lightbox__stage { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; }
.htc-lightbox__img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; }
.htc-lightbox__close, .htc-lightbox__arrow {
  position: absolute; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: var(--htc-radius); cursor: pointer;
  background: rgba(255, 255, 255, 0.12); color: var(--htc-white); transition: background-color var(--htc-dur) var(--htc-ease), color var(--htc-dur) var(--htc-ease);
}
.htc-lightbox__close:hover, .htc-lightbox__arrow:hover { background: var(--htc-orange); color: var(--htc-black); }
.htc-lightbox__close { top: 12px; right: 12px; width: 48px; height: 48px; font-size: 24px; }
.htc-lightbox__arrow { top: 50%; width: 56px; height: 56px; margin-top: -28px; font-size: 28px; }
.htc-lightbox__arrow--prev { left: 16px; }
.htc-lightbox__arrow--next { right: 16px; }
.htc-lightbox__counter { position: absolute; left: 50%; bottom: 20px; margin: 0; transform: translateX(-50%); font-family: var(--htc-font-text); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.14em; font-variant-numeric: tabular-nums; color: var(--htc-white); }

/* ---------- bottom call to action band (pattern) ---------- */
.wp-block-cover.htc-unit-cta { min-height: clamp(260px, 28vw, 380px); margin: 0; padding: clamp(48px, 6vw, 80px) clamp(16px, 3.5vw, 56px); }
.htc-unit-cta .wp-block-cover__image-background { filter: saturate(0.85); }
.htc-unit-cta .wp-block-cover__inner-container { width: 100%; max-width: 1320px; margin-inline: auto; }
.htc-unit-cta .wp-block-cover__inner-container > .alignwide { width: 100%; max-width: 1320px !important; margin-inline: auto !important; }
.htc-unit-cta__inner { gap: 24px 48px; }
.htc-unit-cta__title { margin: 0; max-width: 24ch; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; color: var(--htc-white); }

@media (max-width: 1099.98px) {
  .htc-detail__cols { grid-template-columns: minmax(0, 1fr); }
  .htc-facts { grid-template-columns: minmax(0, 1fr); }
  .htc-facts__actions { flex-direction: row; min-width: 0; }
}
@media (max-width: 767.98px) {
  .htc-detail-head { min-height: calc(var(--htc-utility-h) + var(--htc-header-h) + 220px); padding-top: calc(var(--htc-utility-h) + var(--htc-header-h) + 24px); }
  .htc-detail-head__row { flex-direction: column; align-items: stretch; }
  .htc-detail-head__actions { flex-direction: column; }
  .htc-detail-head__actions .htc-btn { width: 100%; }
  .htc-gal, .htc-gal--grid-1, .htc-gal--grid-2, .htc-gal--grid-3 { grid-template-columns: minmax(0, 1fr); }
  .htc-gal__grid { display: none; }
  .htc-gal__arrow { width: 40px; height: 40px; margin-top: -20px; font-size: 18px; }
  .htc-gal__arrow--prev { left: 8px; }
  .htc-gal__arrow--next { right: 8px; }
  .htc-gal__badge { left: 8px; bottom: 8px; }
  .htc-gal__strip { display: flex; gap: 8px; margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .htc-gal__strip li { flex: 0 0 88px; scroll-snap-align: start; }
  .htc-gal__thumb { display: block; position: relative; width: 88px; aspect-ratio: 4 / 3; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--htc-gray-200); cursor: pointer; overflow: hidden; opacity: 0.72; }
  .htc-gal__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .htc-gal__thumb.is-active { opacity: 1; }
  .htc-gal__thumb.is-active::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 3px var(--htc-orange); }
  .htc-facts__tile { flex: 1 1 calc(50% - 4px); padding: 14px 16px; }
  .htc-facts__tile--price { flex-basis: 100%; }
  .htc-facts__actions { flex-direction: column; }
  .htc-facts__actions .htc-btn { width: 100%; }
  .htc-specs__list { grid-template-columns: minmax(0, 1fr); }
  .htc-detail .wpforms-submit-container, .htc-detail .wpforms-container button[type="submit"] { width: 100%; }
  .htc-lightbox { padding: 64px 0 88px; }
  .htc-lightbox__arrow { top: auto; bottom: 12px; width: 48px; height: 48px; margin-top: 0; font-size: 22px; }
  .htc-lightbox__arrow--prev { left: 12px; }
  .htc-lightbox__arrow--next { right: 12px; }
  .htc-lightbox__counter { bottom: 26px; }
  .htc-unit-cta__inner { flex-direction: column; align-items: stretch !important; }
  .htc-unit-cta .wp-block-buttons, .htc-unit-cta .wp-block-button, .htc-unit-cta .wp-block-button__link { width: 100%; }
}

/* ==========================================================================
   NEWSLETTER BAND, FOOTER, MOBILE HOTLINE BAR
   ========================================================================== */
.htc-signup { padding-block: clamp(48px, 6vw, 80px); }
.htc-signup h2 { font-size: clamp(1.75rem, 3vw, 2.5rem) !important; margin: 0; max-width: 22ch; }
.htc-signup .wpforms-container { --wpforms-field-text-color: #ffffff !important; --wpforms-field-border-color: var(--htc-gray-500) !important; --wpforms-label-color: var(--htc-gray-300) !important; --wpforms-label-error-color: #FFB199 !important; --wpforms-button-background-color: #ffffff !important; --wpforms-button-border-color: #ffffff !important; --wpforms-button-text-color: #000000 !important; }
.htc-signup .wpforms-container input:focus { border-bottom-color: var(--htc-white) !important; }
.htc-signup .wpforms-container .wpforms-field-label { color: var(--htc-gray-300) !important; }
.htc-signup .wpforms-container .wpforms-confirmation-container-full { background: transparent !important; color: var(--htc-white) !important; }
.htc-signup .htc-form-slot { margin-top: 0; }
.htc-signup:has(.wpforms-form) .htc-signup__button { display: none; }
.htc-signup .wp-block-columns { gap: 48px; }
/* Concept F newsletter band: newsletter-tech.jpg at 25 percent on the right half, fading in from the asphalt on the left. */
.htc-signup--photo { position: relative; overflow: hidden; }
.htc-signup--photo::before { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 50%; background: url("../img/newsletter-tech.jpg") center / cover no-repeat; opacity: 0.25; filter: saturate(0.6); pointer-events: none; }
.htc-signup--photo::after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 50%; background: linear-gradient(to right, var(--htc-asphalt) 0%, rgba(39, 37, 34, 0) 45%); pointer-events: none; }
.htc-signup--photo > * { position: relative; z-index: 1; }
.htc-footer { padding-left: 0 !important; padding-right: 0 !important; }
.htc-footer > * { margin-block: 0 !important; }
.htc-footer__main { padding-block: clamp(48px, 6vw, 80px) 32px; font-size: 0.9375rem; }
.htc-footer__main .wp-block-columns { gap: 48px; }
.htc-footer__brand img { width: 220px; height: auto; margin-bottom: 24px; }
.htc-footer__brand .wp-block-image { margin: 0; }
.htc-footer__line { gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.htc-footer__line p { margin: 0; color: var(--htc-gray-300); font-size: 0.9375rem; }
.htc-footer__line p strong { color: var(--htc-white); }
.htc-footer__line .wp-block-buttons { margin: 0; }
.htc-footer__line .wp-block-button__link, .htc-footer__tel .wp-block-button__link { min-height: 0; padding: 0; border-radius: 0; background: none; color: var(--htc-white); font-family: var(--htc-font-text); font-size: 0.9375rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.htc-footer__line .wp-block-button__link:hover, .htc-footer__tel .wp-block-button__link:hover { background: none; color: var(--htc-orange); }
.htc-social.wp-block-social-links { margin: 24px 0 0; gap: 8px; }
.htc-social .wp-block-social-link { width: 44px; height: 44px; border-radius: var(--htc-radius); background: var(--htc-gray-700); color: var(--htc-white); display: inline-flex; align-items: center; justify-content: center; transition: background var(--htc-dur), color var(--htc-dur); }
.htc-social .wp-block-social-link:hover { background: var(--htc-orange); color: var(--htc-black); transform: none; }
.htc-social .wp-block-social-link a { padding: 0; color: inherit; }
.htc-social .wp-block-social-link svg { width: 18px; height: 18px; fill: currentColor; }
.htc-footer__main .wp-block-navigation { --navigation-layout-direction: column; }
.htc-footer__main .wp-block-navigation .wp-block-navigation-item__content { display: block; padding: 8px 0; color: var(--htc-white); text-decoration: none; font-size: 0.8125rem; font-weight: 500; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; }
.htc-footer__main .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--htc-orange); }
.htc-footer__legal { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--htc-line-inverse); font-size: 0.8125rem; color: var(--htc-gray-300); }
.htc-footer__legal p { max-width: 90ch; margin: 0; color: var(--htc-gray-300); }
.htc-mobile-hotline { display: none !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; height: 56px; background: var(--htc-orange); margin: 0 !important; padding: 0 !important; }
.htc-mobile-hotline .wp-block-buttons, .htc-mobile-hotline .wp-block-button { width: 100%; height: 100%; margin: 0; }
.htc-mobile-hotline .wp-block-button__link { display: flex; width: 100%; height: 56px; min-height: 0; border-radius: 0; background: var(--htc-orange); color: var(--htc-black); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.06em; gap: 10px; }
.htc-mobile-hotline .wp-block-button__link::before { content: ""; order: -2; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--htc-phone) center / contain no-repeat; mask: var(--htc-phone) center / contain no-repeat; }
.htc-mobile-hotline .wp-block-button__link::after { content: "Hotline"; order: -1; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1099.98px) {
  .htc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .htc-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .htc-tiles > .htc-tile:nth-child(5) { grid-column: 1 / -1; aspect-ratio: 16 / 7; }
  .htc-loc-grid, .htc-loc-grid[data-columns="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .htc-inv-grid, .htc-inv-grid[data-columns="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023.98px) {
  /* Filters collapse behind a solid Filters button and open as a full-screen panel. */
  .htc-inv { grid-template-columns: 1fr; }
  .htc-inv-mobile-toggle { display: inline-flex; }
  .htc-inv-panel {
    position: fixed; inset: 0; z-index: 60; max-height: none; background: var(--htc-white); padding: 0 var(--htc-gutter); overflow-y: auto; -webkit-overflow-scrolling: touch;
    transform: translateX(100%); visibility: hidden; transition: transform 0.36s var(--htc-ease), visibility 0s linear 0.36s; display: flex; flex-direction: column;
  }
  .htc-inv-panel.is-open { transform: none; visibility: visible; transition-delay: 0s; }
  .htc-inv-panel__head { position: sticky; top: 0; z-index: 1; background: var(--htc-white); height: 72px; padding-bottom: 0; align-items: center; }
  .htc-inv-panel__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: var(--htc-radius); background: transparent; color: var(--htc-asphalt); cursor: pointer; }
  .htc-inv-panel__close:hover { background: var(--htc-gray-100); }
  .htc-inv-panel__close:not(:has(svg))::before { content: ""; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--htc-close) center / contain no-repeat; mask: var(--htc-close) center / contain no-repeat; }
  .htc-inv-panel__close svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
  .htc-inv-filters { flex: 1 1 auto; padding-bottom: 32px; }
  .htc-inv-panel__foot { display: grid; grid-template-columns: 1fr auto; gap: 12px; position: sticky; bottom: 0; background: var(--htc-white); padding: 16px 0 max(16px, env(safe-area-inset-bottom)); border-top: 1px solid var(--htc-gray-300); }
  .htc-inv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899.98px) {
  .htc-split.wp-block-columns, .htc-contact.wp-block-columns, .htc-signup .wp-block-columns { flex-wrap: wrap !important; }
  .htc-split .wp-block-column, .htc-contact .wp-block-column, .htc-signup .wp-block-column { flex-basis: 100% !important; }
  .htc-split--flip .wp-block-column:first-child { order: 2; }
  .htc-campaign { flex-direction: column; align-items: flex-start; }
  .htc-footer__main .wp-block-columns { flex-wrap: wrap !important; }
  .htc-footer__main .wp-block-column { flex-basis: calc(50% - 24px) !important; }
  .is-style-action-strip .wp-block-buttons { grid-template-columns: 1fr; }
  .is-style-action-strip .wp-block-button + .wp-block-button { border-left: 0; border-top: 1px solid var(--htc-line-inverse); }
  .is-style-action-strip .wp-block-button__link { padding: 22px var(--htc-gutter); }
  .htc-hotline-band .htc-hotline-band__cols { flex-wrap: wrap !important; }
  .htc-hotline-band .wp-block-column { flex-basis: 100% !important; }
  .htc-hotline-band__media .wp-block-image img { aspect-ratio: 16 / 9; height: auto; }
  .htc-hotline-band__copy { max-width: none; padding-inline: var(--htc-gutter); }
  .htc-signup--photo::before, .htc-signup--photo::after { width: 100%; }
  .htc-signup--photo::after { background: linear-gradient(to right, var(--htc-asphalt) 0%, rgba(39, 37, 34, 0.4) 100%); }
  .htc-carousel__slide .wp-block-cover__inner-container { padding-bottom: 120px; }
}
@media (max-width: 767.98px) {
  body { padding-bottom: 56px; }
  .htc-mobile-hotline { display: block; }
  .htc-carousel__track, .htc-carousel__slide.wp-block-cover { min-height: 100vh; min-height: 100svh; }
  .htc-footer__main .wp-block-column { flex-basis: 100% !important; }
  .htc-tiles > .htc-tile:nth-child(5) { aspect-ratio: 3 / 4; }
  .htc-inv-toolbar__right { width: 100%; }
  .htc-inv-toolbar__right .htc-inv-field { flex: 1 1 140px; min-width: 0; }
  .htc-page-head__row { align-items: flex-start; }
}
@media (max-width: 639.98px) {
  .htc-tiles { grid-template-columns: 1fr !important; }
  .htc-cards { grid-template-columns: 1fr !important; }
  .htc-tiles > .htc-tile, .htc-tiles > .htc-tile:nth-child(5) { aspect-ratio: 4 / 3; }
  .htc-loc-grid, .htc-loc-grid[data-columns="2"] { grid-template-columns: 1fr; }
  .htc-inv-grid, .htc-inv-grid[data-columns="2"] { grid-template-columns: 1fr; gap: 48px; }
  .htc-inv-card__foot { flex-direction: column; align-items: flex-start; }
  .htc-carousel__dots button { width: 28px; }
  .htc-ad.wp-block-cover { min-height: 340px; }
  .htc-campaign h2 { font-size: clamp(3rem, 14vw, 4.5rem) !important; }
  .htc-quick { grid-template-columns: 1fr !important; }
  .htc-quick > .wp-block-cover.htc-ptile { aspect-ratio: 16 / 9; }
  .wp-block-cover.htc-loc-strip { height: 180px; min-height: 180px; }
}

/* ==========================================================================
   EDITOR
   ========================================================================== */
.editor-styles-wrapper .htc-header { position: relative; background: var(--htc-black); }
.editor-styles-wrapper .htc-mobile-hotline { position: relative; display: block; }
.editor-styles-wrapper .htc-carousel__slide:not(:first-child) { display: block; }
.editor-styles-wrapper .htc-form-slot { padding: 12px 16px; border: 1px dashed var(--htc-gray-300); }

/* ---------- Converted page helpers (2026-09-16) ---------- */
/* Details blocks (old Elementor tabs and accordions): readable on light and dark sections */
.wp-block-details { border-top: 1px solid var(--htc-gray-300); padding: 0; margin: 0; }
.wp-block-details:last-of-type { border-bottom: 1px solid var(--htc-gray-300); }
.wp-block-details > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; font-family: var(--htc-font-display); font-weight: 600; font-size: 1.25rem; text-transform: uppercase; letter-spacing: 0.02em; color: var(--htc-black); }
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after { content: "+"; font-size: 1.5rem; line-height: 1; color: var(--htc-orange); transition: transform var(--htc-dur) var(--htc-ease); }
.wp-block-details[open] > summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { padding-bottom: 20px; }
.is-style-asphalt .wp-block-details, .is-style-black .wp-block-details { border-color: rgba(255, 255, 255, 0.18); }
.is-style-asphalt .wp-block-details > summary, .is-style-black .wp-block-details > summary { color: var(--htc-white); }
/* Logo rows: contained logos at a consistent height, no cropping */
.htc-logos { gap: 24px 32px !important; align-items: center; }
.htc-logos .wp-block-image { margin: 0; display: flex; align-items: center; justify-content: center; min-height: 96px; }
.htc-logos .wp-block-image img { width: auto !important; max-width: 100%; max-height: 80px; object-fit: contain; }
/* Grid groups: breathing room between items */
.entry-content .wp-block-group.is-layout-grid { row-gap: clamp(24px, 3vw, 40px); column-gap: clamp(20px, 2.5vw, 32px); }

/* ---------- Promo sign-up card (Specials page, 2026-09-16) ---------- */
.htc-promo.wp-block-columns { gap: 0 !important; align-items: stretch !important; background: var(--htc-white); border: 1px solid var(--htc-gray-200); border-top: 3px solid var(--htc-orange); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06); overflow: hidden; margin: 0; }
.htc-promo.wp-block-columns { flex-direction: row !important; flex-wrap: nowrap !important; }
.htc-promo > .wp-block-column { min-width: 0; }
.htc-promo > .htc-promo__col-media { flex: 0 0 46% !important; }
.htc-promo > .htc-promo__col-body { flex: 1 1 54% !important; }
.htc-promo .htc-promo__col-media { position: relative; min-height: 360px; background: var(--htc-asphalt); }
.htc-promo .htc-promo__media { position: absolute; inset: 0; margin: 0 !important; height: 100%; width: 100%; }
.htc-promo .htc-promo__media img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: left center; display: block; }
.htc-promo .htc-promo__col-body { padding: clamp(28px, 4vw, 56px) !important; display: flex; flex-direction: column; justify-content: center; }
.htc-promo__body h2 { font-size: clamp(1.9rem, 3vw, 2.6rem) !important; line-height: 1 !important; margin: 0 0 12px !important; }
.htc-promo__body .is-style-lead { margin: 0 0 28px !important; }
.htc-promo__signup { border-top: 1px solid var(--htc-gray-300); padding-top: 24px; }
.htc-promo__signup h3 { font-size: 1rem !important; letter-spacing: 0.14em; color: var(--htc-orange) !important; margin: 0 0 8px !important; }
.htc-promo__signup p { margin: 0 0 8px; }
.htc-promo__signup .htc-form-slot { margin: 0; }
/* Name + Email side by side, Submit in the same row on wide cards */
.htc-promo .wpforms-container { margin: 0 !important; }
.htc-promo .wpforms-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 0 16px; }
.htc-promo .wpforms-field-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.htc-promo .wpforms-field-container .wpforms-field { padding-block: 8px 0 !important; }
.htc-promo .wpforms-submit-container { padding: 0 0 2px !important; margin: 0 !important; }
.htc-promo .wpforms-container { --wpforms-button-background-color: var(--htc-orange) !important; --wpforms-button-border-color: var(--htc-orange) !important; --wpforms-button-text-color: var(--htc-black) !important; }
.htc-promo .wpforms-container button[type="submit"]:hover { --wpforms-button-background-color: var(--htc-asphalt) !important; --wpforms-button-border-color: var(--htc-asphalt) !important; --wpforms-button-text-color: #ffffff !important; }
@media (max-width: 899.98px) {
  .htc-promo.wp-block-columns { flex-direction: column !important; }
  .htc-promo > .htc-promo__col-media, .htc-promo > .htc-promo__col-body { flex: 0 0 auto !important; width: 100%; }
  .htc-promo .htc-promo__col-media { min-height: 0; position: static; }
  .htc-promo > .htc-promo__col-media { align-self: stretch; padding: 0 !important; }
  .htc-promo .htc-promo__media { position: static; height: auto; }
  .htc-promo .htc-promo__media img { height: auto !important; object-fit: contain; }
  .htc-promo .htc-promo__col-body { padding: 24px 20px 28px !important; box-sizing: border-box; }
  .htc-promo .wpforms-form { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 639.98px) {
  .htc-promo .wpforms-field-container { grid-template-columns: 1fr; }
  .htc-promo .wpforms-submit-container button { width: 100%; }
}

/* Torque inside the existing core mobile accordion. */
.htc-header .is-menu-open [data-torque] .htc-mega__inner { display:block; background:#20201e; color:#fff; padding:0; }
.htc-header .is-menu-open [data-torque] .htc-mega__head { display:flex; align-items:center; justify-content:space-between; background:var(--htc-orange); color:#191918; padding:18px; gap:16px; }
.htc-header .is-menu-open [data-torque] .htc-mega__eyebrow { display:none; }
.htc-header .is-menu-open [data-torque] .htc-mega__title { font:600 32px/1 var(--htc-font-display); margin:0; text-transform:uppercase; }
.htc-header .is-menu-open [data-torque] .htc-mega__all { font-size:12px; color:#191918; white-space:nowrap; }
.htc-header .is-menu-open [data-torque] .htc-mega__content { padding:20px; }
.htc-header .is-menu-open [data-torque] .htc-mega__label { margin:18px 0 8px; padding:0 0 12px; color:#b9b8b5; border-bottom:1px solid #ffffff26; }
.htc-header .is-menu-open [data-torque] .htc-mega__number { color:var(--htc-orange); margin-right:12px; }
.htc-header .is-menu-open [data-torque] .htc-mega__card { color:white; box-shadow:none; padding:12px 0; border-bottom:1px solid #ffffff12; font:600 23px/1.15 var(--htc-font-display); text-transform:none; letter-spacing:0; }
.htc-header .is-menu-open [data-torque] .htc-mega__card:hover { color:var(--htc-orange); }
.htc-header .is-menu-open [data-torque] .htc-mega__inventory-title { margin:24px 0 12px; font:600 32px/1 var(--htc-font-display); text-transform:uppercase; }
.htc-header .is-menu-open [data-torque] .htc-mega__ctas { display:block; padding:0; }
.htc-header .is-menu-open [data-torque] .htc-mega__cta { justify-content:space-between; padding:14px 0; border-radius:0; border-top:1px solid #ffffff26; background:transparent; color:#fff; text-transform:none; text-align:left; font-size:14px; }
.htc-header .is-menu-open [data-torque] .htc-mega__foot { display:flex; justify-content:space-between; gap:12px; padding:16px 20px; background:#171716; font-size:10px; color:#b9b8b5; }
.htc-header .is-menu-open [data-torque] a:focus-visible { outline-color:var(--htc-orange); }

/* Match prototype dimensions within WordPress's content-box navigation. */
.htc-header [data-torque], .htc-header [data-torque] * { box-sizing:border-box; }
