/* Le tiroir official palette unification — 2026-08-30
   The supplied logo blue (#39779D) is the single brand anchor.
   Dark and pale tones below are deliberate derivatives, not separate page palettes. */

:root,
body.page-home,
body.page-about,
body.page-performance,
body.page-price,
body.page-works,
body.page-news,
body.page-faq,
body.page-company,
body.page-contact {
  --lt-brand: #39779d; --text-v37-lt-brand: #39779d;
  --lt-brand-hover: #39779d; --text-v37-lt-brand-hover: #2f6a8e;
  --lt-brand-deep: #39779d; --text-v37-lt-brand-deep: #285b79;
  --lt-brand-navy: #39779d; --text-v37-lt-brand-navy: #214f69;
  --lt-brand-light: #dfe9ef; --text-v37-lt-brand-light: #dceaf2;
  --lt-brand-pale: #eff4f7; --text-v37-lt-brand-pale: #edf5f8;
  --lt-brand-paper: #f8fafb; --text-v37-lt-brand-paper: #f7fafc;
  --lt-ink: #263946; --text-v37-lt-ink: #263946;
  --lt-muted: #39779d; --text-v37-lt-muted: #667985;
  --lt-line: rgba(57, 119, 157, .22); --text-v37-lt-line: rgba(57, 119, 157, .22);

  --blue: var(--lt-brand); --text-v37-blue: var(--text-v37-lt-brand);
  --blue-deep: var(--lt-brand-deep); --text-v37-blue-deep: var(--text-v37-lt-brand-deep);
  --c-blue: var(--lt-brand); --text-v37-c-blue: var(--text-v37-lt-brand);
  --c-blue-dark: var(--lt-brand-deep); --text-v37-c-blue-dark: var(--text-v37-lt-brand-deep);
  --c-navy: var(--lt-brand-navy); --text-v37-c-navy: var(--text-v37-lt-brand-navy);
  --c-bluegray: var(--lt-brand-pale); --text-v37-c-bluegray: var(--text-v37-lt-brand-pale);
  --c-beige: var(--lt-brand-pale); --text-v37-c-beige: var(--text-v37-lt-brand-pale);
  --c-ivory: var(--lt-brand-paper); --text-v37-c-ivory: var(--text-v37-lt-brand-paper);
  --c-text: var(--lt-ink); --text-v37-c-text: var(--text-v37-lt-ink);
  --c-text-blue: var(--lt-brand-deep); --text-v37-c-text-blue: var(--text-v37-lt-brand-deep);
  --c-border: var(--lt-line); --text-v37-c-border: var(--text-v37-lt-line);

  --ad-blue: var(--lt-brand); --text-v37-ad-blue: var(--text-v37-lt-brand);
  --ad-blue-deep: var(--lt-brand-deep); --text-v37-ad-blue-deep: var(--text-v37-lt-brand-deep);
  --ad-blue-pale: var(--lt-brand-pale); --text-v37-ad-blue-pale: var(--text-v37-lt-brand-pale);
  --ad-ink: var(--lt-ink); --text-v37-ad-ink: var(--text-v37-lt-ink);
  --ad-paper: var(--lt-brand-paper); --text-v37-ad-paper: var(--text-v37-lt-brand-paper);
  --ad-ivory: var(--lt-brand-paper); --text-v37-ad-ivory: var(--text-v37-lt-brand-paper);
  --ad-rule: var(--lt-line); --text-v37-ad-rule: var(--text-v37-lt-line);

  --works-blue: var(--lt-brand); --text-v37-works-blue: var(--text-v37-lt-brand);
  --works-ink: var(--lt-ink); --text-v37-works-ink: var(--text-v37-lt-ink);
  --works-paper: var(--lt-brand-paper); --text-v37-works-paper: var(--text-v37-lt-brand-paper);
  --works-rule: var(--lt-line); --text-v37-works-rule: var(--text-v37-lt-line);

  --home-op-blue: var(--lt-brand); --text-v37-home-op-blue: var(--text-v37-lt-brand);
  --home-editorial-blue: var(--lt-brand); --text-v37-home-editorial-blue: var(--text-v37-lt-brand);
  --home-editorial-ink: var(--lt-ink); --text-v37-home-editorial-ink: var(--text-v37-lt-ink);
  --home-editorial-paper: #fff; --text-v37-home-editorial-paper: #fff;
  --home-editorial-rule: var(--lt-line); --text-v37-home-editorial-rule: var(--text-v37-lt-line);

  --price-blue: var(--lt-brand); --text-v37-price-blue: var(--text-v37-lt-brand);
  --price-blue-deep: var(--lt-brand-deep); --text-v37-price-blue-deep: var(--text-v37-lt-brand-deep);
  --price-ink: var(--lt-ink); --text-v37-price-ink: var(--text-v37-lt-ink);
  --price-mist: var(--lt-brand-light); --text-v37-price-mist: var(--text-v37-lt-brand-light);
  --price-paper: var(--lt-brand-paper); --text-v37-price-paper: var(--text-v37-lt-brand-paper);
  --price-clean-blue: var(--lt-brand); --text-v37-price-clean-blue: var(--text-v37-lt-brand);
  --price-clean-blue-dark: var(--lt-brand-deep); --text-v37-price-clean-blue-dark: var(--text-v37-lt-brand-deep);
  --price-clean-ink: var(--lt-ink); --text-v37-price-clean-ink: var(--text-v37-lt-ink);
  --price-clean-muted: var(--lt-muted); --text-v37-price-clean-muted: var(--text-v37-lt-muted);
  --price-clean-navy: var(--lt-brand-navy); --text-v37-price-clean-navy: var(--text-v37-lt-brand-navy);
  --price-clean-paper: var(--lt-brand-paper); --text-v37-price-clean-paper: var(--text-v37-lt-brand-paper);
  --price-clean-line: var(--lt-line); --text-v37-price-clean-line: var(--text-v37-lt-line);

  --company-blue: var(--lt-brand); --text-v37-company-blue: var(--text-v37-lt-brand);
  --company-sand: var(--lt-brand); --text-v37-company-sand: var(--text-v37-lt-brand);
  --company-ink: var(--lt-brand-deep); --text-v37-company-ink: var(--text-v37-lt-brand-deep);
  --company-ink-deep: var(--lt-brand-navy); --text-v37-company-ink-deep: var(--text-v37-lt-brand-navy);
  --company-paper: var(--lt-brand-paper); --text-v37-company-paper: var(--text-v37-lt-brand-paper);
  --company-line: var(--lt-line); --text-v37-company-line: var(--text-v37-lt-line);

  --v41-brand: var(--lt-brand); --text-v37-v41-brand: var(--text-v37-lt-brand);
  --v41-brand-deep: var(--lt-brand-deep); --text-v37-v41-brand-deep: var(--text-v37-lt-brand-deep);
  --v41-brand-light: var(--lt-brand-light); --text-v37-v41-brand-light: var(--text-v37-lt-brand-light);
  --v42-brand: var(--lt-brand); --text-v37-v42-brand: var(--text-v37-lt-brand);
  --v42-brand-deep: var(--lt-brand-deep); --text-v37-v42-brand-deep: var(--text-v37-lt-brand-deep);
  --v42-brand-shadow: var(--lt-brand-navy); --text-v37-v42-brand-shadow: var(--text-v37-lt-brand-navy);
  --v45-brand: var(--lt-brand); --text-v37-v45-brand: var(--text-v37-lt-brand);
  --v45-brand-deep: var(--lt-brand-deep); --text-v37-v45-brand-deep: var(--text-v37-lt-brand-deep);
  --v45-ink: var(--lt-ink); --text-v37-v45-ink: var(--text-v37-lt-ink);
  --v47-blue: var(--lt-brand); --text-v37-v47-blue: var(--text-v37-lt-brand);
  --v47-blue-deep: var(--lt-brand-deep); --text-v37-v47-blue-deep: var(--text-v37-lt-brand-deep);
  --v47-blue-light: #39779d; --text-v37-v47-blue-light: #8bb4cc;

  --color-primary: var(--lt-brand); --text-v37-color-primary: var(--text-v37-lt-brand);
  --color-accent: var(--lt-brand); --text-v37-color-accent: var(--text-v37-lt-brand);
  --color-deep: var(--lt-brand-deep); --text-v37-color-deep: var(--text-v37-lt-brand-deep);
  --color-beige: var(--lt-brand-pale); --text-v37-color-beige: var(--text-v37-lt-brand-pale);
  --color-border: var(--lt-line); --text-v37-color-border: var(--text-v37-lt-line);
  --color-ok: var(--lt-brand); --text-v37-color-ok: var(--text-v37-lt-brand);
  --color-text: var(--lt-ink); --text-v37-color-text: var(--text-v37-lt-ink);
  --color-text-sub: var(--lt-muted); --text-v37-color-text-sub: var(--text-v37-lt-muted);
}

