/* ==========================================================================
   ISIS Fluids v2 — theme layer (sits on isis-base.css)
   00 · Core: global chrome, shared patterns, product archive, single product
   ========================================================================== */

/* ---- Global ------------------------------------------------------------- */
html.lock-scroll, html.lock-scroll body { overflow: hidden; }
.skip-link:focus { position: fixed !important; top: 0.5rem; left: 0.5rem; z-index: 1000; width: auto; height: auto; clip: auto; padding: 0.75rem 1rem; border-radius: var(--profile-radius-sm); background: var(--color-dark); color: var(--color-white); }
.site-main { display: block; }
.isis-icon { width: 1.1em; height: 1.1em; flex-shrink: 0; }
[hidden] { display: none !important; }

/* Rich text (WYSIWYG output) */
.text-content h2, .text-content h3, .text-content h4 { margin-top: var(--space-md); }
.text-content h2:first-child, .text-content h3:first-child, .text-content h4:first-child { margin-top: 0; }
.text-content a:not(.main-button) { text-decoration: underline; text-underline-offset: 3px; }
.text-content img { border-radius: var(--profile-image-radius); }
.text-content blockquote { margin: var(--space-md) 0; padding: var(--space-sm) var(--space-md); border-left: 4px solid var(--color-accent); background: var(--color-light); border-radius: 0 var(--profile-radius-md) var(--profile-radius-md) 0; color: var(--color-dark); font-weight: 600; }
.text-content table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); margin: var(--space-md) 0; }
.text-content th, .text-content td { padding: 0.65rem 0.8rem; border: 1px solid var(--color-border); text-align: left; vertical-align: top; }
.text-content th { background: var(--color-page); color: var(--color-dark); }
.text-content ul li::marker { color: var(--color-accent); }
.body-section.dark .text-content, .body-section.blue .text-content { color: rgba(255, 255, 255, 0.85); }
.body-section.dark .text-content blockquote { background: rgba(255, 255, 255, 0.06); color: var(--color-white); }
.title-holder .title-text { margin-top: var(--space-sm); max-width: 760px; color: var(--color-text-muted); }
.title-holder.left .title-text { margin-left: 0; }
.body-section.dark .title-holder .title-text, .body-section.blue .title-holder .title-text { color: rgba(255, 255, 255, 0.78); }
.body-section.blue .pre-title { color: rgba(255, 255, 255, 0.75); }
.body-section.blue a:not(.main-button) { color: var(--color-white); }

/* Section background variants kept from v1 data values */
.body-section.image { color: var(--color-white); overflow: hidden; }
.body-section.image h1, .body-section.image h2, .body-section.image h3 { color: var(--color-white); }
.body-section.product { background: var(--color-page); }

/* Style: Background → border decorations */
.section-stripe { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; }
.section-stripe .division-stripe { height: 6px; border-radius: 0; }
.section-curve { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1; height: 48px; background: var(--color-dark); clip-path: ellipse(75% 100% at 50% 100%); pointer-events: none; }
.body-section.has-bottom-curve { padding-bottom: calc(var(--profile-section-padding) + 48px); }
.section-half { position: absolute; left: 0; right: 0; bottom: 0; z-index: 0; height: 50%; background: var(--color-light); pointer-events: none; }

/* Accreditation logos */
.accred-logos { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; margin: var(--space-md) 0; }
.accred-logo { height: 56px; width: auto; object-fit: contain; }
.title-holder + .accred-logos, .simple-content .accred-logos { justify-content: center; }

/* Contact list (header drawer, forms, footer) */
.contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.contact-list a { display: inline-flex; align-items: flex-start; gap: 0.6rem; color: inherit; font-weight: 600; }
.contact-list a:hover { color: var(--color-primary); }
.contact-list .isis-icon { margin-top: 0.2em; color: var(--color-accent); }

/* ---- Page hero (page_head block, archive and post headers) ------------ */
.page-hero { position: relative; overflow: hidden; background: var(--color-page); padding: calc(var(--profile-section-padding) * 0.6) 0 calc(var(--profile-section-padding) * 0.55); border-bottom: 1px solid var(--color-border); }
.page-hero .body-container { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-xl); align-items: center; }
.page-hero.no-image .body-container { grid-template-columns: minmax(0, 1fr); }
.page-hero-content > * + * { margin-top: var(--space-sm); }
.page-hero h1 { margin: 0; }
.page-hero .pre-title { margin-bottom: 0; }
.page-hero .lead, .page-hero .text-content { max-width: 720px; color: var(--color-text-muted); }
.page-hero .division-stripe { width: 96px; height: 4px; }
.page-hero-media { position: relative; aspect-ratio: 4 / 3; border-radius: var(--profile-radius-lg); overflow: hidden; background: var(--color-white); border: 1px solid var(--color-border); }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-media.cutout { display: grid; place-items: center; padding: 8%; }
.page-hero-media.cutout img { object-fit: contain; }
.page-hero.dark { background: var(--color-dark); border-bottom: 0; }
.page-hero.dark h1, .page-hero.dark .text-content, .page-hero.dark .lead { color: var(--color-white); }
.page-hero.dark .breadcrumbs a { color: rgba(255, 255, 255, 0.7); }
.page-hero.dark .breadcrumb-current { color: var(--color-white); }
.page-hero.dark .pre-title { color: var(--isis-grey); }
.page-hero .background-image { opacity: 1; }
.page-hero .background-overlay { background: linear-gradient(90deg, rgba(1, 20, 65, 0.92) 0%, rgba(1, 20, 65, 0.75) 55%, rgba(1, 20, 65, 0.35) 100%); }
/* Division overlays (page_head background_overlay) */
/* Division overlays: Fluid Power blue · Steam brown · Energy green · Pure Process cyan · Engineering --card-accent */
.page-hero.overlay-fluid        { --hero-accent: var(--brand-blue); }
.page-hero.overlay-steam        { --hero-accent: var(--brand-brown); }
.page-hero.overlay-energy       { --hero-accent: var(--brand-green); }
.page-hero.overlay-pure-process { --hero-accent: var(--brand-cyan); }
.page-hero.overlay-engineering  { --hero-accent: var(--card-accent, var(--color-primary)); }
.page-hero[class*="overlay-"] .background-overlay { background: linear-gradient(90deg, color-mix(in srgb, var(--hero-accent) 92%, transparent) 0%, color-mix(in srgb, var(--hero-accent) 70%, var(--dark-blue)) 55%, rgba(1, 20, 65, 0.45) 100%); }
.page-hero.overlay-none .background-overlay { background: linear-gradient(90deg, rgba(1, 20, 65, 0.92) 0%, rgba(1, 20, 65, 0.75) 55%, rgba(1, 20, 65, 0.35) 100%); }

/* ---- Header ------------------------------------------------------------ */
/* Header follows the page: the utility bar (40px) scrolls away, the main bar + nav stay pinned.
   Sticky (not fixed) so no spacer is needed and nothing jumps; offsets allow for the WP admin bar. */
:root { --utility-h: 40px; --header-stick: calc(-1 * var(--utility-h)); --header-pinned: 142px; } /* pinned height: main bar 88 + nav 53 + border */
html { scroll-padding-top: 150px; }
.site-header { position: sticky; top: var(--header-stick); transition: box-shadow var(--transition-base); }
body.admin-bar .site-header { top: calc(32px + var(--header-stick)); }
.site-header.is-stuck { box-shadow: var(--shadow-lg); }
.site-header .utility-bar .body-container { min-height: var(--utility-h); }
.site-header .utility-bar .body-container { justify-content: flex-end; }
.site-header .utility-hours { display: inline-flex; align-items: center; gap: 0.4rem; margin-right: auto; color: rgba(255, 255, 255, 0.7); font-size: var(--text-xs); font-weight: 600; }
.site-header .utility-hours svg { width: 14px; height: 14px; }
.site-header .logo { flex-shrink: 0; }
.site-header .logo img { height: 52px; width: auto; max-width: 220px; object-fit: contain; }
.site-header .menu-toggle, .site-header .search-toggle { display: none; }
.site-header .header-search { position: relative; }
.site-header .header-search .search-close { display: none; }
.site-header .icon-button.sales-enquiry-link .count.is-empty { background: var(--color-secondary); }
.site-header .icon-button.bump { animation: isis-bump 0.45s ease; }
@keyframes isis-bump { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.15); } }

/* Live search suggestions (js/isis-search.js) */
.search-bar-input::-webkit-search-cancel-button, .search-bar-input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
div.search-results { padding: 0.35rem; }
.search-suggest-group + .search-suggest-group { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid var(--color-border); }
.search-suggest-label { padding: 0.4rem 0.6rem 0.25rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-secondary); }
.search-suggest-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; }
.search-suggest-card { display: grid; grid-template-columns: 56px 1fr; gap: 0.75rem; align-items: center; padding: 0.5rem 0.6rem; border: 1px solid transparent; border-radius: var(--profile-radius-md); color: var(--color-dark); transition: var(--transition-fast); }
.search-suggest-card img, .search-suggest-thumb { width: 56px; height: 56px; object-fit: contain; padding: 4px; border: 1px solid var(--color-border); border-radius: var(--profile-radius-sm); background: var(--color-white); }
.search-suggest-body { display: grid; gap: 0.2rem; min-width: 0; justify-items: start; }
.search-suggest-body .badge { font-size: 0.6rem; padding: 0.2rem 0.5rem; }
.search-suggest-title { font-weight: 700; font-size: var(--text-sm); line-height: 1.3; }
.search-suggest-meta { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; font-size: var(--text-xs); color: var(--color-text-muted); font-weight: 600; }
.search-suggest-link { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.6rem; border-radius: var(--profile-radius-sm); color: var(--color-dark); font-weight: 600; font-size: var(--text-sm); }
.search-suggest-card:hover, .search-suggest-card.is-active, .search-suggest-link:hover, .search-suggest-link.is-active { background: var(--color-light); border-color: var(--color-border); color: var(--color-primary); }
.search-suggest-all { display: block; margin-top: 0.35rem; padding: 0.7rem 0.6rem; border-top: 1px solid var(--color-border); color: var(--color-primary); font-weight: 700; font-size: var(--text-sm); }
.search-suggest-all:hover, .search-suggest-all.is-active { background: var(--color-light); border-radius: var(--profile-radius-sm); }
.search-suggest-empty { margin: 0; padding: var(--space-sm); color: var(--color-text-muted); font-size: var(--text-sm); }
.header-search.is-searching .search-bar-icon { animation: isis-pulse 0.9s ease-in-out infinite; }
@keyframes isis-pulse { 50% { opacity: 0.35; } }

