/* J.DESIGN unified brand colour system — palette only, no layout changes. */
:root {
  --brand-wine: #6F2E35;
  --brand-wine-hover: #5C252C;
  --brand-charcoal: #242321;
  --brand-warm-white: #F4F1EB;
  --brand-warm-gray: #E8E3DB;
  --brand-bronze: #8A7157;
  --brand-muted: #6C6760;
  --brand-muted-light: #958E85;
  --brand-line: #D8D1C7;
  --brand-line-soft: #E3DDD5;

  --bg: var(--brand-warm-white);
  --surface: #F8F5F0;
  --surface-strong: #FCFAF6;
  --text: var(--brand-charcoal);
  --muted: var(--brand-muted);
  --muted-light: var(--brand-muted-light);
  --line: var(--brand-line);
  --line-soft: var(--brand-line-soft);
  --dark: var(--brand-charcoal);
  --accent: var(--brand-wine);
  --accent-deep: var(--brand-wine-hover);
  --accent-soft: var(--brand-warm-gray);
}

html,
body {
  background: var(--brand-warm-white) !important;
  color: var(--brand-charcoal) !important;
}

/* Warm neutral surfaces remain the dominant field. */
.site-header {
  background: rgba(244, 241, 235, 0.9) !important;
  border-color: var(--brand-line-soft) !important;
}

.site-header .site-nav,
.mobile-menu-toggle,
.language-switch,
.button-light,
.hero-copy,
.hero-visual,
.service-card,
.product-preview-card,
.package-card,
.project-card,
.value-item,
.contact-form,
.subpage-cta,
.brand-logo-wall,
.workflow-card,
.quote-hero-copy,
.quote-hero-panel,
.quote-card,
.portal-card,
.product-card,
.line-item,
.empty-state,
.summary-output {
  border-color: var(--brand-line) !important;
}

.workflow-card,
.package-meta,
.hero-tags span,
.project-tag,
.quote-hero-tags span {
  background-color: var(--brand-warm-gray) !important;
}

/* Body copy and headings stay neutral, never red. */
h1,
h2,
h3,
h4,
.hero-title,
.project-copy h3,
.service-card-copy h3,
.product-preview-card h3,
.package-card h2,
.value-item h3,
.subpage-hero h1 {
  color: var(--brand-charcoal) !important;
}

p,
li,
.section-note,
.hero-text,
.contact-note,
.workflow-note,
.package-fit,
.subpage-hero p:not(.eyebrow),
.subpage-cta p,
.section-footnote,
.site-footer {
  color: var(--brand-muted) !important;
}

/* Primary conversion actions: the only solid brand-colour controls. */
.button-dark,
.hero-actions .button-dark,
.package-card .button-dark,
.subpage-cta .button-dark,
.contact-submit,
.header-cta,
.floating-consult {
  background: var(--brand-wine) !important;
  border-color: var(--brand-wine) !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 34px rgba(111, 46, 53, 0.2) !important;
}

.button-dark:hover,
.hero-actions .button-dark:hover,
.package-card .button-dark:hover,
.subpage-cta .button-dark:hover,
.button-dark:focus-visible,
.contact-submit:hover,
.contact-submit:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.floating-consult:hover,
.floating-consult:focus-visible {
  background: var(--brand-wine-hover) !important;
  border-color: var(--brand-wine-hover) !important;
  color: #FFFFFF !important;
}

.button-light {
  background: #F8F5F0 !important;
  border-color: var(--brand-line) !important;
  color: var(--brand-charcoal) !important;
}

.button-light:hover,
.button-light:focus-visible {
  background: var(--brand-warm-gray) !important;
  border-color: var(--brand-wine) !important;
  color: var(--brand-wine) !important;
}

/* Navigation, language state, selected tabs and link states. */
.site-header .site-nav a {
  color: var(--brand-charcoal) !important;
  border-bottom-color: var(--brand-line-soft) !important;
}

