/* Titan Blinds & Flooring — editorial storefront system.
   Loaded after the legacy customer styles so existing template and JS hooks stay intact. */
:root {
  --off-white: var(--tb-ivory);
  --pure-white: #fff;
  --muted-gold: var(--tb-champagne);
  --darker-gold: #866e48;
  --deep-gold: #866e48;
  --nav-dark: var(--tb-dark);
  --heading-color: var(--tb-ink);
  --secondary-text: var(--tb-stone-ink);
  --footer-text: var(--tb-ink);
  --border-radius: 2px;
  --border-radius-sm: 2px;
  --gold-gradient: var(--tb-champagne);
  --nav-gradient: var(--tb-dark);
  --shadow: 0 10px 30px rgba(30, 28, 25, .08);
  --shadow-hover: 0 18px 38px rgba(30, 28, 25, .12);
}

html { scroll-behavior: smooth; }
body {
  background: var(--tb-ivory);
  color: var(--tb-ink);
  font-family: var(--tb-font-body);
}
a { text-underline-offset: .18em; }
button, input, select, textarea { accent-color: var(--tb-champagne); }
:focus-visible { outline: 2px solid var(--tb-champagne); outline-offset: 3px; }

/* Store header: quiet charcoal masthead, warm paper search field, fine rules. */
.main-header {
  min-height: 84px;
  padding: 8px 0;
  background: var(--tb-dark);
  border-bottom: 1px solid rgba(182, 154, 104, .6);
  box-shadow: none;
}
.main-header .container { max-width: var(--tb-page-max); }
.site-logo { width: 112px; height: 64px; }
.search-container { max-width: 560px; }
.search-bar {
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 2px;
  background: rgba(255,255,255,.08);
  box-shadow: none;
  color: #fff;
  font-size: 14px;
}
.search-bar::placeholder { color: rgba(255,255,255,.68); }
.search-bar:focus { border-color: var(--tb-champagne); box-shadow: 0 0 0 2px rgba(182,154,104,.2); }
.search-icon, .search-icon:hover { color: var(--tb-champagne); }
.header-icons { gap: 10px; }
.header-icons a {
  width: 42px; height: 42px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: transparent;
}
.header-icons a:hover { color: var(--tb-champagne); background: rgba(255,255,255,.06); transform: none; }
.cart-count { background: var(--tb-champagne); color: var(--tb-dark); border-color: var(--tb-dark); box-shadow: none; }

