/* Shared tokens. Colour-only overrides leave the established page grids intact. */
:root {
  --bg-white: #FFFFFF;
  --bg-light-blue: #F0F6FB;
  --text-main: #333333;
  --brand-primary: #0061AE;
  --brand-dark: #003C6C;
  --brand-gradient: linear-gradient(135deg, #0061AE 0%, #003C6C 100%);
  --brand-line: #DCE3E8;
  --text-muted: #595959;
}
body.brand-system {
  --paper: var(--bg-white);
  --white: var(--bg-white);
  --ink: var(--text-main);
  --muted: var(--text-main);
  background: var(--bg-white);
  color: var(--text-main);
  accent-color: var(--brand-primary);
}
body.brand-system ::selection { background: var(--brand-primary); color: #FFFFFF; }
body.brand-system :focus-visible { outline-color: var(--brand-primary); }
body.brand-system main :is(ul, ol) > li::marker { color: var(--brand-primary); }

/* The same masthead and footer on every route, including active navigation. */
body.brand-system .site-header { background: var(--bg-white); border-bottom: 0; }
body.brand-system .site-header .desktop-nav > a,
body.brand-system .site-header .desktop-nav > .nav-disclosure > :is(.nav-section-link, .nav-trigger) { color: var(--brand-dark); }
body.brand-system .site-header .desktop-nav > a:hover,
body.brand-system .site-header .desktop-nav > .nav-disclosure > :is(.nav-section-link, .nav-trigger):hover,
body.brand-system .site-header .desktop-nav > [data-nav-key][aria-current],
body.brand-system .site-header .desktop-nav > .nav-disclosure > [data-nav-key][aria-current],
body.brand-system .site-header .desktop-nav > .nav-disclosure > [data-nav-key][aria-current] + .nav-trigger { color: var(--brand-primary); }
body.brand-system .site-header .nav-trigger > span { color: inherit; }
body.brand-system :is(.mega-menu, .mobile-menu) { background: var(--bg-white); }
body.brand-system .mega-menu { box-shadow: 0 16px 32px rgba(0, 60, 108, .09); }
body.brand-system .product-menu-categories button:hover { background: var(--bg-light-blue); }
body.brand-system .product-menu-categories button[aria-pressed=true] { background: var(--brand-dark); color: #FFFFFF; }
body.brand-system .product-menu-categories button[aria-pressed=true] .menu-index { color: #D4E8F8; }
body.brand-system :is(.mega-menu, .mobile-menu) a:hover,
body.brand-system .mobile-menu summary:hover { color: var(--brand-primary); }
@supports (mask-image: url("")) or (-webkit-mask-image: url("")) {
  body.brand-system .site-header .brand { position: relative; }
  body.brand-system .site-header .brand::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--brand-primary);
    -webkit-mask: url("assets/source-01.png") center / contain no-repeat;
    mask: url("assets/source-01.png") center / contain no-repeat;
    pointer-events: none;
  }
  body.brand-system .site-header .brand img { opacity: 0; }
}
body.brand-system .site-footer.wrap {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: max(var(--gutter), calc((100% - 1540px) / 2));
  background: var(--brand-dark);
  color: #FFFFFF;
}
body.brand-system .site-footer .footer-logo img { filter: brightness(0) invert(1); }
body.brand-system .footer-grid .footer-menu h2 { color: #FFFFFF; border-bottom: 0; }
body.brand-system .footer-grid .footer-brand { border-color: rgba(255, 255, 255, .18); }
body.brand-system .footer-menu .footer-menu-list > a,
body.brand-system .footer-brand :is(p, .eyebrow),
body.brand-system .footer-legal,
body.brand-system .footer-legal > a { color: #DBEAF5; }
body.brand-system .footer-menu .footer-menu-list > a:hover,
body.brand-system .footer-legal > a:hover { color: #FFFFFF; }
body.brand-system .footer-legal { border-top-color: rgba(255, 255, 255, .18); }
body.brand-system .site-footer :focus-visible { outline-color: #FFFFFF; }

/* Reading surfaces are always white. Photography keeps its existing overlays. */
body.brand-interior main,
body.brand-interior :is(.jm-article, .jm-journal, .catalogue-product, .product-lookbook) {
  background: var(--bg-white);
  color: var(--text-main);
}
body.brand-interior main :is(h1, h2, h3, h4, p, dt, dd) { color: var(--text-main); }
body.brand-interior main :is(.eyebrow, .lb-kicker, .jm-kicker, .category-kicker, .case-card-meta, .craft-card-number, .craft-step-number) { color: var(--brand-primary); }
body.brand-interior main :where(.text-link, .jm-link, .case-breadcrumb a, .jm-breadcrumb a, .jm-prose a, .contact-map-link) { color: var(--brand-primary); border-color: currentColor; }
body.brand-interior main a:hover { color: var(--brand-primary); }
body.brand-interior main a:hover :is(h2, h3) { color: var(--brand-primary); }
body.brand-interior :is(.page-banner-content, .contact-hero-copy) :is(h1, h1 em, p, .eyebrow) { color: #FFFFFF; }
body.brand-interior :is(.page-banner-content, .contact-hero-copy) a:hover { color: #FFFFFF; }
body.brand-interior :is(.jm-deck, .jm-index-heading > div > p, .catalogue-hero-copy > p, .catalogue-heading p, .catalogue-entry-copy > p, .catalogue-collection-card p, .kitchen-planning-grid p, .kitchen-faq p) { color: var(--text-main); }
body.brand-interior :is(.catalogue-count, .catalogue-note, .catalogue-variants summary span, .catalogue-variants thead th, .jm-meta, .jm-contents summary, .jm-prose figcaption) { color: var(--text-muted); }
body.brand-interior :is(.jcm-product-tax .case-card-media, .furniture-cover img, .furniture-grid img, .jcm-gallery-grid img, .catalogue-swatches img) { background: var(--bg-white); }
body.brand-interior :is(.jm-prose, .jm-reading-layout, .jm-article-hero, .jm-prose .jm-checklist, .catalogue-entry-copy, .catalogue-specs, .catalogue-table-wrap, .kitchen-planning, .kitchen-faq, .cabinet-details, .lb-guide, .lb-faq, .faq-page-content) { background: var(--bg-white); color: var(--text-main); }
body.brand-interior .jm-prose strong { color: var(--text-main); }
body.brand-interior .jm-prose .jm-checklist { border: 1px solid var(--brand-line); border-radius: 8px; }
body.brand-interior .jm-prose .jm-note { border-color: var(--brand-primary); color: var(--text-main); }
body.brand-interior .jm-contents a { color: var(--text-muted); border-color: var(--brand-line); }
body.brand-interior .jm-contents a:hover,
body.brand-interior .jm-contents a[aria-current=true] { color: var(--brand-primary); border-color: var(--brand-primary); }
body.brand-interior :is(.jm-pagination, .blog-pagination) .current { background: var(--brand-primary); color: #FFFFFF; }

/* Only short closing panels and selected visual sections use ice blue. */
body.brand-interior :is(.case-enquiry, .refined-cta-band, .faq-rfq-band, .about-black-cta) { background: var(--bg-light-blue) !important; color: var(--text-main) !important; }
body.brand-interior :is(.case-enquiry, .refined-cta-band, .faq-rfq-band, .about-black-cta) :is(h2, h2 em, p) { color: var(--text-main) !important; }
body.brand-interior :is(.case-enquiry, .refined-cta-band, .faq-rfq-band, .about-black-cta) .eyebrow { color: var(--brand-primary) !important; }
body.brand-interior :is(.jm-article-cta, .lb-enquiry, .catalogue-applications, .craft-quality, .about-certificates) { background: var(--bg-light-blue); }
body.brand-interior .jcm-category-enquiry { background: var(--bg-white); border: 1px solid var(--brand-line); }
body.brand-interior .jcm-category-enquiry dd { color: var(--text-main); }
body.brand-interior .product-lookbook { --lb-paper: #F7F7F7; --lb-ink: var(--text-main); --lb-muted: var(--text-main); }
body.brand-interior :is(.lb-album, .catalogue-style-nav a, .catalogue-photo, .catalogue-collection-card figure, .jm-cover, .jm-article-cover img, .jm-related-grid img) { background: var(--bg-white); }
body.brand-interior .catalogue-style-nav a { border-color: var(--brand-line); color: var(--text-main); }
body.brand-interior .catalogue-style-nav a:hover { border-color: var(--brand-primary); color: var(--brand-primary); background: var(--bg-white); }
body.brand-interior .catalogue-style-nav a > span,
body.brand-interior :is(.catalogue-enlarge, .lb-image-label, .gallery-open-label) { color: var(--brand-primary); }
body.brand-interior .gallery-open-label { background: rgba(255, 255, 255, .96); }
body.brand-interior :is(.lb-tabs button[aria-selected=true], .lb-tabs button:hover) { color: var(--brand-primary); border-color: var(--brand-primary); }
body.brand-interior :is(.lb-arrow, .cert-navigation button, .faq-list summary > span, .faq-list summary i) { color: var(--brand-primary); }
body.brand-interior :is(.lb-faq summary, .jm-contents summary)::after { color: var(--brand-primary); }
body.brand-interior :is(.catalogue-variants summary, .catalogue-swatch-set summary)::marker { color: var(--brand-primary); }
body.brand-interior .catalogue-thumbnails .catalogue-photo:hover { border-color: var(--brand-primary); }

/* About Us: native text, white book pages, and the existing page-turn effect. */
body.brand-interior .about-craftsmanship {
  --craft-ink: var(--text-main);
  --craft-muted: var(--text-main);
  --craft-line: var(--brand-line);
  --craft-paper: var(--bg-white);
  --craft-accent: var(--brand-primary);
}
body.brand-interior .craft-intro { background: var(--bg-white); color: var(--text-main); }
body.brand-interior .craft-intro :is(h2, p, .craft-services li) { color: var(--text-main); }
body.brand-interior .craft-services svg { stroke: var(--brand-primary); }
body.brand-interior .about-film-play-icon { color: var(--brand-primary); }
body.brand-interior .about-certificates { --cert-ink: var(--text-main); --cert-muted: var(--text-muted); --cert-paper: var(--bg-white); }
body.brand-interior .cert-book { border-color: var(--brand-line); box-shadow: 0 22px 38px -28px rgba(0, 60, 108, .25), 0 4px 0 -1px #F1F3F5, 0 8px 0 -3px #DCE3E8; }
body.brand-interior .cert-copy { background: linear-gradient(90deg, #FFFFFF 93%, #E8EBEE 100%); }
body.brand-interior .cert-paper { background: linear-gradient(90deg, #DCE1E5 0%, #F4F5F6 2%, #FFFFFF 9%, #FFFFFF 100%); }
body.brand-interior .cert-copy dl { border-color: var(--brand-line); }
body.brand-interior :is(.category-card, .craft-card, .jm-cover, .jm-related-grid img, .cabinet-category-card) { border-radius: 8px; box-shadow: 0 8px 30px rgba(0, 97, 174, .05); }
body.brand-interior :is(.category-card, .craft-card) { background: var(--bg-white); overflow: hidden; }
body.brand-interior :is(.contact-map-note, .contact-details) { background: var(--bg-white); }
body.brand-interior :is(.contact-note-label, .contact-detail-row > span) { color: var(--brand-primary); }

/* Primary actions. Old CTA bands use !important, so only those overrides need it. */
body.brand-system .site-header .header-enquiry,
body.brand-system #mobile-menu > [data-enquiry],
body.brand-system .footer-menu .footer-menu-list > button[data-enquiry],
body.brand-system #enquiry-dialog .quote-submit,
body.brand-system #detail-enquiry,
body.brand-interior main [data-enquiry],
body.brand-interior :is(.lb-primary, .catalogue-actions > .catalogue-button, .jm-feature .jm-link, .jm-card .jm-link, .jm-article-cta .button, .category-card-copy > .text-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 23px;
  border: 0;
  border-radius: 6px;
  background: var(--brand-gradient);
  color: #FFFFFF;
  box-shadow: 0 4px 14px rgba(0, 97, 174, .22);
  font: 500 15px/1.5 var(--sans);
  text-decoration: none;
  transition: box-shadow .2s ease, filter .2s ease;
}
body.brand-system .site-header .header-enquiry::after { display: none; }
body.brand-interior .category-card-copy > .text-link { align-self: flex-start; width: fit-content; }
body.brand-system .footer-menu .footer-menu-list > button[data-enquiry] { width: fit-content; margin-top: 14px; padding-inline: 16px; }
body.brand-system .site-header .header-enquiry:hover,
body.brand-system #mobile-menu > [data-enquiry]:hover,
body.brand-system .footer-menu .footer-menu-list > button[data-enquiry]:hover,
body.brand-system #enquiry-dialog .quote-submit:hover,
body.brand-system #detail-enquiry:hover,
body.brand-interior main [data-enquiry]:hover,
body.brand-interior :is(.lb-primary, .catalogue-actions > .catalogue-button, .jm-feature .jm-link, .jm-card .jm-link, .jm-article-cta .button, .category-card-copy > .text-link):hover {
  background: var(--brand-gradient);
  color: #FFFFFF;
  box-shadow: 0 6px 20px rgba(0, 97, 174, .32);
  filter: brightness(1.05);
}
body.brand-interior :is(.case-enquiry, .refined-cta-band, .faq-rfq-band, .about-black-cta) :is(.button, .text-link) {
  background: var(--brand-gradient) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 14px rgba(0, 97, 174, .22) !important;
}
body.brand-interior :is(.case-enquiry, .refined-cta-band, .faq-rfq-band, .about-black-cta) :is(.button, .text-link):hover { box-shadow: 0 6px 20px rgba(0, 97, 174, .32) !important; }

/* Repeated catalogue enquiries and browsing controls remain secondary actions. */
body.brand-interior .catalogue-entry-copy > [data-enquiry],
body.brand-interior .catalogue-entry-copy > [data-enquiry]:hover {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: var(--bg-white);
  color: var(--brand-primary);
  box-shadow: none;
  filter: none;
  font-size: 14px;
}
body.brand-interior .catalogue-more .catalogue-button,
body.brand-interior .catalogue-more .catalogue-button:hover,
body.brand-interior :is(.lb-arrow, .catalogue-bottom .text-link, .jm-return .jm-link) {
  background: var(--bg-white);
  color: var(--brand-primary);
  border-color: var(--brand-primary);
  box-shadow: none;
}
body.brand-system :is(.quote-fields input, .quote-fields select, .quote-form > textarea, .catalogue-tools input) { background: var(--bg-white); color: var(--text-main); border-color: #B5C0C9; }
body.brand-system :is(.quote-fields input, .quote-fields select, .quote-form > textarea, .catalogue-tools input):focus { border-color: var(--brand-primary); }
body.brand-system .quote-products input:checked { background: var(--brand-primary); border-color: var(--brand-primary); }
body.brand-system :is(.quote-dialog, .detail-dialog, .gallery-dialog) { background: var(--bg-white); color: var(--text-main); }
body.brand-system :is(.quote-heading p, .quote-form .form-note, .detail-copy p) { color: var(--text-main); }
body.brand-system :is(.quote-dialog, .detail-dialog, .gallery-dialog) .dialog-close { background: var(--bg-white); color: var(--text-main); }
body.brand-system .gallery-toolbar :is(button, .gallery-count) { color: var(--brand-primary); }
body.brand-system .quote-submit:disabled { opacity: .6; cursor: wait; }
@media (max-width: 700px) {
  body.brand-interior .cert-copy { background: var(--bg-white); }
  body.brand-interior .cert-paper { background: #FFFFFF; border-color: var(--brand-line); }
}
@media (max-width: 600px) {
  body.brand-system .site-header .header-enquiry { display: none; }
  body.brand-system .footer-menu .footer-menu-list > button[data-enquiry] { font-size: 14px; padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body.brand-system :is([data-enquiry], .quote-submit, .catalogue-button, .jm-link) { transition: none; }
}