/* Live search results (legacy markup) */
div.search-results { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 150; max-height: min(70vh, 480px); overflow: auto; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--profile-radius-md); box-shadow: var(--shadow-xl); }
div.search-results p { margin: 0; padding: var(--space-sm); color: var(--color-text-muted); font-size: var(--text-sm); }
.search-results-list { list-style: none; margin: 0; padding: 0.35rem; }
.search-result-item { position: relative; display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.6rem; border-radius: var(--profile-radius-sm); }
.search-result-item:hover { background: var(--color-light); }
.search-result-item a { flex: 1; color: var(--color-dark); font-weight: 700; font-size: var(--text-sm); line-height: 1.35; }
.search-result-item a::after { content: ''; position: absolute; inset: 0; }
.search-result-item small { font-weight: 600; color: var(--color-text-muted); font-family: var(--font-mono); font-size: 0.78rem; }
.search-result-thumbnail { width: 44px; height: 44px; flex-shrink: 0; object-fit: contain; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--profile-radius-sm); padding: 3px; }

/* Primary nav + mega menu */
.primary-nav > .body-container { flex-wrap: nowrap; }
.primary-nav .nav-item:last-child .nav-link, .primary-nav .nav-item:nth-last-child(2):not(.has-mega) .nav-link { color: var(--color-text-muted); font-weight: 600; }
.primary-nav .nav-item:nth-last-child(2):not(.has-mega) { margin-left: auto; }
.primary-nav .nav-item.division-green .nav-link { --nav-accent: var(--brand-green); }
.primary-nav .nav-item.division-brown .nav-link { --nav-accent: var(--brand-brown); }
.primary-nav .nav-item.division-cyan .nav-link { --nav-accent: var(--brand-cyan); }
.primary-nav .nav-item.division-blue .nav-link { --nav-accent: var(--brand-blue); }
.primary-nav .nav-item.division-green .mega-rail { --nav-accent: var(--brand-green); }
.primary-nav .nav-item.division-brown .mega-rail { --nav-accent: var(--brand-brown); }
.primary-nav .nav-item.division-cyan .mega-rail { --nav-accent: var(--brand-cyan); }
.primary-nav .nav-item.division-engineering .nav-link, .primary-nav .nav-item.division-engineering .mega-rail { --nav-accent: var(--card-accent, var(--color-primary)); }
.badge.division-engineering { background: var(--card-accent, var(--color-primary)); }
.error-page__division.division-engineering { --card-accent: var(--color-primary); }
.mega-menu { max-height: calc(100vh - 200px); overflow: auto; }
.mega-menu > .body-container { padding: 0; }
.mega-menu-inner { grid-template-columns: 280px 1fr 240px; }
.mega-rail a { font-size: var(--text-sm); }
.mega-links a { line-height: 1.35; }
.mega-feature .text-link svg { width: 14px; height: 14px; }

/* Mobile drawer (off-canvas, drill-down) */
.mobile-drawer-overlay, .cart-overlay { position: fixed; inset: 0; z-index: 300; background: rgba(1, 20, 65, 0.45); opacity: 0; transition: opacity var(--transition-base); }
.mobile-drawer-overlay.is-open, .cart-overlay.is-open { opacity: 1; }
aside.mobile-drawer { position: fixed; top: 0; bottom: 0; left: 0; z-index: 310; width: min(92vw, 400px); max-width: none; border: 0; border-radius: 0; box-shadow: var(--shadow-xl); transform: translateX(-102%); transition: transform var(--transition-base); overflow: hidden; }
aside.mobile-drawer.is-open { transform: translateX(0); }
.mobile-drawer-panel { position: absolute; inset: 0; display: flex; flex-direction: column; overflow-y: auto; background: var(--color-white); }
.mobile-drawer-head { position: sticky; top: 0; z-index: 1; }
.mobile-drawer-head .back { border: 0; background: none; padding: 0.5rem 0; }
.mobile-drawer-head .back svg { width: 16px; height: 16px; }
.mobile-drawer-title { padding: var(--space-sm) var(--space-sm) 0.5rem; font-weight: 800; font-size: 1.1rem; color: var(--color-dark); }
.mobile-drawer-head .mobile-drawer-title { padding: 0; }
.mobile-drawer .drawer-link { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; width: 100%; padding: 0.95rem var(--space-sm); border: 0; border-bottom: 1px solid var(--color-border); background: none; color: var(--color-dark); font-weight: 700; font-size: var(--text-sm); text-align: left; }
.mobile-drawer .drawer-link svg { width: 16px; height: 16px; stroke: var(--color-secondary); }
.mobile-drawer .drawer-link.see-all { color: var(--color-primary); }
.mobile-drawer .drawer-foot { margin-top: auto; }

/* ---- Quote basket drawer --------------------------------------------- */
.cart-window { position: fixed; top: 0; right: 0; bottom: 0; z-index: 320; display: flex; flex-direction: column; width: min(94vw, 420px); background: var(--color-white); box-shadow: var(--shadow-xl); transform: translateX(102%); transition: transform var(--transition-base); visibility: hidden; }
.cart-window.is-open { transform: translateX(0); visibility: visible; }
.cart-window-head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--color-border); }
.cart-window-head h3 { margin: 0; font-size: 1.1rem; }
.cart-window-pane { flex: 1; overflow-y: auto; padding: var(--space-sm) var(--space-md); }
.cart-empty { padding: var(--space-lg) 0; text-align: center; font-size: var(--text-sm); }
.cart-item { position: relative; display: grid; grid-template-columns: 56px 1fr auto; gap: 0.85rem; padding: var(--space-sm) 0; border-bottom: 1px solid var(--color-border); }
.cart-item-thumb { width: 56px; height: 56px; object-fit: contain; padding: 4px; border: 1px solid var(--color-border); border-radius: var(--profile-radius-sm); background: var(--color-white); }
.cart-item-name { font-weight: 700; font-size: var(--text-sm); color: var(--color-dark); line-height: 1.3; }
.cart-item-sku { font-size: 0.78rem; color: var(--color-text-muted); margin-top: 0.15rem; }
.cart-item-row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.5rem; }
.cart-item-total { font-weight: 700; color: var(--color-dark); font-variant-numeric: tabular-nums; }
.cart-item-remove { align-self: start; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--color-page); color: var(--color-text-muted); font-size: 1.1rem; line-height: 1; }
.cart-item-remove:hover { background: rgba(180, 35, 24, 0.1); color: var(--color-danger); }
.cart-window-foot { display: grid; gap: 0.6rem; padding: var(--space-sm) var(--space-md) var(--space-md); border-top: 1px solid var(--color-border); background: var(--color-page); }
.cart-window-foot .spec-list dd { text-align: right; color: var(--color-dark); }

/* ---- Toasts ------------------------------------------------------------ */
.isis-toast-region { position: fixed; right: var(--space-md); bottom: var(--space-md); z-index: 400; display: grid; gap: 0.5rem; }
.isis-toast-region .toast { animation: isis-toast-in 0.25s ease; transition: opacity 0.3s, transform 0.3s; }
.isis-toast-region .toast.is-leaving { opacity: 0; transform: translateY(8px); }
@keyframes isis-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---- Footer ------------------------------------------------------------ */
.site-footer { position: relative; background: var(--color-dark); color: rgba(255, 255, 255, 0.78); font-size: var(--text-sm); }
.site-footer-stripe { height: 6px; border-radius: 0; }
.site-footer .body-container { padding-top: var(--space-2xl); padding-bottom: var(--space-md); }
.site-footer-top { display: grid; grid-template-columns: minmax(240px, 4fr) minmax(0, 8fr); gap: var(--space-xl); padding-bottom: var(--space-xl); }
.site-footer-logo { display: inline-block; }
/* Site Options footer_logo is the dark logo (v1 inverted it with the same filter) */
.site-footer-logo img { display: block; width: 240px; max-width: 100%; height: auto; max-height: 72px; object-fit: contain; object-position: 0% 50%; filter: invert(1) saturate(0%); }
.site-footer-brand > * + * { margin-top: var(--space-md); }
.site-footer .contact-list a { color: rgba(255, 255, 255, 0.85); font-weight: 600; }
.site-footer .contact-list a:hover { color: var(--color-white); }
.site-footer .contact-list .isis-icon { color: var(--isis-grey); }
.site-footer-social { display: flex; align-items: center; gap: 0.6rem; }
.site-footer-social .icon-button { background: transparent; border-color: rgba(255, 255, 255, 0.35); color: var(--color-white); }
.site-footer-social .icon-button:hover { background: var(--color-white); border-color: var(--color-white); color: var(--color-dark); }
/* Uploaded icons are dark: show them white on the dark footer, dark again on the white hover state */
.site-footer-social .social-icon { width: 18px; height: 18px; object-fit: contain; filter: brightness(0) invert(1); transition: filter var(--transition-fast); }
.site-footer-social .icon-button:hover .social-icon { filter: brightness(0); }
.site-footer-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-lg); }
.site-footer-title { margin: 0 0 0.85rem; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-white); }
.site-footer-column ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }
.site-footer-column a, .site-footer-bottom a { color: rgba(255, 255, 255, 0.72); }
.site-footer-column a:hover, .site-footer-bottom a:hover { color: var(--color-white); }
.site-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-sm); padding-top: var(--space-md); border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: var(--text-xs); color: rgba(255, 255, 255, 0.55); }
.site-footer-accreds { margin: 0; gap: var(--space-sm); }
.site-footer-accreds .accred-logo { height: 40px; background: var(--color-white); border-radius: var(--profile-radius-sm); padding: 4px; }

/* ---- reCAPTCHA v3 badge (hidden; the required notice is added under each CF7 form) ---- */
.grecaptcha-badge { visibility: hidden !important; opacity: 0 !important; pointer-events: none; }
.recaptcha-notice { margin: 0; font-size: var(--text-xs); color: var(--color-text-muted); }
.recaptcha-notice a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.body-section.dark .recaptcha-notice { color: rgba(255, 255, 255, 0.6); }

