/* Furni furniture site — homepage visual system. Scoped to body.tw-redesign. */
/* Palette: Oxblood and Cream. Oxblood (--brand) is boxed to the nav bar, footer
   and section headings only. Large dark backgrounds use --ink (near-black), not
   oxblood, so no screenful is more than ~a quarter oxblood. --accent antique gold
   is reserved for primary CTAs, hover states and the review badge. */

body.tw-redesign {
  --page: #fffcf7;        /* warm white page background */
  --surface: #f0e7da;     /* cream — cards, alternating sections */
  --brand: #5c1f22;       /* oxblood — nav bar, footer, section headings ONLY */
  --brand-dark: #4a1619;  /* oxblood pressed/hover */
  --accent: #a98b5a;      /* antique gold — primary CTA, hover links, badge */
  --accent-dark: #98794c; /* gold hover (~10% darker, same hue) */
  --accent-on-dark: #c0a578; /* gold, lifted for text on --ink */
  --ink: #241a18;         /* body text + large dark backgrounds */
  --ink-soft: #3a2a22;    /* dark background alt */
  --muted: #5f5652;       /* secondary text */
  --walnut: #241a18;      /* legacy alias -> ink (card/feature titles) */
  --walnut-deep: #1a1310;
  --linen: #fffcf7;       /* legacy alias -> light text on dark */
  --linen-deep: #f0e7da;  /* legacy alias -> surface */
  --brass: #a98b5a;       /* legacy alias -> accent */
  --brass-light: #c0a578; /* legacy alias -> accent lifted for dark bg */
  --serif: "Fraunces", Georgia, serif;
  --sans: "Manrope", "Inter", sans-serif;
}

body.tw-redesign,
body.tw-redesign p,
body.tw-redesign a,
body.tw-redesign li,
body.tw-redesign span,
body.tw-redesign input,
body.tw-redesign button {
  font-family: var(--sans);
}

body.tw-redesign h1,
body.tw-redesign h2.section-title,
body.tw-redesign h3 {
  font-family: var(--serif);
}

@media (prefers-reduced-motion: reduce) {
  body.tw-redesign * {
    animation: none !important;
    transition: none !important;
  }
}

/* ---------- Reveal-on-scroll ---------- */
body.tw-redesign .tw-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
body.tw-redesign .tw-reveal.tw-in {
  opacity: 1;
  transform: translateY(0);
}

/* Card-grid stagger — product/post cards fade up in sequence once their section reveals */
body.tw-redesign .product-section .row > div,
body.tw-redesign .popular-product .row > div,
body.tw-redesign .blog-section .row > div {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease;
}
body.tw-redesign .tw-reveal.tw-in .row > div {
  opacity: 1;
  transform: translateY(0);
}
body.tw-redesign .tw-reveal.tw-in .row > div:nth-child(2) { transition-delay: .08s; }
body.tw-redesign .tw-reveal.tw-in .row > div:nth-child(3) { transition-delay: .16s; }
body.tw-redesign .tw-reveal.tw-in .row > div:nth-child(4) { transition-delay: .24s; }
body.tw-redesign .tw-reveal.tw-in .row > div:nth-child(5) { transition-delay: .3s; }

/* ---------- Nav ---------- */
body.tw-redesign .custom-navbar {
  background: var(--ink) !important;
  padding-top: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(169,139,90,.2);
  transition: box-shadow .3s ease, padding .3s ease;
  position: sticky;
  top: 0;
  z-index: 999;
}
body.tw-redesign .custom-navbar.tw-scrolled {
  box-shadow: 0 12px 30px -14px rgba(0,0,0,.6);
  padding-top: 10px;
  padding-bottom: 10px;
}
body.tw-redesign .custom-navbar .custom-navbar-nav li a {
  color: var(--linen) !important;
  opacity: .68;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: 12.5px;
  font-weight: 700;
}
body.tw-redesign .custom-navbar .custom-navbar-nav li a:before {
  background: var(--brass) !important;
}
body.tw-redesign .custom-navbar .custom-navbar-nav li a:hover,
body.tw-redesign .custom-navbar .custom-navbar-nav li.active a {
  opacity: 1;
}
body.tw-redesign .custom-navbar .btn.btn-secondary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 12.5px;
  padding: 10px 22px;
  transition: transform .25s ease, background .25s ease;
}
body.tw-redesign .custom-navbar .btn.btn-secondary:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  transform: translateY(-2px);
}