.mm-nav {
  background: var(--tb-ivory);
  border-bottom: 1px solid var(--tb-line-soft);
  box-shadow: none;
}
.mm-nav-list { min-height: 50px; }
.mm-nav-link {
  position: relative;
  padding: 15px 20px;
  color: var(--tb-ink);
  background: transparent;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.mm-nav-item:hover > .mm-nav-link,
.mm-nav-item.open > .mm-nav-link,
.mm-nav-link:focus-visible { color: var(--tb-ink); background: transparent; }
.mm-nav-link::after {
  position: absolute; right: 20px; bottom: 8px; left: 20px;
  height: 1px; content: ""; background: var(--tb-champagne);
  transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.mm-nav-item:hover > .mm-nav-link::after,
.mm-nav-item.open > .mm-nav-link::after,
.mm-nav-link:focus-visible::after { transform: scaleX(1); }
.mm-mega { border-top-color: var(--tb-line-soft); border-bottom: 2px solid var(--tb-champagne); box-shadow: 0 18px 32px rgba(30,28,25,.1); }
.mm-mega-inner { max-width: var(--tb-page-max); padding: 34px var(--tb-page-gutter) 28px; }
.mm-mega-col h4 { color: var(--tb-ink); font-family: var(--tb-font-heading); font-size: 20px; }
.mm-mega-list > li > a { color: var(--tb-ink-2); }
.mm-mega-list > li > a i { color: var(--tb-champagne); }
.mm-mega-foot { background: var(--tb-ivory); border-color: var(--tb-line-soft); }
.mobile-search-bar { border-radius: 2px !important; }

/* Homepage hero: preserve the existing carousel and its controls; restyle its art direction. */
.hero-section {
  height: min(760px, 76vh);
  min-height: 570px;
  margin: 0;
  background: var(--tb-dark);
}
.hero-slide-1 { background-position: center 54%; }
.hero-slide-2 { background-position: center 58%; }
.hero-slide-3 { background-position: center 50%; }
.hero-slide-1 { background-image: linear-gradient(90deg, rgba(23,22,19,.72) 0%, rgba(23,22,19,.42) 42%, rgba(23,22,19,.02) 100%), url('images/slide1.jpg'); }
.hero-slide-2 { background-image: linear-gradient(90deg, rgba(23,22,19,.72) 0%, rgba(23,22,19,.42) 42%, rgba(23,22,19,.02) 100%), url('images/slide2.jpg'); }
.hero-slide-3 { background-image: linear-gradient(90deg, rgba(23,22,19,.72) 0%, rgba(23,22,19,.42) 42%, rgba(23,22,19,.02) 100%), url('images/slide3.jpg'); }
.hero-overlay { background: linear-gradient(90deg, rgba(23,22,19,.18), transparent 74%); }
.hero-content { width: min(760px, 68vw); max-width: 760px; padding: 24px 0 24px var(--tb-page-gutter); }
.hero-badge {
  padding: 0 0 0 14px;
  border-left: 2px solid var(--tb-champagne);
  border-radius: 0;
  background: transparent;
  color: #f0d9ab;
  box-shadow: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2em;
}
.hero-title {
  max-width: 760px;
  margin-bottom: 22px;
  font-family: var(--tb-font-heading) !important;
  font-size: var(--tb-display-hero) !important;
  font-weight: 500 !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em;
  text-shadow: 0 2px 20px rgba(0,0,0,.16);
}
.hero-subtitle { max-width: 540px; margin-bottom: 34px; color: rgba(255,255,255,.88); font-size: clamp(16px,1.25vw,19px); line-height: 1.65; }
.hero-cta {
  min-height: 54px;
  padding: 16px 25px;
  border: 1px solid var(--tb-champagne);
  border-radius: 0;
  background: var(--tb-champagne);
  color: #201e19;
  box-shadow: none;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero-cta::before { display: none; }
.hero-cta:hover { transform: translateY(-2px); background: #c8ad7c; box-shadow: none; }
.hero-cta i, .hero-cta:hover i { transform: none; }
.hero-dots { bottom: 28px; gap: 9px; }
.hero-dot { width: 28px; height: 2px; border: 0; border-radius: 0; background: rgba(255,255,255,.48); }
.hero-dot.active { background: var(--tb-champagne); border: 0; transform: none; box-shadow: none; }

/* Category discovery: an open editorial grid rather than a row of floating cards. */
.category-grid {
  margin: 0;
  padding: clamp(38px,5vw,70px) var(--tb-page-gutter) clamp(72px,9vw,126px);
  background: var(--tb-ivory);
}
.grid-container {
  width: 100%; max-width: var(--tb-page-max); margin: 0 auto;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 14px;
}
.category-card { min-height: 390px; border-radius: 0; box-shadow: none; background: #ddd; }
.category-card img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.category-card:hover img { transform: scale(1.035); }
.category-card .card-overlay { background: linear-gradient(0deg, rgba(24,23,20,.75), rgba(24,23,20,.04) 68%); }
.category-card .card-badge { top: 18px; left: 18px; border-radius: 0; background: rgba(247,245,240,.94); color: var(--tb-ink); box-shadow: none; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.category-card .card-title { font-family: var(--tb-font-heading); font-size: clamp(25px,2.5vw,34px); font-weight: 500; }
.category-card .card-cta { color: #f0d9ab; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }

.style-section, .top-products-section, .flooring-section, .services-section { padding-top: var(--tb-section-space); padding-bottom: var(--tb-section-space); }
.style-section { padding-right: var(--tb-page-gutter); padding-left: var(--tb-page-gutter); background: #fff; }
.style-section > .section-title { max-width: var(--tb-page-max); margin: 0 auto 38px; color: var(--tb-ink); font-size: var(--tb-display-section); text-align: left; }
.style-grid { max-width: var(--tb-page-max); margin: 0 auto; gap: 14px; }
.style-tile { min-height: 280px; border-radius: 0; box-shadow: none; }
.style-tile.featured { min-height: 560px; }
.style-tile::after { background: linear-gradient(0deg, rgba(24,23,20,.72), rgba(24,23,20,0) 72%); }
.style-label { right: 24px; bottom: 22px; left: 24px; font-family: var(--tb-font-heading); font-size: clamp(22px,2vw,30px); font-weight: 500; letter-spacing: 0; }

.promotion-section, .flooring-section { background: var(--tb-ivory); }
.promotion-cards, .flooring-cards { gap: 18px; }
.promotion-card { min-height: 440px; border-radius: 0; box-shadow: none; }
.promotion-card img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.promotion-card:hover img { transform: scale(1.025); }
.promotion-overlay { background: linear-gradient(0deg, rgba(24,23,20,.82), rgba(24,23,20,.04) 80%); }
.promotion-content { max-width: 560px; padding: 32px; }
.promotion-content h3 { font-family: var(--tb-font-heading); font-size: clamp(28px,3vw,40px); font-weight: 500; }
.promotion-badge { top: 20px; left: 20px; border-radius: 0; background: var(--tb-ivory) !important; color: var(--tb-ink) !important; box-shadow: none; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.promotion-price { color: rgba(255,255,255,.84); }
.promotion-content .btn-primary { min-height: 48px; padding: 14px 20px; border-radius: 0; background: var(--tb-champagne) !important; color: var(--tb-dark) !important; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }

.top-products-section { background: #fff; }
.top-products-section .section-header, .flooring-section .section-header { margin-bottom: 42px; }
.top-products-section .section-header h2, .flooring-section .section-header h2 { color: var(--tb-ink); font-family: var(--tb-font-heading); font-size: var(--tb-display-section); font-weight: 500; }
.top-products-section .section-header p, .flooring-section .section-header p { color: var(--tb-stone-ink); }
.top-products-grid { gap: 18px; }
.top-products-grid .product-card { border: 1px solid var(--tb-line-soft); border-radius: 0; box-shadow: none; }
.top-products-grid .product-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(30,28,25,.09); }
.top-products-grid .product-image { background: var(--tb-ivory); }
.top-products-grid .product-info { padding: 22px; }
.top-products-grid .product-category { color: #866e48; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.top-products-grid .product-name { color: var(--tb-ink); font-family: var(--tb-font-body) !important; font-size: 16px; font-weight: 500; }
.top-products-grid .current-price { color: var(--tb-ink); font-size: 21px; }
.top-products-grid .btn-primary { width: 100%; min-height: 46px; border-radius: 0; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }

.inspiration-banner { min-height: 300px; }
.inquiry-section { background: #f0ece3; }
.inquiry-header { background: transparent !important; border-bottom: 1px solid var(--tb-line-soft); }
.inquiry-header h2 { font-size: var(--tb-display-section) !important; }
.services-section { background: #fff; }
.services-section > .container > .section-header h2 { font-family: var(--tb-font-heading); font-size: var(--tb-display-section); font-weight: 500; }
.services-grid { gap: 0; border-top: 1px solid var(--tb-line-soft); }
.services-grid .service-card { padding: 30px 24px; border: 0; border-bottom: 1px solid var(--tb-line-soft); border-radius: 0; box-shadow: none; }
.services-grid .service-card .service-icon { width: 46px; height: 46px; border-radius: 50%; font-size: 17px; }
.services-grid .service-card h3 { font-family: var(--tb-font-heading); font-weight: 500; }

/* Existing footer content and subscriptions stay connected; only its art direction changes. */
.tb-footer { background: #222320; background-image: none; }
.tb-footer .tb-news-strip { border-bottom-color: rgba(182,154,104,.24); }
.tb-footer .tb-news-text { border-left-color: var(--tb-champagne); }
.tb-footer .tb-news-text strong { font-family: var(--tb-font-heading); font-size: clamp(25px,3vw,34px); }
.tb-footer .tb-news-row button, .tb-footer .tb-visit-btn { background: var(--tb-champagne); color: var(--tb-dark) !important; border-radius: 0; }
.tb-footer .tb-col h4 { color: #d2bd94; font-family: var(--tb-font-body); letter-spacing: .13em; }
.tb-footer .tb-col h4::after { background: var(--tb-champagne); }
.tb-footer .tb-contact-btn { border-radius: 0; border-color: var(--tb-champagne); color: #d2bd94 !important; }
.tb-footer .tb-contact-btn:hover { background: var(--tb-champagne); color: var(--tb-dark) !important; }
.tb-footer a:focus-visible { outline-color: #d2bd94; }

@media (max-width: 900px) {
  .main-header { min-height: 72px; }
  .site-logo { width: 92px; height: 54px; }
  .hero-section { height: 650px; min-height: 540px; }
  .hero-content { width: min(700px, 78vw); }
  .style-tile.featured { min-height: 420px; }
}
@media (max-width: 700px) {
  .main-header { padding: 6px 0; }
  .main-header .header-content { gap: 10px; }
  .site-logo { width: 72px; height: 46px; }
  .search-container { margin: 0 6px; }
  .search-bar { min-height: 40px; padding: 8px 38px 8px 12px; font-size: 12px; }
  .search-icon { right: 12px; }
  .header-icons { gap: 4px; }
  .header-icons a { width: 36px; height: 36px; }
  .hero-section { height: min(690px, 78svh); min-height: 540px; }
  .hero-slide-1 { background-position: 59% center; }
  .hero-slide-2 { background-position: 58% center; }
  .hero-slide-3 { background-position: 58% center; }
  .hero-slide-1 { background-image: linear-gradient(90deg, rgba(23,22,19,.69), rgba(23,22,19,.23) 100%), url('images/slide1.jpg'); }
  .hero-slide-2 { background-image: linear-gradient(90deg, rgba(23,22,19,.69), rgba(23,22,19,.23) 100%), url('images/slide2.jpg'); }
  .hero-slide-3 { background-image: linear-gradient(90deg, rgba(23,22,19,.69), rgba(23,22,19,.23) 100%), url('images/slide3.jpg'); }
  .hero-content { width: 100%; max-width: 620px; padding: 26px 24px; }
  .hero-title { max-width: 560px; font-size: clamp(44px,12vw,66px) !important; }
  .hero-subtitle { max-width: 440px; font-size: 16px; }
  .hero-dots { bottom: 22px; }
  .category-grid { padding: 22px 20px 72px; }
  .grid-container { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .category-card { min-height: 250px; }
  .category-card .card-badge { top: 10px; left: 10px; padding: 7px 9px; font-size: 9px; }
  .category-card .card-title { font-size: 23px; }
  .category-card .card-cta { font-size: 9px; }
  .style-section { padding-right: 20px; padding-left: 20px; }
  .style-grid { grid-template-columns: 1fr; }
  .style-tile.featured { min-height: 340px; }
  .style-tiles-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .style-tile { min-height: 210px; }
  .promotion-card { min-height: 390px; }
  .promotion-content { padding: 24px; }
  .top-products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .top-products-grid .product-info { padding: 15px; }
  .top-products-grid .product-description { display: none; }
}
@media (max-width: 420px) {
  .grid-container, .top-products-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 300px; }
  .style-tiles-grid { grid-template-columns: 1fr 1fr; }
  .top-products-grid .product-description { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