/* ---- Carousel ---------------------------------------------------------- */
.isis-carousel { position: relative; }
.isis-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--space-md)) / 3); gap: var(--space-md); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px var(--space-sm); }
.isis-carousel-track::-webkit-scrollbar { display: none; }
.isis-carousel-track > * { scroll-snap-align: start; }
.isis-carousel.cols-4 .isis-carousel-track { grid-auto-columns: calc((100% - 3 * var(--space-md)) / 4); }
.isis-carousel.cols-5 .isis-carousel-track { grid-auto-columns: calc((100% - 4 * var(--space-md)) / 5); }
.isis-carousel.cols-1 .isis-carousel-track { grid-auto-columns: 100%; }
.isis-carousel-controls { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: var(--space-sm); }
.isis-carousel-controls .icon-button[disabled] { opacity: 0.35; pointer-events: none; }
.isis-carousel.is-static .isis-carousel-controls { display: none; }
.body-section.dark .isis-carousel-controls .icon-button { background: transparent; border-color: rgba(255, 255, 255, 0.3); color: var(--color-white); }

/* All cards: flex column with at least 12px between direct children */
.card-base { display: flex; flex-direction: column; row-gap: max(12px, 0.75rem); }

/* Category image card (child pages, division categories) */
.category-image-card { color: inherit; }
.category-image-card .card-title { color: var(--color-dark); }
.category-image-card:hover .card-title { color: var(--color-primary); }
.category-image-card .card-body { gap: 0.4rem; }
.category-image-card .text-link { margin-top: auto; text-decoration: none; font-size: var(--text-sm); }
.category-image-card .text-link svg { width: 14px; height: 14px; }
.category-image-card:hover .text-link svg { transform: translateX(3px); }

/* Product card: cutout background + brand */
.product-card .card-image.cutout { background: var(--color-white); padding: 12px 0 0; }
.product-card .card-badges { margin-bottom: -0.2rem; }
.product-card .badge, .single-product .card-badges .badge { text-transform: capitalize; letter-spacing: 0.01em; }
.product-card .card-brand { left: 0.75rem; right: auto; width: 64px; max-width: none; height: 48px; max-height: none; padding: 2px; object-fit: contain; object-position: left top; background: var(--color-white); border-radius: 4px; }
.product-card .card-footer .stock { font-size: var(--text-xs); }
.product-card .spec-list { gap: 0; font-size: var(--text-xs); }
.product-card .spec-list dt, .product-card .spec-list dd { padding: 0.35rem 0; border-bottom: 1px solid var(--color-border); }
.product-card .spec-list dd { overflow: hidden; text-overflow: ellipsis; padding-left: 1rem; }
.product-card .card-body, .product-card .card-footer { padding: var(--space-sm); }
.product-grid { align-items: stretch; }

/* ---- Forms (Contact Form 7 mapped onto base form styles) ------------- */
.wpcf7 form { display: grid; gap: var(--space-sm); }
.wpcf7 form p { margin: 0; }
.wpcf7 label { display: grid; gap: 0.4rem; font-size: var(--text-sm); font-weight: 700; color: var(--color-dark); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="number"], .wpcf7 input[type="url"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea {
  width: 100%; min-height: 3rem; padding: 0.7rem 1rem; border: 1px solid var(--color-border-strong); border-radius: var(--profile-radius-sm); background: var(--color-white); color: var(--color-text); font-size: var(--text-base); font-weight: 400;
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}
.wpcf7 textarea { min-height: 8rem; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.15); }
.wpcf7 input[type="submit"], .wpcf7 button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0.75rem 1.75rem; border: 1px solid var(--color-primary); border-radius: var(--profile-button-radius); background: var(--color-primary); color: var(--color-white); font-weight: 700; cursor: pointer; transition: var(--profile-hover-transition); }
.wpcf7 input[type="submit"]:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); }
.wpcf7 input[type="submit"]:disabled { opacity: 0.6; cursor: wait; }
.wpcf7 .wpcf7-list-item { margin: 0 1rem 0 0; }
.wpcf7 .wpcf7-acceptance label, .wpcf7 .wpcf7-checkbox label, .wpcf7 .wpcf7-radio label { display: inline-flex; align-items: flex-start; gap: 0.5rem; font-weight: 500; }
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--color-primary); }
.wpcf7-not-valid { border-color: var(--color-danger) !important; }
.wpcf7-not-valid-tip { margin-top: 0.3rem; font-size: var(--text-xs); color: var(--color-danger); font-weight: 600; }
.wpcf7 form .wpcf7-response-output { margin: 0; padding: var(--space-sm); border-radius: var(--profile-radius-md); border: 1px solid var(--color-border); font-size: var(--text-sm); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: rgba(180, 35, 24, 0.4); background: rgba(180, 35, 24, 0.05); color: var(--color-danger); }
.wpcf7 form.sent .wpcf7-response-output { border-color: rgba(33, 137, 74, 0.4); background: rgba(33, 137, 74, 0.06); color: var(--color-success); }
.wpcf7-spinner { margin: 0 0 0 0.5rem; }
.body-section.dark .wpcf7 label { color: var(--color-white); }

/* ---- Product archive (filters) --------------------------------------- */
.product-archive { position: relative; }
.product-archive-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--space-lg); align-items: start; }
.product-archive .filter-panel { position: sticky; top: calc(var(--header-pinned) + var(--space-sm)); max-height: calc(100vh - var(--header-pinned) - 2 * var(--space-sm)); overflow-y: auto; }
.product-archive .filter-panel-actions { display: inline-flex; align-items: center; gap: 0.75rem; }
.product-archive .filter-panel-close { display: none; border: 0; background: none; padding: 0.25rem; color: var(--color-dark); }
.product-archive .filter-panel-close svg { width: 20px; height: 20px; }
.product-archive .filter-search { padding: var(--space-sm); }
.product-archive .filter-search .search-bar-input { min-height: 2.6rem; }
.product-archive .filter-group .form-checkbox.is-extra { display: none; }
.product-archive .filter-group.show-all .form-checkbox.is-extra { display: flex; }
.product-archive .filter-group .form-checkbox.is-empty { opacity: 0.5; }
.product-archive .filter-more { align-self: flex-start; border: 0; background: none; padding: 0; color: var(--color-primary); font-size: var(--text-xs); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.product-archive .filter-panel-foot { position: sticky; bottom: 0; padding: var(--space-sm); background: var(--color-white); border-top: 1px solid var(--color-border); }
.product-archive.is-enhanced .filter-panel-foot { display: none; }
.product-archive .filter-toggle { display: none; }
.product-archive .results-meta { flex-wrap: nowrap; }
.product-archive .filter-chip a { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--color-dark); color: var(--color-white); font-size: 0.7rem; line-height: 1; }
.product-archive .filter-chip a:hover { background: var(--color-danger); }
.product-archive-results { min-height: 320px; transition: opacity var(--transition-fast); }
.product-archive.is-loading .product-archive-results { opacity: 0.45; pointer-events: none; }
.product-archive.is-loading::after { content: ''; position: absolute; top: 120px; left: calc(50% + 130px); width: 36px; height: 36px; border: 3px solid var(--color-border); border-top-color: var(--color-primary); border-radius: 50%; animation: isis-spin 0.8s linear infinite; }
@keyframes isis-spin { to { transform: rotate(360deg); } }
.product-archive-empty { margin-top: var(--space-md); }

/* ---- Single product --------------------------------------------------- */
.product-hero { display: grid; grid-template-columns: minmax(0, 3.5fr) minmax(0, 8.5fr); gap: var(--space-lg); align-items: start; }
.product-gallery { position: sticky; top: calc(var(--header-pinned) + var(--space-md)); }
.product-gallery-main { position: relative; display: grid; place-items: center; aspect-ratio: 1; padding: 8%; border: 1px solid var(--color-border); border-radius: var(--profile-radius-lg); background: var(--color-white); }
.product-gallery-main img { max-height: 100%; width: auto; object-fit: contain; }
.product-gallery-brand { position: absolute; top: 0.75rem; left: 0.75rem; z-index: 2; display: block; }
.product-gallery-brand img { display: block; width: 72px; height: 52px; padding: 2px; object-fit: contain; object-position: left top; background: var(--color-white); border-radius: 4px; }
.product-summary { display: grid; gap: var(--space-sm); }
.product-summary h1 { margin: 0; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.2rem); }
.product-summary .lead { margin: 0; }
.product-summary .product-intro > * + * { margin-top: 0.5rem; }
.product-readmore .readmore-body > * { margin: 0; }
.product-readmore .readmore-body > * + * { margin-top: 0.75rem; }
.product-readmore.is-clamped .readmore-body { max-height: 3.2em; max-height: 2lh; overflow: hidden; }
.product-readmore .readmore-toggle { margin-top: 0.25rem; padding: 0; border: 0; background: none; font-size: var(--text-sm); cursor: pointer; }
.key-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--color-border); border-radius: var(--profile-radius-md); overflow: hidden; font-size: var(--text-sm); }
.key-specs__item { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); border-bottom: 1px solid var(--color-border); }
.key-specs__item:nth-child(odd) { border-right: 1px solid var(--color-border); }
.key-specs__item:nth-last-child(-n+2):nth-child(odd), .key-specs__item:last-child { border-bottom: 0; }
.key-specs dt, .key-specs dd { margin: 0; padding: 0.4rem 0.85rem; }
.key-specs dt { font-weight: 700; color: var(--color-dark); background: var(--color-page); }
.key-specs dd { color: var(--color-text); }
.buy-box { display: grid; gap: var(--space-md); padding: var(--space-md); border: 1px solid var(--color-border); border-radius: var(--profile-radius-lg); background: var(--color-page); }
.buy-box .form-label { display: block; margin-bottom: 0.5rem; }
.buy-box-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.buy-box-price { font-size: 2rem; font-weight: 700; color: var(--color-primary); line-height: 1; }
.buy-box-price small { margin-left: 0.35rem; font-size: 0.85rem; font-weight: 600; color: var(--color-text-muted); }
.buy-box-price .eur { display: block; margin-top: 0.35rem; font-size: 0.9rem; font-weight: 600; color: var(--color-text-muted); }
.buy-box.is-poa .buy-box-price small, .buy-box.is-poa .buy-box-price .eur { display: none; }
.buy-box-cta { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: center; }
.buy-box-cta .main-button.is-loading { opacity: 0.7; }
.buy-box .option-group { max-height: 220px; overflow-y: auto; }
.buy-box-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; font-size: var(--text-sm); }
.product-enquire { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.5rem 1rem; padding: 0.75rem var(--space-md); border: 1px solid var(--color-border); border-radius: var(--profile-radius-lg); background: var(--color-white); }
.product-enquire__text { display: grid; gap: 0.5rem; }
.product-enquire .button-holder { margin: 0; }
.product-tabs { margin-top: var(--space-lg); }
.product-tabs .tab-panel { scroll-margin-top: 140px; }
.product-features-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
.product-features-grid h3 { font-size: 1.1rem; }
.feature-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; font-size: var(--text-sm); }
.feature-list li { position: relative; padding-left: 1.6rem; }
.feature-list li::before { content: ''; position: absolute; left: 0; top: 0.2em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: rgba(33, 137, 74, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2321894a' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 60% no-repeat; }
.product-pricing-intro { display: grid; gap: 0.75rem; margin-bottom: var(--space-md); }
.data-table .qty-stepper input { width: 3rem; }
.data-table .main-button.is-loading { opacity: 0.7; }
.data-table td.desc { min-width: 220px; }
.feature-list.is-optional li::before { content: '?'; display: grid; place-items: center; background: rgba(5, 65, 128, 0.12); color: var(--brand-blue); font-size: 0.7rem; font-weight: 800; line-height: 1; }
.also-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-md); }
.product-downloads { max-width: 560px; }