/* ---------- Hero ---------- */
/* Rule 9: hero background becomes --surface (flat cream, no gradient). Text flips dark. */
body.tw-redesign .hero {
  background: var(--surface);
  position: relative;
  overflow: hidden;
  padding: 7rem 0 8rem 0 !important;
}
body.tw-redesign .hero .row {
  align-items: center;
}
/* Faint brand watermark behind the hero */
body.tw-redesign .hero:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1180px;
  height: 385px;
  background: url("../images/aleaf-logo.png") center / contain no-repeat;
  transform: translate(-50%, -50%);
  opacity: .04;
  pointer-events: none;
}
body.tw-redesign .hero .container {
  position: relative;
  z-index: 2;
}
body.tw-redesign .hero .eyebrow {
  display: inline-block;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 20px;
}
body.tw-redesign .hero h1 {
  font-weight: 600;
  font-size: 44px;
  line-height: 1.08;
  letter-spacing: -.015em;
  color: var(--ink);
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  body.tw-redesign .hero h1 { font-size: 60px; }
}
body.tw-redesign .hero h1 .tw-accent {
  color: var(--brand);
  font-style: italic;
}
body.tw-redesign .hero p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
}
body.tw-redesign .hero .tw-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  padding: 9px 16px;
  border: 1px solid var(--accent);
  border-radius: 999px;
  font-size: 13px;
  color: var(--ink);
  background: rgba(169,139,90,.12);
}
/* Rule 10: the star glyphs inside the badge stay in --accent */
body.tw-redesign .hero .tw-badge .tw-stars,
body.tw-redesign .hero .tw-badge::first-letter {
  color: var(--accent-dark);
}
/* CTA row — even sizing, one consistent gap, wraps cleanly on small screens */
body.tw-redesign .hero .hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 6px;
  margin-bottom: 4px;
}
body.tw-redesign .hero .hero-cta .btn {
  margin: 0;
  padding: 14px 28px;
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: .02em;
}
/* Primary CTA — antique gold with ink text (rule 4/5: no cream text on gold at button size) */
body.tw-redesign .hero .btn.btn-secondary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
  font-weight: 700;
  transition: transform .25s ease, background .25s ease;
}
body.tw-redesign .hero .btn.btn-secondary:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  transform: translateY(-3px);
}
/* Secondary CTA — transparent, 1px --brand border, --brand text (rule 4) */
body.tw-redesign .hero .btn.btn-white-outline {
  border: 1px solid var(--brand);
  color: var(--brand);
  transition: border-color .25s ease, color .25s ease, background .25s ease, transform .25s ease;
}
body.tw-redesign .hero .btn.btn-white-outline:hover {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--page);
  transform: translateY(-3px);
}
/* Hero image — transparent-PNG product render, so it floats free on the dark
   background (no card frame). Kept in normal flow so the wrapper keeps its
   height (the template's absolute rule collapsed it and hid the image). */
body.tw-redesign .hero .hero-img-wrap {
  position: relative;
  margin: 0;
  line-height: 0;
}
body.tw-redesign .hero .hero-img-wrap img {
  position: static;
  top: auto;
  left: auto;
  right: auto;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 34px 54px rgba(0,0,0,.55));
}
body.tw-redesign .hero .hero-img-wrap:after {
  display: none;
}
@media (min-width: 992px) {
  body.tw-redesign .hero .hero-img-wrap {
    width: 116%;
    max-width: none;
    margin-left: -8%;
  }
}
@media (min-width: 1400px) {
  body.tw-redesign .hero .hero-img-wrap {
    width: 122%;
    margin-left: -12%;
  }
}

/* ---------- Homepage hero (hero-home) — dark showcase panel for a photographic
   product shot with its own baked-in dark vignette, instead of the flat cream
   band used on the inner pages. Scoped so About/Services/Blog/Contact keep the
   original light hero untouched. ---------- */
