/* LURONPACK static catalogue theme. Load after the existing static styles.
   Scope by the actual static-page roots; React home and cp-* pages are separate. */
body:has(> .seo-header) .sku-search-hero > aside .text-link { color: #fff; }
:is(body:has(> .seo-header), body:has(> .portfolio-header), body:has(> #preview.preview)) {
  --brand: #174C78;
  --brand-hover: #123C60;
  --ink: #19334B;
  --muted: #486278;
  --page: #EAF2F8;
  --line: #C8D9E7;
  --paper: #FFFFFF;
  /* Compatibility aliases keep existing static components on the same palette. */
  --orange: var(--brand);
  --orange-dark: var(--brand);
  --orange-action: var(--brand);
  --orange-action-hover: var(--brand-hover);
  --stone: var(--page);
  --whatsapp-action: var(--brand);
  --whatsapp-action-hover: var(--brand-hover);
  min-height: 100vh;
  background: var(--page);
  color: var(--ink);
  color-scheme: light;
}

/* Shared static controls, without changing their destinations or behavior. */
:is(body:has(> .seo-header), body:has(> .portfolio-header)) :is(.button, .primary) {
  border-color: var(--brand);
  background: var(--brand);
  color: var(--paper);
  line-height: 1.45;
  text-align: center;
  white-space: normal;
}
:is(body:has(> .seo-header), body:has(> .portfolio-header)) :is(.button, .primary):hover {
  border-color: var(--brand-hover);
  background: var(--brand-hover);
  color: var(--paper);
}
:is(body:has(> .seo-header), body:has(> .portfolio-header)) :is(.button-outline, .button.secondary, .button-light) {
  border-color: var(--brand);
  background: var(--paper);
  color: var(--brand);
}
:is(body:has(> .seo-header), body:has(> .portfolio-header)) :is(.button-outline, .button.secondary, .button-light):hover {
  border-color: var(--brand-hover);
  background: var(--page);
  color: var(--brand-hover);
}
:is(body:has(> .seo-header), body:has(> .portfolio-header), body:has(> #preview.preview)) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 3px;
}
:is(body:has(> .seo-header), body:has(> .portfolio-header)) :is(.brand, .eyebrow, .text-link, .legal-inline-button) {
  color: var(--brand);
}
:is(body:has(> .seo-header), body:has(> .portfolio-header)) .skip-link {
  border: 1px solid var(--brand);
  background: var(--paper);
  color: var(--brand);
}

/* Header, utility bar, navigation and first-screen surfaces. */
body:has(> .seo-header) .seo-header {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}
body:has(> .seo-header) .seo-utility {
  background: var(--brand);
  color: var(--paper);
}
body:has(> .seo-header) .seo-utility :is(nav a, summary),
body:has(> .seo-header) .seo-utility .section-shell > a {
  color: var(--paper);
}
body:has(> .seo-header) .seo-utility a:hover { text-decoration: underline; text-underline-offset: 4px; }
body:has(> .seo-header) .seo-utility .seo-language-panel {
  border-color: var(--line);
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 12px 30px rgb(23 76 120 / 16%);
}
body:has(> .seo-header) .seo-utility .seo-language-panel a { color: var(--ink); }
body:has(> .seo-header) .seo-utility .seo-language-panel a:hover { background: var(--page); color: var(--brand); }
body:has(> .seo-header) .seo-utility .seo-language-panel p { color: var(--muted); }
body:has(> .seo-header) .seo-nav nav a:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 5px; }
body:has(> .seo-header) :is(.breadcrumbs, .article-meta, .product-sku) { color: var(--muted); }
body:has(> .seo-header) :is(.seo-hero, .article-hero, .product-detail, .blog-hero, .legal-hero, .sku-search-hero) { color: var(--ink); }
body:has(> .seo-header) :is(.product-search-page, .seo-products, .sku-search-directory, .seo-comparison, .seo-faq, .legal-page) {
  border-color: var(--line);
  background: var(--page);
}
body:has(> .seo-header) :is(.seo-facts, .product-specs) { border-color: var(--line); background: var(--paper); }
body:has(> .seo-header) :is(.seo-facts span, .product-specs dt, .seo-content-grid article > span) { color: var(--brand); }
body:has(> .seo-header) :is(.seo-intro, .seo-content-grid p, .article-body p, .legal-content p, .legal-content li) { color: var(--muted); }

/* Light trust panels replace the inherited black panels. */
body:has(> .seo-header) .seo-trust-compact {
  border-color: var(--line);
  background: var(--paper);
  color: var(--ink);
}
body:has(> .seo-header) .seo-trust-compact :is(.eyebrow, .seo-trust-compact-links span) { color: var(--brand); }
body:has(> .seo-header) .seo-trust-compact-intro > p:last-child { color: var(--muted); }
body:has(> .seo-header) :is(.seo-trust-compact-links, .seo-trust-compact-links a) { border-color: var(--line); }
body:has(> .seo-header) .seo-trust-compact-links a:hover { background: var(--page); }
body:has(> .seo-header) .seo-trust-compact-links a:hover strong { color: var(--brand); }

/* Real product, component and certificate photographs stay on white supports.
   No recoloring, filters or blend modes are applied to source imagery. */
:is(body:has(> .seo-header), body:has(> .portfolio-header), body:has(> #preview.preview)) img {
  mix-blend-mode: normal;
  filter: none;
}
body:has(> .seo-header) :is(.seo-hero figure, .seo-hero figure.contain, .article-hero figure, .product-detail figure,
  .seo-product-image, .article-size-image, .seo-capability-grid figure, .seo-document-preview,
  .seo-document-preview img, .article-gallery-contain img, .blog-card-image, .sku-comparison-image) {
  border-color: var(--line);
  background: var(--paper);
}
body:has(> .seo-header) :is(.seo-hero figure.contain img, .product-detail figure img, .seo-product-image img, .sku-comparison-image img) {
  mix-blend-mode: normal;
  filter: none;
}
body:has(> .seo-header) :is(.seo-evidence video, .article-media img, .article-media video) { border-color: var(--line); background: var(--paper); }
body:has(> .seo-header) .seo-document-preview img { box-shadow: 0 12px 30px rgb(23 76 120 / 12%); }
body:has(> .seo-header) :is(.seo-document-copy dt, .seo-document-copy > p:not(.eyebrow), .article-media figcaption, .article-gallery figcaption) { color: var(--muted); }

/* Cards, exact SKU values, capability collections and catalogue filters. */
body:has(> .seo-header) :is(.seo-product-grid article, .seo-capability-grid article, .seo-document-grid article,
  .article-size-card, .blog-grid article, .sku-comparison-card) {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  color: var(--ink);
}
body:has(> .seo-header) .seo-product-grid article { min-width: 0; padding: 12px; }
body:has(> .seo-header) .seo-product-grid .seo-product-image { padding: 12px; }
body:has(> .seo-header) .seo-product-grid article > p { color: var(--muted); }
body:has(> .seo-header) :is(.article-size-copy dt, .sku-comparison-card dt) { color: var(--muted); }
body:has(> .seo-header) :is(.article-size-copy dd, .sku-comparison-card dd, .product-specs dd) { color: var(--ink); }
body:has(> .seo-header) :is(.cap-family-heading, .sku-comparison-card dl > div, .article-size-copy dl > div) { border-color: var(--line); }
body:has(> .seo-header) :is(.component-catalog-filter, .sku-search-form, .sku-search-empty) { border-color: var(--line); color: var(--ink); }
body:has(> .seo-header) .component-catalog-filter { background: var(--paper); }
body:has(> .seo-header) :is(.component-catalog-filter label, .sku-search-form > label) { color: var(--ink); }
body:has(> .seo-header) :is(.component-catalog-filter input, .component-catalog-filter select, .sku-search-form input) {
  border-color: #6B879E;
  background: var(--paper);
  color: var(--ink);
  accent-color: var(--brand);
}
body:has(> .seo-header) :is(.component-catalog-filter input, .component-catalog-filter select, .sku-search-form input):focus-visible { border-color: var(--brand); }
body:has(> .seo-header) :is(.component-catalog-filter input, .sku-search-form input)::placeholder { color: var(--muted); opacity: 1; }
body:has(> .seo-header) :is(.component-catalog-result, .sku-search-help, [data-product-search-status], [data-product-comparison-status]) { color: var(--muted); }
body:has(> .seo-header) .sku-search-hero aside {
  border: 1px solid var(--brand);
  border-radius: 10px;
  background: var(--brand);
  color: var(--paper);
}
body:has(> .seo-header) .sku-search-hero aside :is(strong, span) { color: var(--paper); }
body:has(> .seo-header) .sku-search-hero aside p { color: var(--page); }
body:has(> .seo-header) .sku-search-empty { background: var(--paper); }
body:has(> .seo-header) .sku-search-noscript { border-left: 4px solid var(--brand); background: var(--paper); color: var(--ink); }
body:has(> .seo-header) .sku-capacity-links a { border-color: var(--line); background: var(--paper); color: var(--brand); }
body:has(> .seo-header) .sku-capacity-links a:hover { border-color: var(--brand); background: var(--brand); color: var(--paper); }

/* Selected, disabled and semantic state styling retains each state's meaning. */
body:has(> .seo-header) :is(.sku-comparison-card button, .sku-comparison-actions button, .sku-search-results [data-compare-sku]) {
  border-color: var(--brand);
  background: var(--paper);
  color: var(--brand);
}
body:has(> .seo-header) :is(.sku-comparison-card button, .sku-comparison-actions button, .sku-search-results [data-compare-sku]):hover:not(:disabled) {
  border-color: var(--brand-hover);
  background: var(--page);
  color: var(--brand-hover);
}
body:has(> .seo-header) .sku-search-results [data-compare-sku][aria-pressed="true"] {
  border-color: var(--brand);
  background: var(--brand);
  color: var(--paper);
}
body:has(> .seo-header) .sku-search-results [data-compare-sku][aria-pressed="true"]:hover {
  border-color: var(--brand-hover);
  background: var(--brand-hover);
  color: var(--paper);
}
body:has(> .seo-header) .sku-comparison-actions button:disabled {
  border-color: var(--line);
  background: var(--page);
  color: var(--muted);
  opacity: 1;
}
body:has(> .seo-header) .stock-badge { border-color: #7CA995; background: #E8F3ED; color: #225E43; }
body:has(> .seo-header) .article-size-qualification { border-left-color: var(--brand); background: var(--paper); color: var(--muted); }
body:has(> .seo-header) :is(.article-size-whatsapp, .seo-product-card-actions .seo-product-whatsapp) { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) :is(.article-size-whatsapp, .seo-product-card-actions .seo-product-whatsapp):hover { background: var(--brand-hover); color: var(--paper); }

/* Measurement tables retain their native horizontal-scroll containers. */
body:has(> .seo-header) :is(.article-table-wrap, .seo-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border-color: var(--line);
  background: var(--paper);
}
body:has(> .seo-header) :is(.article-comparison-table caption, .article-comparison-table td, .seo-comparison tbody td) { color: var(--muted); }
body:has(> .seo-header) :is(.article-comparison-table thead th, .seo-comparison thead th) { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) :is(.article-comparison-table th, .article-comparison-table td, .seo-comparison th, .seo-comparison td) { border-color: var(--line); }
body:has(> .seo-header) :is(.article-comparison-table tbody tr:nth-child(even), .seo-comparison tbody tr:nth-child(even)) { background: var(--page); }
body:has(> .seo-header) :is(.article-comparison-table tbody th, .seo-comparison tbody th) { color: var(--ink); }
body:has(> .seo-header) :is(.article-comparison-table tbody th a, .seo-comparison tbody a, .article-body a, .legal-content a) { color: var(--brand); }
body:has(> .seo-header) :is(.article-comparison-table tbody th a, .seo-comparison tbody a, .article-body a, .legal-content a):hover { color: var(--brand-hover); }
body:has(> .seo-header) .article-comparison-table tbody th a:focus-visible { color: var(--brand-hover); }
body:has(> .seo-header) :is(.article-layout aside, .legal-layout aside) { border-color: var(--line); background: var(--paper); }

/* Sample vials use page-specific inline styles, also covered by this scope. */
body:has(> .seo-header) :is(.sample-hero figure, .sample-feature-grid figure, .sample-set-card img) { background: var(--paper); }
body:has(> .seo-header) .capacity-pills a { border-color: var(--brand); background: var(--paper); color: var(--brand); }
body:has(> .seo-header) .capacity-pills a:hover { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) :is(.sample-route-section, .sample-set-section) { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) :is(.sample-route-section, .sample-set-section) .eyebrow { color: var(--paper); }
body:has(> .seo-header) :is(.sample-route-card, .sample-capacity-card, .sample-set-card) { border-color: var(--line); background: var(--paper); color: var(--ink); }
body:has(> .seo-header) :is(.sample-route-card span, .sample-capacity-card a) { color: var(--brand); }
body:has(> .seo-header) :is(.sample-route-card p, .sample-capacity-card p, .sample-feature-copy > p, .sample-specs dt, .sample-set-card p, .sample-rfq-list li) { color: var(--muted); }
body:has(> .seo-header) .sample-capacity-section { background: var(--page); }
body:has(> .seo-header) :is(.sample-specs, .sample-specs div, .sample-rfq-list, .sample-rfq-list li) { border-color: var(--line); }
body:has(> .seo-header) .sample-rfq-list li::before { color: var(--brand); }
body:has(> .seo-header) .seo-watch video { background: var(--paper); }
body:has(> .seo-header) .seo-watch figcaption { color: var(--muted); }

/* Blue system/quotation bands and readable footer text replace black/orange. */
body:has(> .seo-header) :is(.seo-system, .seo-cta),
body:has(> .seo-header) > footer {
  background: var(--brand);
  color: var(--paper);
}
body:has(> .seo-header) :is(.seo-system, .seo-cta) :is(h2, .eyebrow),
body:has(> .seo-header) > footer .brand { color: var(--paper); }
body:has(> .seo-header) .seo-cta p:not(.eyebrow),
body:has(> .seo-header) .seo-footer-grid :is(p, a:not(.brand)),
body:has(> .seo-header) .footer-bottom { color: var(--page); }
body:has(> .seo-header) :is(.seo-links, .seo-links a, .footer-bottom) { border-color: rgb(234 242 248 / 38%); }
body:has(> .seo-header) .seo-links a:hover { background: var(--brand-hover); color: var(--paper); }
body:has(> .seo-header) .seo-footer-grid a:hover { color: var(--paper); text-decoration: underline; text-underline-offset: 4px; }
body:has(> .seo-header) .seo-cta .button-light { border-color: var(--paper); background: var(--paper); color: var(--brand); }
body:has(> .seo-header) .seo-cta .button-light:hover { background: var(--page); color: var(--brand-hover); }
body:has(> .seo-header) :is(.seo-utility, .seo-system, .seo-cta, footer) :is(a, button, summary):focus-visible { outline-color: var(--paper); }
body:has(> .seo-header) .seo-utility .seo-language-panel a:focus-visible { outline-color: var(--brand); }
body:has(> .seo-header) .seo-mobile-contact-bar { border-color: var(--line); background: rgb(255 255 255 / 97%); box-shadow: 0 -10px 28px rgb(23 76 120 / 12%); }
body:has(> .seo-header) :is(.seo-mobile-quote, .seo-mobile-whatsapp, .whatsapp-float) { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) :is(.seo-mobile-quote, .seo-mobile-whatsapp, .whatsapp-float):hover { background: var(--brand-hover); color: var(--paper); }
body:has(> .seo-header) .whatsapp-float { box-shadow: 0 10px 24px rgb(23 76 120 / 22%); }

/* Static consent/contact dialogs; React enquiry forms remain owner-managed. */
body:has(> .seo-header) :is(.analytics-consent, .whatsapp-modal) { border-color: var(--line); background: var(--paper); color: var(--ink); box-shadow: 0 24px 64px rgb(23 76 120 / 22%); }
body:has(> .seo-header) .analytics-consent button { border-color: var(--brand); background: var(--paper); color: var(--brand); }
body:has(> .seo-header) .analytics-consent .analytics-consent-allow { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) .analytics-consent button:hover { border-color: var(--brand-hover); background: var(--brand-hover); color: var(--paper); }
body:has(> .seo-header) .whatsapp-modal-backdrop { background: rgb(25 51 75 / 70%); }
body:has(> .seo-header) :is(.whatsapp-modal-close, .whatsapp-modal .eyebrow) { color: var(--brand); }
body:has(> .seo-header) .whatsapp-modal-icon { background: var(--brand); color: var(--paper); }
body:has(> .seo-header) :is(.whatsapp-modal img, .whatsapp-modal-qr-label) { border-color: var(--line); }

/* English, French and Russian original procurement guides and index pages. */
body:has(> .portfolio-header) .portfolio-header { border-color: var(--line); background: var(--paper); color: var(--ink); }
body:has(> .portfolio-header) .portfolio-header a:not(.brand) { color: var(--brand); }
body:has(> .portfolio-header) .portfolio-languages a { min-height: 44px; display: inline-flex; align-items: center; }
body:has(> .portfolio-header) .portfolio-languages a[aria-current="page"] { text-decoration-color: var(--brand); text-underline-offset: 5px; }
body:has(> .portfolio-header) :is(.article-hero, .blog-hero, .portfolio-article) { color: var(--ink); }
body:has(> .portfolio-header) :is(.article-hero figure, .portfolio-card img) { background: var(--paper); }
body:has(> .portfolio-header) .article-hero img { object-fit: contain; background: var(--paper); }
body:has(> .portfolio-header) :is(.portfolio-card, .portfolio-cta) { border-color: var(--line); background: var(--paper); color: var(--ink); }
body:has(> .portfolio-header) :is(.portfolio-card p, .portfolio-article p, .portfolio-article li, .blog-hero > p:not(.eyebrow), .seo-intro) { color: var(--muted); }
body:has(> .portfolio-header) .portfolio-note { border-left-color: var(--brand); background: var(--paper); color: var(--ink); }
body:has(> .portfolio-header) .portfolio-article { max-width: min(900px, 100%); }
body:has(> .portfolio-header) .portfolio-article :is(p, li) { line-height: 1.85; overflow-wrap: anywhere; }
body:has(> .portfolio-header) .portfolio-article h2 { line-height: 1.3; }
body:has(> .portfolio-header) .portfolio-article a:not(.button) { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
body:has(> .portfolio-header) .portfolio-article a:not(.button):hover { color: var(--brand-hover); }
body:has(> .portfolio-header) .portfolio-legal { border-top-color: var(--line) !important; background: var(--page); color: var(--muted); }
body:has(> .portfolio-header) .portfolio-legal a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }

/* The featured bottle/drawing collection is a separate static document. */
body:has(> #preview.preview) :is(#preview.preview, .surface) { background: var(--page); color: var(--ink); }
body:has(> #preview.preview) :is(.header, .featured, .collection) { border-color: var(--line); }
body:has(> #preview.preview) :is(.logo, .eyebrow, .text-link, .selection-bar > div > span, .card-footer button) { color: var(--brand); }
body:has(> #preview.preview) :is(.header-label, .same-bottle, .number, .visual-label, .visual-bottom, .card-ref,
  .pair-caption span, .pair-caption p, .featured-intro p:not(.eyebrow), .selection-bar small,
  .recommended-heading > p, .featured-card p, .card p, .card-footer span, .collection-heading > p,
  .intro-side p, .spotlight-copy p, .facts span, .drawing-hint, .detail-copy > p, dt) { color: var(--muted); }
body:has(> #preview.preview) :is(.cap-choice, .spotlight, .review-notes, .featured-card, .card, dialog) {
  border-color: var(--line);
  background: var(--paper);
  color: var(--ink);
}
body:has(> #preview.preview) :is(.cap-choice.is-selected, .select-cap[aria-pressed="true"]) { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand); }
body:has(> #preview.preview) .select-cap { border-color: var(--brand); background: var(--paper); color: var(--brand); }
body:has(> #preview.preview) .select-cap[aria-pressed="true"] { background: var(--brand); color: var(--paper); }
body:has(> #preview.preview) :is(.primary, .collection-whatsapp) { border-color: var(--brand); background: var(--brand); color: var(--paper); }
body:has(> #preview.preview) :is(.primary, .collection-whatsapp):hover { border-color: var(--brand-hover); background: var(--brand-hover); color: var(--paper); }
body:has(> #preview.preview) :is(.photo-button, .drawing-button, .drawing, .spotlight-visual, .dialog-head),
body:has(> #preview.preview) .dialog-head::before { background: var(--paper); border-color: var(--line); }
body:has(> #preview.preview) .drawing-button:hover img { opacity: 1; }
body:has(> #preview.preview) :is(.selection-bar, .card-footer, .next-section, .dialog-head, .facts, #patent-designs) { border-color: var(--line); }
body:has(> #preview.preview) :is(.next-section > span, .next-section h2, .next-section p, .review-notes) { color: var(--muted); }
body:has(> #preview.preview) .review-notes h2 { color: var(--ink); }
body:has(> #preview.preview) .dialog-head button { background: var(--page); color: var(--ink); }
body:has(> #preview.preview) dialog::backdrop { background: rgb(25 51 75 / 70%); }
body:has(> #preview.preview) :is(#demo-message, #featured-demo-result) { color: var(--brand); }
body:has(> #preview.preview) footer { border-top: 1px solid var(--line); background: var(--page); color: var(--ink); }
body:has(> #preview.preview) footer > span:last-child { color: var(--muted); }
body:has(> #preview.preview) .analytics-consent { border-color: var(--line); background: var(--paper); color: var(--ink); box-shadow: 0 22px 60px rgb(23 76 120 / 20%); }
body:has(> #preview.preview) .analytics-consent p { color: var(--muted); }
body:has(> #preview.preview) .analytics-consent button { border-color: var(--brand); background: var(--paper); color: var(--brand); }
body:has(> #preview.preview) .analytics-consent .analytics-consent-allow { background: var(--brand); color: var(--paper); }
body:has(> #preview.preview) .analytics-consent button:hover { background: var(--brand-hover); color: var(--paper); }

@media (max-width: 700px) {
  body:has(> .portfolio-header) .portfolio-header { align-items: flex-start; }
  body:has(> .portfolio-header) .portfolio-header > nav { max-width: 100%; gap: 12px; }
  body:has(> .portfolio-header) .portfolio-cta .button { max-width: 100%; padding-block: 12px; overflow-wrap: anywhere; }
  body:has(> .seo-header) :is(.article-table-wrap, .seo-table-wrap) { -webkit-overflow-scrolling: touch; }
  body:has(> .seo-header) .sku-comparison-card { min-width: 0; }
}
