/*
 * Furniture Gallery NW retailer theme
 * Shared visual polish for active frontend pages.
 */

:root {
  --ivy-ink: #171717;
  --ivy-black: #000000;
  --ivy-text: #5c5c57;
  --ivy-muted: #8a8a83;
  --ivy-ivory: #ffffff;
  --ivy-cream: #f6f6f2;
  --ivy-border: #d7d7d1;
  --ivy-primary: #0ea5e9;
  --ivy-primary-light: #38bdf8;
  --ivy-primary-dark: #0284c7;
  --ivy-gold: var(--ivy-primary);
  --ivy-gold-dark: var(--ivy-primary-dark);
  --ivy-card: #ffffff;
  --ivy-shadow-sm: 0 8px 22px rgba(23, 23, 23, 0.04);
  --ivy-shadow-md: 0 14px 34px rgba(23, 23, 23, 0.08);
  --ivy-shadow-lg: 0 18px 44px rgba(23, 23, 23, 0.12);

  --brand-primary: var(--ivy-primary);
  --brand-primary-light: var(--ivy-primary-light);
  --brand-primary-dark: var(--ivy-primary-dark);
  --brand-secondary: var(--ivy-cream);
  --brand-secondary-light: #ffffff;
  --brand-secondary-dark: var(--ivy-border);
  --brand-accent: var(--ivy-gold);
  --brand-accent-light: var(--ivy-primary-light);
  --brand-accent-dark: var(--ivy-gold-dark);
  --global-color: var(--ivy-primary);
  --base: var(--ivy-primary);
}

body {
  color: var(--ivy-text);
  background: var(--ivy-ivory);
}

a {
  color: inherit;
}

a:hover {
  color: var(--ivy-primary-dark);
}

.page-hero,
.clearance-hero,
.brand-hero,
.blog-hero,
.newsletter-hero {
  background: linear-gradient(180deg, #ffffff 0%, var(--ivy-cream) 100%) !important;
  color: var(--ivy-ink);
}

.section-title__heading,
.page-hero-title,
.hero-title {
  color: var(--ivy-ink);
  letter-spacing: 0;
}

.section-title__line {
  background: var(--ivy-border) !important;
}

.product-card,
.product-item,
.promo-card,
.single__blog,
.blog_sidebar.card,
.location-card,
.testimonial-item,
.about-summary,
.style-center,
.empty-state {
  border-color: var(--ivy-border) !important;
  background-color: var(--ivy-card) !important;
  box-shadow: var(--ivy-shadow-sm);
}

.section-title__subtitle,
.section-subtitle,
.hero-desc,
.page-hero-description,
.blog-meta,
.product-card__meta,
.breadcrumb__link {
  color: var(--ivy-muted) !important;
}

.form--control,
input,
select,
textarea {
  background: #ffffff !important;
  border-color: var(--ivy-border) !important;
  color: var(--ivy-ink) !important;
}

.form--control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ivy-primary) !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.16) !important;
}

.btn,
.theme-btn,
.cmn--btn,
.location-card__button,
.view-compare-btn {
  border-radius: 4px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.btn-primary,
.btn--primary,
.theme-btn,
.cmn--btn {
  background-color: var(--ivy-primary) !important;
  border-color: var(--ivy-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn--primary:hover,
.btn--primary:focus-visible,
.theme-btn:hover,
.theme-btn:focus-visible,
.cmn--btn:hover,
.cmn--btn:focus-visible {
  background-color: var(--ivy-primary-dark) !important;
  border-color: var(--ivy-primary-dark) !important;
}

.text-primary { color: var(--ivy-primary-dark) !important; }
.bg-primary { background-color: var(--ivy-primary) !important; }
.border-primary { border-color: var(--ivy-primary) !important; }

.form-check-input:checked,
.form-check-input-modern:checked {
  background-color: var(--ivy-primary) !important;
  border-color: var(--ivy-primary) !important;
}

.location-card__button,
.view-compare-btn,
.search_inner__button {
  background: var(--ivy-primary) !important;
  border-color: var(--ivy-primary) !important;
  color: #ffffff !important;
}

.location-card__button:hover,
.view-compare-btn:hover,
.search_inner__button:hover {
  background: var(--ivy-primary-dark) !important;
  border-color: var(--ivy-primary-dark) !important;
  color: #ffffff !important;
}

.read-more,
.more-button .read-more,
.promo-type-tag,
.products-count span,
.page-hero-description strong,
.hero-desc strong {
  color: var(--ivy-primary-dark) !important;
}

.pagination .page-item.active .page-link {
  background-color: var(--ivy-primary) !important;
  border-color: var(--ivy-primary) !important;
  color: #ffffff !important;
}

.badge,
.tag,
.status-badge,
.product-badge,
.promo-badge {
  background: var(--ivy-primary-dark) !important;
  color: #ffffff !important;
  border-color: var(--ivy-primary-dark) !important;
}