body.tw-redesign .hero.hero-home {
  background: radial-gradient(ellipse at 78% 50%, #2e1f18 0%, #1c1411 55%, #140f0d 100%);
  padding: 6.5rem 0 7rem 0 !important;
}
body.tw-redesign .hero.hero-home:before {
  display: none;
}
body.tw-redesign .hero.hero-home .eyebrow {
  color: var(--accent-on-dark);
}
body.tw-redesign .hero.hero-home h1 {
  color: var(--page);
}
body.tw-redesign .hero.hero-home h1 .tw-accent {
  color: var(--accent);
}
body.tw-redesign .hero.hero-home p {
  color: rgba(255, 252, 247, .78);
}
body.tw-redesign .hero.hero-home .tw-badge {
  border-color: var(--accent);
  background: rgba(255, 255, 255, .07);
  color: var(--page);
}
body.tw-redesign .hero.hero-home .btn.btn-white-outline {
  border-color: rgba(255, 252, 247, .55);
  color: var(--page);
}
body.tw-redesign .hero.hero-home .btn.btn-white-outline:hover {
  background: var(--page);
  border-color: var(--page);
  color: var(--ink);
}
/* Hero image is a transparent-PNG cutout — it floats free on the dark panel,
   no card frame. drop-shadow (not box-shadow) follows the alpha silhouette,
   so gaps around the legs and nightstands stay see-through, not boxed in. */
body.tw-redesign .hero.hero-home .hero-img-wrap img {
  filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .5)) drop-shadow(0 0 60px rgba(169, 139, 90, .22));
}
@media (min-width: 992px) {
  body.tw-redesign .hero.hero-home .hero-img-wrap {
    width: 108%;
    max-width: none;
    margin-left: -4%;
  }
}
@media (min-width: 1400px) {
  body.tw-redesign .hero.hero-home .hero-img-wrap {
    width: 112%;
    margin-left: -6%;
  }
}

/* ---------- Product section ---------- */
body.tw-redesign .product-section {
  background: var(--linen);
  padding: 6.5rem 0;
}
body.tw-redesign .product-section .section-title {
  color: var(--brand);
  font-size: 34px;
}
body.tw-redesign .product-section > .container > .row > div:first-child .btn {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}
body.tw-redesign .product-section .product-item .product-thumbnail {
  border-radius: 18px;
  box-shadow: 0 18px 40px -20px rgba(36,26,24,.35);
  transition: .4s cubic-bezier(.2,.7,.2,1);
}
body.tw-redesign .product-section .product-item:hover .product-thumbnail {
  top: -10px;
  box-shadow: 0 30px 50px -20px rgba(36,26,24,.5);
}
body.tw-redesign .product-section .product-item .product-thumbnail img,
body.tw-redesign .product-section .product-item img.product-thumbnail {
  border-radius: 18px;
  transition: transform .5s ease;
}
body.tw-redesign .product-section .product-item:hover img.product-thumbnail {
  transform: scale(1.04);
}
body.tw-redesign .product-section .product-item:before {
  display: none;
}
body.tw-redesign .product-section .product-item h3.product-title {
  font-family: var(--serif);
  font-size: 19px;
  color: var(--walnut);
}
body.tw-redesign .product-section .product-item strong.product-price {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--accent);
  padding-bottom: 2px;
}
body.tw-redesign .product-section .product-item .icon-cross {
  background: var(--brand);
}

/* ---------- Why choose us ---------- */
body.tw-redesign .why-choose-section {
  background: var(--linen-deep);
  padding: 6.5rem 0;
}
body.tw-redesign .why-choose-section .section-title {
  color: var(--brand);
  font-size: 32px;
}
body.tw-redesign .feature .icon:before {
  background: rgba(169,139,90,.22);
}
body.tw-redesign .feature h3 {
  font-family: var(--serif);
  font-size: 18px;
  color: var(--walnut);
}
body.tw-redesign .why-choose-section .img-wrap img {
  border-radius: 24px;
  box-shadow: 0 30px 60px -25px rgba(36,26,24,.4);
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (min-width: 992px) {
  body.tw-redesign .why-choose-section .img-wrap img {
    aspect-ratio: 4 / 3;
    height: 100%;
  }
}

/* ---------- We help section ---------- */
body.tw-redesign .we-help-section {
  background: var(--linen);
  padding: 6.5rem 0;
}
body.tw-redesign .we-help-section .section-title {
  color: var(--brand);
  font-size: 32px;
}
body.tw-redesign .we-help-section .imgs-grid .grid img {
  border-radius: 24px;
  box-shadow: 0 24px 50px -22px rgba(36,26,24,.35);
}
body.tw-redesign .custom-list li:before {
  border-color: var(--brass);
  background: var(--brass);
}

/* ---------- Popular product ---------- */
body.tw-redesign .popular-product {
  background: var(--linen);
}
body.tw-redesign .popular-product .product-item-sm .thumbnail img {
  border-radius: 16px;
  box-shadow: 0 14px 30px -16px rgba(36,26,24,.35);
}
body.tw-redesign .popular-product .product-item-sm .thumbnail:before {
  display: none;
}
body.tw-redesign .popular-product .product-item-sm h3 {
  font-family: var(--serif);
  color: var(--walnut);
}

/* ---------- Testimonials ---------- */
body.tw-redesign .testimonial-section {
  background: var(--ink);
  padding: 3rem 0 3.2rem 0;
  position: relative;
  overflow: hidden;
}
body.tw-redesign .testimonial-section .section-title {
  color: var(--linen);
  font-size: 22px;
  margin-bottom: 8px;
}
/* Aggregate rating — real fact, styled as a quiet pill badge (no per-slide stars implied) */
body.tw-redesign .testimonial-section > .container > .row > div p {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--brass-light);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(192,165,120,.35);
  border-radius: 999px;
  padding: 9px 20px;
  background: rgba(192,165,120,.06);
}

