:root {
  --tf-ink: #241b20;
  --tf-muted: #746a70;
  --tf-brand: #a3195b;
  --tf-brand-dark: #781044;
  --tf-accent: #efb8ce;
  --tf-blush: #fff4f7;
  --tf-cream: #fbf8f5;
  --tf-white: #fff;
  --tf-border: #eadfe4;
  --tf-shadow: 0 18px 50px rgba(74, 32, 52, .10);
  --tf-radius: 20px;
}

html { scroll-behavior: smooth; }
body { font-family: "Montserrat", sans-serif !important; color: var(--tf-ink); background: var(--tf-cream); overflow-x: hidden; }
a { color: inherit; transition: .25s ease; }
a:hover { color: var(--tf-brand); text-decoration: none; }
img { max-width: 100%; }
.spad { padding: 72px 0; }

.tf-home-ticker { height: 38px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(90deg, #21141c, var(--tf-brand-dark), #d92f83); color: #fff; }
.tf-home-ticker__track { width: max-content; display: flex; flex: 0 0 auto; animation: tfTickerMove 24s linear infinite; will-change: transform; }
.tf-home-ticker__group { width: max(100vw, 760px); min-height: 38px; display: flex; flex: 0 0 auto; align-items: center; justify-content: space-around; gap: 34px; padding: 0 34px; }
.tf-home-ticker__group span { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.tf-home-ticker__group i { color: #ffd9e9; font-size: 14px; }
.tf-home-ticker:hover .tf-home-ticker__track { animation-play-state: paused; }
@keyframes tfTickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .tf-home-ticker__track { animation: none; } }
.tf-header { position: sticky; top: 0; z-index: 990; padding: 10px 0 8px; background: radial-gradient(circle at 12% 0%, rgba(255,222,237,.82), transparent 34%), linear-gradient(135deg, rgba(255,255,255,.97), rgba(255,244,248,.97)); backdrop-filter: blur(22px); border-bottom: 1px solid rgba(234,223,228,.95); box-shadow: 0 14px 34px rgba(74,32,52,.09); }
.tf-header-main { min-height: 72px; display: grid; grid-template-columns: minmax(200px, auto) 1fr auto; align-items: center; gap: 18px; padding: 8px 14px; border-radius: 24px; background: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.94); box-shadow: 0 14px 36px rgba(163,25,91,.09); }
.tf-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--tf-ink); min-width: 0; }
.tf-brand:hover { color: var(--tf-brand); transform: translateY(-1px); }
.tf-brand-mark { width: 78px; height: 62px; display: grid; place-items: center; padding: 3px; border-radius: 20px; background: #fff; border: 1px solid rgba(234,223,228,.9); box-shadow: 0 10px 24px rgba(163,25,91,.13); overflow: hidden; }
.tf-brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; transform: none; }
.tf-brand-text { max-width: 104px; font-size: 14px; line-height: 1.05; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; }
.tf-search { position: relative; max-width: 690px; width: 100%; margin: auto; }
.tf-search input { width: 100%; height: 48px; border: 1px solid rgba(234,223,228,.95); background: #fff; border-radius: 16px; padding: 0 54px 0 21px; outline: none; transition: .25s; box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 10px 24px rgba(74,32,52,.05); }
.tf-search input:focus { background: #fff; border-color: var(--tf-brand); box-shadow: 0 0 0 5px rgba(163,25,91,.08), 0 12px 30px rgba(74,32,52,.07); }
.tf-search button { position: absolute; right: 6px; top: 6px; width: 36px; height: 36px; border: 0; border-radius: 12px; background: linear-gradient(135deg, var(--tf-brand), #ee4d9b); color: #fff; cursor: pointer; box-shadow: 0 8px 18px rgba(163,25,91,.2); }
.tf-actions { display: flex; align-items: center; gap: 10px; }
.tf-icon-btn { width: 44px; height: 44px; border-radius: 15px; display: grid; place-items: center; background: #fff; color: var(--tf-ink); font-size: 16px; position: relative; border: 1px solid rgba(234,223,228,.9); box-shadow: 0 10px 22px rgba(74,32,52,.07); }
.tf-icon-btn { cursor: pointer; padding: 0; }
.tf-icon-btn:hover { background: var(--tf-brand); color: #fff; transform: translateY(-3px); border-color: var(--tf-brand); box-shadow: 0 14px 24px rgba(163,25,91,.2); }
.tf-count { position: absolute; right: -3px; top: -4px; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 10px; display: grid; place-items: center; background: var(--tf-brand); color: #fff; font-size: 10px; font-weight: 700; border: 2px solid #fff; }
.tf-user { position: relative; }
.tf-user-menu { display: none; position: absolute; right: 0; top: calc(100% + 12px); width: 204px; background: #fff; border: 1px solid var(--tf-border); border-radius: 18px; box-shadow: var(--tf-shadow); padding: 9px; }
.tf-user.is-open .tf-user-menu { display: block; }
.tf-user.is-open .tf-user-toggle { background: var(--tf-brand); color: #fff; }
.tf-user-menu a { display: block; padding: 10px 12px; border-radius: 10px; font-size: 13px; }
.tf-user-menu a:hover { background: var(--tf-blush); }
.tf-nav { position: relative; border-top: 0; background: transparent; margin-top: 8px; }
.tf-nav-inner { width: max-content; max-width: calc(100% - 30px); min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 3px; padding: 4px; border-radius: 999px; background: #251720; box-shadow: 0 12px 27px rgba(37,23,32,.16); overflow-x: auto; }
.tf-nav a { flex: 0 0 auto; padding: 8px 14px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .03em; position: relative; color: rgba(255,255,255,.78); }
.tf-nav a:hover, .tf-nav a.active { background: #fff; color: var(--tf-brand); box-shadow: 0 10px 20px rgba(0,0,0,.14); }
.tf-nav a:after { display: none; }
.tf-menu-toggle { display: none; border: 0; background: #fff; font-size: 20px; border-radius: 15px; box-shadow: 0 10px 24px rgba(74,32,52,.06); }

.tf-hero { min-height: 610px; display: flex; align-items: center; background: linear-gradient(90deg, rgba(30,19,24,.78) 0%, rgba(30,19,24,.45) 45%, rgba(30,19,24,.05) 100%), url('../img/categories/category-6.jpeg') center 34%/cover; color: #fff; }
.tf-hero + .categories, .category-icons { display: none !important; }
.tf-hero-content { max-width: 620px; padding: 95px 0; }
.tf-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--tf-accent); text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .18em; margin-bottom: 18px; }
.tf-eyebrow:before { content: ""; width: 38px; height: 1px; background: currentColor; }
.tf-hero h1 { color: #fff; font-family: "Cookie", cursive; font-size: clamp(60px, 7vw, 96px); line-height: .9; margin-bottom: 24px; }
.tf-hero p { max-width: 500px; color: rgba(255,255,255,.83); font-size: 17px; line-height: 1.8; margin-bottom: 32px; }
.tf-btn, .site-btn, .primary-btn, .cart-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 25px !important; border: 0 !important; border-radius: 99px !important; background: var(--tf-brand) !important; color: #fff !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; transition: .25s !important; cursor: pointer; }
.tf-btn:hover, .site-btn:hover, .primary-btn:hover, .cart-btn:hover { background: var(--tf-brand-dark) !important; transform: translateY(-2px); box-shadow: 0 12px 24px rgba(163,25,91,.22); }
.tf-btn-light { background: #fff !important; color: var(--tf-ink) !important; }

.tf-section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 32px; }
.tf-section-head h2, .section-title h4, .related__products h5 { font-size: clamp(27px, 3vw, 40px); font-weight: 700; color: var(--tf-ink); margin: 0; }
.section-title h4:after { background: var(--tf-brand) !important; border-radius: 4px; }
.tf-section-head p { color: var(--tf-muted); margin: 8px 0 0; }
.category-icons { padding: 38px 0 !important; background: #fff; border-bottom: 1px solid var(--tf-border); }
.category-scroll { gap: 18px; scrollbar-width: none; }
.category-scroll::-webkit-scrollbar { display: none; }
.tf-category { width: 116px; flex: 0 0 auto; text-align: center; }
.tf-category-image { width: 88px; height: 88px; margin: auto auto 12px; border-radius: 50%; padding: 4px; border: 1px solid var(--tf-accent); overflow: hidden; transition: .3s; }
.tf-category-image img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.tf-category:hover .tf-category-image { transform: translateY(-5px); box-shadow: 0 12px 24px rgba(74,32,52,.13); }
.tf-category small { display: block; font-weight: 600; font-size: 12px; line-height: 1.35; }

.tf-category-showcase { padding: 78px 0 70px; background: radial-gradient(circle at 12% 8%, #ffe4ef, transparent 32%), linear-gradient(180deg, #fff, var(--tf-cream)); border-bottom: 1px solid var(--tf-border); }
.tf-featured-cats { display: grid; grid-template-columns: 1.25fr .85fr .85fr; grid-auto-rows: 220px; gap: 18px; margin-bottom: 28px; }
.tf-featured-cat { position: relative; display: flex; align-items: flex-end; min-height: 220px; overflow: hidden; padding: 28px; border-radius: 28px; background-size: cover; background-position: center; color: #fff; isolation: isolate; box-shadow: 0 18px 42px rgba(74,32,52,.13); }
.tf-featured-cat:before { content: ""; position: absolute; inset: 0; z-index: -2; background: inherit; transition: transform .55s ease; }
.tf-featured-cat:after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(36,27,32,.05), rgba(36,27,32,.78)); }
.tf-featured-cat:hover { color: #fff; transform: translateY(-6px); box-shadow: 0 24px 58px rgba(74,32,52,.18); }
.tf-featured-cat:hover:before { transform: scale(1.08); }
.tf-featured-cat--large { grid-row: span 2; min-height: 458px; }
.tf-featured-cat--wide { grid-column: span 2; }
.tf-featured-cat__tag { position: absolute; top: 20px; left: 20px; display: inline-flex; padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--tf-brand); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tf-featured-cat h3 { color: #fff; font-size: clamp(28px, 3vw, 48px); line-height: .98; letter-spacing: -.045em; margin: 0 0 10px; }
.tf-featured-cat--small h3 { font-size: clamp(27px, 2.4vw, 38px); }
.tf-featured-cat--wide h3 { font-size: clamp(30px, 2.8vw, 44px); }
.tf-featured-cat p { max-width: 350px; color: rgba(255,255,255,.82); line-height: 1.65; margin: 0 0 18px; }
.tf-featured-cat strong { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tf-category-rail-wrap { padding: 18px; border: 1px solid var(--tf-border); border-radius: 28px; background: rgba(255,255,255,.78); box-shadow: 0 16px 38px rgba(74,32,52,.06); }
.tf-category-rail { display: flex; gap: 16px; overflow-x: auto; padding: 4px 2px 8px; scrollbar-width: none; }
.tf-category-rail::-webkit-scrollbar { display: none; }
.tf-category-pill { flex: 0 0 112px; text-align: center; color: var(--tf-ink); }
.tf-category-pill__image { width: 88px; height: 88px; display: block; margin: 0 auto 11px; padding: 4px; overflow: hidden; border-radius: 28px; background: #fff; border: 1px solid var(--tf-border); box-shadow: 0 12px 24px rgba(74,32,52,.08); transition: .25s; }
.tf-category-pill__image img { width: 100%; height: 100%; object-fit: cover; border-radius: 23px; }
.tf-category-pill small { display: block; font-size: 12px; font-weight: 700; line-height: 1.35; }
.tf-category-pill:hover .tf-category-pill__image { transform: translateY(-5px) rotate(-2deg); border-color: var(--tf-accent); box-shadow: 0 16px 30px rgba(163,25,91,.14); }

.product__item { margin-bottom: 34px !important; background: #fff; border-radius: var(--tf-radius); overflow: hidden; border: 1px solid rgba(234,223,228,.7); transition: .3s; }
.product__item:hover { transform: translateY(-7px); box-shadow: var(--tf-shadow); }
.product__item__pic { position: relative; border-radius: 0 !important; min-height: 290px; overflow: hidden; }
.tf-product-card-link { position: absolute; inset: 0; z-index: 1; display: block; }
.tf-card-wishlist { position: absolute; right: 14px; top: 14px; z-index: 4; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--tf-brand); border: 1px solid rgba(234,223,228,.9); box-shadow: 0 12px 24px rgba(74,32,52,.12); font-size: 17px; }
.tf-card-wishlist:hover { background: var(--tf-brand); color: #fff; transform: translateY(-2px) scale(1.04); }
.tf-card-wishlist.is-saved { background: var(--tf-brand); color: #fff; }
.tf-card-wishlist.is-saved:hover { background: var(--tf-ink); color: #fff; }
.tf-product-origin {
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:4;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:2px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
  background:#fff;
  box-shadow:0 9px 22px rgba(39,24,31,.18);
  transition:transform .22s ease,box-shadow .22s ease;
}
.tf-product-origin img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.tf-product-origin:after {
  content:attr(data-country);
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  width:max-content;
  max-width:150px;
  padding:6px 9px;
  border-radius:8px;
  background:var(--tf-ink);
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.2;
  opacity:0;
  pointer-events:none;
  transform:translateY(4px);
  transition:.2s ease;
}
.tf-product-origin:hover { transform:translateY(-2px) scale(1.05); box-shadow:0 12px 25px rgba(39,24,31,.24); }
.tf-product-origin:hover:after { opacity:1; transform:translateY(0); }
.wishlist-card .tf-product-origin { bottom:62px; }
.tf-card-wishlist + .label { left: 14px !important; right: auto !important; }
.product__item__pic .label { left: 14px !important; top: 14px !important; z-index: 2; border-radius: 99px; padding: 5px 11px !important; line-height: 1.2 !important; font-size: 10px !important; font-weight: 700; }
.product__item__pic .label.sale { background: var(--tf-brand) !important; }
.product__item__pic .label.new { background: var(--tf-ink) !important; }
.product__hover { right: 14px !important; top: auto !important; bottom: 14px; z-index: 3; }
.product__hover li a { width: 42px !important; height: 42px !important; border: 0 !important; box-shadow: 0 8px 18px rgba(0,0,0,.12); }
.product__item__text { text-align: left !important; padding: 17px 18px 20px; }
.product__item__text h6 { height: 39px; overflow: hidden; margin-bottom: 8px !important; }
.product__item__text h6 a { font-size: 13px; line-height: 1.5; font-weight: 600; }
.product__price { color: var(--tf-brand) !important; font-size: 16px !important; font-weight: 700 !important; }
.product__price span { color: #aaa !important; margin-left: 6px; }
.rating i { color: #e9ad3b !important; font-size: 11px; }

.breadcrumb-option { background: linear-gradient(135deg, #fff, var(--tf-blush)) !important; padding: 24px 0 !important; border-bottom: 1px solid var(--tf-border); }
.breadcrumb__links a, .breadcrumb__links span { font-size: 12px !important; }
.shop-breadcrumb-compact { padding: 14px 0 !important; background: #fff !important; }
.shop-hero-modern { padding: 54px 0; background: radial-gradient(circle at 14% 0%, #ffe2ec, transparent 34%), linear-gradient(135deg, #fff, var(--tf-blush)); border-bottom: 1px solid var(--tf-border); }
.shop-hero-modern__panel { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 28px; min-height: 320px; overflow: hidden; padding: 46px; border-radius: 32px; background: linear-gradient(90deg, rgba(36,27,32,.88), rgba(36,27,32,.5), rgba(36,27,32,.12)), var(--shop-hero-image) center/cover; color: #fff; box-shadow: 0 24px 60px rgba(74,32,52,.16); }
.shop-hero-modern__panel:after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; pointer-events: none; }
.shop-hero-modern__panel > div, .shop-hero-modern__filter { position: relative; z-index: 2; }
.shop-hero-modern__crumbs { margin-bottom: 18px; }
.shop-hero-modern__crumbs a, .shop-hero-modern__crumbs span { color: rgba(255,255,255,.78) !important; }
.shop-hero-modern .tf-eyebrow { color: var(--tf-accent); }
.shop-hero-modern h1 { color: #fff; max-width: 690px; margin: 0 0 16px; font-size: clamp(48px, 6vw, 86px); line-height: .9; letter-spacing: -.06em; }
.shop-hero-modern p { max-width: 570px; color: rgba(255,255,255,.78); line-height: 1.75; margin: 0 0 22px; }
.shop-hero-modern__meta { display: flex; flex-wrap: wrap; gap: 10px; }
.shop-hero-modern__meta span, .shop-hero-modern__meta a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.18); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.shop-hero-modern__meta a:hover { background: #fff; color: var(--tf-brand); }
.shop-hero-modern__filter, .shop-results-head__filter { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 0 18px; border: 0; border-radius: 999px; background: #fff; color: var(--tf-ink); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; box-shadow: 0 14px 30px rgba(0,0,0,.14); }
.shop-hero-modern__filter:hover, .shop-results-head__filter:hover { background: var(--tf-brand); color: #fff; transform: translateY(-2px); }
.shop__sidebar, .checkout__order, .cart__total__procced, .shop__cart__table, .product__details__text { background: #fff; border: 1px solid var(--tf-border); border-radius: var(--tf-radius); padding: 24px; }
.shop-filter-drawer { flex: 0 0 0; max-width: 0; padding: 0; }
.shop__sidebar {
  position: fixed !important;
  top: 0 !important;
  left: -420px !important;
  bottom: 0;
  width: min(390px, 90vw);
  z-index: 1200;
  overflow-y: auto;
  border-radius: 0 28px 28px 0;
  box-shadow: 22px 0 60px rgba(36,27,32,.18);
  transition: left .32s ease;
}
.shop__sidebar.active { left: 0 !important; }
.sidebar-overlay {
  position: fixed;
  inset: 0;
  z-index: 1190;
  display: none;
  background: rgba(36,27,32,.48);
  backdrop-filter: blur(6px);
}
.sidebar-overlay.active { display: block; }
.shop__sidebar > .sidebar-close { display: none !important; }
.tf-filter-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--tf-border); }
.tf-filter-drawer-head span { display: block; color: var(--tf-brand); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 4px; }
.tf-filter-drawer-head h3 { margin: 0; font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.tf-filter-drawer-head .sidebar-close { width: 42px; height: 42px; display: grid; place-items: center; border: 0; margin: 0; border-radius: 50%; background: var(--tf-blush); color: var(--tf-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.tf-filter-drawer-head .sidebar-close:hover { background: var(--tf-brand); color: #fff; transform: rotate(90deg); }
.sidebar__categories, .sidebar__filter, .sidebar__sizes, .sidebar__color { margin-bottom: 28px !important; }
.shop__sidebar .section-title h4 { font-size: 18px; }
.shop__sidebar label { font-size: 13px; color: var(--tf-muted); cursor: pointer; }
.shop__sidebar input[type=text], .checkout input, .checkout textarea, .checkout select, .auth-card input { width: 100%; border: 1px solid var(--tf-border); border-radius: 12px; background: #fff; padding: 12px 14px; outline: none; }
.shop__sidebar input:focus, .checkout input:focus, .checkout textarea:focus, .checkout select:focus { border-color: var(--tf-brand); box-shadow: 0 0 0 3px rgba(163,25,91,.08); }
.shop__sidebar .price-input { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; }
.shop__sidebar .price-input p { grid-column: 1 / -1; margin: 0; color: var(--tf-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.shop__sidebar .price-input .tf-price-field { display: block !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; color: var(--tf-muted) !important; font-size: 10px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.tf-price-field span { display: block; margin-bottom: 5px; }
.shop__sidebar .price-input .tf-price-field input { display: block !important; width: 100% !important; min-width: 0; height: 42px; margin: 0 !important; color: var(--tf-ink) !important; font-size: 12px; text-align: center; }
.shop__sidebar .btn-dark { border: 0; border-radius: 999px; padding: 10px 18px; background: var(--tf-ink); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.shop-results-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 22px; padding: 20px 22px; border-radius: 22px; background: #fff; border: 1px solid var(--tf-border); box-shadow: 0 14px 34px rgba(74,32,52,.05); }
.shop-results-head span { color: var(--tf-brand); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop-results-head h2 { margin: 4px 0 0; font-size: 27px; letter-spacing: -.04em; }
.shop-results-head__filter { display: inline-flex; box-shadow: none; background: var(--tf-blush); color: var(--tf-brand); }
.shop-empty-state { padding: 54px 28px; text-align: center; background: #fff; border: 1px solid var(--tf-border); border-radius: 26px; box-shadow: var(--tf-shadow); }
.shop-empty-state div { width: 76px; height: 76px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; background: var(--tf-blush); color: var(--tf-brand); font-size: 27px; }
.shop-empty-state h3 { font-size: 30px; margin-bottom: 8px; }
.shop-empty-state p { color: var(--tf-muted); margin-bottom: 24px; }
.shop .product__item__pic {
  width: 100% !important;
  min-height: 0;
  padding-top: 0 !important;
  aspect-ratio: 1 / 1;
  background-size: cover !important;
  background-position: center !important;
  background-color: #fff;
}
.pagination__option a { border-radius: 50% !important; border: 1px solid var(--tf-border); }
.pagination__option a.active { background: var(--tf-brand); color: #fff; border-color: var(--tf-brand); }

.product__details__pic { background: #fff; border-radius: var(--tf-radius); padding: 16px; }
.product__big__img { border-radius: 14px; }
.product__details__text { text-align: left !important; }
.product__details__text h3 { font-size: 28px !important; }
.product__details__price { color: var(--tf-brand) !important; }
.product__details__tab { background: #fff; border-radius: var(--tf-radius); padding: 28px; }
.shop__cart__table { overflow-x: auto; }
.shop__cart__table table { min-width: 700px; }
.shop__cart__table tbody tr { border-bottom: 1px solid var(--tf-border); }
.cart__product__item img { border-radius: 12px; }
.tf-cart-variant { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.tf-cart-variant span { padding:4px 7px; border-radius:7px; background:#fff0f5; color:var(--tf-brand); font-size:9px; font-weight:700; }
.tf-order-variant { display:block; margin-top:4px; color:#8e7a84; font-size:10px; }
.cart__quantity input { width: 66px; border: 1px solid var(--tf-border); border-radius: 10px; padding: 8px; }
.checkout__form > .row { justify-content: center; }
.checkout__form > .row > .col-lg-4 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.checkout__form > .row > .col-lg-8:empty { display: none; }
.checkout__order { box-shadow: var(--tf-shadow); }
.checkout__order h5 { font-size: 24px; font-weight: 700; }
.checkout textarea { min-height: 110px; resize: vertical; }

/* Wishlist */
.wishlist-hero { padding: 74px 0 66px; background: radial-gradient(circle at 18% 0%, #ffe0ed, transparent 35%), linear-gradient(135deg, #fff, var(--tf-blush)); border-bottom: 1px solid var(--tf-border); }
.wishlist-hero h1 { font-size: clamp(48px, 6vw, 78px); line-height: .95; letter-spacing: -.06em; margin: 0 0 16px; }
.wishlist-hero p { max-width: 560px; color: var(--tf-muted); font-size: 15px; line-height: 1.8; margin: 0; }
.wishlist-modern { background: var(--tf-cream); }
.wishlist-topbar { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 32px; }
.wishlist-topbar h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.05; letter-spacing: -.04em; margin: 0 0 8px; }
.wishlist-topbar p { color: var(--tf-muted); margin: 0; }
.wishlist-card .product__item__pic { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1.14; min-height: 0; background-size: cover; background-position: center; background-repeat: no-repeat; background-color: #fff; }
.wishlist-card__quick { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 3; display: flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--tf-ink); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(10px); box-shadow: 0 12px 24px rgba(74,32,52,.14); }
.wishlist-card:hover .wishlist-card__quick { opacity: 1; transform: translateY(0); }
.wishlist-card__quick:hover { background: var(--tf-ink); color: #fff; }
.wishlist-card__actions { margin-top: 16px; }
.wishlist-card__actions .tf-btn { width: 100%; min-height: 44px; font-size: 11px !important; }
.wishlist-empty { max-width: 620px; margin: 0 auto; padding: 58px 36px; text-align: center; background: #fff; border: 1px solid var(--tf-border); border-radius: 30px; box-shadow: var(--tf-shadow); }
.wishlist-empty__icon { width: 82px; height: 82px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; background: var(--tf-blush); color: var(--tf-brand); font-size: 32px; }
.wishlist-empty h2 { font-size: 38px; letter-spacing: -.04em; margin-bottom: 10px; }
.wishlist-empty p { color: var(--tf-muted); line-height: 1.8; margin: 0 auto 26px; max-width: 430px; }

.services { background: #fff; border-top: 1px solid var(--tf-border); padding: 52px 0; }
.services__item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 15px;
  align-items: start;
  min-height: 128px;
  margin-bottom: 0;
  padding: 22px;
  border: 1px solid var(--tf-border);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #fff8fa);
  transition: .25s;
}
.services__item:hover { border-color: var(--tf-accent); transform: translateY(-4px); box-shadow: 0 14px 30px rgba(74,32,52,.08); }
.services__item i {
  position: static;
  grid-column: 1;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  background: var(--tf-blush);
  color: var(--tf-brand) !important;
  font-size: 24px;
}
.services__item h6 { grid-column: 2; margin: 3px 0 7px; color: var(--tf-ink); font-size: 14px; line-height: 1.35; }
.services__item p { grid-column: 2; margin: 0; color: var(--tf-muted); font-size: 12px; line-height: 1.65; }
.tf-footer { background: var(--tf-ink); color: rgba(255,255,255,.7); padding: 68px 0 0; }
.tf-footer h6 { color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 20px; }
.tf-footer p { color: rgba(255,255,255,.65); line-height: 1.8; }
.tf-footer-logo { width: 112px; height: 96px; object-fit: contain; padding: 6px; border-radius: 22px; margin-bottom: 18px; background: #fff; box-shadow: 0 14px 32px rgba(0,0,0,.16); }
.tf-footer ul { list-style: none; padding: 0; }
.tf-footer li { margin-bottom: 10px; }
.tf-footer a { color: rgba(255,255,255,.7); }
.tf-footer a:hover { color: var(--tf-accent); }
.tf-social { display: flex; gap: 9px; margin-top: 20px; }
.tf-social a { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; }
.tf-copyright { margin-top: 45px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: 12px; }
.whatsapp-float { position: fixed; right: 22px; bottom: 22px; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #25d366; color: #fff !important; font-size: 27px; z-index: 1000; box-shadow: 0 12px 25px rgba(37,211,102,.3); }

.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 30px 15px; background: radial-gradient(circle at 10% 10%, #ffe5ee, transparent 35%), radial-gradient(circle at 90% 90%, #eadde5, transparent 38%), var(--tf-cream); }
.auth-card { width: min(440px, 100%); background: #fff; padding: 36px; border-radius: 24px; box-shadow: var(--tf-shadow); border: 1px solid var(--tf-border); }
.auth-card .logo { display: block; width: 116px; height: 96px; object-fit: contain; margin: 0 auto 22px; padding: 6px; border-radius: 22px; background: #fff; box-shadow: 0 12px 30px rgba(163,25,91,.12); }
.auth-card h2 { text-align: center; font-size: 28px; margin-bottom: 6px; }
.auth-card .auth-subtitle { text-align: center; color: var(--tf-muted); margin-bottom: 25px; }
.auth-card .input-box { margin-bottom: 14px; }
.auth-card .btn { width: 100%; border-radius: 99px; min-height: 48px; background: var(--tf-brand); color: #fff; border: 0; font-weight: 700; }
.auth-card .error { background: #fff0f2; color: #b4233d; border-radius: 10px; padding: 10px 12px; }
.auth-links { text-align: center; margin-top: 20px; color: var(--tf-muted); font-size: 13px; }
.auth-links a { color: var(--tf-brand); font-weight: 600; }

/* Our Story */
.story-hero { min-height: 560px; display:flex; align-items:center; color:#fff; background:linear-gradient(90deg,rgba(36,27,32,.88),rgba(36,27,32,.48) 52%,rgba(36,27,32,.08)),url('../img/categories/category-6.jpeg') center/cover; }
.story-hero__content { width:min(650px,100%); padding:90px 0; }
.story-hero h1 { color:#fff; font-size:clamp(44px,6vw,76px); line-height:1.04; letter-spacing:-.045em; margin-bottom:24px; }
.story-hero p { color:rgba(255,255,255,.82); max-width:570px; font-size:17px; line-height:1.8; margin-bottom:32px; }
.story-collage { position:relative; padding:0 56px 58px 0; }
.story-collage__main { height:520px; border-radius:28px; overflow:hidden; box-shadow:var(--tf-shadow); }
.story-collage__main img { width:100%; height:100%; object-fit:cover; object-position:65% center; }
.story-collage__small { position:absolute; right:0; bottom:0; width:210px; height:230px; overflow:hidden; border:9px solid var(--tf-cream); border-radius:24px; box-shadow:var(--tf-shadow); }
.story-collage__small img { width:100%; height:100%; object-fit:cover; }
.story-collage__badge { position:absolute; left:-22px; bottom:34px; width:145px; height:145px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-radius:50%; background:var(--tf-brand); color:#fff; box-shadow:0 16px 34px rgba(163,25,91,.28); }
.story-collage__badge strong { font-size:27px; }
.story-collage__badge span { max-width:85px; font-size:11px; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
.story-kicker { display:block; color:var(--tf-brand); margin-bottom:14px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; }
.story-intro h2,.story-heading h2,.story-world h2 { color:var(--tf-ink); font-size:clamp(32px,4vw,49px); line-height:1.15; letter-spacing:-.035em; margin-bottom:22px; }
.story-intro p { color:var(--tf-muted); line-height:1.9; margin-bottom:17px; }
.story-signature { margin-top:28px; color:var(--tf-brand); font-family:'Cookie',cursive; font-size:36px; }
.story-signature span { color:var(--tf-muted); font-family:'Montserrat',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.story-values { background:#fff; }
.story-heading { max-width:670px; margin:0 auto 46px; text-align:center; }
.story-heading p { color:var(--tf-muted); }
.story-value { position:relative; height:100%; min-height:285px; padding:34px; overflow:hidden; border:1px solid var(--tf-border); border-radius:22px; background:linear-gradient(145deg,#fff,var(--tf-blush)); transition:.3s; }
.story-value:hover { transform:translateY(-7px); border-color:var(--tf-accent); box-shadow:var(--tf-shadow); }
.story-value > span { position:absolute; right:23px; top:14px; color:rgba(163,25,91,.08); font-size:60px; font-weight:800; }
.story-value i { width:54px; height:54px; display:grid; place-items:center; margin-bottom:26px; border-radius:16px; background:#fff; color:var(--tf-brand); font-size:22px; box-shadow:0 8px 20px rgba(74,32,52,.08); }
.story-value h3 { font-size:20px; margin-bottom:13px; }
.story-value p { color:var(--tf-muted); font-size:13px; line-height:1.8; }
.story-world { padding:80px 0; background:var(--tf-cream); }
.story-world__panel { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:60px; overflow:hidden; border-radius:28px; background:linear-gradient(120deg,var(--tf-brand-dark),var(--tf-brand)); color:#fff; box-shadow:0 24px 60px rgba(120,16,68,.2); }
.story-world__panel > div { max-width:650px; }
.story-world .story-kicker { color:var(--tf-accent); }
.story-world h2 { color:#fff; margin-bottom:13px; }
.story-world p { color:rgba(255,255,255,.75); margin:0; line-height:1.75; }

/* Contact */
.contact-hero { padding:80px 0; text-align:center; background:radial-gradient(circle at 20% 10%,#ffe2ec,transparent 36%),linear-gradient(135deg,#fff,var(--tf-blush)); border-bottom:1px solid var(--tf-border); }
.contact-hero .tf-eyebrow { color:var(--tf-brand); }
.contact-hero h1 { font-size:clamp(50px,7vw,82px); letter-spacing:-.05em; margin-bottom:15px; }
.contact-hero p { max-width:610px; margin:auto; color:var(--tf-muted); font-size:16px; line-height:1.7; }
.contact-panel,.contact-form-card { height:100%; padding:38px; border:1px solid var(--tf-border); border-radius:24px; background:#fff; box-shadow:0 16px 45px rgba(74,32,52,.06); }
.contact-panel h2,.contact-form-card h2 { font-size:32px; letter-spacing:-.03em; margin-bottom:14px; }
.contact-panel__intro { color:var(--tf-muted); font-size:13px; line-height:1.75; margin-bottom:26px; }
.contact-method { display:flex; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid var(--tf-border); }
.contact-method > span { flex:0 0 44px; height:44px; display:grid; place-items:center; border-radius:13px; background:var(--tf-blush); color:var(--tf-brand); font-size:18px; }
.contact-method > div { flex:1; min-width:0; }
.contact-method small { display:block; color:var(--tf-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:3px; }
.contact-method strong { display:block; color:var(--tf-ink); font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.contact-method > .fa-arrow-right { color:#b9adb3; transition:.2s; }
a.contact-method:hover > .fa-arrow-right { color:var(--tf-brand); transform:translateX(4px); }
.contact-social-note { display:flex; gap:12px; align-items:flex-start; margin-top:25px; padding:16px; border-radius:14px; background:var(--tf-blush); color:var(--tf-brand); }
.contact-social-note p { color:var(--tf-muted); font-size:12px; line-height:1.6; margin:0; }
.contact-social-note a { color:var(--tf-brand); font-weight:600; }
.contact-form-modern label { display:block; color:var(--tf-ink); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin:18px 0 8px; }
.contact-form-modern input,.contact-form-modern textarea { width:100%; border:1px solid var(--tf-border); border-radius:13px; background:#fcfafb; padding:13px 15px; outline:none; transition:.2s; }
.contact-form-modern input:focus,.contact-form-modern textarea:focus { background:#fff; border-color:var(--tf-brand); box-shadow:0 0 0 4px rgba(163,25,91,.07); }
.contact-form-modern textarea { min-height:145px; resize:vertical; margin-bottom:20px; }
.contact-map-modern { height:360px; margin-top:28px; overflow:hidden; border:1px solid var(--tf-border); border-radius:24px; box-shadow:0 16px 45px rgba(74,32,52,.06); }
.contact-map-modern iframe { width:100%; height:100%; border:0; }

@media (max-width: 991px) {
  .tf-header-main { grid-template-columns: auto 1fr auto; min-height: 74px; gap: 12px; }
  .tf-brand { justify-content: center; }
  .tf-brand-mark { width: 74px; height: 58px; border-radius: 19px; }
  .tf-brand-text { display: none; }
  .tf-search { grid-row: 2; grid-column: 1 / -1; padding-bottom: 12px; }
  .tf-nav-inner { display: none; position: absolute; z-index: 20; left: 15px; right: 15px; top: calc(100% + 1px); width: auto; max-width: none; height: auto; padding: 12px; overflow: visible; background: #fff; border: 1px solid var(--tf-border); border-radius: 16px; box-shadow: var(--tf-shadow); flex-direction: column; align-items: stretch; gap: 0; }
  .tf-nav-inner.open { display: flex; }
  .tf-nav-inner a { padding: 12px; border-radius: 10px; color: var(--tf-ink); }
  .tf-nav-inner a:hover { background: var(--tf-blush); }
  .tf-menu-toggle { display: grid; place-items: center; width: 42px; height: 42px; }
  .tf-nav { border: 0; }
  .tf-hero { min-height: 530px; background-position: 62% center; }
  .tf-featured-cats { grid-template-columns: 1fr 1fr; grid-auto-rows: 210px; }
  .tf-featured-cat--large, .tf-featured-cat--wide { grid-column: span 2; grid-row: auto; min-height: 260px; }
  .shop-hero-modern { padding: 34px 0; }
  .shop-hero-modern__panel { min-height: 300px; align-items: flex-start; flex-direction: column; padding: 34px 28px; border-radius: 26px; }
  .shop-hero-modern__filter { display: inline-flex; }
  .shop-results-head__filter { display: inline-flex; }
  .checkout__form > .row > .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
  .shop__sidebar { width: min(360px, 88vw); border-radius: 0 20px 20px 0; }
  .wishlist-topbar { align-items: flex-start; flex-direction: column; }
  .services__item { margin-bottom: 18px; }
  .story-hero { min-height:500px; }
  .story-collage { max-width:620px; margin:auto; }
  .story-world__panel { align-items:flex-start; flex-direction:column; padding:44px; }
  .contact-panel,.contact-form-card { padding:30px; }
}

@media (max-width: 575px) {
  .container { padding-left: 18px; padding-right: 18px; }
  .tf-announcement { font-size: 10px; }
  .tf-header-main { grid-template-columns: 42px 1fr auto; }
  .tf-brand { text-align: center; }
  .tf-brand-mark { width: 66px; height: 54px; border-radius: 17px; }
  .tf-actions .tf-user { display: none; }
  .tf-hero { min-height: 510px; background-position: 66% center; }
  .tf-hero-content { padding: 70px 0; max-width: 92%; }
  .tf-hero p { font-size: 14px; }
  .tf-category-showcase { padding: 48px 0; }
  .tf-featured-cats { grid-template-columns: 1fr; grid-auto-rows: 230px; gap: 14px; }
  .tf-featured-cat--large, .tf-featured-cat--wide { grid-column: auto; min-height: 230px; }
  .tf-featured-cat { padding: 22px; border-radius: 22px; }
  .tf-featured-cat h3 { font-size: 31px; }
  .tf-category-rail-wrap { padding: 13px; border-radius: 22px; }
  .tf-category-pill { flex-basis: 92px; }
  .tf-category-pill__image { width: 74px; height: 74px; border-radius: 22px; }
  .tf-category-pill__image img { border-radius: 18px; }
  .shop-hero-modern__panel { min-height: 270px; padding: 26px 22px; }
  .shop-hero-modern h1 { font-size: 42px; }
  .shop-hero-modern p { font-size: 13px; }
  .shop-results-head { align-items: flex-start; flex-direction: column; padding: 18px; }
  .spad { padding: 50px 0; }
  .tf-section-head { display: block; }
  .product__item__pic,
  .shop .product__item__pic {
    height: clamp(190px, 50vw, 220px) !important;
    min-height: 0 !important;
    aspect-ratio: auto;
    padding-top: 0 !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: #fff;
  }
  .product__item__text { padding: 13px 12px 16px; }
  .product__item__text h6 a { font-size: 11px; }
  .product__price { font-size: 13px !important; }
  .wishlist-hero { padding: 48px 0; }
  .wishlist-card__quick { opacity: 1; transform: none; min-height: 36px; font-size: 9px; }
  .wishlist-card__actions .tf-btn { padding: 0 12px !important; font-size: 9px !important; }
  .tf-card-wishlist { width: 36px; height: 36px; font-size: 14px; }
  .tf-product-origin { right:9px; bottom:9px; width:28px; height:28px; padding:2px; }
  .wishlist-card .tf-product-origin { bottom:52px; }
  .auth-card { padding: 28px 22px; }
  .story-hero { min-height:530px; background-position:62% center; }
  .story-hero__content { padding:68px 0; }
  .story-hero h1 { font-size:43px; }
  .story-hero p { font-size:14px; }
  .story-collage { padding:0 22px 40px 0; }
  .story-collage__main { height:390px; }
  .story-collage__small { width:145px; height:160px; border-width:6px; }
  .story-collage__badge { left:-5px; bottom:22px; width:112px; height:112px; }
  .story-collage__badge strong { font-size:22px; }
  .story-world { padding:50px 0; }
  .story-world__panel { padding:32px 24px; border-radius:22px; }
  .contact-hero { padding:60px 0; }
  .contact-panel,.contact-form-card { padding:25px 20px; }
  .contact-panel h2,.contact-form-card h2 { font-size:27px; }
  .contact-map-modern { height:290px; }
}

/* Product details */
html, body { margin: 0; min-height: 100%; }
body > .services, body > .tf-footer { margin-top: 0 !important; margin-bottom: 0 !important; }
.services.spad {
  padding: 32px 0 !important;
  background: linear-gradient(135deg, #fff7fa, #fff 48%, #fff4f8);
}
.services .row { row-gap: 16px; }
.services__item { min-height: 108px; padding: 18px; margin-bottom: 0 !important; }

.tf-product-page { background: var(--tf-cream); }
.tf-product-breadcrumb { border-bottom: 1px solid var(--tf-border); background: rgba(255,255,255,.72); }
.tf-product-breadcrumb__inner {
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  color: var(--tf-muted);
  font-size: 12px;
}
.tf-product-breadcrumb__inner a { flex: 0 0 auto; color: var(--tf-ink); font-weight: 600; }
.tf-product-breadcrumb__inner a:hover { color: var(--tf-brand); }
.tf-product-breadcrumb__inner > i { flex: 0 0 auto; color: #c8bbc2; }
.tf-product-breadcrumb__inner span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.tf-product-detail { padding: 52px 0 64px; }
.tf-product-gallery {
  position: relative;
  width: min(700px, 100%);
  max-width: 700px !important;
  margin: 0 auto;
  padding: 16px;
  box-sizing: border-box;
  border: 1px solid var(--tf-border);
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(74,32,52,.08);
}
.tf-product-sale {
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--tf-ink);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tf-product-gallery__main {
  position: relative;
  width: 100%;
  height: 420px !important;
  max-height: none;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 23px;
  background: #fff;
}
.tf-product-gallery__main img { display: block; width: auto !important; height: auto !important; max-width: 82% !important; max-height: 360px !important; object-fit: contain; padding: 0; transition: opacity .22s ease, transform .22s ease; }
.tf-product-gallery__main img.is-changing { opacity: .25; transform: scale(.985); }
.tf-product-arrow { position: absolute; top: 50%; z-index: 3; width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(225,211,218,.95); border-radius: 50%; background: rgba(255,255,255,.92); color: var(--tf-ink); font-size: 22px; cursor: pointer; transform: translateY(-50%); box-shadow: 0 12px 28px rgba(74,32,52,.12); backdrop-filter: blur(10px); transition: .25s ease; }
.tf-product-arrow--prev { left: 18px; }
.tf-product-arrow--next { right: 18px; }
.tf-product-arrow:hover { border-color: var(--tf-brand); background: var(--tf-brand); color: #fff; box-shadow: 0 15px 30px rgba(163,25,91,.25); }
.tf-product-arrow--prev:hover { transform: translate(-3px, -50%); }
.tf-product-arrow--next:hover { transform: translate(3px, -50%); }
.tf-product-arrow:focus-visible { outline: 3px solid rgba(163,25,91,.2); outline-offset: 3px; }
.tf-product-thumbs { display: flex; justify-content: center; gap: 10px; margin-top: 14px; overflow-x: auto; padding: 2px 2px 5px; scrollbar-width: thin; }
.tf-product-thumb {
  flex: 0 0 68px;
  width: 68px;
  height: 68px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid var(--tf-border);
  border-radius: 17px;
  background: #fff;
  cursor: pointer;
  transition: .2s ease;
}
.tf-product-thumb:hover, .tf-product-thumb.is-active { border-color: var(--tf-brand); box-shadow: 0 0 0 3px rgba(163,25,91,.08); transform: translateY(-2px); }
.tf-product-thumb img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
.tf-product-thumb img { background: #fff; }

.tf-product-info {
  max-width: 980px;
  margin: 28px auto 0;
  padding: 34px;
  border: 1px solid var(--tf-border);
  border-radius: 32px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 60px rgba(74,32,52,.08);
}
.tf-product-info__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.tf-product-category {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 13px;
  border-radius: 999px;
  background: var(--tf-blush);
  color: var(--tf-brand);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.tf-product-stock { color: #33835a; font-size: 11px; font-weight: 700; white-space: nowrap; }
.tf-product-stock i { margin-right: 5px; }
.tf-product-stock.is-out { color:#c13b51; }
.tf-product-meta-right { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.tf-product-origin-detail { display:inline-flex; align-items:center; gap:7px; padding:5px 9px 5px 5px; border:1px solid var(--tf-border); border-radius:999px; background:#fff; color:var(--tf-muted); font-size:10px; font-weight:700; }
.tf-product-origin-detail img { width:24px; height:24px; padding:2px; border:1px solid #eee2e7; border-radius:50%; object-fit:cover; }
.tf-product-info h1 { margin: 0 0 16px; color: var(--tf-ink); font-size: clamp(28px, 3vw, 42px); line-height: 1.14; letter-spacing: -.045em; text-transform: none; }
.tf-product-assurance { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--tf-muted); font-size: 11px; }
.tf-product-stars { display: inline-flex; gap: 3px; color: #f0b323; }
.tf-product-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 12px; margin: 25px 0; }
.tf-product-price strong { color: var(--tf-brand); font-size: 32px; line-height: 1; letter-spacing: -.035em; }
.tf-product-price del { color: #a99da3; font-size: 15px; }
.tf-product-price > span { padding: 5px 9px; border-radius: 8px; background: #eff9f3; color: #33835a; font-size: 10px; font-weight: 700; }
.tf-product-description { padding: 22px 0; border-top: 1px solid var(--tf-border); border-bottom: 1px solid var(--tf-border); }
.tf-product-description > span, .tf-product-buy > label { display: block; margin-bottom: 12px; color: var(--tf-ink); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tf-product-description p { max-height: none; margin: 0; overflow: visible; padding-right: 0; color: #5b5055; font-size: 15px; line-height: 1.82; }
.tf-product-buy { padding-top: 23px; }
.tf-cart-alert { display:flex; align-items:center; gap:9px; margin:0 0 18px; padding:13px 16px; border:1px solid #f0c8d0; border-radius:13px; background:#fff0f3; color:#ac354d; font-size:12px; font-weight:700; }
.tf-cart-alert-success { border-color:#bce5d1; background:#eaf8f1; color:#157552; }
.tf-variant-picker { margin-bottom:22px; }
.tf-variant-picker > span { display:block; margin-bottom:12px; color:var(--tf-ink); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.tf-variant-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:10px; }
.tf-store-variant { position:relative; min-height:68px; display:grid; grid-template-columns:42px minmax(0,1fr) 20px; align-items:center; gap:9px; margin:0; padding:10px; overflow:hidden; border:1px solid var(--tf-border); border-radius:15px; background:#fff; cursor:pointer; transition:.2s ease; }
.tf-store-variant:hover { border-color:#d49ab3; background:#fff9fb; transform:translateY(-1px); }
.tf-store-variant input { width:1px; height:1px; position:absolute; opacity:0; }
.tf-store-variant > img { width:42px; height:42px; padding:3px; border:1px solid #eee3e8; border-radius:10px; background:#fff; object-fit:contain; }
.tf-store-variant > span { min-width:0; display:flex; flex-direction:column; }
.tf-store-variant strong { overflow:hidden; color:var(--tf-ink); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.tf-store-variant small { margin-top:3px; color:var(--tf-muted); font-size:9px; }
.tf-store-variant > i { width:19px; height:19px; display:grid; place-items:center; border:1px solid #dacbd2; border-radius:50%; color:transparent; font-size:9px; }
.tf-store-variant:has(input:checked),.tf-store-variant.is-selected { border-color:var(--tf-brand); background:#fff4f8; box-shadow:0 0 0 3px rgba(163,25,91,.08); }
.tf-store-variant:has(input:checked) > i,.tf-store-variant.is-selected > i { border-color:var(--tf-brand); background:var(--tf-brand); color:#fff; }
.tf-store-variant.is-disabled { cursor:not-allowed; filter:grayscale(1); opacity:.48; }
.tf-variant-help { display:flex; align-items:center; gap:7px; margin-top:10px; color:#947c87; font-size:10px; }
.tf-variant-help i { color:#b35780; }
.tf-variant-help.is-selected { color:#177653; font-weight:700; }
.tf-variant-help.is-selected i { color:#21966a; }
.tf-variant-selection-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.tf-variant-selection-row .tf-variant-help { margin-top:0; }
.tf-variant-clear { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #ebcbd8; border-radius:999px; background:#fff7fa; color:#a3195b; cursor:pointer; font-size:9px; font-weight:800; }
.tf-variant-clear:hover { border-color:#d69ab3; background:#ffeef5; }
.tf-variant-clear[hidden] { display:none!important; }
.tf-product-buy__row { display: grid; grid-template-columns: 158px minmax(170px,1fr) 62px; gap: 12px; }
.tf-quantity-control { height: 62px; display: grid; grid-template-columns: 46px 1fr 46px; align-items: center; border: 1px solid var(--tf-border); border-radius: 999px; background: #fff; overflow: hidden; }
.tf-quantity-control button { height: 100%; border: 0; background: transparent; color: var(--tf-muted); font-size: 22px; font-weight: 600; cursor: pointer; }
.tf-quantity-control button:hover { color: var(--tf-brand); background: var(--tf-blush); }
.tf-quantity-control input { width: 100%; height: 100%; border: 0; outline: 0; text-align: center; color: var(--tf-ink); font-size: 17px; font-weight: 800; appearance: textfield; }
.tf-quantity-control input::-webkit-inner-spin-button, .tf-quantity-control input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.tf-product-cart { height: 62px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 999px; background: linear-gradient(135deg, var(--tf-brand-dark), var(--tf-brand)); color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; box-shadow: 0 12px 25px rgba(163,25,91,.22); transition: .25s ease; }
.tf-product-cart i { font-size: 17px; }
.tf-product-cart:hover { transform: translateY(-2px); box-shadow: 0 17px 30px rgba(163,25,91,.28); }
.tf-product-cart:disabled { cursor:not-allowed; filter:grayscale(.5); opacity:.55; transform:none; box-shadow:none; }
.tf-product-heart { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid var(--tf-border); border-radius: 50%; background: #fff; color: var(--tf-ink); font-size: 23px; }
.tf-product-heart:hover, .tf-product-heart.is-saved { border-color: var(--tf-brand); background: var(--tf-brand); color: #fff; transform: translateY(-2px); }
.tf-product-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.tf-product-benefits > div { display: grid; grid-template-columns: 54px 1fr; align-items: center; gap: 15px; min-height: 78px; padding: 12px 15px; border: 1px solid var(--tf-border); border-radius: 18px; background: linear-gradient(135deg, #fff, #fff8fb); }
.tf-product-benefits i { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: var(--tf-blush); color: var(--tf-brand); font-size: 20px; }
.tf-product-benefits span { color: var(--tf-muted); font-size: 13px; line-height: 1.55; }
.tf-product-benefits strong { display: block; margin-bottom: 3px; color: var(--tf-ink); font-size: 14px; }

.tf-related-products { padding: 64px 0 46px; border-top: 1px solid var(--tf-border); background: #fff; }
.tf-related-products .tf-section-head { margin-bottom: 30px; }
.tf-related-products .tf-section-head h2 { margin: 6px 0 0; font-size: clamp(30px, 4vw, 45px); letter-spacing: -.045em; }
.tf-related-products .tf-section-head > a { color: var(--tf-brand); font-size: 12px; font-weight: 700; }
.tf-related-card .product__item__pic { height: auto !important; min-height: 0; aspect-ratio: 1 / 1.06; background: linear-gradient(145deg, #fff, #faf6f8); }
.tf-related-card__image { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; }
.tf-related-card__image img { width: 100%; height: 100%; padding: 16px; object-fit: contain; transition: transform .35s ease; }
.tf-related-card:hover .tf-related-card__image img { transform: scale(1.04); }
.tf-product-empty { padding: 80px 0; }

@media (max-width: 991px) {
  .tf-product-gallery { width: min(640px, 100%); }
  .tf-product-gallery__main { height: 360px !important; max-height: none; }
  .tf-product-gallery__main img { max-width: 82% !important; max-height: 305px !important; }
  .tf-product-info { margin-top: 24px; }
  .services__item { min-height: 100px; }
}

@media (max-width: 767px) {
  .tf-product-benefits { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
  .services.spad { padding: 24px 0 !important; }
  .tf-product-breadcrumb__inner { min-height: 52px; gap: 8px; font-size: 10px; }
  .tf-product-detail { padding: 28px 0 42px; }
  .tf-product-gallery, .tf-product-info { padding: 14px; border-radius: 23px; }
  .tf-product-gallery__main { height: 280px !important; border-radius: 18px; }
  .tf-product-gallery__main img { width: auto !important; height: auto !important; max-width: 86% !important; max-height: 235px !important; padding: 0; }
  .tf-product-arrow { width: 40px; height: 40px; font-size: 19px; }
  .tf-product-arrow--prev { left: 9px; }
  .tf-product-arrow--next { right: 9px; }
  .tf-product-sale { top: 25px; left: 25px; }
  .tf-product-thumbs { justify-content: flex-start; }
  .tf-product-thumb { flex-basis: 58px; width: 58px; height: 58px; border-radius: 13px; }
  .tf-product-info { margin-top: 16px; padding: 23px 19px; }
  .tf-product-info h1 { font-size: 28px; }
  .tf-product-price strong { font-size: 28px; }
  .tf-product-description p { max-height: none; font-size: 14px; line-height: 1.78; }
  .tf-product-buy__row { grid-template-columns: 1fr 62px; }
  .tf-quantity-control { grid-column: 1 / -1; width: 100%; }
  .tf-product-benefits > div { grid-template-columns: 50px 1fr; min-height: 72px; padding: 10px 12px; }
  .tf-product-benefits i { width: 50px; height: 50px; }
  .tf-related-products { padding: 44px 0 28px; }
}