/* ---- Pagination (blog / search, WP paginate_links) -------------------- */
.pagination .page-numbers { display: grid; place-items: center; min-width: 2.5rem; height: 2.5rem; padding: 0 0.6rem; border: 1px solid var(--color-border); border-radius: var(--profile-radius-sm); background: var(--color-white); color: var(--color-dark); font-size: var(--text-sm); font-weight: 700; }
.pagination .page-numbers.current { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }
.pagination .page-numbers.dots { border: 0; background: none; }
.pagination a.page-numbers:hover { border-color: var(--color-primary); color: var(--color-primary); }

/* ---- Responsive ------------------------------------------------------- */
@media (max-width: 1100px) {
  .also-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mega-menu-inner { grid-template-columns: 240px 1fr; }
  .primary-nav .nav-link { padding: 0 0.8rem; }
}
@media (max-width: 991px) {
  html { scroll-padding-top: 90px; }
  :root { --header-pinned: 72px; }
  .site-header .menu-toggle, .site-header .search-toggle { display: grid; }
  .site-header .header-catalogue { display: none; }
  .site-header .main-bar .body-container { gap: var(--space-sm); min-height: 72px; }
  .site-header.search-open .header-search { display: flex; position: absolute; inset: 0; z-index: 5; max-width: none; margin: 0; padding: 0 var(--container-padding); background: var(--color-white); align-items: center; }
  .site-header.search-open .header-search .search-close { display: flex; right: calc(var(--container-padding) + 0.5rem); }
  .site-header.search-open .search-bar-icon { left: calc(var(--container-padding) + 1.1rem); }
  .site-header .main-bar { position: relative; }
  .page-hero .body-container { grid-template-columns: 1fr; }
  .page-hero-media { max-width: 520px; }
  .site-footer-top { grid-template-columns: 1fr; }
  .product-archive-layout { grid-template-columns: 1fr; }
  .product-archive .filter-toggle { display: inline-flex; justify-self: start; }
  .product-archive .filter-panel { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 330; max-height: 85vh; border-radius: var(--profile-radius-lg) var(--profile-radius-lg) 0 0; box-shadow: var(--shadow-xl); transform: translateY(105%); transition: transform var(--transition-base); }
  .product-archive.filters-open .filter-panel { transform: translateY(0); }
  .product-archive.filters-open::before { content: ''; position: fixed; inset: 0; z-index: 325; background: rgba(1, 20, 65, 0.45); }
  .product-archive .filter-panel-close { display: grid; }
  .product-archive .filter-panel-head { position: sticky; top: 0; z-index: 2; background: var(--color-white); }
  .product-archive.is-enhanced .filter-panel-foot { display: block; }
  .product-archive.is-loading::after { left: 50%; }
  .product-hero { grid-template-columns: 1fr; }
  .product-gallery { position: static; max-width: 340px; }
  .isis-carousel-track, .isis-carousel.cols-4 .isis-carousel-track, .isis-carousel.cols-5 .isis-carousel-track { grid-auto-columns: calc((100% - var(--space-md)) / 2); }
  .also-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .site-header .utility-bar { display: none; }
  :root { --header-stick: 0px; --header-pinned: 72px; }
  .site-header .logo img { height: 40px; }
  .site-header .icon-button { width: 40px; height: 40px; }
  .results-bar .flex { width: 100%; justify-content: space-between; }
  .product-features-grid { grid-template-columns: 1fr; }
  .buy-box-cta { grid-template-columns: 1fr; }
  .product-enquire { grid-template-columns: 1fr; }
  .key-specs { grid-template-columns: 1fr; }
  .key-specs__item:nth-child(odd) { border-right: 0; }
  .key-specs__item:nth-last-child(-n+2):nth-child(odd) { border-bottom: 1px solid var(--color-border); }
  .buy-box-cta .qty-stepper { justify-self: start; }
  .isis-carousel-track, .isis-carousel.cols-4 .isis-carousel-track, .isis-carousel.cols-5 .isis-carousel-track { grid-auto-columns: 82%; }
  .also-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
  .isis-toast-region { left: var(--space-sm); right: var(--space-sm); bottom: var(--space-sm); }
  .site-footer-bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 479px) {
  .site-header .logo img { height: 34px; max-width: 150px; }
  .product-archive .main-button.filter-toggle { width: auto; }
  .also-grid { grid-template-columns: 1fr; }
}
@media (max-width: 782px) { body.admin-bar .site-header { top: calc(46px + var(--header-stick)); } }
@media (max-width: 600px) { body.admin-bar .site-header { top: var(--header-stick); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
/* ==========================================================================
   05 · Products block, category page block, single product extras
   ========================================================================== */
.body-section.products-block, .body-section.category-page, .body-section.single-product { padding-top: calc(var(--profile-section-padding) / 3); }
.products-block__head, .category-page__head { display: grid; gap: var(--space-sm); margin-bottom: var(--space-lg); }
.products-block__head .title-holder, .category-page__head .title-holder { margin-bottom: 0; }
.category-page__intro { max-width: 820px; color: var(--color-text-muted); }
.category-page__grid { margin-top: var(--space-md); }
/* Category page cards: 6 across (as live), condensing 5 > 4 > 3 > 2 */
.category-page__grid.grid-4 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-sm); }
.category-page__grid .category-image-card { border: 1px solid var(--dark-blue); }
.category-page__grid .category-image-card:hover { border-color: var(--dark-blue); }
.category-page__grid .category-image-card .card-image.cutout { padding: 0; }
.category-page__grid .category-image-card .card-body { padding: var(--space-sm); }
.category-page__grid .category-image-card .card-title { font-size: 1rem; }
.category-page__lower { max-width: 860px; margin-top: var(--space-2xl); padding-top: var(--space-xl); border-top: 1px solid var(--color-border); }

.price-from { font-size: var(--text-xs); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.single-product .product-help { display: flex; align-items: center; gap: 0.5rem; margin: 0; }
.single-product .product-help .isis-icon { color: var(--color-accent); }
.single-product .product-spec-full { max-width: 760px; }
.single-product .product-tabs { scroll-margin-top: 96px; }
.single-product .spec-table td { color: var(--color-text); }

@media (max-width: 1439px) {
  .category-page__grid.grid-4 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .category-page__grid.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .category-page__grid.grid-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
  .category-page__grid.grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-page__grid .category-image-card .card-title { font-size: 0.95rem; }
}
/* ==========================================================================
   ISIS Fluids v2 — theme layer
   10 · Home & marketing blocks
   home_header, new_home_header, about_us, benefits, brands, divisions,
   new_divisions, division_categories, timeline,
   catalogue_request, catalogue
   ========================================================================== */

/* ---- home_header (video hero) ----------------------------------------- */
.home-header { position: relative; overflow: hidden; display: flex; align-items: center; min-height: min(78vh, 720px); padding: calc(var(--profile-section-padding) * 1.1) 0; background: var(--color-dark); color: var(--color-white); }
.home-header .background-image { z-index: 0; }
.home-header__video { z-index: 0; }
.home-header__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(1, 20, 65, 0.9) 0%, rgba(1, 20, 65, 0.7) 45%, rgba(1, 20, 65, 0.2) 100%); }
.home-header .body-container { position: relative; z-index: 2; }
.home-header__content { max-width: 640px; }
.home-header__content > * + * { margin-top: var(--space-sm); }
.home-header .pre-title { margin-bottom: 0; color: var(--isis-grey); }
.home-header__title { margin: 0; color: var(--color-white); font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.6rem); }
.home-header__stripe { width: 120px; height: 5px; }
.home-header__text { color: rgba(255, 255, 255, 0.85); font-size: 1.1rem; }
.home-header__text a { color: var(--color-white); }
.home-header .button-holder { margin-top: var(--space-md); }
.home-header__toggle { position: absolute; right: var(--space-md); bottom: var(--space-md); z-index: 3; width: 40px; height: 40px; background: rgba(1, 20, 65, 0.5); border-color: rgba(255, 255, 255, 0.3); color: var(--color-white); }
.home-header__toggle:hover { background: var(--color-white); color: var(--color-dark); border-color: var(--color-white); }
.home-header__icon-play, .home-header__toggle.is-paused .home-header__icon-pause { display: none; }
.home-header__toggle.is-paused .home-header__icon-play { display: block; }