.site-header .site-nav a:hover,
.site-header .site-nav a:focus-visible,
.site-header .site-nav a[aria-current="page"],
.site-header .site-nav a.is-active,
a:not(.button):not(.brand):not(.brand-logo-link):hover {
  color: var(--brand-wine) !important;
}

.site-nav a::after {
  background: var(--brand-wine) !important;
}

.language-switch button {
  color: var(--brand-muted) !important;
}

.language-switch button.is-active {
  background: var(--brand-wine) !important;
  color: #FFFFFF !important;
}

.concept-tabs button.is-active,
.concept-tabs button:hover,
.concept-tabs button:focus-visible {
  color: var(--brand-wine) !important;
  border-color: var(--brand-wine) !important;
}

/* Restrained editorial accents: wine for hierarchy, bronze for detail. */
.eyebrow,
.hero-copy > .eyebrow,
.section-heading-wide .eyebrow,
.proof-number,
.deliverable-number,
.hero-picture-number,
.hero-index,
.card-index,
.workflow-number,
.package-index,
.quote-panel-label,
.sourcing-paths article > span {
  color: var(--brand-wine) !important;
}

/* Preserve the original dark photographic contact/upload panel. */
.contact-section {
  border-color: transparent !important;
}

.contact-section .eyebrow,
.contact-section h2,
.contact-section .contact-note {
  color: #FFFFFF !important;
}

.hero-title .hero-title-offset,
.hero-title .hero-title-offset > span {
  color: var(--brand-charcoal) !important;
}

.section-heading-wide .eyebrow::after,
.eyebrow::after,
.title-rule,
.accent-line {
  background: var(--brand-wine) !important;
}

.section-note,
.subpage-main > .subpage-hero:not(.delivery-hero) > p:not(.eyebrow) {
  border-color: var(--brand-bronze) !important;
}

.design-scope-list span,
.project-tag,
.package-meta,
.brand-logo-wall .brand-logo-link {
  border-color: var(--brand-line) !important;
  color: var(--brand-muted) !important;
}

.brand-logo-wall .brand-logo-link:hover {
  background: var(--brand-warm-gray) !important;
  border-color: var(--brand-bronze) !important;
}

/* Form controls and focus treatment are identical on every page. */
.form-field,
.contact-form input,
.contact-form textarea,
.contact-form select,
.quote-form-grid input,
.quote-form-grid select,
.catalog-field input,
.catalog-field select,
.line-item input,
.portal-form input {
  background: #FCFAF6 !important;
  border-color: var(--brand-line) !important;
  color: var(--brand-charcoal) !important;
}

.form-field:focus,
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.quote-form-grid input:focus,
.quote-form-grid select:focus,
.catalog-field input:focus,
.catalog-field select:focus,
.line-item input:focus,
.portal-form input:focus {
  border-color: var(--brand-wine) !important;
  box-shadow: 0 0 0 3px rgba(111, 46, 53, 0.12) !important;
  outline: none;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.portal-form input::placeholder {
  color: var(--brand-muted-light) !important;
}

/* Carousel and small controls use the same restrained state language. */
.carousel-arrow:hover,
.carousel-arrow:focus-visible,
.lightbox-nav:hover,
.lightbox-nav:focus-visible {
  border-color: var(--brand-wine) !important;
  color: var(--brand-wine) !important;
}

.carousel-dots button.is-active {
  background: var(--brand-wine) !important;
}

.carousel-dots button:not(.is-active) {
  background: var(--brand-line) !important;
}

.line-remove,
.product-price strong,
.total-row-grand strong {
  color: var(--brand-wine) !important;
}

/* Preserve every photograph's original, real colour. */
.carousel-slide img,
.service-card-media,
.project-media,
.case-hero-image img,
.gallery-card img,
.na-gallery img,
.concept-library-section img,
.product-preview-card img,
.room-delivery-image img,
img {
  filter: none !important;
}

@media (max-width: 720px) {
  .site-header .site-nav {
    background: #F8F5F0 !important;
    border-color: var(--brand-line) !important;
  }

  .floating-consult {
    color: #FFFFFF !important;
  }
}