html,
body {
  background: #fff;
  color: var(--text-v37-lt-ink);
}

::selection {
  background: var(--lt-brand-light);
  color: var(--text-v37-lt-brand-navy);
}

/* Shared navigation, drawer, footer and floating simulator control. */
body > .drawer,
.drawer,
.footer,
.site-footer {
  background-color: var(--lt-brand-navy) !important;
  background-image: none !important;
}

.site-header__cta,
.header__cta,
.works__more,
.contact__button,
.bottom-cta__btn--blue,
.form-submit,
.btn--primary,
.sim-fab {
  border-color: var(--lt-brand) !important;
  background: var(--lt-brand) !important;
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(57, 119, 157, .2) !important;
}

.site-header__cta:hover,
.header__cta:hover,
.works__more:hover,
.contact__button:hover,
.bottom-cta__btn--blue:hover,
.form-submit:hover,
.btn--primary:hover,
.sim-fab:hover,
.sim-fab:focus-visible {
  background: var(--lt-brand-hover) !important;
}

.sim-fab__arrow {
  color: var(--text-v37-lt-brand) !important;
}

.footer__contact,
body .drawer__cta {
  color: var(--text-v37-lt-brand) !important;
}

.footer__contact:hover,
.footer__contact:focus-visible,
body .drawer__cta:hover,
body .drawer__cta:focus-visible {
  color: var(--text-v37-lt-brand-deep) !important;
  background: var(--lt-brand-pale) !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: var(--lt-brand) !important;
}