/* ---- new_home_header (split hero + slider) ------------------------------ */
.new-home-header { overflow: hidden; background: linear-gradient(180deg, var(--color-white) 0%, var(--color-light) 100%); padding-top: calc(var(--profile-section-padding) * 0.9); }
.new-home-header__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
.new-home-header__content > * + * { margin-top: var(--space-sm); }
.new-home-header .pre-title { margin-bottom: 0; }
.new-home-header__title { margin: 0; font-size: clamp(2.1rem, 1.5rem + 2.2vw, 3.4rem); }
.new-home-header__stripe { width: 120px; height: 5px; }
.new-home-header__text { color: var(--color-text-muted); font-size: 1.1rem; max-width: 560px; }
.new-home-header__media { position: relative; }
.new-home-header__stripes { position: absolute; top: 45%; left: 45%; right: -100vw; z-index: 0; display: flex; flex-direction: column; gap: 16px; transform: translateY(-50%); pointer-events: none; }
.new-home-header__stripes span { height: 16px; }
.new-home-header__stripes span:nth-child(1) { background: var(--brand-blue); }
.new-home-header__stripes span:nth-child(2) { background: var(--brand-green); }
.new-home-header__stripes span:nth-child(3) { background: var(--brand-brown); }
.new-home-header__stripes span:nth-child(4) { background: var(--brand-cyan); }
.new-home-header__slider { position: relative; z-index: 1; }
.new-home-header__slider .isis-carousel-track { padding: 0; }
.new-home-header__slide { position: relative; margin: 0; aspect-ratio: 1; max-height: 520px; background: transparent; }
.new-home-header__image { width: 100%; height: 100%; object-fit: contain; }
.new-home-header__caption { position: absolute; left: var(--space-sm); bottom: var(--space-sm); padding: 0.35rem 0.75rem; border-radius: var(--profile-radius-pill); background: rgba(255, 255, 255, 0.92); color: var(--color-dark); font-size: var(--text-xs); font-weight: 700; }
.new-home-header__slider .isis-carousel-controls { position: relative; z-index: 2; }

/* ---- about_us ----------------------------------------------------------- */
.about-us__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-2xl); }
.about-us__media { position: relative; padding-left: var(--space-md); }
.about-us__media.has-inset { padding-bottom: var(--space-xl); }
.about-us__stripe.division-stripe { position: absolute; left: 0; top: 10%; height: 80%; width: 6px; }
.about-us__frame { aspect-ratio: 4 / 5; border-radius: var(--profile-radius-lg); overflow: hidden; border: 1px solid var(--color-border); background: var(--color-light); }
.about-us__image { width: 100%; height: 100%; object-fit: cover; }
.about-us__inset { position: absolute; right: calc(var(--space-md) * -1); bottom: 0; width: 42%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 6px solid var(--color-white); box-shadow: var(--shadow-lg); background: var(--color-white); }
.about-us__inset img { width: 100%; height: 100%; object-fit: cover; }
.about-us__content .title-holder { margin-bottom: var(--space-md); }
.body-section.dark .about-us__inset { border-color: var(--color-dark); }

/* ---- benefits ----------------------------------------------------------- */
.benefits .accred-logos { justify-content: center; margin-top: 0; margin-bottom: var(--space-lg); }
.benefits__grid { align-items: stretch; }
.benefits__card { row-gap: max(12px, 0.75rem); padding: var(--space-md); border-top: 4px solid var(--color-accent); }
.benefits__card.is-dark { background: var(--color-dark); border-color: var(--color-dark); border-top-color: var(--brand-cyan); color: rgba(255, 255, 255, 0.82); }
.benefits__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 0.25rem; border-radius: var(--profile-radius-md); background: var(--color-light); color: var(--color-primary); }
.benefits__glyph { width: 28px; height: 28px; background: currentColor; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.benefits__icon svg { width: 26px; height: 26px; }
.benefits__card.is-dark .benefits__icon { background: rgba(255, 255, 255, 0.08); color: var(--color-white); }
.benefits__title { margin: 0; font-size: 1.1rem; }
.benefits__card.is-dark .benefits__title { color: var(--color-white); }
.benefits__text { font-size: var(--text-sm); color: var(--color-text-muted); }
.benefits__card.is-dark .benefits__text { color: rgba(255, 255, 255, 0.78); }
.benefits { padding-bottom: calc(var(--profile-section-padding) + 6px); }

/* ---- brands ------------------------------------------------------------- */
.brands__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.brands__track { display: flex; align-items: center; gap: var(--space-md); width: max-content; margin: 0; padding: var(--space-xs) 0; list-style: none; animation: brands-marquee var(--brands-duration, 40s) linear infinite; }
.brands__marquee:hover .brands__track { animation-play-state: paused; }
.brands__logo { display: grid; place-items: center; width: 170px; height: 88px; padding: var(--space-sm); border: var(--profile-card-border); border-radius: var(--profile-radius-md); background: var(--color-white); }
.body-section.brand-carousel { padding-top: 0; background: var(--color-light); } /* merges into the new home header gradient above */
.brands__logo, .brands__logo a { grid-template: minmax(0, 1fr) / minmax(0, 1fr); }
.brands__logo img { width: 100%; height: 100%; object-fit: contain; }
.brands__logo a { display: grid; width: 100%; height: 100%; }
@keyframes brands-marquee { to { transform: translateX(calc(-50% - var(--space-md) / 2)); } }
.brands__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--space-sm); }
.brands__card { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; padding: var(--space-sm) var(--space-md); color: var(--color-dark); }
.brands__card-logo { max-width: 100%; max-height: 100%; object-fit: contain; }
.brands__card-name { font-weight: 700; font-size: var(--text-sm); text-align: center; }
@media (prefers-reduced-motion: reduce) {
  .brands__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .brands__logo[aria-hidden="true"] { display: none; }
  .brands__marquee { -webkit-mask-image: none; mask-image: none; }
}

/* ---- divisions ---------------------------------------------------------- */
.divisions__card, .new-divisions__card, .division-categories__card { --card-accent: var(--brand-blue); }
.divisions__card.is-green, .new-divisions__card.is-green, .division-categories__card.is-green { --card-accent: var(--brand-green); }
.divisions__card.is-brown, .new-divisions__card.is-brown, .division-categories__card.is-brown { --card-accent: var(--brand-brown); }
.divisions__card.is-cyan, .new-divisions__card.is-cyan, .division-categories__card.is-cyan { --card-accent: var(--brand-cyan); }
/* Engineering uses the card's own --card-accent (no override) */
.divisions__grid { align-items: stretch; }
.divisions__card { row-gap: max(12px, 0.75rem); padding: var(--space-md); padding-top: calc(var(--space-md) + 6px); color: var(--color-text); }
.divisions__card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: var(--card-accent); }
.divisions__title { margin: 0; font-size: 1.2rem; color: var(--color-dark); }
.divisions__text { font-size: var(--text-sm); color: var(--color-text-muted); }
.divisions__link { margin-top: auto; font-size: var(--text-sm); text-decoration: none; color: var(--card-accent); }
a.divisions__card:hover .divisions__title { color: var(--card-accent); }
a.divisions__card:hover .divisions__link svg { transform: translateX(3px); }

/* ---- new_divisions ------------------------------------------------------ */
.new-divisions__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-md); align-items: stretch; }
.new-divisions__grid.count-1 { grid-template-columns: minmax(0, 360px); justify-content: center; }
.new-divisions__grid.count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.new-divisions__grid.count-3, .new-divisions__grid.count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.new-divisions__grid.count-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.new-divisions__card { text-align: center; color: var(--color-text); }
.new-divisions__logo { display: grid; place-items: center; min-height: 120px; padding: var(--space-md); border-bottom: 1px solid var(--color-border); background: var(--color-white); }
.new-divisions__logo img { max-height: 72px; width: auto; object-fit: contain; }
.new-divisions__name { font-weight: 800; font-size: 1.2rem; color: var(--color-dark); }
.new-divisions__text { flex: 1; padding: var(--space-sm) var(--space-md); font-size: var(--text-sm); color: var(--color-text-muted); }
.new-divisions__foot { display: flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 48px; padding: 0.5rem var(--space-sm); background: var(--card-accent); color: var(--color-white); font-size: var(--text-sm); font-weight: 700; }
.new-divisions__foot svg { width: 1em; height: 1em; transition: transform var(--transition-fast); }
.new-divisions__card.is-engineering { --card-accent: var(--engineering); }
.new-divisions__card.is-engineering .new-divisions__foot { color: var(--color-dark); }
.new-divisions__card:hover .new-divisions__foot svg { transform: translateX(3px); }

/* ---- division_categories ------------------------------------------------ */
.division-categories { padding-bottom: calc(var(--profile-section-padding) + 6px); }
.division-categories__grid { align-items: stretch; }
.division-categories__card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; z-index: 3; height: 4px; background: var(--card-accent); }
.division-categories__card .text-link { color: var(--card-accent); }
.division-categories__card:hover .card-title { color: var(--card-accent); }

/* ---- timeline ----------------------------------------------------------- */
.timeline .title-holder h1.pre-title { font-size: var(--text-xs); line-height: 1.4; letter-spacing: 0.12em; margin: 0 0 0.75rem; color: var(--color-accent); }
.timeline__text { max-width: 1000px; margin: 0 auto; column-count: 2; column-gap: var(--space-xl); text-align: left; }
.timeline__text > * { break-inside: avoid-column; }
.timeline__middle { margin: var(--space-lg) 0 0; text-align: center; font-size: 1.1rem; color: var(--color-dark); }
.timeline__media { margin-top: var(--space-lg); }
.timeline__image { width: 100%; height: auto; border-radius: var(--profile-radius-lg); border: 1px solid var(--color-border); background: var(--color-white); }