body.tw-redesign .testimonial-slider-wrap {
  margin-top: 4px;
}

/* Card */
body.tw-redesign .testimonial-block {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(192,165,120,.16);
  border-radius: 14px;
  padding: 22px 28px 16px;
  position: relative;
  box-shadow: 0 18px 36px -26px rgba(0,0,0,.6);
  max-width: 560px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  body.tw-redesign .testimonial-block { padding: 20px 18px 14px; }
}
body.tw-redesign .testimonial-block blockquote {
  position: relative;
  padding-top: 0;
  margin-bottom: 10px;
}
body.tw-redesign .testimonial-block blockquote:before {
  content: "\201C";
  font-family: var(--serif);
  font-size: 44px;
  color: var(--brass);
  opacity: .3;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
}
body.tw-redesign .testimonial-block blockquote p {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--linen);
  margin-bottom: 0;
}

/* No client photo — author-pic removed, name/role sit directly under a thin divider */
body.tw-redesign .testimonial-block .author-info {
  position: relative;
  padding-top: 10px;
}
body.tw-redesign .testimonial-block .author-info:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 1px;
  background: var(--accent);
}
body.tw-redesign .testimonial-block .author-info .author-pic {
  display: none;
}
body.tw-redesign .testimonial-block .author-info h3 {
  color: var(--brass-light);
  font-size: 13px;
  letter-spacing: .01em;
  margin-bottom: 2px;
}
body.tw-redesign .testimonial-block .author-info .position {
  color: rgba(255,252,247,.5);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Nav arrows — thin outline circles, brand-consistent with hero/outline buttons.
   Constrained to the card's max-width so they hug the card instead of floating
   at the full container edges. */
body.tw-redesign .testimonial-slider-wrap #testimonial-nav {
  max-width: 640px;
  margin: 0 auto;
  left: 0;
  right: 0;
}
body.tw-redesign .testimonial-slider-wrap #testimonial-nav > span {
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: transparent;
  border: 1px solid rgba(192,165,120,.35);
  color: var(--brass-light);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
body.tw-redesign .testimonial-slider-wrap #testimonial-nav .prev { left: -4px; }
body.tw-redesign .testimonial-slider-wrap #testimonial-nav .next { right: -4px; }
body.tw-redesign .testimonial-slider-wrap #testimonial-nav > span:hover {
  background: var(--brass);
  border-color: var(--brass);
  color: var(--linen);
  transform: scale(1.06);
}

/* Dots — slim dash instead of plain circle */
body.tw-redesign .testimonial-slider-wrap .tns-nav button:before {
  width: 18px;
  height: 3px;
  border-radius: 3px;
  background-color: rgba(255,255,255,.18);
}
body.tw-redesign .testimonial-slider-wrap .tns-nav button:hover:before,
body.tw-redesign .testimonial-slider-wrap .tns-nav button.tns-nav-active:before {
  background-color: var(--brass);
}