/* One consistent light-section rhythm across every page. */
body.page-home .works,
body.page-performance .performance-showcase,
body.page-price .included,
body.page-price .options,
body.page-news .news,
body.page-faq .faq-main {
  background-color: var(--lt-brand-pale) !important;
}

body.page-home .concept,
body.page-home .news,
body.page-home .life-gallery,
body.page-about .concept,
body.page-price .price-type,
body.page-price .plans,
body.page-price .funding,
body.page-works .works,
body.page-company .company-story,
body.page-company .company-greeting,
body.page-company .company-flow,
body.page-contact .contact-main,
body.page-contact .access {
  background-color: #fff !important;
}

/* Page-specific blue surfaces use the exact official hue or a named derivative. */
body.page-company .company-work,
body.page-company .company-profile,
body.page-price .funding__summary,
body.page-price .estimate,
body.page-faq .faq-side__card--cta {
  background: var(--lt-brand-deep) !important;
}

body.page-price .hero::before {
  background: linear-gradient(90deg, rgba(57, 119, 157, .86) 0 58%, rgba(57, 119, 157, .58) 78%, rgba(57, 119, 157, 0) 100%) !important;
}

body.page-price .price-type {
  background: linear-gradient(90deg, var(--lt-brand-pale) 0 25%, #fff 25% 100%) !important;
}

body.page-price .price-unit-table thead th,
body.page-price .price-unit-table tbody th,
body.page-price .type-card__label,
body.page-price .included__icon,
body.page-price .option-card__badge {
  background-color: var(--lt-brand) !important;
}

/* Keep labels readable on the official Le tiroir blue. */
body.page-price .price-unit-table thead th,
body.page-price .price-unit-table tbody th,
body.page-price .price-unit-table tbody th * {
  color: #fff !important;
}

body.page-price .price-unit-table-wrap,
body.page-price .price-unit-table th,
body.page-price .price-unit-table td,
body.page-price .included-detail-list li,
body.page-price .option-detail-list li {
  border-color: var(--lt-line) !important;
}

body.page-works .works-hero__eyebrow,
body.page-works .works-hero__title-en,
body.page-news .news__eyebrow,
body.page-company .company-kicker,
body.page-price .sec-head__num,
body.page-price .price-unit-table,
body.page-home .section-label,
.c-eyebrow {
  color: var(--text-v37-lt-brand) !important;
}

body.page-performance .performance-showcase {
  --performance-panel: var(--lt-brand); --text-v37-performance-panel: var(--text-v37-lt-brand);
}

body.page-performance .performance-showcase__panel,
body.page-performance .performance-card.is-active {
  background-color: var(--lt-brand) !important;
}

/* Normalize legacy beige/gray fallback surfaces so every page still belongs to
   the same palette while photographs are loading or unavailable. */
.ph--photo,
body.page-about .concept-card__image,
body.page-home .life-gallery__item,
body.page-performance .performance-showcase__sticky,
body.page-performance .performance-showcase__visual,
body.page-performance .performance-showcase__slide,
body.page-works .work-card__image,
body.page-company .company-person__portrait,
body.page-company .company-cafe__gallery,
body.page-contact .access__map,
.sim__header-art {
  background-color: var(--lt-brand-pale) !important;
}

body.page-works .works-hero__divider span {
  background-color: var(--lt-brand-light) !important;
}

@media (max-width: 767px) {
  body > .drawer,
  .drawer {
    background: var(--lt-brand-navy) !important;
  }

  body.page-price .price-unit-table tbody th {
    background: var(--lt-brand) !important;
  }

  body.page-price .price-type {
    background: var(--lt-brand-pale) !important;
  }
}