/* ---- catalogue_request -------------------------------------------------- */
.catalogue-request { overflow-x: clip; }
.catalogue-request__panel { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: var(--space-xl); padding: var(--space-lg) var(--space-xl) var(--space-lg) 0; border-radius: 0 0 120px 0; background: var(--color-dark); color: rgba(255, 255, 255, 0.82); }
.catalogue-request__panel.has-image { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.catalogue-request__panel::before { content: ''; position: absolute; top: 0; bottom: 0; right: 100%; width: 100vw; background: inherit; pointer-events: none; }
.catalogue-request__content { position: relative; z-index: 1; }
.catalogue-request__content > * + * { margin-top: var(--space-sm); }
.catalogue-request__title { margin: 0; color: var(--color-white); }
.catalogue-request__stripe { width: 96px; height: 4px; }
.catalogue-request__panel .text-content { color: rgba(255, 255, 255, 0.82); }
.catalogue-request__panel .text-content a { color: var(--color-white); }
.catalogue-request__media { position: relative; z-index: 1; align-self: stretch; min-height: 200px; }
.catalogue-request__media img { position: absolute; top: -70px; left: 0; width: 100%; height: calc(100% + 140px); object-fit: contain; }

/* ---- catalogue (request form) ------------------------------------------ */
.catalogue { scroll-margin-top: 120px; }
.catalogue__form { padding: var(--space-lg); }
.catalogue__form:hover { transform: none; }
.catalogue__form::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--brand-blue) 0 25%, var(--brand-green) 25% 50%, var(--brand-brown) 50% 75%, var(--brand-cyan) 75% 100%); }
.catalogue .catalogue__form .wpcf7 label { color: var(--color-dark); }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 991px) {
  .home-header { min-height: 0; }
  .new-home-header__grid, .about-us__grid { grid-template-columns: 1fr; gap: var(--space-xl); }
  .new-home-header__media { max-width: 620px; }
  .about-us__media { max-width: 520px; }
  .about-us__inset { right: 0; }
  .new-divisions__grid, .new-divisions__grid.count-5, .new-divisions__grid.count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .new-divisions__grid.count-2, .new-divisions__grid.count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalogue-request__panel.has-image { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: var(--space-lg); padding-right: var(--space-lg); border-bottom-right-radius: 80px; }
}
@media (max-width: 767px) {
  .home-header { padding: var(--space-2xl) 0 var(--space-xl); }
  .home-header__overlay { background: linear-gradient(180deg, rgba(1, 20, 65, 0.65) 0%, rgba(1, 20, 65, 0.9) 100%); }
  .home-header__toggle { right: var(--space-sm); bottom: var(--space-sm); }
  .new-home-header__stripes { left: 50%; gap: 10px; }
  .new-home-header__stripes span { height: 10px; }
  .about-us__media { padding-left: var(--space-sm); }
  .about-us__inset { width: 38%; border-width: 4px; }
  .new-divisions__grid, .new-divisions__grid.count-2, .new-divisions__grid.count-3, .new-divisions__grid.count-4, .new-divisions__grid.count-5, .new-divisions__grid.count-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
  .timeline__text { column-count: 1; }
  .catalogue-request__panel, .catalogue-request__panel.has-image { grid-template-columns: 1fr; gap: var(--space-md); padding-right: var(--space-md); border-bottom-right-radius: var(--space-2xl); }
  .catalogue-request__media { order: -1; max-width: 320px; min-height: 0; }
  .catalogue-request__media img { position: static; height: auto; margin-top: -70px; }
  .catalogue__form { padding: var(--space-md); }
  .benefits__grid, .division-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
  .brands__logo { width: 140px; height: 76px; }
}
@media (max-width: 479px) {
  .new-divisions__grid, .new-divisions__grid.count-2, .new-divisions__grid.count-3, .new-divisions__grid.count-4, .new-divisions__grid.count-5, .new-divisions__grid.count-6 { grid-template-columns: 1fr; }
  .brands__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefits__grid, .division-categories__grid { grid-template-columns: 1fr; }
  .home-header .button-holder .main-button, .new-home-header .button-holder .main-button { flex: 0 1 auto; width: 100%; }
}
/* ==========================================================================
   ISIS Fluids v2 — theme layer
   20 · Content blocks: text_block, page_head, text_page, page_redirect, faqs,
   blog_faqs, page_form, resources, brochures_page, recent_posts, blog_archive,
   blog_editor, blog_products, categories, product_categories,
   custom_category_block, product_carousel
   (html has no styles: it outputs client HTML unwrapped.)
   ========================================================================== */

/* ---- text_block ---------------------------------------------------------- */
.text-block__simple { max-width: var(--container-narrow); margin: 0 auto; text-align: center; }
.text-block__simple .title-holder { margin-bottom: var(--space-md); }
.text-block__simple .text-block__text { text-align: left; }
.text-block__simple .text-block__text > p:only-child { text-align: center; }
.text-block__accreds { justify-content: center; margin-top: 0; }
.text-block__columns { gap: var(--space-xl); }
.text-block__columns.no-image { grid-template-columns: minmax(0, 1fr); max-width: var(--container-narrow); }
.text-block__media { position: relative; }
.text-block__media::after { content: ''; position: absolute; left: var(--space-md); right: var(--space-md); bottom: -6px; height: 6px; border-radius: var(--profile-radius-pill); background: linear-gradient(90deg, var(--brand-blue) 0 25%, var(--brand-green) 25% 50%, var(--brand-brown) 50% 75%, var(--brand-cyan) 75%); }
.text-block__image { width: 100%; aspect-ratio: var(--profile-image-aspect); object-fit: cover; border: var(--profile-card-border); border-radius: var(--profile-radius-lg); background: var(--color-white); }
.text-block__content .title-holder { margin-bottom: var(--space-sm); }
.text-block.is-page-head .title-holder h1.pre-title { font-size: var(--text-xs); line-height: 1.4; letter-spacing: 0.12em; margin-bottom: 0.75rem; }

/* ---- page_head (extends .page-hero from 00-core) ------------------------- */
.page-head .page-hero-content .button-holder { margin-top: var(--space-md); }
.page-head.dark { padding-top: calc(var(--profile-section-padding) * 0.9); padding-bottom: calc(var(--profile-section-padding) * 0.9); }
.page-head.dark .page-hero-content { max-width: 720px; }
.page-head.dark .text-content { color: rgba(255, 255, 255, 0.85); }
.page-head.dark a:not(.main-button) { color: var(--color-white); }
.page-head .page-hero-media::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, var(--brand-blue) 0 25%, var(--brand-green) 25% 50%, var(--brand-brown) 50% 75%, var(--brand-cyan) 75%); }

/* ---- text_page ----------------------------------------------------------- */
.text-page__inner { max-width: var(--container-narrow); }
.text-page__inner .title-holder { margin-bottom: var(--space-md); }
.text-page__content { font-size: var(--text-base); }
.text-page__content h2 { font-size: 1.4rem; }
.text-page__content h3 { font-size: 1.15rem; }

/* ---- page_redirect (editor notice / noscript) ---------------------------- */
.page-redirect { margin: var(--space-sm) 0; }
.page-redirect code { font-family: var(--font-mono); font-size: 0.85em; word-break: break-all; }

/* ---- faqs ---------------------------------------------------------------- */
.faqs__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-xl); align-items: start; }
.faqs__layout.no-intro { grid-template-columns: minmax(0, 1fr); max-width: var(--container-narrow); margin: 0 auto; }
.faqs__layout.no-intro .faqs__intro { display: none; }
.faqs__intro { position: sticky; top: calc(var(--header-pinned, 0px) + var(--space-md)); }
.faqs__intro .title-holder { margin-bottom: 0; }
.faqs__list { padding: var(--space-xs) var(--space-md); border: var(--profile-card-border); border-radius: var(--profile-radius-lg); background: var(--color-white); box-shadow: var(--profile-card-shadow); }
.faqs__list .faq-item:last-child { border-bottom: 0; }
.faqs .faq-question { padding: calc(var(--space-sm) * 1.1) 0; }
.body-section.dark .faqs__list .faq-question { color: var(--color-dark); }
.body-section.dark .faqs__list .faq-answer-inner { color: var(--color-text-muted); }

/* ---- blog_faqs ----------------------------------------------------------- */
.blog-faqs { margin: var(--space-lg) 0; padding: var(--space-md); border: var(--profile-card-border); border-top: 4px solid var(--color-accent); border-radius: var(--profile-radius-md); background: var(--color-white); }
.blog-faqs__title { margin-bottom: var(--space-xs); font-size: 1.4rem; }
.blog-faqs .faq-item:last-child { border-bottom: 0; }

/* ---- page_form ----------------------------------------------------------- */
.page-form { background: var(--color-light); scroll-margin-top: 120px; }
.page-form__layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-xl); align-items: start; }
.page-form__intro .title-holder { margin-bottom: var(--space-sm); }
.page-form__text { color: var(--color-text-muted); }
.page-form__contacts { margin-top: var(--space-md); gap: 0.75rem; }
.page-form__contacts a { font-size: 1.05rem; color: var(--color-dark); }
.page-form__contacts .isis-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; margin-top: -0.35rem; padding: 0.5rem; border-radius: var(--profile-radius-sm); background: var(--color-white); border: var(--profile-card-border); }
.page-form__hours { display: flex; gap: 0.75rem; margin-top: var(--space-md); padding: var(--space-sm); border: var(--profile-card-border); border-radius: var(--profile-radius-md); background: var(--color-white); font-size: var(--text-sm); color: var(--color-text-muted); }
.page-form__hours > .isis-icon { width: 1.25rem; height: 1.25rem; margin-top: 0.1rem; color: var(--color-accent); }
.page-form__hours strong { display: block; margin-bottom: 0.2rem; color: var(--color-dark); }
.page-form__card { position: relative; overflow: hidden; border: var(--profile-card-border); border-radius: var(--profile-radius-lg); background: var(--color-white); box-shadow: var(--shadow-md); }
.page-form__stripe { height: 6px; border-radius: 0; }
.page-form__form { padding: var(--space-lg); }

/* ---- resources ----------------------------------------------------------- */
.resources { --resources-accent: var(--color-primary); }
.resources--fluid { --resources-accent: var(--brand-blue); }
.resources--steam { --resources-accent: var(--brand-brown); }
.resources--energy { --resources-accent: var(--brand-green); }
.resources--pure-process { --resources-accent: var(--brand-cyan); }
.resources__grid { align-items: start; }
.resources__card:hover { transform: none; }
.resources__head { display: flex; align-items: center; gap: 0.6rem; padding: var(--space-sm) var(--space-md); background: var(--resources-accent); color: var(--color-white); }
.resources__head .isis-icon { width: 1.25rem; height: 1.25rem; opacity: 0.85; }
.resources__title { margin: 0; font-size: 1.05rem; color: var(--color-white); }
.body-section .resources__title { color: var(--color-white); }
.resources__list { padding: var(--space-sm); }
.resources__list a { align-items: center; }
.resources__list .file-icon { background: color-mix(in srgb, var(--resources-accent) 10%, transparent); color: var(--resources-accent); }
.resources__list a:hover { border-color: var(--resources-accent); color: var(--resources-accent); }
.resources__name { line-height: 1.35; }
.resources__list .file-meta { display: inline-flex; color: var(--color-secondary); }
.resources__list .file-meta .isis-icon { width: 1.1rem; height: 1.1rem; }
.resources__list a:hover .file-meta { color: var(--resources-accent); }

