/* DAOQI shared palette for all public theme pages.
   Legacy page styles use !important extensively; this final layer unifies
   colors, section hierarchy and inquiry controls on the reviewed pages. */
html body.daoqi-visual-unity {
    --dq-navy: #16324f;
    --dq-blue: #145da0;
    --dq-blue-hover: #104a80;
    --dq-text: #42566b;
    --dq-muted: #586b7d;
    --dq-soft: #f3f7fa;
    --dq-pale: #eaf2f8;
    --dq-line: #d7e2ec;
    --dq-gold: #e6c37a;
    --dq-shadow: 0 8px 24px rgba(22, 50, 79, .06);
    --cp-ink: var(--dq-navy);
    --cp-text: var(--dq-text);
    --cp-muted: var(--dq-muted);
    --cp-line: var(--dq-line);
    --cp-soft: var(--dq-soft);
    --cp-blue: var(--dq-blue);
    --cp-shadow: var(--dq-shadow);
    background: var(--dq-soft);
    color: var(--dq-text);
}

/* Shared header, footer, controls and keyboard focus. */
html body.daoqi-visual-unity .site-header .topbar {
    background: var(--dq-navy) !important;
}
html body.daoqi-visual-unity .site-header .topbar .bi { color: #fff !important; }
html body.daoqi-visual-unity .site-header .main-nav {
    border-bottom-color: var(--dq-line) !important;
    box-shadow: 0 4px 16px rgba(22, 50, 79, .04) !important;
}
html body.daoqi-visual-unity .site-header .main-nav :is(.navbar-nav .nav-link, .dropdown-item) { color: var(--dq-navy) !important; }
html body.daoqi-visual-unity .site-header .main-nav :is(.navbar-nav .nav-link, .dropdown-item):hover {
    color: var(--dq-blue) !important;
    background-color: var(--dq-pale) !important;
}
html body.daoqi-visual-unity .site-header .main-nav .btn,
html body.daoqi-visual-unity :is(.btn, .cp-auto-btn) {
    border-radius: 8px !important;
    box-shadow: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
html body.daoqi-visual-unity .site-header .main-nav .btn.btn-primary,
html body.daoqi-visual-unity :is(.btn.btn-primary, .cp-auto-btn.cp-auto-btn-primary, .cp-auto-btn.cp-auto-btn-dark) {
    background: var(--dq-blue) !important;
    border-color: var(--dq-blue) !important;
    color: #fff !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}
html body.daoqi-visual-unity .site-header .main-nav .btn.btn-primary:hover,
html body.daoqi-visual-unity :is(.btn.btn-primary, .cp-auto-btn.cp-auto-btn-primary, .cp-auto-btn.cp-auto-btn-dark):hover {
    background: var(--dq-blue-hover) !important;
    border-color: var(--dq-blue-hover) !important;
    color: #fff !important;
}
html body.daoqi-visual-unity .btn.btn-outline-primary {
    background: #fff !important;
    border-color: var(--dq-blue) !important;
    color: var(--dq-blue) !important;
}
html body.daoqi-visual-unity .btn.btn-outline-primary:hover {
    background: var(--dq-pale) !important;
    color: var(--dq-blue-hover) !important;
}
html body.daoqi-visual-unity .site-header .main-nav .header-search-form .btn.btn-outline-primary {
    background: var(--dq-pale) !important;
    border-color: var(--dq-line) !important;
    border-radius: 0 8px 8px 0 !important;
    color: var(--dq-blue) !important;
}
html body.daoqi-visual-unity .site-header .main-nav .navbar-toggler {
    background: var(--dq-blue) !important;
    border-color: var(--dq-blue) !important;
    color: #fff !important;
    border-radius: 8px !important;
}
html body.daoqi-visual-unity .cleanpro-cookie-banner .btn.btn-outline-light {
    background: #fff !important;
    border-color: var(--dq-line) !important;
    color: var(--dq-navy) !important;
}
html body.daoqi-visual-unity :is(.btn, .cp-auto-btn) .bi { color: inherit !important; }
html body.daoqi-visual-unity :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--dq-blue-hover) !important;
    outline-offset: 3px !important;
}
html body.daoqi-visual-unity :is(.solution-aerosol-hero, .cp-auto-contact-info, .site-footer, .topbar) :is(a, button, input, select, textarea, summary):focus-visible {
    outline-color: #fff !important;
}
html body.daoqi-visual-unity :is(.form-control, .form-select, .rfq-form input:not([type="hidden"]), .rfq-form textarea, .rfq-form select) {
    border-color: var(--dq-line) !important;
    border-radius: 6px !important;
    color: var(--dq-navy) !important;
    background-color: #fff !important;
}
html body.daoqi-visual-unity :is(.rfq-form label, .rfq-form .form-label) { color: var(--dq-navy) !important; }
html body.daoqi-visual-unity .site-footer {
    background: var(--dq-navy) !important;
    border-top: 3px solid var(--dq-gold) !important;
    color: #dce6ef !important;
}
html body.daoqi-visual-unity .site-footer :is(p, li, a, .footer-bottom) { color: #dce6ef !important; }
html body.daoqi-visual-unity .site-footer :is(h2, h3, h4, a:hover) { color: #fff !important; }
html body.daoqi-visual-unity .site-footer .footer-bottom { border-color: rgba(255,255,255,.18) !important; }

/* Neutral text, consistent section headings and restrained surface colors. */
html body.daoqi-visual-unity :is(.cp-auto-home, .solution-showcase-page, .home-fabric-solution-page, .cp-fragrance-page) {
    color: var(--dq-text) !important;
}
html body.daoqi-visual-unity :is(.solution-showcase-page, .home-fabric-solution-page, .cp-fragrance-page) {
    background: var(--dq-soft) !important;
}
html body.daoqi-visual-unity main :is(h1, h2, h3, h4) { color: var(--dq-navy) !important; }
html body.daoqi-visual-unity main :is(.eyebrow, .cp-auto-label, .hf-kicker, .cp-auto-solution-kicker, .hf-product-type) {
    color: var(--dq-blue) !important;
}
html body.daoqi-visual-unity :is(.cp-auto-brand, .cp-auto-product-directory, .cp-auto-markets, .cp-auto-whatsapp, .hf-light, .home-fabric-final-grid, .solution-final-grid) {
    background: var(--dq-soft) !important;
}
html body.daoqi-visual-unity .cp-auto-services { background: #fff !important; }
html body.daoqi-visual-unity :is(.cp-auto-solution-card, .cp-auto-directory-product-card, .cp-auto-service-card, .cp-auto-market-card, .hf-card, .hf-format-card, .solution-photo-row figure, .dq-showcase-product, .cp-f-concept, .cp-f-projects article, .cp-f-four-panels article) {
    background: #fff !important;
    border: 1px solid var(--dq-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--dq-shadow) !important;
}
html body.daoqi-visual-unity :is(.cp-auto-solution-card, .cp-auto-directory-product-card, .cp-auto-service-card, .cp-auto-market-card):hover {
    border-color: #8bb2d2 !important;
    box-shadow: 0 10px 28px rgba(22,50,79,.10) !important;
}
html body.daoqi-visual-unity :is(.cp-auto-mini-link, .cp-auto-directory-product-link, .hf-product-link, .hf-direct-contact a, .cp-auto-product-directory-toggle) {
    color: var(--dq-blue) !important;
}
html body.daoqi-visual-unity .cp-auto-home :is(.cp-auto-service-card, .cp-auto-market-card, .cp-auto-solution-card, .cp-auto-directory-product-card) a {
    color: var(--dq-blue) !important;
}
html body.daoqi-visual-unity .cp-auto-home :is(.cp-auto-service-card, .cp-auto-market-card, .cp-auto-solution-card, .cp-auto-directory-product-card) h3 a {
    color: var(--dq-navy) !important;
}
html body.daoqi-visual-unity :is(.cp-auto-mini-link, .cp-auto-directory-product-link, .hf-product-link):hover { color: var(--dq-blue-hover) !important; }
html body.daoqi-visual-unity :is(.cp-auto-solution-body h3 a, .cp-auto-directory-product-body h3 a, .cp-auto-service-card h3, .cp-auto-market-card h3) { color: var(--dq-navy) !important; }
html body.daoqi-visual-unity :is(.cp-auto-solution-body, .cp-auto-directory-product-body, .cp-auto-service-card, .cp-auto-market-card) p { color: var(--dq-muted) !important; }
html body.daoqi-visual-unity .cp-auto-metrics strong { color: var(--dq-blue) !important; }
html body.daoqi-visual-unity :is(.cp-auto-form-card, .home-fabric-form, .solution-final-form, .cp-f-inquiry, .cp-f-faq, .cp-auto-whatsapp-card) {
    background: #fff !important;
    border: 1px solid var(--dq-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--dq-shadow) !important;
}
html body.daoqi-visual-unity :is(.cp-auto-faq-list details, .cp-f-faq details, .accordion-item) {
    background: #fff !important;
    border: 1px solid var(--dq-line) !important;
    border-radius: 8px !important;
}
html body.daoqi-visual-unity :is(.cp-auto-faq-list summary, .cp-f-faq summary, .accordion-button) {
    background: var(--dq-soft) !important;
    color: var(--dq-navy) !important;
}
html body.daoqi-visual-unity :is(.cp-auto-faq-list details[open] summary, .cp-f-faq details[open] summary, .accordion-button[aria-expanded="true"]) {
    background: var(--dq-pale) !important;
    color: var(--dq-blue) !important;
}

/* Dark photographic areas retain readable, light foregrounds. */
html body.daoqi-visual-unity .solution-aerosol-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(12,34,56,.76) 0%, rgba(12,34,56,.68) 48%, rgba(12,34,56,.06) 86%) !important;
}
html body.daoqi-visual-unity :is(.solution-aerosol-hero, .cp-auto-hero-copy, .cp-auto-cta, .cp-auto-contact-info, .cp-auto-image-panel-overlay) :is(h1, h2, h3) { color: #fff !important; }
html body.daoqi-visual-unity .solution-aerosol-hero h1 strong { color: var(--dq-gold) !important; }
html body.daoqi-visual-unity .solution-aerosol-hero .eyebrow { color: #c7dff3 !important; }
html body.daoqi-visual-unity .solution-aerosol-hero-highlights .bi { color: var(--dq-gold) !important; }
html body.daoqi-visual-unity .solution-aerosol-hero .btn.btn-outline-primary {
    background: rgba(15,42,66,.3) !important;
    border-color: #dce8f2 !important;
    color: #fff !important;
}
html body.daoqi-visual-unity .solution-aerosol-hero .btn.btn-outline-primary:hover { background: var(--dq-navy) !important; }
html body.daoqi-visual-unity .cp-auto-contact-info :is(p, a, .cp-auto-label) { color: #e0eaf3 !important; }
html body.daoqi-visual-unity .cp-auto-contact-info .bi { color: var(--dq-gold) !important; }

/* One icon treatment: clear blue line icons on a pale blue rounded tile. */
html body.daoqi-visual-unity :is(.cp-auto-service-card, .cp-auto-market-card) > .bi {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    font-size: 24px !important;
    color: var(--dq-blue) !important;
    background: var(--dq-pale) !important;
    border-radius: 12px;
}
html body.daoqi-visual-unity .cp-auto-build-grid .bi { color: var(--dq-blue) !important; }
html body.daoqi-visual-unity .cp-auto-card-number { color: var(--dq-muted) !important; }
html body.daoqi-visual-unity .solution-process-item > strong {
    background: var(--dq-pale) !important;
    color: var(--dq-blue) !important;
    border-color: var(--dq-line) !important;
    border-radius: 10px !important;
}
html body.daoqi-visual-unity :is(.solution-process-item, .solution-qc-grid > div, .solution-engineering-checks > div) {
    background: var(--dq-soft) !important;
    border-color: var(--dq-line) !important;
}
html body.daoqi-visual-unity .solution-engineering-checks > div { border-left-color: var(--dq-blue) !important; }
html body.daoqi-visual-unity :is(.solution-engineering-checks strong, .solution-photo-row strong, .solution-qc-grid strong) { color: var(--dq-navy) !important; }
html body.daoqi-visual-unity :is(.solution-qc-panel, .solution-document-marquee) { background: var(--dq-soft) !important; border-color: var(--dq-line) !important; }
html body.daoqi-visual-unity .solution-showcase-content > h2 { border-color: var(--dq-line) !important; }
html body.daoqi-visual-unity .solution-showcase-content > h2::before { background: var(--dq-blue) !important; }

/* Home & fabric care: preserve product photographs; tune only SVG line icons. */
html body.daoqi-visual-unity :is(.hf-tags span, .hf-bottom-statement, .hf-flow-row, .hf-qc-grid > div, .hf-doc-grid > div) {
    color: var(--dq-navy) !important;
    background: var(--dq-pale) !important;
    border-color: var(--dq-line) !important;
}
html body.daoqi-visual-unity .hf-module { border-color: var(--dq-line) !important; }
html body.daoqi-visual-unity .hf-module :is(p, small) { color: var(--dq-muted) !important; }
html body.daoqi-visual-unity .hf-module .hf-kicker { color: var(--dq-blue) !important; }
html body.daoqi-visual-unity .hf-module img[src*="/home-fabric-icons/"] {
    filter: brightness(.78) saturate(.85);
}

/* Fragrance uses the same blue system, removing residual green surfaces. */
html body.daoqi-visual-unity .cp-fragrance-page {
    --cp-blue-dark: var(--dq-navy);
    --cp-blue: var(--dq-blue);
    --cp-blue-mid: var(--dq-blue);
    --cp-blue-pale: var(--dq-pale);
    --cp-blue-soft: var(--dq-soft);
    --cp-blue-line: var(--dq-line);
}
html body.daoqi-visual-unity .cp-f-hero { border-color: var(--dq-line) !important; border-radius: 12px; overflow: hidden; }
html body.daoqi-visual-unity .cp-f-hero::after {
    background: linear-gradient(90deg, #f3f7fa 0%, rgba(243,247,250,.96) 38%, rgba(243,247,250,.08) 82%) !important;
}
html body.daoqi-visual-unity .cp-fragrance-page :is(p, small) { color: var(--dq-muted) !important; }
html body.daoqi-visual-unity .cp-f-capabilities > span {
    border: 1px solid var(--dq-line) !important;
    color: var(--dq-navy) !important;
    background: rgba(255,255,255,.94) !important;
}
html body.daoqi-visual-unity .cp-f-icon,
html body.daoqi-visual-unity .cp-f-icon > :is(i, svg) { color: var(--dq-blue) !important; }
html body.daoqi-visual-unity .cp-f-icon > svg { display: block; flex: 0 0 24px; }
html body.daoqi-visual-unity .cp-f-icon::before,
html body.daoqi-visual-unity .cp-f-icon::after { content: none !important; }
html body.daoqi-visual-unity :is(.cp-f-process-step > span, .cp-f-manufacturing aside > div > span) {
    background: var(--dq-pale) !important;
    border-radius: 10px !important;
}
html body.daoqi-visual-unity :is(.cp-f-process-row, .cp-f-manufacturing) { background: var(--dq-soft) !important; }
html body.daoqi-visual-unity .cp-f-four-panels article > .cp-f-icon { background: var(--dq-pale) !important; border-radius: 8px; }
html body.daoqi-visual-unity :is(.cp-f-concept a, .cp-f-projects a) {
    background: var(--dq-blue) !important;
    color: #fff !important;
}
html body.daoqi-visual-unity :is(.cp-f-concept a, .cp-f-projects a):hover { background: var(--dq-blue-hover) !important; }
html body.daoqi-visual-unity .cp-f-manufacturing-section .cp-f-video p { background: var(--dq-navy) !important; color: #fff !important; }
html body.daoqi-visual-unity .cp-f-arrow { color: var(--dq-blue) !important; }
html body.daoqi-visual-unity .cp-f-section { border: 1px solid var(--dq-line) !important; }

/* Page layout wrappers; reusable controls live in components.css. */
html body.daoqi-visual-unity .home-fabric-configured-page .home-fabric-final-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: start;
    gap: 24px;
    padding: 40px 34px;
    scroll-margin-top: 24px;
}
html body.daoqi-visual-unity .home-fabric-configured-page .dq-inquiry-heading {
    grid-column: 1 / -1;
    margin: 0 0 4px !important;
}
html body.daoqi-visual-unity main :is(.home-fabric-faq, .home-fabric-form, .cp-f-faq, .cp-f-inquiry, .solution-final-form) {
    padding: 28px !important;
    background: #fff !important;
    border: 1px solid var(--dq-line) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 18px rgba(22,50,79,.035) !important;
}
html body.daoqi-visual-unity main .dq-inquiry-subtitle {
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em;
    margin: 0 0 20px !important;
}
html body.daoqi-visual-unity .home-fabric-form .hf-inquiry-intro {
    font-size: 14px;
    line-height: 1.7;
    color: var(--dq-muted);
    margin: -6px 0 24px;
}
html body.daoqi-visual-unity .home-fabric-form .hf-direct-contact {
    font-size: 13px;
    line-height: 1.7;
    border-top: 1px solid var(--dq-line);
    padding-top: 18px;
    margin: 24px 0 0;
}
@media (max-width: 1100px) {
    html body.daoqi-visual-unity .home-fabric-configured-page .home-fabric-final-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
    html body.daoqi-visual-unity .home-fabric-configured-page .home-fabric-final-grid { padding: 28px 16px; gap: 20px; }
    html body.daoqi-visual-unity main :is(.home-fabric-faq, .home-fabric-form, .cp-f-faq, .cp-f-inquiry, .solution-final-form) { padding: 20px 16px !important; }
    html body.daoqi-visual-unity main :is(.hf-section-heading, .cp-f-title) { gap: 12px !important; }
    html body.daoqi-visual-unity main .dq-inquiry-subtitle { font-size: 20px !important; }
}

@media (max-width: 991px) {
    html body.daoqi-visual-unity .solution-aerosol-hero::before {
        background: linear-gradient(180deg, rgba(12,34,56,.82), rgba(12,34,56,.72)) !important;
    }
    html body.daoqi-visual-unity .cp-f-hero::after {
        background: linear-gradient(110deg, rgba(243,247,250,.98), rgba(243,247,250,.92)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.daoqi-visual-unity :is(.btn, .cp-auto-btn) { transition: none; }
}
