/* Tittliyan — Festive Atelier homepage theme
   Scoped to .tt-festive-home so other pages and shared template styles remain untouched. */
body.tt-festive-home {
  --tt-ivory: #faf7f1;
  --tt-paper: #fffdf9;
  --tt-rose: #d8b8ad;
  --tt-rose-light: #f3e7e1;
  --tt-berry: #793b4b;
  --tt-berry-deep: #60303e;
  --tt-sage: #84917a;
  --tt-gold: #b99862;
  --tt-ink: #40332f;
  --tt-muted: #776c65;
  --tt-line: #e9dfd4;
  background: var(--tt-ivory);
  color: var(--tt-ink);
}

.tt-festive-home,
.tt-festive-home #wrapper { background-color: var(--tt-ivory); }
.tt-festive-home a { transition: color .25s ease, background-color .25s ease, border-color .25s ease; }
.tt-festive-home .tf-topbar { background: var(--tt-berry) !important; min-height: 36px; display: flex; align-items: center; }
.tt-festive-home .tf-topbar h6 { color: #fffaf5 !important; letter-spacing: .055em; font-size: 13px; }
.tt-festive-home .tf-topbar .text-primary { color: #f0d6a6 !important; }

.tt-festive-home .tf-header {
  background: rgba(255,253,249,.97);
  border-bottom: 1px solid rgba(185,152,98,.22);
  box-shadow: 0 5px 24px rgba(64,51,47,.045);
}
.tt-festive-home .tf-header .item-link { color: var(--tt-ink); font-size: 13px; letter-spacing: .075em; font-weight: 600; }
.tt-festive-home .tf-header .item-link:hover,
.tt-festive-home .tf-header .nav-icon-item:hover { color: var(--tt-berry); }
.tt-festive-home .tf-header .nav-icon-item,
.tt-festive-home .tf-header .btn-mobile-menu { color: var(--tt-ink); }
.tt-festive-home .tf-header .shop-cart .count { background: var(--tt-berry); color: #fff; }
.tt-festive-home .logo-site img { max-height: 58px; width: auto; }

/* Hero: preserve the existing Swiper, images and links; refine its presentation. */
.tt-festive-home .tf-slideshow { background: var(--tt-rose-light); }
.tt-festive-home .tf-slideshow .sld_image img { width: 100%; }
.tt-festive-home .tf-slideshow .title_sld { color: var(--tt-berry-deep); text-shadow: 0 1px 12px rgba(255,253,249,.22); }
.tt-festive-home .tf-slideshow .sub-text_sld { color: var(--tt-ink) !important; }
.tt-festive-home .tf-slideshow .tf-btn {
  background: var(--tt-berry); color: #fffaf5; border: 1px solid var(--tt-berry);
  border-radius: 2px; padding: 14px 27px; letter-spacing: .045em;
}
.tt-festive-home .tf-slideshow .tf-btn:hover { background: var(--tt-berry-deep); border-color: var(--tt-berry-deep); }
.tt-festive-home .tf-slideshow .tf-sw-nav { color: var(--tt-berry); background: rgba(255,253,249,.9); border: 1px solid rgba(185,152,98,.35); }
.tt-festive-home .tf-slideshow .tf-sw-pagination .swiper-pagination-bullet-active { background: var(--tt-berry); }

/* Coupon remains wired to the existing .btn-coppy-text / .coppyText hooks. */
.tt-festive-home .wg-copy {
  position: relative; overflow: hidden; padding: 10px; border-radius: 8px;
  background: linear-gradient(115deg, #713747 0%, #87495a 52%, #754052 100%);
  box-shadow: 0 14px 32px rgba(96,48,62,.13);
}
.tt-festive-home .wg-copy::before,
.tt-festive-home .wg-copy::after {
  content: "✦"; position: absolute; color: rgba(240,214,166,.78); font-size: 25px; line-height: 1;
  pointer-events: none;
}
.tt-festive-home .wg-copy::before { top: 13px; left: 18px; }
.tt-festive-home .wg-copy::after { right: 18px; bottom: 13px; }
.tt-festive-home .wg-copy .content {
  position: relative; z-index: 1; border: 1px dashed rgba(255,245,226,.58); border-radius: 4px;
  padding: 25px 34px; gap: 20px;
}
.tt-festive-home .wg-copy h3 { color: #fffaf5 !important; font-family: inherit; font-size: clamp(19px, 2vw, 27px); line-height: 1.25; margin: 0; }
.tt-festive-home .wg-copy .btn-coppy-text {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-width: 190px; padding: 14px 23px; border: 1px solid #e8d3ae;
  border-radius: 3px; background: #fffaf2; color: var(--tt-berry-deep);
  box-shadow: 0 4px 14px rgba(35,18,22,.12); cursor: pointer;
}
.tt-festive-home .wg-copy .coppyText,
.tt-festive-home .wg-copy .btn-coppy-text h6 { color: var(--tt-berry-deep) !important; margin: 0; letter-spacing: .12em; }
.tt-festive-home .wg-copy .btn-coppy-text .br-line { height: 22px; background: #d8c3a4; }
.tt-festive-home .wg-copy .btn-coppy-text:hover { background: #f5e9d8; transform: translateY(-2px); }

/* Section rhythm and headings */
.tt-festive-home .flat-spacing { padding-top: clamp(48px, 6vw, 82px); padding-bottom: clamp(48px, 6vw, 82px); }
.tt-festive-home .flat-spacing.pb-0 { padding-bottom: 0; }
.tt-festive-home .sect-title { margin-bottom: 30px; }
.tt-festive-home .sect-title .s-title,
.tt-festive-home .sect-title .title,
.tt-festive-home .themesFlat > .container-full > .sect-title {
  color: var(--tt-berry-deep); letter-spacing: -.025em;
}
.tt-festive-home .sect-title .s-subtitle { color: var(--tt-muted); font-weight: 400; }
.tt-festive-home .sect-title .s-title::after,
.tt-festive-home .sect-title .title::after {
  content: ""; display: block; width: 54px; height: 1px; margin: 15px auto 0;
  background: linear-gradient(90deg, transparent, var(--tt-gold), transparent);
}
.tt-festive-home .themesFlat { padding-top: 48px; padding-bottom: 48px; }
.tt-festive-home .themesFlat .sect-title { color: var(--tt-berry-deep) !important; margin-bottom: 28px; }
.tt-festive-home .themesFlat .box-image_V01,
.tt-festive-home .box-image_category { overflow: hidden; }
.tt-festive-home .themesFlat .box-image_V01 img,
.tt-festive-home .box-image_category img { transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.tt-festive-home .themesFlat .box-image_V01:hover img,
.tt-festive-home .box-image_category:hover img { transform: scale(1.035); }
.tt-festive-home .themesFlat .box-image_content .title { color: var(--tt-berry) !important; }
.tt-festive-home .themesFlat .tf-btn-line { color: var(--tt-berry); }

/* Product cards */
.tt-festive-home .card-product { gap: 14px; }
.tt-festive-home .card-product_wrapper { background: #f2ece5; overflow: hidden; border-radius: 5px; }
.tt-festive-home .card-product_wrapper img { transition: transform .55s ease; }
.tt-festive-home .card-product:hover .card-product_wrapper img { transform: scale(1.035); }
.tt-festive-home .card-product_info .name-product { color: var(--tt-ink); font-size: 16px; line-height: 1.35; font-weight: 500; }
.tt-festive-home .card-product_info .name-product:hover { color: var(--tt-berry); }
.tt-festive-home .price-wrap .price-new { color: var(--tt-berry); font-weight: 700; }
.tt-festive-home .price-wrap .price-old { color: #9b918a; }
.tt-festive-home .sw-dot-default .swiper-pagination-bullet-active { background: var(--tt-berry); }

/* Feature banner: keep supplied background image and make text readable. */
.tt-festive-home .banner-V06 { position: relative; isolation: isolate; background-position: center; }
.tt-festive-home .banner-V06::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(49,34,34,.60), rgba(49,34,34,.10)); }
.tt-festive-home .banner-V06 .title { color: #fffaf5 !important; }
.tt-festive-home .banner-V06 .sub-title { color: #fffaf5 !important; }
.tt-festive-home .banner-V06 .tf-btn { background: #fffaf2; color: var(--tt-berry); border-color: #fffaf2; }

/* Categories, blog/Instagram content, reviews */
.tt-festive-home .box-image_category .tf-btn { background: rgba(255,253,249,.95); color: var(--tt-berry); border: 1px solid rgba(185,152,98,.5); }
.tt-festive-home .box-image_category .tf-btn:hover { background: var(--tt-berry); color: #fffaf5; }
.tt-festive-home section.bg-white-smoke { background: #f3ece5 !important; }
.tt-festive-home .testimonial-V01 { background: var(--tt-paper); border: 1px solid var(--tt-line) !important; border-radius: 6px; padding: 26px; box-shadow: 0 8px 24px rgba(64,51,47,.035); }
.tt-festive-home .testimonial-V01 .tes_title,
.tt-festive-home .testimonial-V01 .author-name { color: var(--tt-berry-deep); }
.tt-festive-home .testimonial-V01 .tes_text { color: var(--tt-muted); font-size: 17px; line-height: 1.55; }
.tt-festive-home .testimonial-V01 .text-star { color: var(--tt-gold); }
.tt-festive-home .gallery-item { background: #eee5dc; }

/* Footer */
.tt-festive-home .tf-footer { background: #f1e9e1; color: var(--tt-ink); border-top: 1px solid var(--tt-line); }
.tt-festive-home .tf-footer .footer-heading,
.tt-festive-home .tf-footer .footer-contact a,
.tt-festive-home .tf-footer .footer-menu-list a,
.tt-festive-home .tf-footer .footer-contact .icon { color: var(--tt-berry-deep); }
.tt-festive-home .tf-footer .footer-menu-list a:hover,
.tt-festive-home .tf-footer .footer-contact a:hover { color: var(--tt-berry); }
.tt-festive-home .tf-footer .footer-bottom { background: rgba(255,253,249,.55); }
.tt-festive-home .tf-footer .inner-bottom { border-color: var(--tt-line); color: var(--tt-muted); }
.tt-festive-home .tf-footer .inner-bottom a { color: var(--tt-berry); }

/* Small-screen refinements */
@media (max-width: 767px) {
  .tt-festive-home .logo-site img { max-height: 46px; }
  .tt-festive-home .wg-copy { padding: 7px; }
  .tt-festive-home .wg-copy .content { padding: 22px 16px; gap: 15px; }
  .tt-festive-home .wg-copy h3 { font-size: 20px; }
  .tt-festive-home .wg-copy .btn-coppy-text { min-width: 170px; padding: 12px 18px; }
  .tt-festive-home .themesFlat { padding-top: 34px; padding-bottom: 34px; }
  .tt-festive-home .testimonial-V01 { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .tt-festive-home *, .tt-festive-home *::before, .tt-festive-home *::after {
    scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important;
  }
}