/* ---- brochures_page ------------------------------------------------------ */
.brochures-page__card { align-items: center; max-width: 560px; margin: 0 auto; padding: var(--space-xl) var(--space-lg); text-align: center; }
.brochures-page__card:hover { transform: none; box-shadow: var(--profile-card-shadow); border-color: var(--color-border); }
.brochures-page__icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: var(--space-sm); border-radius: 50%; background: var(--color-light); color: var(--color-primary); }
.brochures-page__icon .isis-icon { width: 28px; height: 28px; animation: brochures-page-drop 1.4s ease-in-out infinite; }
.brochures-page__title { margin-bottom: var(--space-xs); }
.brochures-page__text { color: var(--color-text-muted); }
.brochures-page__loader { display: flex; gap: 6px; width: 160px; height: 6px; margin-top: var(--space-md); }
.brochures-page__loader span { flex: 1; border-radius: var(--profile-radius-pill); animation: brochures-page-pulse 1.2s ease-in-out infinite; }
.brochures-page__loader span:nth-child(1) { background: var(--brand-blue); }
.brochures-page__loader span:nth-child(2) { background: var(--brand-green); animation-delay: 0.15s; }
.brochures-page__loader span:nth-child(3) { background: var(--brand-brown); animation-delay: 0.3s; }
.brochures-page__loader span:nth-child(4) { background: var(--brand-cyan); animation-delay: 0.45s; }
@keyframes brochures-page-pulse { 0%, 100% { opacity: 0.25; transform: scaleY(1); } 50% { opacity: 1; transform: scaleY(1.6); } }
@keyframes brochures-page-drop { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }

/* ---- recent_posts -------------------------------------------------------- */
.recent-posts__grid { align-items: stretch; }
.body-section.dark .recent-posts__grid .card-title a { color: var(--color-dark); }
.body-section.dark .recent-posts__grid .text-link { color: var(--color-primary); }

/* ---- blog_archive -------------------------------------------------------- */
.blog-archive__intro { margin-bottom: var(--space-md); }
.article-card .card-meta { flex-direction: column; align-items: flex-start; flex-wrap: wrap; gap: 0.35rem; }
.article-card .card-meta .badge { white-space: normal; line-height: 1.3; }
.ai-summary-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-bottom: var(--space-md); padding: 0.75rem var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--profile-radius-sm); background: var(--color-light); }
.ai-summary-label { font-size: var(--text-sm); font-weight: 700; color: var(--color-dark); }
.ai-summary-buttons { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ai-summary-button { display: inline-flex; align-items: center; min-height: 2rem; padding: 0.3rem 0.75rem; border: 1px solid var(--color-border-strong); border-radius: var(--profile-radius-pill); background: var(--color-white); color: var(--color-dark); font-size: var(--text-xs); font-weight: 700; text-decoration: none; transition: border-color var(--transition-fast), color var(--transition-fast); }
.ai-summary-button:hover { border-color: var(--color-primary); color: var(--color-primary); }
.wpcf7-turnstile { width: 100%; margin-top: 12px; }
.blog-filter { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-md); }
.blog-filter__field { display: grid; gap: 0.35rem; flex: 0 1 260px; }
.blog-filter__field label { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); }
.categories__group-head .text-link { margin-left: auto; font-size: var(--text-sm); text-decoration: none; }
.blog-archive__grid { align-items: stretch; }
.blog-archive__cta { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-sm) var(--space-md); margin-top: var(--space-xl); padding: var(--space-lg) var(--space-lg) var(--space-md); border: var(--profile-card-border); border-radius: var(--profile-radius-lg); background: var(--color-light); overflow: hidden; }
.blog-archive__stripe { position: absolute; top: 0; left: 0; right: 0; border-radius: 0; }
.blog-archive__cta p { flex: 1 1 320px; margin: 0; font-weight: 700; color: var(--color-dark); }

/* ---- blog_editor --------------------------------------------------------- */
.blog-editor { margin: 0 0 var(--space-lg); }
.blog-editor__text iframe { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--profile-radius-md); }
.blog-editor__products { margin: var(--space-lg) 0; }
.blog-editor__carousel .isis-carousel-track { grid-auto-columns: calc((100% - var(--space-md)) / 2); }
.blog-editor__faqs { margin: var(--space-lg) 0; padding: var(--space-xs) var(--space-md); border: var(--profile-card-border); border-radius: var(--profile-radius-md); background: var(--color-white); }
.blog-editor__faqs .faq-item:last-child { border-bottom: 0; }

/* ---- blog_products ------------------------------------------------------- */
.blog-products { margin: var(--space-lg) 0; }
.blog-products--single .product-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: 1fr auto; }
.blog-products--single .product-card .card-image { grid-row: 1 / span 2; aspect-ratio: auto; min-height: 100%; border-bottom: 0; border-right: 1px solid var(--color-border); }
.blog-products--single .product-card .card-title { font-size: 1.25rem; }
.blog-products--multiple { align-items: stretch; }

/* ---- categories ---------------------------------------------------------- */
.categories__group + .categories__group { margin-top: var(--space-xl); }
.categories__group-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: var(--space-md); padding-bottom: 0.75rem; border-bottom: 1px solid var(--color-border); }
.categories__group-head h2 { margin: 0; }
.categories__grid { align-items: stretch; }

/* ---- product_categories -------------------------------------------------- */
.product-categories { --product-categories-accent: var(--color-primary); }
.product-categories--fluid { --product-categories-accent: var(--brand-blue); }
.product-categories--steam { --product-categories-accent: var(--brand-brown); }
.product-categories--energy { --product-categories-accent: var(--brand-green); }
.product-categories--pure-process { --product-categories-accent: var(--brand-cyan); }
.product-categories .title-holder { margin-bottom: var(--space-sm); }
.product-categories__all { max-width: 720px; margin: 0 auto var(--space-lg); text-align: center; color: var(--color-text-muted); }
.product-categories__all .text-link { color: var(--product-categories-accent); }
.product-categories__grid .category-image-card { border-top: 4px solid var(--product-categories-accent); }
.product-categories__grid .category-image-card .text-link { color: var(--product-categories-accent); }

/* ---- custom_category_block ----------------------------------------------- */
.custom-category-block__head { max-width: 820px; margin-bottom: var(--space-lg); }
.custom-category-block__head > * + * { margin-top: var(--space-sm); }
.custom-category-block__head .division-stripe { width: 96px; height: 4px; }
.custom-category-block__pre { margin-bottom: 0; }
a.custom-category-block__pre:hover { color: var(--color-primary); }
.custom-category-block__title { margin: 0; }
.custom-category-block__text { color: var(--color-text-muted); }
.custom-category-block__grid { align-items: stretch; }
.custom-category-block__lower { margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: 1px solid var(--color-border); }
.custom-category-block__lower > * { max-width: 860px; }

/* ---- product_carousel ---------------------------------------------------- */
.product-carousel .isis-carousel-track > .product-card { height: 100%; }
.product-carousel.image .title-holder .title-text { color: rgba(255, 255, 255, 0.85); }

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width: 991px) {
  .faqs__layout, .page-form__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .faqs__intro { position: static; }
  .blog-products--single .product-card { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
  .blog-products--single .product-card .card-image { grid-row: auto; aspect-ratio: var(--profile-image-aspect); border-right: 0; border-bottom: 1px solid var(--color-border); }
}
@media (max-width: 767px) {
  .text-block__columns { gap: var(--space-lg); }
  .page-form__form { padding: var(--space-md); }
  .blog-archive__cta { padding: var(--space-md) var(--space-sm) var(--space-sm); }
  .brochures-page__card { padding: var(--space-lg) var(--space-md); }
  .faqs__list { padding: 0 var(--space-sm); }
}
@media (max-width: 479px) {
  .page-form__form { padding: var(--space-sm); }
  .blog-faqs { padding: var(--space-sm); }
  .blog-archive__linkedin { width: 100%; }
}
/* ==========================================================================
   ISIS Fluids v2 — theme layer
   30 · Top-level templates: archives, search, 404, single post, text page,
   sales/quote page, brand, product taxonomy terms, legacy CPT singles.
   Classes are prefixed by template (.single-post__*, .sales-page__* …).
   ========================================================================== */

/* ---- Shared ------------------------------------------------------------- */
.page-hero .button-holder { margin-top: var(--space-md); }
.archive-page__empty { margin-top: var(--space-sm); }

/* Quick-link chips (sub-categories, brand ranges) */
.term-page__links { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: var(--space-sm) 0 0; padding: 0; list-style: none; }
.term-page__links a { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 2.5rem; padding: 0.45rem 0.6rem 0.45rem 0.9rem; border: 1px solid var(--color-border); border-radius: var(--profile-radius-pill); background: var(--color-white); color: var(--color-dark); font-size: var(--text-sm); font-weight: 700; transition: var(--transition-base); }
.term-page__links a svg { width: 14px; height: 14px; color: var(--color-secondary); transition: transform var(--transition-fast); }
.term-page__links a:hover, .term-page__links a.is-current { border-color: var(--color-primary); color: var(--color-primary); }
.term-page__links a:hover svg { transform: translateX(2px); color: var(--color-primary); }
.term-page__links a.is-current { background: rgba(var(--color-primary-rgb), 0.06); }
.term-page__children h2, .brand-page__shop-by h2 { margin: 0; }
.term-details { margin-top: var(--space-sm); }

/* Search bar with an inline submit button (404, search page) */
.error-page__search, .search-page__form { max-width: 620px; margin-top: var(--space-md); }
.error-page__search .search-bar-input, .search-page__form .search-bar-input { padding-right: 7rem; }
.error-page__search-submit, .search-page__submit { position: absolute; right: 0.35rem; min-height: 2.6rem; width: auto; border-radius: var(--profile-radius-pill); }

/* ---- 404 ---------------------------------------------------------------- */
.error-page__division { --card-accent: var(--brand-blue); padding-left: calc(var(--space-md) + 4px); color: inherit; }
.error-page__division.division-green { --card-accent: var(--brand-green); }
.error-page__division.division-brown { --card-accent: var(--brand-brown); }
.error-page__division.division-cyan { --card-accent: var(--brand-cyan); }
.error-page__division .card-title { color: var(--color-dark); }
.error-page__division:hover .card-title { color: var(--color-primary); }
.error-page__division .text-link { margin-top: auto; font-size: var(--text-sm); text-decoration: none; }
.error-page__help { margin-top: var(--space-md); font-size: var(--text-sm); }

/* ---- Search ------------------------------------------------------------- */
.search-page__term { color: var(--color-primary); }
.search-page__summary { margin-bottom: var(--space-md); }
.search-page__heading { margin: var(--space-lg) 0 var(--space-sm); font-size: 1.25rem; }
.search-page__summary + .search-page__heading { margin-top: 0; }
.search-page__list { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.search-page__item { display: flex; align-items: center; gap: var(--space-sm); padding: 0.85rem var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--profile-radius-md); background: var(--color-white); color: var(--color-dark); transition: var(--transition-base); }
.search-page__item:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); color: var(--color-primary); }
.search-page__item-body { display: grid; gap: 0.15rem; flex: 1; min-width: 0; }
.search-page__chevron { width: 18px; height: 18px; color: var(--color-secondary); }
.search-page__empty { max-width: 760px; }
.search-page__empty:hover { transform: none; }