/* ---------- Blog / showroom ---------- */
body.tw-redesign .blog-section {
  background: var(--linen);
}
body.tw-redesign .blog-section .section-title {
  color: var(--brand);
  font-size: 32px;
}
body.tw-redesign .blog-section .post-entry .post-thumbnail img {
  border-radius: 18px;
  box-shadow: 0 20px 40px -20px rgba(36,26,24,.4);
  transition: transform .5s ease, opacity .3s ease;
}
body.tw-redesign .blog-section .post-entry:hover .post-thumbnail img {
  transform: scale(1.03);
  opacity: 1;
}
body.tw-redesign .blog-section .post-content-entry h3 a {
  font-family: var(--serif);
  color: var(--walnut);
}
body.tw-redesign .blog-section .more {
  color: var(--ink);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 13px;
}

/* ---------- Footer ---------- */
/* Rule 9: footer = --brand oxblood, --page cream text, --accent (lifted for 4.5:1) links.
   Rule 6: this template renders WhatsApp as plain footer text links, not green buttons,
   so they stay in place and take the footer link colour. */
body.tw-redesign .footer-section {
  background: var(--brand) !important;
}
body.tw-redesign .footer-section a {
  color: #dcc79c;
}
body.tw-redesign .footer-section a:hover {
  color: var(--page);
}
body.tw-redesign .footer-section .subscription-form h3 {
  color: var(--page);
}
body.tw-redesign .footer-section .footer-logo-wrap .footer-logo {
  color: var(--page);
}
body.tw-redesign .footer-section p {
  color: rgba(255,252,247,.78);
}
body.tw-redesign .footer-section .btn.btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}
body.tw-redesign .footer-section .btn.btn-primary:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--ink);
}
body.tw-redesign .footer-section .custom-social li a {
  border: 1px solid rgba(220,199,156,.4);
  border-radius: 50%;
  color: #dcc79c;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
body.tw-redesign .footer-section .custom-social li a:hover {
  background: var(--accent);
  color: var(--ink);
  transform: translateY(-3px);
}
body.tw-redesign .footer-section .border-top.copyright {
  border-top-color: rgba(255,252,247,.2) !important;
}
body.tw-redesign .footer-section .border-top.copyright a {
  color: rgba(255,252,247,.7);
}

/* ---------- Generic content sections (team grid, notices, forms) ---------- */
body.tw-redesign .untree_co-section {
  background: var(--linen);
}
body.tw-redesign .untree_co-section .section-title {
  color: var(--brand);
}
body.tw-redesign .untree_co-section img.mb-5 {
  border-radius: 50%;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  box-shadow: 0 20px 40px -20px rgba(36,26,24,.35);
}
body.tw-redesign .untree_co-section h3 a {
  font-family: var(--serif);
  color: var(--walnut);
  text-decoration: none;
}
body.tw-redesign .untree_co-section .position {
  color: var(--brand);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 12px;
}
body.tw-redesign .untree_co-section .lead {
  font-family: var(--serif);
  font-size: 22px;
  color: var(--walnut);
}
body.tw-redesign .untree_co-section h2 {
  font-family: var(--serif);
  color: var(--walnut);
}
body.tw-redesign .untree_co-section .eyebrow {
  display: inline-block;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 14px;
}

/* Forms */
body.tw-redesign .form-control {
  border-radius: 10px;
  border-color: rgba(43,36,32,.15);
  padding: 10px 14px;
}
body.tw-redesign .form-control:focus {
  border-color: var(--brass);
  box-shadow: 0 0 0 .2rem rgba(169,139,90,.15);
}
body.tw-redesign label.text-black {
  font-weight: 700;
  color: var(--walnut) !important;
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Contact service blocks + map */
body.tw-redesign .service .service-icon {
  background: var(--ink);
  color: var(--linen);
}
body.tw-redesign .service-contents p {
  color: var(--walnut);
  font-weight: 600;
}
body.tw-redesign .ratio {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 50px -25px rgba(36,26,24,.35);
}

/* Buttons used off the homepage */
body.tw-redesign .btn-outline-black {
  border: 2px solid var(--ink);
  color: var(--ink);
  background: transparent;
  border-radius: 30px;
  font-weight: 700;
  transition: .25s ease;
}
body.tw-redesign .btn-outline-black:hover {
  background: var(--ink);
  color: var(--linen);
}
body.tw-redesign .btn-primary-hover-outline {
  background: var(--accent);
  border: 2px solid var(--accent);
  color: var(--ink);
  border-radius: 30px;
  font-weight: 700;
  padding: 12px 30px;
  transition: .25s ease;
}
body.tw-redesign .btn-primary-hover-outline:hover {
  background: transparent;
  color: var(--brand);
  border-color: var(--brand);
}

/* Thank-you / notice icon */
body.tw-redesign .thankyou-icon {
  color: var(--brass);
}
body.tw-redesign .thankyou-icon:before {
  background: rgba(169,139,90,.18);
}
body.tw-redesign .text-primary {
  color: var(--ink) !important;
}

/* ---------- Uniform product cards (homepage product strip) ---------- */
body.tw-redesign .product-section .product-item .product-thumbnail,
body.tw-redesign .product-section .product-item img.product-thumbnail {
  aspect-ratio: 4 / 3;
  width: 100%;
  object-fit: contain;
  background: var(--linen);
  padding: 24px;
  box-sizing: border-box;
}

/* ---------- Showroom bento grid ---------- */
body.tw-redesign .showroom-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  background: var(--linen);
  box-shadow: 0 18px 40px -24px rgba(36,26,24, .35);
  transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease;
  text-decoration: none;
}
body.tw-redesign .showroom-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 50px -20px rgba(36,26,24, .5);
}
body.tw-redesign .showroom-card-img {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--page);
  overflow: hidden;
}
body.tw-redesign .showroom-card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .5s ease;
}
body.tw-redesign .showroom-card:hover .showroom-card-img img {
  transform: scale(1.05);
}
body.tw-redesign .showroom-card-lg .showroom-card-img {
  aspect-ratio: 1 / 1;
  padding: 36px;
}
body.tw-redesign .showroom-card-sm .showroom-card-img {
  aspect-ratio: 16 / 9;
  padding: 18px;
}
body.tw-redesign .showroom-card-body {
  padding: 22px 26px 26px;
}
body.tw-redesign .showroom-card-lg .showroom-card-body h3 {
  font-family: var(--serif);
  font-size: 24px;
  color: var(--walnut);
  margin-bottom: 6px;
}
body.tw-redesign .showroom-card-sm .showroom-card-body h3 {
  font-family: var(--serif);
  font-size: 18px;
  color: var(--walnut);
  margin-bottom: 4px;
}
body.tw-redesign .showroom-card-body span {
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  opacity: .65;
}
body.tw-redesign .showroom-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100%;
}
body.tw-redesign .showroom-stack .showroom-card {
  flex: 1 1 0;
}
@media (max-width: 991.98px) {
  body.tw-redesign .showroom-card-lg .showroom-card-img {
    aspect-ratio: 4 / 3;
  }
}

/* ---------- Mobile tuning ---------- */
@media (max-width: 767.98px) {
  body.tw-redesign .hero { padding: 3.25rem 0 3.75rem 0 !important; }
  body.tw-redesign .hero h1 { font-size: 33px; }
  body.tw-redesign .hero p { font-size: 16px; }
  body.tw-redesign .hero .tw-badge { margin-top: 18px; }
  body.tw-redesign .hero .hero-cta { width: 100%; }
  body.tw-redesign .hero .hero-cta .btn { flex: 1 1 100%; text-align: center; }
  body.tw-redesign .custom-navbar { padding-top: 10px; padding-bottom: 10px; }
  body.tw-redesign .navbar-brand img { height: 50px !important; }
  body.tw-redesign .product-section,
  body.tw-redesign .why-choose-section,
  body.tw-redesign .we-help-section,
  body.tw-redesign .blog-section,
  body.tw-redesign .untree_co-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  body.tw-redesign .testimonial-section { padding: 2.5rem 0; }
  body.tw-redesign .product-section .section-title,
  body.tw-redesign .why-choose-section .section-title,
  body.tw-redesign .we-help-section .section-title,
  body.tw-redesign .blog-section .section-title { font-size: 26px; }
}

/* ---------- Floating WhatsApp button ---------- */
.wa-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 58px;
  height: 58px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
  z-index: 1050;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wa-float:hover,
.wa-float:focus {
  transform: scale(1.08);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32);
}
.wa-float .fa-whatsapp {
  color: #fff;
  font-size: 30px;
  line-height: 1;
}
@media (max-width: 575.98px) {
  .wa-float { width: 52px; height: 52px; right: 16px; bottom: 16px; }
  .wa-float .fa-whatsapp { font-size: 26px; }
}