/* ---- Single post -------------------------------------------------------- */
.single-post__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: var(--text-sm); font-weight: 600; color: var(--color-text-muted); }
.single-post__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-xl); align-items: start; }
.single-post__content { max-width: 760px; font-size: 1.0625rem; }
.single-post__content > p:first-child { font-size: 1.125rem; color: var(--color-dark); }
.single-post__content img { margin: var(--space-md) 0; }
.single-post__content h2 { font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem); }
.single-post__content h3 { font-size: clamp(1.1rem, 1.02rem + 0.3vw, 1.25rem); }
.single-post__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-sm); max-width: 760px; margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--color-border); }
.single-post__back { text-decoration: none; }
.single-post__back:hover svg { transform: translateX(-3px); }
.single-post__share { display: flex; align-items: center; gap: 0.5rem; font-size: var(--text-sm); font-weight: 700; color: var(--color-dark); }
.single-post__share .icon-button { width: 40px; height: 40px; }
.single-post__sidebar { position: sticky; top: calc(var(--header-pinned, 0px) + var(--space-md)); display: grid; gap: var(--space-md); }
.single-post__widget { padding: var(--space-md); border: var(--profile-card-border); border-radius: var(--profile-radius-md); background: var(--color-white); box-shadow: var(--profile-card-shadow); }
.single-post__widget-title { margin-bottom: 0.5rem; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-accent); }
.single-post__recent { margin: 0; padding: 0; list-style: none; }
.single-post__recent li + li { border-top: 1px solid var(--color-border); }
.single-post__recent a { display: grid; gap: 0.15rem; padding: 0.7rem 0; color: var(--color-dark); font-size: var(--text-sm); font-weight: 700; line-height: 1.35; }
.single-post__recent a:hover { color: var(--color-primary); }
.single-post__recent small { font-size: var(--text-xs); font-weight: 600; color: var(--color-text-muted); }
.single-post__cta { display: grid; gap: 0.6rem; background: var(--color-light); border-top: 4px solid var(--color-primary); }
.single-post__cta .pre-title, .single-post__cta h2 { margin: 0; }
.single-post__related-head { align-items: flex-end; margin-bottom: var(--space-lg); }
.single-post__related-head .title-holder { margin-bottom: 0; }

/* ---- Text page ---------------------------------------------------------- */
.text-page__content .left-text { text-align: left; margin-top: 10px; } /* v1 inline rule kept for existing content */

/* ---- Sales / quote page ------------------------------------------------- */
.sales-page .breadcrumbs { margin-bottom: var(--space-sm); }
.sales-page__title { margin-bottom: var(--space-md); }
.sales-page__notice { margin-bottom: var(--space-lg); }
.sales-page__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--space-lg); align-items: start; }
.sales-page__main { display: grid; gap: var(--space-lg); min-width: 0; }
.sales-page .card-base:hover { transform: none; box-shadow: var(--profile-card-shadow); border-color: var(--color-border); }
.sales-page__card-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--color-border); background: var(--color-page); }
.sales-page__card-head h2 { margin: 0; }
.sales-page__empty { display: grid; gap: var(--space-sm); justify-items: start; padding: var(--space-lg) var(--space-md); font-size: var(--text-sm); color: var(--color-text-muted); }
.sales-page__table-wrap { overflow-x: auto; }
.sales-page__table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.sales-page__table thead th { padding: 0.7rem var(--space-sm); text-align: left; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-text-muted); border-bottom: 1px solid var(--color-border); white-space: nowrap; }
.sales-page__table td { padding: var(--space-sm); border-bottom: 1px solid var(--color-border); vertical-align: middle; }
.sales-page__table tbody tr:last-child td { border-bottom: 0; }
.sales-page__table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sales-page__thumb-cell { width: 72px; }
.sales-page__thumb { display: block; width: 56px; height: 56px; object-fit: contain; padding: 4px; border: 1px solid var(--color-border); border-radius: var(--profile-radius-sm); background: var(--color-white); }
.sales-page__product, .sales-page__article { line-height: 1.35; }
.sales-page__product > *, .sales-page__article > * { display: block; }
.sales-page__product strong { color: var(--color-dark); }
.sales-page__article .sku { font-family: var(--font-mono); font-size: 0.82rem; font-weight: 600; color: var(--color-dark); }
.sales-page__line-gbp { display: block; font-weight: 700; color: var(--color-dark); }
.sales-page__line-eur { display: block; }
.sales-page__poa { justify-content: flex-end; font-size: var(--text-xs); }
.sales-page__remove-cell { width: 48px; text-align: right; }
.sales-page__remove { display: inline-grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--color-page); color: var(--color-text-muted); transition: var(--transition-fast); }
.sales-page__remove svg { width: 14px; height: 14px; }
.sales-page__remove:hover { background: rgba(180, 35, 24, 0.1); color: var(--color-danger); }
.sales-page__remove[disabled] { opacity: 0.4; }
.sales-page__form-body { padding: var(--space-md); }
.sales-page__aside { position: sticky; top: calc(var(--header-pinned, 0px) + var(--space-md)); }
.sales-page__sums { padding: var(--space-xs) var(--space-md); }
.sales-page__sums dd { text-align: right; color: var(--color-dark); font-weight: 600; font-variant-numeric: tabular-nums; }
.sales-page__grand dt, .sales-page__grand dd { font-size: 1.15rem; font-weight: 800; color: var(--color-dark); }
.sales-page__grand dd { color: var(--color-primary); }
.sales-page__totals .form-hint { margin: 0; padding: 0 var(--space-md) var(--space-xs); }
.sales-page__help { display: grid; gap: 0.25rem; margin-top: var(--space-xs); padding: var(--space-sm) var(--space-md); border-top: 1px solid var(--color-border); background: var(--color-page); }
.sales-page__help .text-link { text-decoration: none; }

/* ---- Brand -------------------------------------------------------------- */
.brand-page__logo { aspect-ratio: 16 / 9; max-width: 440px; justify-self: end; width: 100%; grid-template: minmax(0, 1fr) / minmax(0, 1fr); }
.brand-page__logo img { width: 100%; height: 100%; object-fit: contain; }
.brand-page__about--single { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.brand-page__about-media img { width: 100%; border-radius: var(--profile-image-radius); border: 1px solid var(--color-border); }
.brand-page__shop-group { margin-top: var(--space-md); }
.brand-page__shop-group .pre-title { margin-bottom: 0; }
.brand-page__faqs .faq-list { margin-top: var(--space-md); }

/* ---- Responsive --------------------------------------------------------- */
@media (max-width: 991px) {
  .single-post__layout, .sales-page__layout { grid-template-columns: minmax(0, 1fr); }
  .single-post__sidebar, .sales-page__aside { position: static; }
  .single-post__sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sales-page__main { display: contents; }
  .sales-page__items { order: 1; }
  .sales-page__aside { order: 2; }
  .sales-page__form { order: 3; }
  .brand-page__logo { justify-self: start; }
}
@media (max-width: 767px) {
  .single-post__sidebar { grid-template-columns: minmax(0, 1fr); }
  .single-post__related-head { flex-direction: column; align-items: flex-start; }
  /* Basket rows become stacked cards */
  .sales-page__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sales-page__table, .sales-page__table tbody { display: block; }
  .sales-page__table tr { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 0.35rem var(--space-sm); padding: var(--space-sm) calc(var(--space-sm) + 36px) var(--space-sm) var(--space-sm); border-bottom: 1px solid var(--color-border); }
  .sales-page__table tbody tr:last-child { border-bottom: 0; }
  .sales-page__table td { display: block; padding: 0; border: 0; }
  .sales-page__thumb-cell { grid-row: 1 / span 2; width: auto; }
  .sales-page__article, .sales-page__qty, .sales-page__line { grid-column: 2; }
  .sales-page__qty { display: flex; align-items: center; justify-content: space-between; }
  .sales-page__line { text-align: left; }
  .sales-page__table .num { text-align: left; }
  .sales-page__poa { justify-content: flex-start; }
  .sales-page__remove-cell { position: absolute; top: var(--space-sm); right: var(--space-sm); width: auto; }
  .sales-page__card-head { flex-wrap: wrap; }
}
@media (max-width: 479px) {
  .error-page__search .search-bar-input, .search-page__form .search-bar-input { padding-right: 1rem; }
  .error-page__search-submit, .search-page__submit { position: static; margin-top: 0.5rem; width: 100%; }
  .error-page__search, .search-page__form { flex-wrap: wrap; }
  .error-page__search .search-bar-icon, .search-page__form .search-bar-icon { top: 1.05rem; }
}
