/*
Theme Name: CodentFlow
Theme URI: https://codentricks.com/codentflow
Author: Sanjay Prasad (Codentricks)
Author URI: https://codentricks.com
Description: A premium, mobile-first WooCommerce and Elementor-ready theme for modern saree boutiques.
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: codentflow
Tags: e-commerce, blog, custom-logo, featured-images, threaded-comments, translation-ready
*/

:root {
  --cf-ink: #272224;
  --cf-muted: #756c6e;
  --cf-rose: #9d435c;
  --cf-rose-dark: #713044;
  --cf-blush: #f6ebe7;
  --cf-cream: #fffaf6;
  --cf-gold: #c99d55;
  --cf-line: #eadeda;
  --cf-white: #ffffff;
  --cf-shadow: 0 18px 55px rgba(61, 27, 34, .10);
  --cf-radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cf-cream); color: var(--cf-ink); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--cf-rose); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
a:hover { color: var(--cf-rose-dark); }
button, input, select, textarea { font: inherit; }
button, .button, input[type="submit"], .wp-block-button__link { border: 0; border-radius: 999px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .85rem 1.35rem; background: var(--cf-rose); color: var(--cf-white); font-weight: 700; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
button:hover, .button:hover, input[type="submit"]:hover, .wp-block-button__link:hover { background: var(--cf-rose-dark); color: var(--cf-white); transform: translateY(-2px); box-shadow: 0 10px 25px rgba(157, 67, 92, .2); }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 16px; margin: 0; clip: auto; z-index: 100000; background: var(--cf-ink); color: #fff; }

h1, h2, h3, h4, h5, h6 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.15; letter-spacing: -.02em; margin: 0 0 1rem; }
h1 { font-size: clamp(2.7rem, 7vw, 5.8rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
p { margin: 0 0 1rem; }
.eyebrow { color: var(--cf-rose); font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.section-heading { max-width: 680px; margin-bottom: 2rem; }
.section-heading p { color: var(--cf-muted); }

.site-announcement { padding: .55rem 20px; background: var(--cf-ink); color: #fff8f3; text-align: center; font-size: .78rem; letter-spacing: .07em; }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,250,246,.94); border-bottom: 1px solid rgba(234,222,218,.8); backdrop-filter: blur(16px); }
.cf-static-header .site-header { position: relative; top: auto; }
.header-cta { display:inline-flex; align-items:center; justify-content:center; min-height:38px; margin-left:.45rem; padding:.55rem 1rem; border:1px solid var(--cf-gold); color:inherit; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.header-cta:hover { background:var(--cf-gold); color:#111; }
.header-inner { min-height: 78px; display: flex; align-items: center; gap: 1.5rem; }
.site-branding { flex: 0 0 auto; display: flex; align-items: center; gap: .75rem; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { display: block; max-width: 205px; max-height: 44px; width: auto; height: auto; object-fit: contain; }
.site-branding:has(.custom-logo-link) .site-title { display: none; }
.site-title { color: var(--cf-ink); font: 600 1.85rem/1 Georgia, serif; letter-spacing: -.055em; }
.site-description { display: none; }
.main-navigation { display: none; flex: 1; justify-content: center; }
.main-navigation > ul, .main-navigation > div > ul { width: 100%; }
.header-actions { display: flex; align-items: center; gap: .28rem; margin-left: auto; }
.header-icon { position: relative; width: 35px; height: 42px; flex: 0 0 35px; padding: 0; border-radius: 0; background: transparent; color: #111; line-height: 1; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.header-icon svg { display: block; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease, color .2s ease; }
.cf-cart-trigger-content { position: relative; width: 28px; height: 30px; display: inline-flex; align-items: center; justify-content: center; }
.cf-cart-trigger-content svg { width: 26px; height: 26px; }
.header-icon:last-child svg { width: 26px; height: 26px; }
.header-icon:hover { color: var(--cf-rose); background: transparent; box-shadow: none; transform: none; }
.header-icon:hover svg { transform: translateY(-1px); }
.header-icon .header-cart-count, .header-icon .header-utility-count { width: 16px; min-width: 16px; height: 16px; padding: 0; border-radius: 50%; background: #111; color: white; font: 700 .56rem/16px Inter, sans-serif; position: absolute; top: 1px; right: -1px; margin: 0; text-align: center; }
.header-cart-count, .header-utility-count { background: #111; }
.header-icon .header-cart-count, .header-icon .header-utility-count { display: inline-flex; align-items: center; justify-content: center; }
.menu-toggle { background: transparent; color: var(--cf-ink); padding: .5rem; font-size: 1.35rem; }
.mobile-navigation { display: none; padding: 1rem 20px 1.25rem; border-top: 1px solid var(--cf-line); }
.search-panel { display: none; width: 100%; max-width: none; padding: 1.15rem max(20px, calc((100% - 1400px) / 2)) 1.5rem; }
.cf-search-panel-inner { width: 100%; margin-inline: auto; padding: 1.15rem; border: 1px solid rgba(201,157,85,.32); border-radius: 16px; background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,235,231,.72)); box-shadow: 0 16px 36px rgba(61,27,34,.12); }
.cf-search-panel-heading { display: flex; justify-content: flex-end; margin: 0 0 .35rem; }
.cf-search-close { width: 30px; height: 30px; padding: 0; border: 1px solid var(--cf-line); border-radius: 50%; background: rgba(255,255,255,.8); color: var(--cf-ink); }
.cf-search-close svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.cf-search-close:hover { background: var(--cf-ink); color: var(--cf-white); box-shadow: none; transform: none; }

.cf-demo-menu, .cf-mobile-menu { list-style: none; padding: 0; margin: 0; }
.cf-demo-menu { display: flex; align-items: center; justify-content: center; gap: 1.6rem; }
.cf-demo-menu > li { position: static; }
.cf-demo-menu > li > a, .cf-demo-menu > li > .cf-mega-parent-link { display: inline-flex; align-items: center; gap: .3rem; color: var(--cf-ink); font-size: .78rem; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; }
.cf-demo-menu > li > a:hover { color: var(--cf-rose); }
.cf-menu-caret { width: 11px; height: 11px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 11px; margin-left: 1px; color: var(--cf-muted); font-size: 0; line-height: 0; transform: translateY(-1px); }
.cf-menu-caret::before { content: ""; width: 5px; height: 5px; display: block; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translate(-1px,-1px); transform-origin: center; }
.cf-mega-menu { position: absolute; z-index: 10; top: 100%; left: 0; width: 100%; max-height: calc(100vh - 110px); overflow-y: auto; padding: 1.9rem max(28px, calc((100vw - 1180px) / 2)) 2.2rem; border-top: 1px solid var(--cf-line); background: rgba(255,255,255,.99); box-shadow: 0 20px 35px rgba(50, 25, 31, .10); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.cf-mega-parent:hover > .cf-mega-menu, .cf-mega-parent:focus-within > .cf-mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.cf-mega-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4.5rem); }
.cf-mega-column { display: flex; flex-direction: column; gap: .42rem; min-width: 0; }
.cf-mega-column h3 { margin: 0 0 .55rem; color: #8190a6; font: 700 .72rem/1.2 Inter, sans-serif; letter-spacing: 0; text-transform: none; }
.cf-mega-column a { color: #332f30; font-size: .75rem; line-height: 1.45; }
.cf-mega-column a:hover { color: var(--cf-rose); padding-left: 3px; }
.cf-mega-feature { min-height: 155px; display: flex; flex-direction: column; justify-content: end; padding: 1.2rem; border-radius: 14px; background: linear-gradient(135deg, #d8b39f, #753249); color: #fff; }
.cf-mega-feature span { font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cf-mega-feature strong { margin: .3rem 0 .5rem; font: 500 1.6rem/1.1 Georgia, serif; }
.cf-mega-feature a { color: #fff; font-size: .78rem; font-weight: 800; }
.cf-category-menu { left: 50%; width: min(760px, 100%); padding: 1.5rem; transform: translate(-50%, 8px); }
.cf-mega-parent:hover > .cf-category-menu, .cf-mega-parent:focus-within > .cf-category-menu { transform: translate(-50%, 0); }
.cf-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; }
.cf-category-grid a { padding: 1rem; border-radius: 12px; background: var(--cf-blush); color: var(--cf-ink); }
.cf-category-grid a:hover { background: #f0d9d5; }
.cf-category-grid strong, .cf-category-grid small { display: block; }
.cf-category-grid strong { font: 500 1.1rem/1.2 Georgia, serif; }
.cf-category-grid small { margin-top: .4rem; color: var(--cf-muted); font-size: .7rem; }
.cf-mobile-parent { width: 100%; display: flex; justify-content: space-between; padding: .35rem 0; border-radius: 0; background: transparent; color: var(--cf-ink); font-weight: 700; }
.cf-mobile-parent:hover { background: transparent; color: var(--cf-rose); box-shadow: none; transform: none; }
.cf-mobile-submenu { display: none; padding: .2rem 0 .5rem 1rem; }
.cf-mobile-submenu.is-open { display: block; }
.cf-mobile-submenu a { display: block; padding: .25rem 0; color: var(--cf-muted); font-size: .9rem; }
.search-panel.is-open { display: block; animation: cf-search-reveal .24s ease-out both; }
.cf-search-form { position: relative; display: flex; align-items: center; min-height: 58px; padding: 5px; border: 1px solid rgba(157,67,92,.26); border-radius: 999px; background: var(--cf-white); box-shadow: 0 7px 18px rgba(61,27,34,.07); transition: border-color .2s ease, box-shadow .2s ease; }
.cf-search-form:focus-within { border-color: var(--cf-rose); box-shadow: 0 0 0 4px rgba(157,67,92,.10), 0 9px 22px rgba(61,27,34,.10); }
.cf-search-form-icon { display: inline-flex; flex: 0 0 45px; align-items: center; justify-content: center; color: var(--cf-rose); }
.cf-search-form-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cf-search-form .search-field { min-width: 0; flex: 1; height: 46px; padding: 0 .55rem 0 0; border: 0; outline: 0; background: transparent; color: var(--cf-ink); font-size: .92rem; }
.cf-search-form .search-field::placeholder { color: #9c9291; opacity: 1; }
.cf-search-submit { min-width: 116px; min-height: 46px; padding: .65rem 1rem .65rem 1.2rem; background: linear-gradient(135deg, var(--cf-rose), var(--cf-rose-dark)); font-size: .76rem; letter-spacing: .04em; }
.cf-search-submit svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.cf-search-submit:hover svg { transform: translateX(3px); }
.cf-search-preview { display: none; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid rgba(157,67,92,.16); }
.cf-search-preview.is-visible { display: block; animation: cf-search-reveal .18s ease-out both; }
.cf-search-preview-heading { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 .75rem .15rem; color: var(--cf-rose-dark); font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cf-search-preview-status { color: var(--cf-muted); font-size: .64rem; letter-spacing: .06em; }
.cf-search-preview-results { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.cf-search-preview-card { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: .7rem; align-items: center; min-width: 0; padding: .5rem; border: 1px solid transparent; border-radius: 12px; background: rgba(255,255,255,.74); color: var(--cf-ink); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.cf-search-preview-card:hover { border-color: rgba(157,67,92,.28); box-shadow: 0 7px 16px rgba(61,27,34,.08); color: var(--cf-ink); transform: translateY(-2px); }
.cf-search-preview-card img { width: 62px; height: 76px; border-radius: 8px; object-fit: cover; background: var(--cf-blush); }
.cf-search-preview-info { min-width: 0; }
.cf-search-preview-card strong { display: -webkit-box; overflow: hidden; color: var(--cf-ink); font-size: .78rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.cf-search-preview-price { display: block; margin-top: .28rem; color: var(--cf-rose); font-size: .73rem; font-weight: 700; }
.cf-search-preview-empty { grid-column: 1 / -1; margin: 0; padding: 1.1rem; border-radius: 10px; background: rgba(255,255,255,.65); color: var(--cf-muted); font-size: .84rem; text-align: center; }
.cf-search-preview.is-loading .cf-search-preview-results { min-height: 92px; background: linear-gradient(90deg, rgba(246,235,231,.35), rgba(255,255,255,.85), rgba(246,235,231,.35)); background-size: 220% 100%; border-radius: 10px; animation: cf-search-loading 1.15s linear infinite; }
@keyframes cf-search-loading { to { background-position: -220% 0; } }
@keyframes cf-search-reveal { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 720px) { .cf-search-preview-results { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .search-panel { padding: .75rem 12px 1rem; } .cf-search-panel-inner { padding: .85rem; border-radius: 14px; } .cf-search-form { min-height: 54px; } .cf-search-form-icon { flex-basis: 38px; } .cf-search-submit { min-width: 48px; padding: .65rem; } .cf-search-submit span { display: none; } .cf-search-preview-card { grid-template-columns: 52px minmax(0, 1fr); padding: .4rem; } .cf-search-preview-card img { width: 52px; height: 66px; } }
.mobile-navigation.is-open { display: block; }
.mobile-navigation ul { list-style: none; padding: 0; margin: 0; }
.mobile-navigation li { padding: .35rem 0; }

@media (max-width: 899px) {
  .site-header .header-inner { width:calc(100% - 32px); min-height:64px; gap:.35rem; }
  .menu-toggle { width:36px; height:40px; flex:0 0 36px; padding:0; font-size:1.25rem; }
  .site-branding { min-width:0; flex:1 1 auto; gap:0; }
  .custom-logo { max-width:170px; max-height:38px; }
  .site-title { overflow:hidden; font-size:1.35rem; text-overflow:ellipsis; white-space:nowrap; }
  .header-actions { flex:0 0 auto; gap:0; }
  .header-icon { width:32px; height:40px; flex-basis:32px; }
  .header-icon svg,.cf-cart-trigger-content svg,.header-icon:last-child svg { width:21px; height:21px; }
  .header-actions .cf-header-compare,.header-actions .header-cta { display:none; }
}
@media (max-width: 390px) {
  .custom-logo { max-width:145px; }
  .site-header .header-inner { width:calc(100% - 24px); }
}

body.cf-cart-drawer-open { overflow: hidden; }
.cf-cart-overlay { position: fixed; z-index: 9997; inset: 0; background: rgba(20, 16, 17, .45); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; }
.cf-cart-overlay.is-open { opacity: 1; visibility: visible; }
.cf-cart-drawer { position: fixed; z-index: 9998; top: 0; right: 0; width: min(520px, 100%); height: 100dvh; overflow-y: auto; background: #fff; color: #111; box-shadow: -20px 0 50px rgba(20, 10, 12, .16); transform: translateX(102%); visibility: hidden; transition: transform .32s ease, visibility .32s ease; }
.cf-cart-drawer.is-open { transform: translateX(0); visibility: visible; }
.cf-cart-drawer-header { position: sticky; top: 0; z-index: 2; height: 56px; display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; padding: 0 .6rem; border-bottom: 1px solid #ddd; background: #fff; }
.cf-cart-drawer-header h2 { margin: 0; text-align: center; font: 800 1rem/1 Inter, sans-serif; letter-spacing: 0; }
.cf-drawer-close { width: 38px; height: 38px; padding: 0; border-radius: 0; background: transparent; color: #111; box-shadow: none; font-size: 1.7rem; font-weight: 300; }
.cf-drawer-close:hover { background: transparent; color: var(--cf-rose); box-shadow: none; transform: none; }
.cf-drawer-bag { position: relative; display: inline-flex; justify-content: center; }
.cf-drawer-bag svg { width: 24px; height: 24px; fill: none; stroke: #111; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cf-drawer-bag b { position: absolute; top: -7px; right: -1px; width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; background: #111; color: #fff; font: 700 .55rem/1 Inter, sans-serif; }
.cf-drawer-shipping { padding: 1.2rem 1.35rem .8rem; border-bottom: 1px solid #ddd; text-align: center; }
.cf-drawer-progress { height: 10px; overflow: hidden; border-radius: 999px; background: #ededed; }
.cf-drawer-progress span { display: block; height: 100%; border-radius: inherit; background: var(--cf-rose); }
.cf-drawer-shipping p { margin: .8rem 0 0; color: #111; font-size: .92rem; }
.cf-drawer-content { padding: 1.8rem 1.35rem; }
.cf-empty-cart { min-height: 280px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.cf-empty-cart > svg { width: 45px; height: 45px; margin-bottom: 1rem; fill: none; stroke: #bbb; stroke-width: 1.2; }
.cf-empty-cart h3 { margin: 0 0 .7rem; font: 800 1.25rem/1.2 Inter, sans-serif; letter-spacing: 0; }
.cf-empty-cart p { margin-bottom: 1.2rem; color: #222; font-size: .9rem; }
.cf-empty-cart .button { border-radius: 8px; background: #111; }
.cf-cart-drawer .woocommerce-mini-cart { list-style: none; padding: 0; margin: 0; }
.cf-cart-drawer .woocommerce-mini-cart-item { position: relative; min-height: 86px; padding: 0 1.8rem 1rem 75px; margin-bottom: 1rem; border-bottom: 1px solid var(--cf-line); }
.cf-cart-drawer .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 0; width: 60px; height: 75px; border-radius: 6px; object-fit: cover; }
.cf-cart-drawer .remove_from_cart_button { position: absolute; right: 0; top: 0; color: #111; font-size: 1.25rem; }
.cf-cart-drawer .quantity { display: block; color: var(--cf-muted); font-size: .82rem; }
.cf-cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding-top: .7rem; font-weight: 800; }
.cf-cart-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.cf-cart-drawer .woocommerce-mini-cart__buttons .button { border-radius: 7px; padding: .75rem; }

.hero { position: relative; overflow: hidden; background: var(--cf-blush); }
.hero-inner { min-height: 600px; display: grid; align-items: center; padding-block: 4.5rem; }
.hero-copy { position: relative; z-index: 1; max-width: 650px; }
.hero-copy p { max-width: 530px; color: var(--cf-muted); font-size: 1.1rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button.button-outline { background: transparent; color: var(--cf-rose); border: 1px solid var(--cf-rose); }
.button.button-outline:hover { background: var(--cf-rose); }
.hero-art { position: absolute; inset: 0 0 0 40%; background: linear-gradient(110deg, var(--cf-blush) 0%, rgba(246,235,231,.2) 25%, transparent 62%), url('https://images.unsplash.com/photo-1610030469983-98e550d6193c?auto=format&fit=crop&w=1300&q=85') center/cover; opacity: .9; }
.hero-badge { display: none; }

.section { padding-block: 5.5rem; }
.section-soft { background: var(--cf-blush); }
.collection-grid, .product-grid, .journal-grid, .benefit-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.collection-card { position: relative; min-height: 330px; display: flex; align-items: end; overflow: hidden; border-radius: var(--cf-radius); background: var(--cf-ink); }
.collection-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .78; transition: transform .6s ease; }
.collection-card:hover img { transform: scale(1.05); }
.collection-card-content { position: relative; z-index: 1; width: 100%; padding: 1.4rem; color: #fff; background: linear-gradient(transparent, rgba(34,20,23,.85)); }
.collection-card h3 { margin-bottom: .3rem; }
.collection-card a { color: #fff; font-size: .82rem; font-weight: 700; }
.product-card { position: relative; }
.product-card-image { position: relative; overflow: hidden; border-radius: var(--cf-radius); background: var(--cf-blush); aspect-ratio: 4/5; }
.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.product-card:hover .product-card-image img { transform: scale(1.04); }
.product-card-badge { position: absolute; top: 12px; left: 12px; padding: .35rem .6rem; border-radius: 99px; background: var(--cf-white); color: var(--cf-rose); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card-info { padding: 1rem .25rem; }
.product-card-info h3 { font-family: Inter, sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: 0; margin-bottom: .25rem; }
.product-card-info h3 a { color: var(--cf-ink); }
.price { color: var(--cf-rose); font-weight: 700; }
.price del { color: var(--cf-muted); font-weight: 400; margin-right: .4rem; }
.eyebrow + h2 { margin-top: .45rem; }
.text-link { display: inline-flex; margin-top: 1.25rem; color: var(--cf-rose); font-weight: 800; }

.benefit-grid { grid-template-columns: 1fr 1fr; gap: .8rem; }
.benefit { padding: 1.25rem; border: 1px solid var(--cf-line); border-radius: var(--cf-radius); background: rgba(255,255,255,.45); }
.benefit-icon { color: var(--cf-gold); font-size: 1.5rem; }
.benefit h3 { font-family: Inter, sans-serif; font-size: .95rem; font-weight: 800; letter-spacing: 0; margin: .4rem 0; }
.benefit p { color: var(--cf-muted); font-size: .82rem; margin: 0; }
.editorial { display: grid; gap: 2rem; align-items: center; }
.editorial-media { min-height: 450px; border-radius: var(--cf-radius); background: url('https://images.unsplash.com/photo-1617627143750-d86bc21e42bb?auto=format&fit=crop&w=1000&q=85') center/cover; }
.editorial-copy { max-width: 500px; }
.quote { padding: 2rem 0 0; border-top: 1px solid var(--cf-line); font: italic 1.5rem/1.35 Georgia, serif; }
.quote cite { display: block; margin-top: 1rem; color: var(--cf-muted); font: normal .8rem Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.newsletter { padding: 2rem; border-radius: var(--cf-radius); background: var(--cf-rose-dark); color: #fff; }
.newsletter h2 { max-width: 520px; }
.newsletter p { color: #f5dfe1; }
.newsletter-form { display: flex; flex-wrap: wrap; gap: .6rem; }
.newsletter-form input[type=email] { min-width: 220px; flex: 1; padding: .9rem 1rem; border: 0; border-radius: 999px; }
.newsletter-form .button { background: var(--cf-gold); }

.site-footer { padding: 4rem 0 1.5rem; background: #2a2224; color: #eee3df; }
.footer-grid { display: grid; gap: 2rem; }
.site-footer h3 { color: #fff; font-size: 1.3rem; }
.site-footer a { color: #d9c8c5; }
.cf-footer-brand { display:inline-block; margin:0 0 1rem; color:#fff!important; font:500 clamp(1.65rem,2.4vw,2.15rem)/1 Georgia,serif; letter-spacing:-.045em; }.cf-footer-brand:hover { color:#d9ae68!important; }.cf-footer-brand-column > p { max-width:390px; margin-bottom:1.25rem; }.cf-footer-social { display:flex; flex-wrap:wrap; gap:10px; }.cf-footer-social a { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(217,174,104,.45); border-radius:50%; color:#f4e9df; transition:background .2s ease,border-color .2s ease,transform .2s ease; }.cf-footer-social a svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }.cf-footer-social a:hover { border-color:#d9ae68; background:#d9ae68; color:#2a2224; transform:translateY(-2px); }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin: .4rem 0; font-size: .9rem; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.15); color: #b9aaa7; font-size: .78rem; }
/* Give the footer the wider editorial span used by the product layout. */
.site-footer .container { width:min(1380px,calc(100% - 128px)); }
.site-footer .footer-grid { column-gap:clamp(2.5rem,5vw,6rem); row-gap:2.75rem; }
@media (max-width: 760px) {
  .site-footer .container { width:calc(100% - 40px); }
  .site-footer .footer-grid { row-gap:2.25rem; }
}

.cf-elementor-front-page, .cf-elementor-page, .cf-elementor-canvas .site-main { width: 100%; max-width: none; margin: 0; padding: 0; overflow: clip; }
.cf-elementor-front-page .elementor, .cf-elementor-page .elementor { width: 100%; }
.elementor-page .page-header { display: none; }
.elementor-page .page-header.cf-page-banner { display:flex; }
.page-header { padding: 4rem 0; background: var(--cf-blush); }
.cf-page-banner { min-height:256px; display:flex; align-items:center; justify-content:center; padding:2rem 0; text-align:center; background:linear-gradient(rgba(28,19,21,.57),rgba(28,19,21,.57)),url('../../uploads/2018/10/header-bg-3.jpg') center/cover; color:#fff; }
.cf-page-banner .eyebrow { display:none; }
/* Use the journal's saree artwork on the Blog banner. */
.blog .cf-page-banner { background-image:linear-gradient(rgba(29,17,21,.62),rgba(29,17,21,.62)),url('https://images.unsplash.com/photo-1610189012906-4c0aa9b9781e?q=85&w=1800&auto=format&fit=crop'); }
.cf-page-banner h1 { margin:0; color:#fff; font-size:clamp(3rem,4.1vw,4.3rem); font-weight:500; line-height:1; }
/* The blog component adds its own editorial hero; the shared page banner replaces it. */
.blog .cf-blog-hero { display:none; }
.cf-blog-search { position: relative; display: flex; align-items: center; max-width: 800px; min-height: 66px; margin: 0 auto 3rem; padding: 6px; border: 1px solid rgba(157,67,92,.22); border-radius: 16px; background: linear-gradient(135deg, #fff, #fffaf8); box-shadow: 0 12px 30px rgba(61,27,34,.08); transition: border-color .2s ease, box-shadow .2s ease; }
.cf-blog-search:focus-within { border-color: var(--cf-rose); box-shadow: 0 0 0 4px rgba(157,67,92,.09), 0 14px 32px rgba(61,27,34,.10); }
.cf-blog-search-icon { display: inline-flex; flex: 0 0 50px; align-items: center; justify-content: center; color: var(--cf-rose); }
.cf-blog-search-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cf-blog-search input[type="search"] { min-width: 0; flex: 1; height: 50px; padding: 0 .8rem 0 0; border: 0; outline: 0; background: transparent; color: var(--cf-ink); font-size: .92rem; }
.cf-blog-search input[type="search"]::placeholder { color: #998f90; opacity: 1; }
.cf-blog-search button { min-height: 50px; padding: .7rem 1.1rem .7rem 1.25rem; background: var(--cf-ink); font-size: .72rem; letter-spacing: .04em; }
.cf-blog-search button:hover { background: var(--cf-rose-dark); }
.cf-blog-search button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.cf-blog-search button:hover svg { transform: translateX(3px); }
@media(max-width:760px){.cf-page-banner{min-height:210px}.cf-page-banner h1{font-size:clamp(2.65rem,10vw,3.5rem)}.cf-blog-search{min-height:58px;margin-bottom:2rem;border-radius:14px}.cf-blog-search-icon{flex-basis:42px}.cf-blog-search button{min-width:48px;min-height:46px;padding:.65rem}.cf-blog-search button span{display:none}}
.page-header p { color: var(--cf-muted); }
.content-area { padding-block: 4rem; }
.entry { max-width: 820px; margin-inline: auto; }
.entry-header { margin-bottom: 2rem; }
.entry-meta { color: var(--cf-muted); font-size: .85rem; }
.entry-content > * { margin-inline: auto; }
.entry-content img { border-radius: var(--cf-radius); }
.post-grid { display: grid; gap: 2rem; }
.post-card { overflow: hidden; border-radius: var(--cf-radius); background: #fff; box-shadow: var(--cf-shadow); }
.post-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.post-card-body { padding: 1.4rem; }
.post-card h2 { font-size: 1.6rem; }
body.blog .post-card h2 { font:500 clamp(1.45rem,2.2vw,1.2rem)/1.08 Georgia,serif; letter-spacing:-.025em; }
.post-card h2 a { color: var(--cf-ink); }

.woocommerce .site-main, .woocommerce-page .site-main { padding-block: 3rem; }
.woocommerce-page .page-header { position:relative; overflow:hidden; padding:4.5rem 0; background:linear-gradient(115deg,#21191b,#643045); color:#fff; }
.woocommerce-page .page-header::after { content:""; position:absolute; inset:0; opacity:.25; background:radial-gradient(circle at 80% 20%,#c99d55 0,transparent 28%); }
.woocommerce-page .page-header .container { position:relative; z-index:1; }
.woocommerce-page .page-header .eyebrow { color:#deb86a; }
.cf-shop-controls { margin:0 0 2.75rem; padding:1.75rem; border:1px solid #eadeda; border-radius:16px; background:#fff; box-shadow:0 12px 34px rgba(62,28,36,.07); }
.cf-shop-control-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }
.cf-shop-control-heading span { color:#9d435c; font-size:.67rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.cf-shop-control-heading h2 { margin:.3rem 0 0; color:#2a2224; font-size:clamp(1.7rem,3vw,2.5rem); }
.cf-filter-row { display:grid; grid-template-columns:1.5fr repeat(3,1fr) auto; gap:.7rem; align-items:end; }
.cf-filter-row label { display:grid; gap:.35rem; color:#756c6e; font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cf-filter-row input,.cf-filter-row select { width:100%; min-height:44px; border:1px solid #decfcb; border-radius:7px; padding:.55rem .7rem; background:#fffaf7; color:#2a2224; font-size:.86rem; letter-spacing:0; text-transform:none; }
.cf-filter-search input { padding-left:1rem; }
.cf-filter-row button { min-height:44px; padding:.7rem 1.1rem; border-radius:7px; background:#2a2224; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.cf-category-chips { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1.1rem; }
.cf-category-chips a,.cf-category-chips button { min-height:auto; padding:.48rem .75rem; border:1px solid #eadeda; border-radius:99px; background:#fffaf7; color:#5d5254; font-size:.72rem; font-weight:700; letter-spacing:0; text-transform:none; box-shadow:none; }
.cf-category-chips a:hover,.cf-category-chips button:hover,.cf-category-chips .is-active { border-color:#9d435c; background:#9d435c; color:#fff; transform:none; }
.cf-shop-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.2rem; margin-top:1.2rem; border-top:1px solid #eee4e1; }
.cf-shop-result-count .woocommerce-result-count { float:none; margin:0; color:#756c6e; font-size:.8rem; }
.cf-shop-toolbar-actions { display:flex; align-items:center; gap:1rem; }
.cf-reset-filters { color:#9d435c; font-size:.72rem; font-weight:800; }
.cf-view-switch { display:flex; overflow:hidden; border:1px solid #decfcb; border-radius:7px; }
.cf-view-switch a { width:34px; height:30px; display:grid; place-items:center; color:#756c6e; font-size:1rem; }
.cf-view-switch a.is-active { background:#2a2224; color:#fff; }
.woocommerce ul.products li.product { transition:transform .25s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-4px); }
.woocommerce ul.products li.product a img { aspect-ratio:3/4; object-fit:cover; border:1px solid #eadeda; background:#f8f3f0; }
.woocommerce ul.products li.product .price { color:#9d435c; font-family:Georgia,serif; font-size:1.05rem; }
.woocommerce ul.products li.product .button { margin-top:.35rem; border-radius:7px; background:#2a2224; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce nav.woocommerce-pagination { margin:3rem 0 1rem; }
.woocommerce nav.woocommerce-pagination ul { border:0; }
.woocommerce nav.woocommerce-pagination ul li { border:0; margin:0 .2rem; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:36px; border-radius:7px; background:#f3e7e4; color:#5d454b; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:#9d435c; color:#fff; }
.cf-shop-view-list .woocommerce ul.products { grid-template-columns:1fr; gap:1.15rem; }
.cf-shop-view-list .woocommerce ul.products li.product { display:grid; grid-template-columns:220px 1fr; column-gap:1.6rem; align-items:center; padding:0; }
.cf-shop-view-list .woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display:contents; }
.cf-shop-view-list .woocommerce ul.products li.product a img { grid-row:1 / span 4; width:220px; margin:0; }
.cf-shop-view-list .woocommerce ul.products li.product .woocommerce-loop-product__title { align-self:end; font-size:1.25rem; }
.cf-shop-view-list .woocommerce ul.products li.product .button { width:max-content; }
@media(max-width:850px){.cf-filter-row{grid-template-columns:1fr 1fr}.cf-filter-row button{grid-column:1/-1}.cf-shop-control-heading{align-items:start;flex-direction:column}.cf-shop-view-list .woocommerce ul.products li.product{grid-template-columns:140px 1fr}.cf-shop-view-list .woocommerce ul.products li.product a img{width:140px}.cf-shop-toolbar{align-items:start;flex-direction:column}.cf-shop-toolbar-actions{width:100%;justify-content:space-between}}
@media(max-width:520px){.cf-shop-controls{padding:1.1rem}.cf-filter-row{grid-template-columns:1fr}.cf-filter-row button{grid-column:auto}.cf-category-chips{max-height:96px;overflow:auto}.cf-shop-view-list .woocommerce ul.products li.product{grid-template-columns:110px 1fr;column-gap:1rem}.cf-shop-view-list .woocommerce ul.products li.product a img{width:110px}.cf-shop-view-list .woocommerce ul.products li.product .button{font-size:.58rem;padding:.55rem .7rem}}
.woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; float: none; margin: 0; }
.woocommerce ul.products li.product a img { margin: 0 0 1rem; border-radius: var(--cf-radius); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--cf-ink); font-family: Inter, sans-serif; font-size: 1rem; font-weight: 700; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: .4rem .65rem; border-radius: 99px; background: var(--cf-rose); line-height: 1.2; font-size: .7rem; }
.woocommerce div.product div.images img { border-radius: var(--cf-radius); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.4rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--cf-rose); }
.woocommerce .quantity .qty, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 46px; border: 1px solid var(--cf-line); border-radius: 8px; background: #fff; padding: .6rem .8rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--cf-rose); background: var(--cf-blush); }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout #customer_details, .woocommerce form.checkout_coupon { padding: 1.25rem; border-radius: var(--cf-radius); background: #fff; box-shadow: var(--cf-shadow); }
.woocommerce table.shop_table { border: 0; border-collapse: separate; border-spacing: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--cf-line); }
.woocommerce-checkout .site-header, .woocommerce-checkout .site-footer { display: none; }
.woocommerce-checkout .content-area { padding-top: 2rem; }
.woocommerce-checkout .checkout-page-heading { text-align: center; margin-bottom: 2rem; }
.woocommerce-checkout #payment { border-radius: var(--cf-radius); background: var(--cf-blush); }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.cf-checkout-progress { display: flex; justify-content: center; gap: 1rem; margin: 0 auto 2rem; color: var(--cf-muted); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cf-checkout-progress span { display: inline-flex; align-items: center; gap: .4rem; }
.cf-checkout-progress span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cf-rose); }
.cf-value-prop { margin: 1rem 0; padding: .85rem 1rem; border-radius: 12px; background: var(--cf-blush); color: var(--cf-rose-dark); font-size: .86rem; font-weight: 700; }
.cf-shipping-progress { height: 7px; margin-top: .55rem; overflow: hidden; border-radius: 99px; background: #ead9d6; }
.cf-shipping-progress span { display: block; height: 100%; border-radius: inherit; background: var(--cf-gold); }

@media (min-width: 900px) {
  .menu-toggle { display: none; }
  .main-navigation { display: flex; }
  .main-navigation > ul:not(.cf-demo-menu) { display: flex; align-items: center; justify-content: center; gap: 1.6rem; list-style: none; padding: 0; margin: 0; }
  .main-navigation > ul:not(.cf-demo-menu) > li { position: relative; }
  .main-navigation > ul:not(.cf-demo-menu) a { color: var(--cf-ink); font-size: .78rem; font-weight: 800; }
  .main-navigation > ul:not(.cf-demo-menu) a:hover { color: var(--cf-rose); }
  .site-header .header-inner { width: 1400px !important; max-width: calc(100% - 48px) !important; display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); align-items: center; gap: 1.25rem; margin-inline: auto; }
  .site-branding { grid-column: 1; min-width: 0; justify-self: start; }
  .main-navigation { grid-column: 2; min-width: 0; justify-self: center; }
  .header-actions { grid-column: 3; min-width: 0; margin-left: 0; justify-self: end; justify-content: flex-end; }
  .custom-logo-link, .cf-theme-logo-link { justify-content: flex-start; }
  .custom-logo { object-position: left center; }
  .collection-grid { grid-template-columns: repeat(3, 1fr); }
  .product-grid { grid-template-columns: repeat(4, 1fr); }
  .editorial { grid-template-columns: 1fr 1fr; gap: 5rem; }
  .newsletter { padding: 4rem; }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .post-grid { grid-template-columns: repeat(3, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .cf-shop-filters { grid-template-columns: 2fr 1fr 1fr 1fr auto; align-items: end; }
  .cf-shop-filters button { grid-column: auto; }
}
/* Product detail: editorial gallery + focused purchase panel */
.single-product { background:#fcfaf8; }
.single-product .page-header { display:none; }
.single-product .site-main.container { width:min(1360px,calc(100% - 64px)); max-width:none; padding:2rem 0 5.5rem; }
.cf-single-breadcrumb { display:flex; align-items:center; gap:.65rem; margin:0 0 1.6rem; color:#8a7d7b; font-size:.69rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.cf-single-breadcrumb a { color:#76505a; }
.cf-single-breadcrumb span:nth-child(2) { color:#c1a06a; }
.single-product div.product { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr); gap:clamp(3rem,6vw,7.5rem); align-items:start; }
.single-product div.product div.images,.single-product div.product div.summary { width:auto; float:none; margin:0; }
.single-product div.product div.images { position:relative; padding-bottom:.1rem; }
.single-product div.product div.images .woocommerce-product-gallery__wrapper { overflow:hidden; border-radius:3px; background:#eee5df; }
.single-product div.product div.images .woocommerce-product-gallery__image { background:#eee5df; }
.single-product div.product div.images img { display:block; width:100%; border-radius:0; }
.single-product .flex-control-thumbs { display:flex; gap:10px; margin:12px 0 0!important; }
.single-product .flex-control-thumbs li { width:calc(20% - 8px)!important; margin:0!important; overflow:hidden; background:#eee5df; }
.single-product .flex-control-thumbs img { display:block; width:100%; border:1px solid transparent; border-radius:2px; opacity:.58; transition:opacity .2s,border-color .2s; }
.single-product .flex-control-thumbs img.flex-active,.single-product .flex-control-thumbs img:hover { border-color:#8d3f52; opacity:1; }
.single-product div.product div.summary { position:sticky; top:1.5rem; padding:1.25rem 0 0; }
.single-product div.product .product_title { margin:0 0 1rem; color:#251e20; font-family:Georgia,serif; font-size:clamp(2.3rem,3.5vw,3.75rem); font-weight:400; letter-spacing:-.035em; line-height:1.04; }
.single-product div.product .woocommerce-product-rating { display:flex; align-items:center; gap:.65rem; margin:0 0 1.45rem; color:#9b7540; font-size:.78rem; }
.single-product div.product .woocommerce-review-link { color:#7b6e6e; text-decoration:underline; text-underline-offset:3px; }
.single-product div.product p.price,.single-product div.product span.price { display:flex; align-items:baseline; gap:.7rem; margin:0 0 1.4rem; color:#8e334d; font:500 clamp(1.65rem,2.5vw,2.15rem)/1 Georgia,serif; }
.single-product div.product p.price del { color:#9a8e8c; font:400 .88rem/1 Inter,sans-serif; opacity:1; }
.single-product div.product p.price ins { text-decoration:none; }
.single-product .woocommerce-product-details__short-description { margin:0; padding:1.25rem 0 1.5rem; border-top:1px solid #e8deda; color:#615758; font-size:.94rem; line-height:1.8; }
.single-product form.cart { display:grid; grid-template-columns:70px minmax(0,1fr); gap:.65rem; margin:0!important; padding:1.35rem; border:1px solid #e7dcd7; background:#fff; box-shadow:0 14px 34px rgba(53,30,34,.055); }
.single-product form.cart .quantity { grid-column:1; margin:0!important; }
.single-product form.cart .single_add_to_cart_button { grid-column:2; width:100%!important; }
.single-product form.cart .cf-buy-now { grid-column:1/-1; width:100%!important; }
.single-product form.cart .quantity { margin:0!important; }
.single-product form.cart .quantity .qty { width:100%; height:60px; min-height:0; border:1px solid #d9cbc6; border-radius:0; color:#30282a; font-weight:700; }
.single-product form.cart .single_add_to_cart_button,.single-product form.cart .cf-buy-now { min-height:60px; margin:0!important; border-radius:0; font-size:.69rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.single-product form.cart .single_add_to_cart_button { background:#292225; }
.single-product form.cart .cf-buy-now { flex-direction:column; gap:2px; padding:0 .8rem; background:#923a52; }
.single-product form.cart .cf-buy-now span { font-size:.7rem; }
.single-product form.cart .cf-buy-now small { color:rgba(255,255,255,.78); font-size:.56rem; font-weight:600; letter-spacing:.08em; }
.cf-single-value-props { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:1rem 0 0; border:1px solid #e7dcd7; background:#fff; }
/* Keep duplicate wishlist controls out of the purchase area; sharing remains available below product meta. */
.single-product .yith-wcwl-add-to-wishlist,.single-product .tinv-wraper,.single-product .tinvwl-after-add-to-cart { display:none!important; }
.single-product .woocommerce-product-details__share,.single-product .product-share,.single-product .heateor_sss_sharing_container,.single-product [class*="ctol-share"],.single-product .ctol-social-share,.single-product .ctol-social-sharing-container { display:none!important; }
.single-product .cf-product-share { display:flex; align-items:flex-start; flex-direction:column; gap:.7rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #eee; }
.single-product .cf-product-share-label { display:inline-flex; align-items:center; gap:.35rem; color:#41506b; font-size:.7rem; font-weight:800; letter-spacing:0; text-transform:none; }
.single-product .cf-product-share-label svg { width:17px; height:17px; fill:none; stroke:#2468d5; stroke-width:2; }
.single-product .cf-product-share-links { display:flex; flex-wrap:wrap; gap:.55rem; }
.single-product .cf-product-share-links a,.single-product .cf-product-share-links .cf-share-link { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; min-height:42px; padding:0; border:0; border-radius:9px; color:#fff; line-height:1; box-shadow:0 7px 15px rgba(34,45,65,.15); transition:transform .2s ease,box-shadow .2s ease; }
.single-product .cf-product-share-links svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.single-product .cf-product-share-links .cf-share-facebook svg { fill:currentColor; stroke:none; }
.single-product .cf-product-share-links .cf-share-whatsapp { background:linear-gradient(135deg,#28c779,#08a968); }
.single-product .cf-product-share-links .cf-share-facebook { background:linear-gradient(135deg,#289df1,#1674db); }
.single-product .cf-product-share-links .cf-share-x { background:linear-gradient(135deg,#394558,#111a27); }
.single-product .cf-product-share-links .cf-share-reddit { background:linear-gradient(135deg,#ff7b20,#f04c12); }
.single-product .cf-product-share-links .cf-share-link { background:linear-gradient(135deg,#6f819b,#465975); }
.single-product .cf-product-share-links .cf-share-pinterest { background:linear-gradient(135deg,#f64c62,#e91e42); }
.single-product .cf-product-share-links .cf-share-email { background:linear-gradient(135deg,#20a6f4,#087bda); }
.single-product .cf-product-share-links a:hover,.single-product .cf-product-share-links .cf-share-link:hover { color:#fff; box-shadow:0 10px 20px rgba(34,45,65,.23); transform:translateY(-3px); }
.cf-single-value-props span { display:flex; flex-direction:column; gap:.45rem; padding:1rem .75rem; border-right:1px solid #eee4e0; color:#6b5e5f; font-size:.64rem; font-weight:700; letter-spacing:.015em; text-align:center; }
.cf-single-value-props span:last-child { border:0; }
.cf-single-value-props b { color:#a88043; font-size:1.05rem; font-weight:400; line-height:1; }
.cf-single-delivery-note { display:flex; gap:.85rem; margin-top:1rem; padding:1rem 1.1rem; background:#f4eee8; color:#55494b; }
.cf-delivery-icon { display:grid; flex:0 0 30px; width:30px; height:30px; place-items:center; border:1px solid #c7a05f; border-radius:50%; color:#9c753a; }
.cf-single-delivery-note div { display:grid; gap:.2rem; }
.cf-single-delivery-note strong { color:#312729; font-size:.78rem; }
.cf-single-delivery-note div span { color:#756b69; font-size:.7rem; line-height:1.45; }
.single-product .product_meta { margin-top:1.5rem; padding-top:1.15rem; border-top:1px solid #e8deda; color:#756c6e; font-size:.71rem; line-height:1.8; }
.single-product .woocommerce-tabs { grid-column:1/-1; margin-top:4.5rem; padding:2.5rem min(7vw,7rem); background:#f3ece8; }
.single-product .woocommerce-tabs ul.tabs { display:flex; justify-content:center; gap:2rem; padding:0; margin:0 0 1.75rem; }
.single-product .woocommerce-tabs ul.tabs::before { border-color:#d9cbc5; }
.single-product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after { display:none; }
.single-product .woocommerce-tabs ul.tabs li a { padding:0 0 .55rem; color:#776b6d; font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; }
.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom:2px solid #953b53; color:#953b53; }
.single-product .woocommerce-Tabs-panel { max-width:780px; margin-inline:auto; color:#605657; line-height:1.8; }
.single-product section.related { grid-column:1/-1; margin:5rem 0 0; padding:0; }
.single-product section.related>h2 { position:relative; margin:0 0 2.1rem; color:#292224; font:400 clamp(2.15rem,3vw,3.1rem)/1.1 Georgia,serif; text-align:center; }
.single-product section.related>h2::before { display:block; margin-bottom:.7rem; color:#a77c3d; content:'More from the collection'; font:700 .62rem/1 Inter,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.single-product section.related ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.single-product section.related ul.products li.product { overflow:hidden; border:0; border-radius:0; background:transparent; box-shadow:none; }
.single-product section.related ul.products li.product a img { margin:0 0 .95rem; border-radius:0; transition:transform .35s ease; }
.single-product section.related ul.products li.product:hover a img { transform:scale(1.025); }
.single-product section.related ul.products li.product .woocommerce-loop-product__title,.single-product section.related ul.products li.product .price { padding:0; }
.single-product section.related ul.products li.product .button { margin:.7rem 0 0; border-radius:0; }
@media(max-width:850px){.single-product .site-main.container{width:calc(100% - 32px);padding:1.4rem 0 3.5rem}.single-product div.product{grid-template-columns:1fr;gap:2.2rem}.single-product div.product div.summary{position:static;padding:0}.single-product .woocommerce-tabs,.single-product section.related{grid-column:auto}.single-product .woocommerce-tabs{margin-top:3rem;padding:2rem 1.25rem}.single-product section.related{margin-top:3.5rem}.single-product section.related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.single-product form.cart{grid-template-columns:62px 1fr}.single-product form.cart .cf-buy-now{grid-column:1/-1}.single-product .woocommerce-tabs ul.tabs{gap:1rem;justify-content:flex-start;overflow:auto}.single-product .woocommerce-tabs ul.tabs li a{white-space:nowrap}}
@media(max-width:430px){.single-product form.cart .single_add_to_cart_button,.single-product form.cart .cf-buy-now{font-size:.59rem}.cf-single-value-props span{padding:.85rem .4rem;font-size:.58rem}}

/* Elementor contact page */
.elementor-page-201 .cf-contact-page { width:100%; }
/* Break only the concierge hero out of Elementor's boxed container. */
.elementor-page-201 .cf-contact-hero { width:100vw; margin-left:calc(50% - 50vw); }
.cf-contact-hero { min-height:440px; display:flex; align-items:center; padding:80px 0; background:linear-gradient(90deg,rgba(18,11,13,.94),rgba(41,18,27,.78)),url('https://images.unsplash.com/photo-1617627143750-d86bc21e42bb?q=85&w=1800&auto=format&fit=crop') center/cover; color:#fff; }
.cf-contact-shell { width:min(1200px,calc(100% - 48px)); margin-inline:auto; }
.cf-contact-kicker { margin:0 0 14px; color:#d9ae68; font-size:.68rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.cf-contact-hero h1 { max-width:750px; margin:0; color:#fff; font:500 clamp(3rem,6vw,5.5rem)/.98 Georgia,serif; letter-spacing:-.045em; }
.cf-contact-hero h1 em { color:#deb86a; font-weight:400; }
.cf-contact-hero p:not(.cf-contact-kicker) { max-width:560px; margin:1.4rem 0 2rem; color:#eadeda; font:italic 1.1rem/1.65 Georgia,serif; }
.cf-contact-hero-button { display:inline-flex; padding:.85rem 1.25rem; border:1px solid #deb86a; color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.cf-contact-hero-button:hover { background:#deb86a; color:#24171a; }
.cf-contact-section { padding:85px 0; }
.cf-contact-channel-section { background:#fffaf7; }
.cf-contact-section-heading { margin-bottom:2.3rem; }
.cf-contact-section-heading h2,.cf-contact-form-intro h2 { margin:0; color:#2a2224; font-size:clamp(2rem,4vw,3.3rem); }
.cf-contact-channels { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cf-contact-channel { min-height:205px; padding:1.6rem; border:1px solid #e9dcd7; background:#fff; color:#2a2224; transition:transform .2s ease,box-shadow .2s ease; }
.cf-contact-channel:hover { transform:translateY(-4px); box-shadow:0 14px 26px rgba(57,25,33,.1); }
.cf-contact-channel span,.cf-contact-channel small,.cf-contact-channel strong,.cf-contact-channel em { display:block; }
.cf-contact-channel span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:1.2rem; border:1px solid #dcc89a; border-radius:50%; color:#a77d2d; }
.cf-contact-channel span svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cf-contact-channel small { color:#9d435c; font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.cf-contact-channel strong { margin:.45rem 0; font:500 1.3rem Georgia,serif; }
.cf-contact-channel em { color:#756c6e; font-size:.8rem; font-style:normal; }
.cf-contact-form-section { background:#f4ebe7; }
.cf-contact-form-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; }
.cf-contact-form-intro>p:not(.cf-contact-kicker) { color:#6b6062; line-height:1.8; }
.cf-contact-form-intro ul { list-style:none; padding:0; margin:1.6rem 0 0; }
.cf-contact-form-intro li { padding:.65rem 0; border-bottom:1px solid #dfcfcb; color:#3b3032; font-weight:700; font-size:.88rem; }
.cf-contact-form-intro li::before { content:'✦'; margin-right:.7rem; color:#b4903f; }
.cf-contact-form-card { padding:2.4rem; background:#fff; box-shadow:0 18px 38px rgba(55,25,32,.11); }
.cf-contact-form-card::before { content:'Send us a message'; display:block; margin-bottom:1.5rem; color:#2a2224; font:500 1.7rem/1.2 Georgia,serif; }
.cf-contact-form-card .wpcf7-form { display:block!important; }
.cf-contact-form-card .wpcf7-form p { display:block!important; width:100%!important; margin:0 0 13px!important; }
.cf-contact-form-card .wpcf7-form br { display:none; }
.cf-contact-form-card .wpcf7-form-control-wrap { display:block; }
.cf-contact-form-card input:not([type="submit"]),.cf-contact-form-card textarea { width:100%!important; max-width:100%!important; box-sizing:border-box; border:1px solid #dfcfcb; border-radius:3px; padding:.95rem 1rem; background:#fffaf8; color:#2a2224; font-size:.9rem; transition:border-color .2s ease,box-shadow .2s ease; }
.cf-contact-form-card input:not([type="submit"]):focus,.cf-contact-form-card textarea:focus { border-color:#9d435c; outline:0; box-shadow:0 0 0 3px rgba(157,67,92,.1); }
.cf-contact-form-card textarea { min-height:155px; resize:vertical; }
.cf-contact-form-card input[type="submit"] { width:100%; min-height:48px; border-radius:3px; background:#2a2224; font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; }
.cf-contact-form-card input[type="submit"]:hover { background:#9d435c; }
.cf-contact-help-section { background:#21191b; color:#fff; }
.cf-contact-help-section .cf-contact-section-heading h2 { color:#fff; }
.cf-contact-faq { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cf-contact-faq details { padding:1.3rem; border:1px solid rgba(222,184,106,.28); }
.cf-contact-faq summary { cursor:pointer; color:#fff; font:500 1.15rem/1.35 Georgia,serif; }
.cf-contact-faq summary::marker { color:#deb86a; }
.cf-contact-faq p { margin:1rem 0 0; color:#d4c5c1; font-size:.86rem; line-height:1.7; }
@media(max-width:800px){.cf-contact-hero{min-height:390px;padding:60px 0}.cf-contact-section{padding:60px 0}.cf-contact-channels,.cf-contact-faq,.cf-contact-form-grid{grid-template-columns:1fr;gap:18px}.cf-contact-form-grid{gap:40px}.cf-contact-form-card{padding:1.25rem}.cf-contact-form-card .wpcf7-form{grid-template-columns:1fr}.cf-contact-shell{width:calc(100% - 32px)}}

/* Milano-inspired WooCommerce catalog */
.post-type-archive-product .page-header, .tax-product_cat .page-header { min-height:230px; display:flex; align-items:center; justify-content:center; padding:2rem 0; text-align:center; background:linear-gradient(rgba(17,17,17,.64),rgba(17,17,17,.64)),url('https://images.unsplash.com/photo-1617627143750-d86bc21e42bb?q=85&w=1800&auto=format&fit=crop') center/cover; }
.post-type-archive-product .page-header::after,.tax-product_cat .page-header::after { display:none; }
.post-type-archive-product .page-header h1,.tax-product_cat .page-header h1 { margin:.55rem 0 0; color:#fff; font:600 clamp(2rem,4vw,3rem)/1.1 Inter,sans-serif; letter-spacing:-.04em; }
.cf-shop-breadcrumb .woocommerce-breadcrumb { margin:0; color:rgba(255,255,255,.76); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.cf-shop-breadcrumb .woocommerce-breadcrumb a { color:#deb86a; }
.cf-breadcrumb-separator { display:inline-block; margin:0 .55rem; color:rgba(255,255,255,.55); }
.post-type-archive-product .site-main.container,.tax-product_cat .site-main.container { width:min(1410px,calc(100% - 48px)); max-width:none; }
.cf-shop-archive-shell { width:min(1410px,calc(100% - 48px)); margin:0 auto; }
.cf-milano-categories { margin:3rem 0 3.5rem; }
.cf-category-carousel { position:relative; }
.cf-category-viewport { overflow:hidden; }
.cf-milano-category-list { display:flex; gap:30px; transition:transform .35s ease; }
.cf-milano-category { display:block; flex:0 0 calc((100% - 150px) / 6); min-width:0; color:#111; text-align:left; font-size:.9rem; font-weight:600; }
.cf-milano-category img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:10px; background:#f3f3f3; transition:transform .35s ease; }
.cf-milano-category span { display:block; margin-top:.8rem; }
.cf-milano-category:hover img { transform:scale(.98); }
.cf-category-arrow { position:absolute; z-index:2; top:calc((100% - 1.8rem) * .5); width:48px; height:48px; padding:0; border-radius:50%; background:#fff; color:#111; box-shadow:0 4px 16px rgba(0,0,0,.16); font-size:2rem; font-weight:300; }
.cf-category-arrow:hover { background:#111; color:#fff; box-shadow:0 5px 18px rgba(0,0,0,.22); transform:translateY(-2px); }
.cf-category-prev { left:-24px; }
.cf-category-next { right:-24px; }
.cf-milano-toolbar { display:none; }
.cf-milano-toolbar-left { display:flex; align-items:center; gap:1rem; }
.cf-filter-drawer-toggle { min-height:34px; padding:.45rem .85rem; border-radius:30px; background:#111; color:#fff; font-size:.72rem; letter-spacing:0; box-shadow:none; }
.cf-filter-drawer-toggle:hover { background:#000; transform:none; box-shadow:none; }
.cf-shop-result-count .woocommerce-result-count { margin:0; float:none; color:#555; font-size:.82rem; }
.cf-milano-columns { display:flex; align-items:center; gap:.45rem; }
.cf-milano-columns a { min-width:31px; height:31px; display:grid; place-items:center; border:1px solid #e4e4e4; border-radius:50%; color:#555; font-size:.78rem; letter-spacing:-3px; }
.cf-milano-columns a:last-child { letter-spacing:0; }
.cf-milano-columns a.is-active,.cf-milano-columns a:hover { border-color:#111; background:#111; color:#fff; }
.cf-milano-ordering { justify-self:end; }
.cf-milano-ordering select { min-height:34px; border:0; background:transparent; color:#333; font-size:.82rem; font-weight:600; }
.cf-shop-filter-overlay { position:fixed; z-index:9995; inset:0; background:rgba(0,0,0,.38); opacity:0; visibility:hidden; transition:.25s; }
.cf-shop-filter-drawer { position:fixed; z-index:9996; top:0; left:0; width:min(360px,100%); height:100dvh; padding:1.5rem; overflow:auto; background:#fff; box-shadow:10px 0 35px rgba(0,0,0,.15); transform:translateX(-103%); visibility:hidden; transition:.3s ease; }
body.cf-shop-filter-open { overflow:hidden; }
body.cf-shop-filter-open .cf-shop-filter-overlay { opacity:1; visibility:visible; }
body.cf-shop-filter-open .cf-shop-filter-drawer { transform:none; visibility:visible; }
.cf-shop-filter-drawer header { display:flex; justify-content:space-between; align-items:center; padding-bottom:1rem; margin-bottom:1.4rem; border-bottom:1px solid #e8e8e8; }
.cf-shop-filter-drawer h2 { margin:0; font:600 1.25rem/1.1 Inter,sans-serif; letter-spacing:-.03em; }
.cf-shop-filter-drawer header button { width:34px; height:34px; padding:0; border-radius:50%; background:#f3f3f3; color:#111; font-size:1.4rem; box-shadow:none; }
.cf-shop-filter-drawer form { display:grid; gap:1rem; }
.cf-shop-filter-drawer label { display:grid; gap:.45rem; color:#333; font-size:.73rem; font-weight:700; }
.cf-shop-filter-drawer input,.cf-shop-filter-drawer select { box-sizing:border-box; width:100%!important; min-width:0!important; max-width:100%!important; min-height:42px; border:1px solid #dcdcdc; border-radius:3px; padding:.55rem; background:#fff; }
.cf-filter-category { order:-1; padding:0 0 1rem; margin:0 0 .25rem; border-bottom:1px solid #e2e2e2; }
.cf-filter-category-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:0 0 .95rem; border-radius:0; background:transparent; color:#222; box-shadow:none; font-size:.88rem; text-align:left; }
.cf-filter-category-toggle:hover { background:transparent; color:#222; box-shadow:none; transform:none; }
.cf-filter-category-toggle strong { font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
.cf-filter-category-toggle span { font-size:1.25rem; font-weight:300; }
.cf-filter-category-options { display:grid; gap:.65rem; max-height:300px; overflow-y:auto; padding-right:.4rem; scrollbar-color:#999 #eee; scrollbar-width:thin; }
.cf-filter-category-options label { display:flex!important; align-items:center; gap:.6rem; color:#555!important; font-size:.84rem!important; font-weight:500!important; letter-spacing:0!important; text-transform:none!important; cursor:pointer; }
.cf-filter-category-options input[type="checkbox"] { width:17px!important; min-width:17px!important; max-width:17px!important; min-height:17px!important; height:17px; margin:0; accent-color:#111; }
.cf-filter-category:not(.is-open) .cf-filter-category-options { display:none; }
.cf-drawer-price { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.7rem; }
.cf-drawer-price label { min-width:0; }
.cf-shop-filter-drawer form > button { border-radius:3px; background:#111; font-size:.75rem; }
.cf-shop-filter-drawer form > a { color:#555; text-align:center; font-size:.78rem; text-decoration:underline; }
.post-type-archive-product.woocommerce ul.products,.tax-product_cat.woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 25px; }
.cf-shop-columns-2.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cf-shop-columns-4.woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cf-shop-view-list.post-type-archive-product.woocommerce ul.products,.cf-shop-view-list.tax-product_cat.woocommerce ul.products { grid-template-columns:1fr; }
.post-type-archive-product.woocommerce ul.products li.product,.tax-product_cat.woocommerce ul.products li.product { transform:none; }
.post-type-archive-product.woocommerce ul.products li.product:hover,.tax-product_cat.woocommerce ul.products li.product:hover { transform:none; }
.post-type-archive-product.woocommerce ul.products li.product a img,.tax-product_cat.woocommerce ul.products li.product a img { border:0; border-radius:0; aspect-ratio:2/3; }
.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title,.tax-product_cat.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0; margin:.85rem 0 .3rem; color:#111; font-size:.95rem; font-weight:600; }
.post-type-archive-product.woocommerce ul.products li.product .price,.tax-product_cat.woocommerce ul.products li.product .price { color:#333; font:400 .92rem Inter,sans-serif; }
.post-type-archive-product.woocommerce ul.products li.product .button,.tax-product_cat.woocommerce ul.products li.product .button { border-radius:0; background:#111; font-size:.67rem; }
@media(max-width:900px){.cf-milano-category-list{gap:15px}.cf-milano-category{flex-basis:calc((100% - 30px)/3)}.cf-category-prev{left:-16px}.cf-category-next{right:-16px}.cf-category-arrow{width:38px;height:38px;font-size:1.6rem}.cf-milano-toolbar{grid-template-columns:1fr auto}.cf-milano-columns{justify-self:end}.cf-milano-ordering{grid-column:1/-1;justify-self:start}.post-type-archive-product.woocommerce ul.products,.tax-product_cat.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}}
@media(max-width:520px){.cf-shop-archive-shell{width:calc(100% - 32px)}.cf-milano-categories{margin:2rem 0}.cf-category-viewport{overflow-x:auto;scroll-snap-type:x mandatory}.cf-milano-category-list{gap:12px;padding-bottom:.5rem}.cf-milano-category{flex:0 0 42%;scroll-snap-align:start}.cf-category-arrow{display:none}.cf-milano-toolbar-left .cf-shop-result-count{display:none}.cf-milano-columns a{min-width:27px;height:27px}.cf-filter-drawer-toggle span{display:none}}

@media(min-width:1000px){
  .cf-shop-archive-shell{display:grid;grid-template-columns:250px minmax(0,1fr);column-gap:30px;align-items:start}
  .cf-milano-categories,.cf-milano-toolbar{grid-column:1/-1}
  .cf-shop-filter-overlay{display:none!important}
  .cf-shop-filter-drawer{position:sticky;z-index:1;top:105px;grid-column:1;grid-row:3 / span 3;width:auto;height:auto;min-height:430px;padding:0;overflow:visible;background:transparent;box-shadow:none;transform:none;visibility:visible}
  .cf-shop-filter-drawer header{padding:0 0 1rem;margin:0 0 1.2rem;border-bottom:1px solid #ddd}
  .cf-shop-filter-drawer header h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
  .cf-shop-filter-drawer header button{display:none}
  .cf-shop-filter-drawer form{padding:1.25rem;border:1px solid #e1e1e1;background:#fafafa}
  .cf-shop-filter-drawer label{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}
  .cf-shop-filter-drawer input,.cf-shop-filter-drawer select{border-color:#d8d8d8;background:#fff}
  .cf-shop-filter-drawer form>button{border-radius:0;padding:.8rem;background:#111;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
  .cf-shop-filter-drawer form>a{font-size:.72rem}
  .cf-filter-drawer-toggle{display:none}
  .cf-shop-archive-shell>ul.products{grid-column:2;grid-row:3;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:35px 20px!important;margin:0}
  .cf-shop-archive-shell>nav.woocommerce-pagination{grid-column:2;grid-row:4}
  .cf-shop-columns-2 .cf-shop-archive-shell>ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cf-shop-columns-3 .cf-shop-archive-shell>ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .cf-shop-columns-4 .cf-shop-archive-shell>ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .cf-shop-view-list .cf-shop-archive-shell>ul.products{grid-template-columns:1fr!important}
}

/* Premium saree product catalog refinement */
.post-type-archive-product .tinv-wraper,.post-type-archive-product .tinvwl-after-add-to-cart,.post-type-archive-product .yith-wcwl-add-to-wishlist,.tax-product_cat .tinv-wraper,.tax-product_cat .tinvwl-after-add-to-cart,.tax-product_cat .yith-wcwl-add-to-wishlist{display:none!important}
@media(min-width:1000px){
  .cf-shop-filter-drawer{padding:1.35rem!important;border:1px solid #e8dcd7!important;border-radius:12px!important;background:linear-gradient(180deg,#fffdfb,#f8f0ed)!important;box-shadow:0 12px 28px rgba(62,28,36,.07)!important}
  .cf-shop-filter-drawer header{padding:0 0 1rem!important;border-bottom:1px solid #e4d5d0!important}
  .cf-shop-filter-drawer header h2{color:#302527!important;font-size:.82rem!important;letter-spacing:.12em!important}
  .cf-shop-filter-drawer form{padding:0!important;border:0!important;background:transparent!important}
}
.cf-shop-archive-shell>ul.products li.product{position:relative;padding:0 0 1.2rem;border-radius:10px;background:#fff;box-shadow:0 7px 24px rgba(60,28,36,.06);overflow:hidden}
.cf-shop-archive-shell>ul.products li.product .woocommerce-LoopProduct-link{position:relative;display:block}
.cf-shop-archive-shell>ul.products li.product a img{margin:0!important;aspect-ratio:3/4!important;object-fit:cover!important;transition:transform .45s ease}
.cf-shop-archive-shell>ul.products li.product:hover a img{transform:scale(1.035)}
.cf-shop-archive-shell>ul.products li.product .woocommerce-loop-product__title{padding:0 1rem!important;margin:1rem 0 .35rem!important;font-family:Georgia,serif!important;font-size:1.1rem!important;font-weight:500!important;line-height:1.25!important}
.cf-shop-archive-shell>ul.products li.product .price{display:block;padding:0 1rem;margin:0 0 .8rem!important;color:#9d435c!important;font-family:Inter,sans-serif!important;font-size:.9rem!important;font-weight:800!important}
.cf-shop-archive-shell>ul.products li.product .star-rating{margin:0 1rem .7rem!important;color:#c99d55}
.cf-shop-archive-shell>ul.products li.product .button{display:flex!important;width:calc(100% - 2rem);min-height:40px;margin:.4rem 1rem 0!important;padding:.6rem!important;border-radius:6px!important;background:#2a2224!important;color:#fff!important;justify-content:center;font-size:.66rem!important;letter-spacing:.12em!important}
.cf-shop-archive-shell>ul.products li.product .button:hover{background:#9d435c!important;transform:none!important}
.cf-product-wishlist{position:static;z-index:4;grid-column:1;grid-row:1;align-self:start;justify-self:end;margin:12px 12px 0 0;width:34px;height:34px;min-height:34px;padding:0;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.95);color:#2a2224;font-size:1.3rem;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.1);transition:background .2s ease,color .2s ease,transform .2s ease}
.cf-product-wishlist svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.cf-product-wishlist:hover,.cf-product-wishlist.is-added{background:#9d435c;color:#fff;transform:scale(1.05);box-shadow:none}.cf-product-wishlist.is-added svg{fill:currentColor}.cf-product-wishlist.is-loading{opacity:.55;pointer-events:none}
.cf-card-handpicked{display:none!important}
.cf-discount-badge{position:static;z-index:3;grid-column:1;grid-row:1;align-self:end;justify-self:end;margin:0 12px 12px 0;display:inline-flex;align-items:center;min-height:28px;padding:.35rem .65rem;border-radius:4px;background:#9d435c;color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.09em;line-height:1;text-transform:uppercase;box-shadow:0 4px 10px rgba(78,20,38,.2)}
.cf-shop-archive-shell>ul.products li.product .onsale{display:none!important}
.cf-loop-saving{margin:-.35rem 1rem .75rem!important;color:#8f7350!important;font-size:.73rem!important;font-weight:700!important}
.cf-shop-archive-shell>ul.products li.product .price del{margin-right:.35rem;color:#9d8d8a!important;font-size:.82rem!important;font-weight:400}
.cf-shop-archive-shell>ul.products li.product .price ins{color:#9d435c;text-decoration:none;font-weight:800}

/* Marketplace-inspired product card details */
.cf-shop-archive-shell>ul.products li.product{overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.cf-shop-archive-shell>ul.products li.product .woocommerce-LoopProduct-link{display:grid!important;grid-template-columns:1fr;overflow:visible!important;background:transparent!important}
.cf-shop-archive-shell>ul.products li.product a img{grid-column:1;grid-row:1;border-radius:0!important;background:#f4f0ed}
.cf-card-rating-badge{position:static;z-index:5;grid-column:1;grid-row:1;align-self:end;justify-self:start;margin:0 0 10px 10px;display:inline-flex;align-items:center;gap:3px;min-height:27px;padding:4px 7px;border-radius:3px;background:rgba(255,255,255,.94);color:#25303b;font-size:.68rem;font-style:normal;font-weight:800;line-height:1;box-shadow:0 2px 7px rgba(0,0,0,.08)}
.cf-card-rating-badge b{color:#45aeb7;font-size:.8rem}.cf-card-rating-badge i{width:1px;height:13px;margin:0 2px;background:#d5d5d5}.cf-card-handpicked{color:#704a2c;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.cf-shop-archive-shell>ul.products li.product .star-rating{display:none!important}
.cf-shop-archive-shell>ul.products li.product .woocommerce-loop-product__title{padding:0!important;margin:.75rem 0 .15rem!important;color:#252b38!important;font-family:Inter,sans-serif!important;font-size:.93rem!important;font-weight:800!important;letter-spacing:0!important;line-height:1.3!important}
.cf-product-subtitle{margin:0 0 .45rem!important;color:#697080!important;font-size:.78rem!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-shop-archive-shell>ul.products li.product .price{padding:0!important;margin:0!important;color:#252b38!important;font-family:Inter,sans-serif!important;font-size:.86rem!important;font-weight:800!important}
.cf-shop-archive-shell>ul.products li.product .price del{color:#8a8f98!important;font-size:.78rem!important}.cf-shop-archive-shell>ul.products li.product .price ins{color:#e16d56!important}
.cf-loop-saving{display:inline!important;margin:0 0 0 .35rem!important;color:#e16d56!important;font-size:.73rem!important;font-weight:700!important}
.cf-shop-archive-shell>ul.products li.product .button{margin:.75rem 0 0!important;width:100%!important;border-radius:3px!important;background:#252b38!important}

/* WooCommerce My Account */
.woocommerce-account { background:#f8f3f0; }
/* Override the generic WooCommerce 3rem site-main padding: it created the blank gap above My Account. */
.woocommerce-account .site-main { padding-block:0 !important; }
.woocommerce-account .page-header { margin:0; padding:2.8rem 0; background:linear-gradient(115deg,#251b1d,#4b2330); color:#fff; text-align:center; }
.woocommerce-account .page-header .container, .woocommerce-account .content-area.container { width:1200px; max-width:calc(100% - 48px); margin-inline:auto; }
.woocommerce-account .entry { width:100%; max-width:none; margin:0; }
.woocommerce-account .page-header .eyebrow { display:none; }
.woocommerce-account .page-header h1 { margin:0; font-size:clamp(2.5rem,4vw,4rem); line-height:1.05; }
.woocommerce-account .content-area { padding:3.5rem 0 4.5rem; }
.woocommerce-account .woocommerce-MyAccount-content { font-size:.93rem; }
.woocommerce-account .woocommerce-MyAccount { display:grid; grid-template-columns:260px minmax(0,1fr); gap:2rem; width:100%; max-width:none; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation { align-self:start; overflow:hidden; border-radius:16px; background:#21191b; box-shadow:0 16px 35px rgba(48,23,30,.14); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:.75rem; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; border-bottom:1px solid rgba(255,255,255,.1); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:flex; align-items:center; gap:.7rem; padding:.78rem .9rem; color:#eadfda; font-size:.8rem; font-weight:700; }
.woocommerce-account .woocommerce-MyAccount-navigation a::before { content:""; width:7px; height:7px; border:1px solid #c99d55; border-radius:50%; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-radius:8px; background:#9d435c; color:#fff; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::before { background:#deb86a; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color:#deb86a; }
.woocommerce-account .woocommerce-MyAccount-content { min-width:0; padding:2.1rem; border:1px solid #eadeda; border-radius:16px; background:#fff; box-shadow:0 16px 35px rgba(48,23,30,.08); }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { color:#5f5557; font-size:1rem; }
.woocommerce-account .woocommerce-MyAccount-content a { color:#9d435c; font-weight:700; }
.cf-account-welcome { display:flex; justify-content:space-between; gap:2rem; margin:-.2rem 0 2rem; padding:2rem; border-radius:12px; background:linear-gradient(120deg,#f6ebe7,#f0dad5); }
.cf-account-welcome > div > span { color:#9d435c; font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.cf-account-welcome h2 { margin:.45rem 0 .6rem; color:#2a2224; font-size:clamp(1.45rem,2.4vw,2rem); }
.cf-account-welcome p { max-width:570px; margin:0; color:#6c6264; }
.cf-account-stat { min-width:100px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-left:1px solid #dbbeb8; text-align:center; }
.cf-account-stat strong { color:#9d435c; font:500 3rem/1 Georgia,serif; }
.cf-account-stat small { color:#6c6264; font-size:.65rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.cf-account-quick-links { display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; margin-bottom:2rem; }
.cf-account-quick-links a { min-height:130px; padding:1.15rem; border:1px solid #eadeda; border-radius:12px; background:#fffaf7; transition:transform .2s ease,box-shadow .2s ease; }
.cf-account-quick-links a:hover { transform:translateY(-3px); box-shadow:0 10px 20px rgba(72,31,42,.1); }
.cf-account-quick-links span,.cf-account-quick-links strong,.cf-account-quick-links small { display:block; }
.cf-account-quick-links span { margin-bottom:.65rem; color:#c99d55; font-size:1.4rem; }
.cf-account-quick-links strong { color:#2a2224; }
.cf-account-quick-links small { margin-top:.2rem; color:#837779; font-size:.73rem; }
.woocommerce-account .woocommerce table.shop_table { overflow:hidden; border:1px solid #eadeda; border-radius:10px; }
.woocommerce-account .woocommerce table.shop_table th { padding:1rem; background:#f8f3f0; color:#594e50; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce-account .woocommerce table.shop_table td { padding:1rem; }
.woocommerce-account .woocommerce-Address { padding:1.4rem; border:1px solid #eadeda; border-radius:12px; background:#fffaf7; }
.woocommerce-account .woocommerce-Address-title h3 { color:#2a2224; font-size:1.5rem; }
.woocommerce-account .woocommerce-form-row input.input-text, .woocommerce-account .woocommerce-EditAccountForm input { min-height:46px; border-color:#dfcfcb; border-radius:7px; }
.woocommerce-account .woocommerce-Button, .woocommerce-account .woocommerce button.button { border-radius:7px; background:#9d435c; }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { color:#2a2224; }
@media(max-width:760px){.woocommerce-account .page-header .container,.woocommerce-account .content-area.container{width:calc(100% - 32px);max-width:none}.woocommerce-account .woocommerce-MyAccount{grid-template-columns:1fr;gap:1.2rem}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:1fr 1fr;gap:2px}.woocommerce-account .woocommerce-MyAccount-navigation li{border:0}.woocommerce-account .woocommerce-MyAccount-content{padding:1.25rem}.cf-account-welcome{padding:1.4rem;flex-direction:column}.cf-account-stat{align-items:start;border:0;text-align:left}.cf-account-quick-links{grid-template-columns:1fr}.woocommerce-account .page-header{padding:3.2rem 0}}

/* Fashion home carousel and storefront */
.cf-home-carousel { --hh-ink:#0b0906; --hh-charcoal:#15120d; --hh-charcoal-2:#1d1811; --hh-gold:#b4903f; --hh-gold-bright:#deb86a; --hh-ivory:#f4ecda; --hh-muted:#ded5c4; --hh-line:rgba(212,177,110,.25); background:var(--hh-ink); color:var(--hh-ivory); }
.cf-home-carousel h1 { color:var(--hh-ivory); font-family:Georgia,serif; }
.cf-home-carousel .heirloom-eyebrow { display:flex; align-items:center; gap:14px; color:var(--hh-gold-bright); font-size:.68rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase; }
.cf-home-carousel .heirloom-eyebrow::before { content:""; width:28px; height:1px; background:var(--hh-gold); }
.cf-home-carousel .heirloom-hero-copy p { color:var(--hh-muted); }
.cf-home-carousel .heirloom-button { color:var(--hh-ivory); }

/* Heirloom saree storefront */
.home:has(.heirloom-home) { background: #0b0906; color: #f4ecda; }
.home:has(.heirloom-home) .site-announcement { background: #1d1811; color: #deb86a; border-bottom: 1px solid rgba(212,177,110,.25); }
.home:has(.heirloom-home) .site-header { background: rgba(11,9,6,.94); border-color: rgba(212,177,110,.25); }
.home:has(.heirloom-home) .site-title, .home:has(.heirloom-home) .cf-demo-menu > li > a, .home:has(.heirloom-home) .header-icon { color: #f4ecda; }
.home:has(.heirloom-home) .cf-menu-caret { color: #b4903f; }
.home:has(.heirloom-home) .site-footer { background: #1d1811; }
.heirloom-home { --hh-ink:#0b0906; --hh-charcoal:#15120d; --hh-charcoal-2:#1d1811; --hh-gold:#b4903f; --hh-gold-bright:#deb86a; --hh-ivory:#f4ecda; --hh-muted:#c9bfa9; --hh-line:rgba(212,177,110,.25); background:var(--hh-ink); color:var(--hh-ivory); font-family:Inter, sans-serif; font-weight:300; }
.heirloom-home h1, .heirloom-home h2, .heirloom-home h3 { font-family:Georgia, serif; color:var(--hh-ivory); }
.heirloom-shell { width:min(1400px, calc(100% - 48px)); margin-inline:auto; }
.heirloom-section { padding:100px 0; }
.heirloom-eyebrow { display:flex; align-items:center; gap:14px; color:var(--hh-gold-bright); font-size:.68rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase; }
.heirloom-eyebrow::before { content:""; width:28px; height:1px; background:var(--hh-gold); }
.heirloom-eyebrow.is-centered { justify-content:center; }
.heirloom-eyebrow.is-centered::before { display:none; }
.heirloom-section-head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:50px; }
.heirloom-section-head h2 { margin:.7rem 0 0; font-size:clamp(2.25rem,4vw,3.5rem); }
.heirloom-section-head > p { max-width:390px; margin:0; color:var(--hh-muted); font:italic 1.1rem/1.6 Georgia,serif; }
.heirloom-hero { position:relative; height:calc(100vh - 108px); min-height:650px; padding:0; overflow:hidden; }
.heirloom-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1s ease; }
.heirloom-slide.is-active { opacity:1; visibility:visible; }
.heirloom-slide > img { width:100%; height:100%; object-fit:cover; object-position:top center; filter:brightness(.58) saturate(1.06); transform:scale(1.06); transition:transform 7s linear; }
.heirloom-slide.is-active > img { transform:scale(1); }
.heirloom-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,9,6,.96),rgba(11,9,6,.08) 58%,rgba(11,9,6,.3)); }
.heirloom-hero-copy { position:absolute; z-index:2; left:50%; bottom:70px; transform:translateX(-50%); }
.heirloom-hero-copy h1 { max-width:800px; margin:1.2rem 0; font-size:clamp(3.3rem,7vw,6.5rem); line-height:.95; letter-spacing:-.035em; }
.heirloom-hero-copy h1 em { color:var(--hh-gold-bright); font-weight:400; }
.heirloom-hero-copy p { max-width:520px; margin-bottom:2rem; color:var(--hh-muted); font:italic 1.18rem/1.65 Georgia,serif; }
.heirloom-actions { display:flex; flex-wrap:wrap; gap:1rem; }
.heirloom-button { display:inline-flex; padding:.9rem 1.6rem; border:1px solid var(--hh-gold); color:var(--hh-ivory); font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.heirloom-button:hover,.heirloom-button.is-solid { background:var(--hh-gold); color:var(--hh-ink); }
.heirloom-count { position:absolute; z-index:4; top:30px; left:4%; color:var(--hh-muted); font-family:Georgia,serif; }
.heirloom-count b { color:var(--hh-gold-bright); }
.heirloom-dots { position:absolute; z-index:4; top:50%; right:3%; display:grid; gap:13px; }
.heirloom-dots button { width:10px; height:10px; padding:0; border:1px solid var(--hh-gold); background:transparent; box-shadow:none; }
.heirloom-dots button.is-active { background:var(--hh-gold-bright); }
.heirloom-arrows { position:absolute; z-index:4; left:4%; bottom:20px; display:flex; gap:.6rem; }
.heirloom-arrows button { width:45px; height:45px; padding:0; border:1px solid var(--hh-line); background:rgba(11,9,6,.4); }
.heirloom-temple-border { height:20px; opacity:.55; background-size:40px 20px; background-image:linear-gradient(135deg,transparent 45%,#b4903f 45%,#b4903f 55%,transparent 55%),linear-gradient(45deg,transparent 45%,#b4903f 45%,#b4903f 55%,transparent 55%); }
.heirloom-weaves { display:grid; grid-template-columns:repeat(6,1fr); gap:2px; border-block:1px solid var(--hh-line); background:var(--hh-line); }
.heirloom-weave { position:relative; aspect-ratio:3/4.1; overflow:hidden; background:var(--hh-charcoal); }
.heirloom-weave img { width:100%; height:100%; object-fit:cover; filter:brightness(.7); transition:transform 1s ease; }
.heirloom-weave:hover img { transform:scale(1.08); }
.heirloom-weave > span { position:absolute; inset:auto 0 0; padding:3rem .8rem 1.2rem; text-align:center; background:linear-gradient(transparent,rgba(0,0,0,.9)); }
.heirloom-weave small,.heirloom-weave strong { display:block; }
.heirloom-weave small { color:var(--hh-gold-bright); font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; }
.heirloom-weave strong { color:var(--hh-ivory); font:500 1.25rem Georgia,serif; }
.heirloom-occasion-section { border-top:1px solid var(--hh-line); }
.heirloom-occasions { display:grid; grid-template-columns:.95fr 1.15fr; gap:4rem; }
.heirloom-occasion { display:grid; grid-template-columns:32px 1fr 30px; align-items:center; padding:1.6rem 0; border-top:1px solid var(--hh-line); color:var(--hh-muted); }
.heirloom-occasion:last-child { border-bottom:1px solid var(--hh-line); }
.heirloom-occasion > small { color:#7c6428; }
.heirloom-occasion strong,.heirloom-occasion em { display:block; }
.heirloom-occasion strong { font:500 clamp(1.7rem,3vw,2.7rem) Georgia,serif; transition:.3s; }
.heirloom-occasion em { margin-top:.4rem; font-size:.63rem; font-style:normal; letter-spacing:.13em; text-transform:uppercase; opacity:.65; }
.heirloom-occasion > b { color:var(--hh-gold-bright); opacity:0; }
.heirloom-occasion:hover strong,.heirloom-occasion.is-active strong { color:var(--hh-gold-bright); transform:translateX(8px); }
.heirloom-occasion:hover > b,.heirloom-occasion.is-active > b { opacity:1; }
.heirloom-occasion-visual { position:relative; min-height:550px; overflow:hidden; border:1px solid var(--hh-line); }
.heirloom-occasion-visual img { width:100%; height:100%; object-fit:cover; filter:brightness(.68); transition:opacity .25s ease; }
.heirloom-occasion-visual span { position:absolute; inset:18px; border:1px solid rgba(212,177,110,.35); }
.heirloom-arrivals { background:var(--hh-charcoal); }
.heirloom-text-link { color:var(--hh-gold-bright); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.heirloom-products { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem 1.6rem; }
.heirloom-product-media { position:relative; display:block; aspect-ratio:3/4.2; overflow:hidden; border:1px solid var(--hh-line); }
.heirloom-product-media img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.heirloom-product-media span { position:absolute; inset:auto 0 0; padding:.8rem; background:var(--hh-ivory); color:var(--hh-ink); text-align:center; font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; transform:translateY(100%); transition:.3s; }
.heirloom-product:hover .heirloom-product-media img { transform:scale(1.04); }
.heirloom-product:hover .heirloom-product-media span { transform:none; }
.heirloom-product > div { padding-top:1rem; }
.heirloom-product small { color:var(--hh-gold); font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; }
.heirloom-product h3 { margin:.35rem 0; font-size:1.2rem; }
.heirloom-product h3 a { color:var(--hh-ivory); }
.heirloom-product p,.heirloom-product .price { color:var(--hh-gold-bright); }
.heirloom-heritage { display:grid; grid-template-columns:1fr 1fr; }
.heirloom-heritage-media { min-height:650px; }
.heirloom-heritage-media img { width:100%; height:100%; object-fit:cover; filter:brightness(.72); }
.heirloom-heritage-copy { display:flex; flex-direction:column; justify-content:center; padding:6rem; background:var(--hh-charcoal); }
.heirloom-heritage-copy h2 { margin:1rem 0 1.5rem; font-size:clamp(2.2rem,4vw,3.3rem); }
.heirloom-heritage-copy p { max-width:550px; color:var(--hh-muted); line-height:1.9; }
.heirloom-stats { display:flex; gap:3rem; margin-top:2rem; }
.heirloom-stats span,.heirloom-stats strong,.heirloom-stats small { display:block; }
.heirloom-stats strong { color:var(--hh-gold-bright); font:500 2.4rem Georgia,serif; }
.heirloom-stats small { color:var(--hh-muted); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; }
.heirloom-testimonial { text-align:center; }
.heirloom-stars { margin-bottom:1.5rem; color:var(--hh-gold-bright); letter-spacing:.35em; }
.heirloom-testimonial blockquote { max-width:900px; margin:auto; color:var(--hh-ivory); font:italic clamp(1.5rem,3vw,2.2rem)/1.5 Georgia,serif; }
.heirloom-testimonial cite { display:block; margin-top:1.7rem; color:var(--hh-gold); font-size:.7rem; font-style:normal; letter-spacing:.18em; text-transform:uppercase; }
.heirloom-gallery { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; }
.heirloom-gallery a { aspect-ratio:1/1.15; overflow:hidden; }
.heirloom-gallery img { width:100%; height:100%; object-fit:cover; filter:brightness(.75); transition:.7s; }
.heirloom-gallery a:hover img { transform:scale(1.06); filter:brightness(1); }
.heirloom-newsletter { border-block:1px solid var(--hh-line); background:var(--hh-charcoal-2); text-align:center; }
.heirloom-newsletter h2 { margin:1rem 0; font-size:clamp(2rem,4vw,3rem); }
.heirloom-newsletter p { color:var(--hh-muted); }
.heirloom-newsletter form { max-width:500px; display:flex; margin:2rem auto 0; border:1px solid #7c6428; }
.heirloom-newsletter input { flex:1; min-width:0; padding:1rem; border:0; background:transparent; color:var(--hh-ivory); }
.heirloom-newsletter button { border-radius:0; background:var(--hh-gold); color:var(--hh-ink); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; }
@media (max-width:1100px){.heirloom-weaves{grid-template-columns:repeat(3,1fr)}.heirloom-products{grid-template-columns:repeat(2,1fr)}.heirloom-heritage{grid-template-columns:1fr}.heirloom-heritage-copy{padding:4rem 2rem}.heirloom-gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.heirloom-section{padding:70px 0}.heirloom-section-head{align-items:start;flex-direction:column;margin-bottom:32px}.heirloom-hero{min-height:620px}.heirloom-hero-copy{bottom:55px}.heirloom-dots{right:18px}.heirloom-arrows{display:none}.heirloom-weaves{grid-template-columns:repeat(2,1fr)}.heirloom-occasions{grid-template-columns:1fr;gap:0}.heirloom-occasion-visual{display:none}.heirloom-products{gap:1.2rem .8rem}.heirloom-heritage-media{min-height:430px}.heirloom-stats{gap:1.2rem;flex-wrap:wrap}.heirloom-gallery{grid-template-columns:repeat(2,1fr)}.heirloom-newsletter form{flex-direction:column}.heirloom-shell{width:min(100% - 32px,1400px)}}


/* Elementor Fashion — New Arrivals */
.cf-new-arrivals-widget { width:100%; max-width:1360px; margin:0 auto; }.cf-new-arrivals-widget__header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:30px; }.cf-new-arrivals-widget__header span { display:block; margin-bottom:8px; color:#9d435c; font-size:.67rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.cf-new-arrivals-widget__header h2 { margin:0; color:#2a2224; font-size:clamp(1.94rem,2.88vw,1.93rem); }.cf-new-arrivals-widget__header > a { padding-bottom:7px; border-bottom:1px solid #b89454; color:#2a2224; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.cf-new-arrivals-widget__header > a:hover { color:#9d435c; }.cf-new-arrivals-widget__header > a b { color:#9d435c; font-size:1rem; }.cf-new-arrivals-widget__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }.cf-new-arrivals-widget__product { min-width:0; }.cf-new-arrivals-widget__image { position:relative; aspect-ratio:3/4; overflow:hidden; background:#f4f0ed; }.cf-new-arrivals-widget__image > a,.cf-new-arrivals-widget__image img { display:block; width:100%; height:100%!important; }.cf-new-arrivals-widget__image img { object-fit:cover!important; }.cf-new-arrivals-widget__image .cf-product-wishlist { position:absolute; z-index:2; top:13px; right:13px; width:35px; height:35px; min-height:35px; margin:0; padding:0; border-radius:50%; background:#fff; color:#252b38; box-shadow:0 3px 9px rgba(0,0,0,.12); }.cf-new-arrivals-widget__image i { position:absolute; right:12px; bottom:12px; padding:.42rem .62rem; border-radius:4px; background:#a43f5d; color:#fff; font-size:.65rem; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.cf-new-arrivals-widget__product h3 { margin:12px 0 4px; font:800 .95rem/1.3 Inter,Arial,sans-serif; }.cf-new-arrivals-widget__product h3 a { color:#252b38; }.cf-new-arrivals-widget__subtitle { overflow:hidden; margin:0 0 7px; color:#737b8a; font-size:.77rem; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.cf-new-arrivals-widget__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; margin:0; color:#252b38; font:800 .9rem/1.2 Inter,Arial,sans-serif; }.cf-new-arrivals-widget__price del { color:#9ba0a8; font-size:.78rem; font-weight:400; }.cf-new-arrivals-widget__price ins { color:#e16d56; text-decoration:none; }.cf-new-arrivals-widget__price small,.cf-new-arrivals-widget__price .cf-loop-saving { color:#2e8b57!important; font-size:.73rem; font-weight:800; }.cf-new-arrivals-widget__cart { display:flex; min-height:41px; align-items:center; justify-content:center; margin-top:14px; border-radius:3px; background:#252b38; color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.cf-new-arrivals-widget__cart:hover { background:#9d435c; color:#fff; }
@media(max-width:800px){.cf-new-arrivals-widget__header{align-items:start;flex-direction:column;gap:12px;margin-bottom:22px}.cf-new-arrivals-widget__grid{grid-template-columns:1fr;gap:32px}.cf-new-arrivals-widget__image{max-height:none}.cf-new-arrivals-widget__header h2{font-size:2rem}}

/* Elementor Fashion — Buyer Reviews */
.cf-buyer-reviews { width:100%; max-width:1360px; margin:76px auto; padding:0; }.cf-buyer-reviews__header { max-width:760px; margin:0 auto 52px; text-align:center; }.cf-buyer-reviews__header h2 { margin:0 0 12px; color:#2a2224; font-size:clamp(2rem,3.3vw,3.15rem); }.cf-buyer-reviews__header p { margin:0; color:#756c6e; font-size:.96rem; line-height:1.7; }.cf-buyer-reviews__slider { position:relative; }.cf-buyer-reviews__viewport { overflow:hidden; }.cf-buyer-reviews__track { display:flex; transition:transform .4s ease; }.cf-buyer-reviews__item { display:flex; flex:0 0 calc(100% / 3); min-height:230px; flex-direction:column; align-items:center; justify-content:center; padding:20px clamp(28px,4vw,76px); border-right:1px solid #e8ddd8; text-align:center; }.cf-buyer-reviews__item:last-child { border-right:0; }.cf-buyer-reviews__stars { margin-bottom:20px; color:#b89454; font-size:1.12rem; letter-spacing:.13em; }.cf-buyer-reviews__item blockquote { max-width:310px; margin:0; color:#3b3032; font:400 1.08rem/1.65 Georgia,serif; }.cf-buyer-reviews__item cite { display:block; margin-top:20px; color:#9d435c; font-size:.73rem; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.cf-buyer-reviews__arrow { position:absolute; z-index:2; top:50%; width:38px; height:38px; min-height:38px; padding:0; border:1px solid #decfca; border-radius:50%; background:#fffaf7; color:#2a2224; box-shadow:none; transform:translateY(-50%); }.cf-buyer-reviews__arrow:hover { border-color:#9d435c; background:#9d435c; color:#fff; box-shadow:none; transform:translateY(-50%); }.cf-buyer-reviews__arrow.is-prev { left:-19px; }.cf-buyer-reviews__arrow.is-next { right:-19px; }.cf-buyer-reviews__dots { display:flex; justify-content:center; gap:7px; margin-top:28px; }.cf-buyer-reviews__dots button { width:7px; height:7px; min-height:7px; padding:0; border:0; border-radius:50%; background:#d8c9c4; box-shadow:none; }.cf-buyer-reviews__dots button.is-active { width:22px; border-radius:99px; background:#9d435c; }
@media(max-width:760px){.cf-buyer-reviews{width:100%;margin:54px auto}.cf-buyer-reviews__header{margin-bottom:32px;text-align:left}.cf-buyer-reviews__header h2{font-size:2rem}.cf-buyer-reviews__item{flex-basis:100%;min-height:215px;padding:24px 42px}.cf-buyer-reviews__item blockquote{font-size:1rem}.cf-buyer-reviews__arrow.is-prev{left:-8px}.cf-buyer-reviews__arrow.is-next{right:-8px}}

/* Elementor Fashion — Promotion Strip */
.cf-promotion-strip { width:100%; max-width:1360px; display:grid; grid-template-columns:150px minmax(0,1fr) auto; align-items:center; gap:42px; margin:0 auto; padding:27px 42px; border:1px solid #ead7d2; border-radius:12px; background:linear-gradient(100deg,#f8e8e8,#f8eee8); }.cf-promotion-strip__discount { display:flex; align-items:center; gap:8px; color:#9d435c; }.cf-promotion-strip__discount strong { font:500 clamp(3rem,5vw,4.7rem)/.8 Georgia,serif; letter-spacing:-.07em; }.cf-promotion-strip__discount sup { margin-left:3px; font:600 .42em/1 Inter,Arial,sans-serif; letter-spacing:0; vertical-align:top; }.cf-promotion-strip__discount span { max-width:38px; font-size:.66rem; font-weight:800; letter-spacing:.12em; line-height:1.2; text-transform:uppercase; }.cf-promotion-strip > p { max-width:650px; margin:0; color:#33292b; font:500 clamp(1.05rem,1.8vw,1.45rem)/1.35 Georgia,serif; }.cf-promotion-strip__button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:12px; padding:0 25px; border-radius:99px; background:#9d435c; color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }.cf-promotion-strip__button:hover { background:#713044; color:#fff; }.cf-promotion-strip__button span { font-size:1rem; }
@media(max-width:760px){.cf-promotion-strip{width:100%;grid-template-columns:1fr;gap:16px;margin:0 auto;padding:25px}.cf-promotion-strip__discount{gap:9px}.cf-promotion-strip > p{font-size:1.1rem}.cf-promotion-strip__button{width:100%}}

/* Correct the Bhog slider chevron alignment after the theme button defaults load. */
.home .cf-elementor-front-page .bhog-slider__arrow { display:flex!important; align-items:center; justify-content:center; padding:0!important; font-family:Arial,sans-serif; line-height:1!important; text-align:center; text-indent:0; }

/* Elementor Fashion — Trending Now banner */
.cf-trending-now { width:100vw; max-width:none; margin:64px 0; margin-left:calc(50% - 50vw); }.cf-trending-now__eyebrow { margin:0 0 18px; color:#9d435c; font-size:.78rem; font-weight:800; letter-spacing:.16em; text-align:center; text-transform:uppercase; }.cf-trending-now__banner { position:relative; width:min(1360px,calc(100vw - 80px)); min-height:410px; margin-inline:auto; overflow:hidden; border-radius:14px; background:linear-gradient(90deg,rgba(28,22,20,.83) 0%,rgba(28,22,20,.56) 43%,rgba(28,22,20,.08) 78%),var(--cf-trending-image) center/cover,#3b302d; }.cf-trending-now__content { position:relative; z-index:1; display:flex; min-height:410px; max-width:650px; flex-direction:column; justify-content:center; padding:48px clamp(34px,8vw,110px); color:#fff; }.cf-trending-now h2 { margin:0 0 26px; color:#fff; font-size:clamp(3rem,6vw,5.8rem); font-weight:400; line-height:.95; text-shadow:0 2px 18px rgba(0,0,0,.16); }.cf-trending-now__price { display:flex; align-items:baseline; gap:10px; margin:0 0 30px; color:#f7efeb; font-size:1.1rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }.cf-trending-now__price strong { color:#d9ae68; font-size:clamp(1.8rem,3vw,2.8rem); letter-spacing:0; }.cf-trending-now__button { display:inline-flex; width:max-content; min-height:45px; align-items:center; padding:0 28px; background:#d9ae68; color:#241d1c; font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.cf-trending-now__button:hover { background:#fff; color:#2a2224; }
@media(max-width:760px){.cf-trending-now{width:100vw;margin:42px 0;margin-left:calc(50% - 50vw)}.cf-trending-now__banner{width:calc(100vw - 32px)}.cf-trending-now__banner,.cf-trending-now__content{min-height:390px}.cf-trending-now__content{padding:34px 28px}.cf-trending-now h2{font-size:clamp(2.8rem,13vw,4.2rem)}.cf-trending-now__price{margin-bottom:24px;font-size:.85rem}}

/* Elementor Fashion — Boutique */
.cf-boutique {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  padding: 76px 0 80px;
  overflow: hidden;
  background: #fffaf6;
  color: #272224;
}
.cf-boutique__inner { width: min(1360px, calc(100vw - 80px)); margin-inline: auto; }
.cf-boutique__heading { margin: 0 0 48px; color: #272224; font-size: clamp(2.4rem, 4vw, 3.25rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.cf-boutique__card { min-height: 470px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); overflow: hidden; border: 1px solid #eadeda; border-radius: 14px; background: #fff; box-shadow: var(--cf-shadow); }
.cf-boutique__media { position: relative; min-height: 470px; overflow: hidden; margin: 0; background: #f6ebe7; }
.cf-boutique__media::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: rgba(39, 34, 36, .05); }
.cf-boutique__image { position: absolute; inset: 0; width: 100%; height: 100%!important; object-fit: cover; transition: transform .7s ease; }
.cf-boutique__card:hover .cf-boutique__image { transform: scale(1.025); }
.cf-boutique__card--image-right .cf-boutique__media { order: 2; }
.cf-boutique__card--image-right .cf-boutique__content { order: 1; }
.cf-boutique__content { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 54px 64px; }
.cf-boutique__eyebrow { margin: 0 0 13px; color: #9d435c; font: 600 .72rem/1.3 Georgia, serif; letter-spacing: .045em; }
.cf-boutique__store-name { margin: 0 0 29px; color: #272224; font-size: clamp(1.65rem, 2.6vw, 2.25rem); font-weight: 400; line-height: 1.18; letter-spacing: -.02em; }
.cf-boutique__details { display: grid; gap: 23px; }
.cf-boutique__detail { display: grid; grid-template-columns: 23px minmax(0, 1fr); gap: 15px; align-items: start; }
.cf-boutique__icon { width: 23px; min-height: 23px; display: inline-flex; align-items: center; justify-content: center; padding-top: 2px; color: #9d435c; }
.cf-boutique__icon i { font-size: 17px; line-height: 1; }
.cf-boutique__icon svg { width: 17px; height: 17px; fill: currentColor; }
.cf-boutique__detail-label { display: block; margin: 0 0 6px; color: #9d435c; font-size: .61rem; font-weight: 800; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; }
.cf-boutique__detail-value { margin: 0; color: #756c6e; font-size: .84rem; line-height: 1.65; }
.cf-boutique__value-link { color: inherit; }
.cf-boutique__value-link:hover { color: #9d435c; }
.cf-boutique__button { width: max-content; min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; margin-top: 34px; padding: 0 28px; border: 1px solid #9d435c; border-radius: 0; background: #9d435c; color: #fff; font-size: .66rem; font-weight: 800; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
.cf-boutique__button span { font-size: 1rem; transition: transform .2s ease; }
.cf-boutique__button:hover, .cf-boutique__button:focus { background: #713044; color: #fff; }
.cf-boutique__button:hover span, .cf-boutique__button:focus span { transform: translateX(3px); }
.cf-boutique__button:focus-visible, .cf-boutique__value-link:focus-visible { outline: 2px solid #9d435c; outline-offset: 3px; }
@media(max-width:900px){
  .cf-boutique__inner{width:calc(100vw - 48px)}
  .cf-boutique__card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .cf-boutique__content{padding:46px 42px}
}
@media(max-width:760px){
  .cf-boutique{padding:52px 0 56px}
  .cf-boutique__inner{width:calc(100vw - 32px)}
  .cf-boutique__heading{margin-bottom:30px;font-size:clamp(2.4rem,12vw,3.4rem)}
  .cf-boutique__card{min-height:0;grid-template-columns:1fr}
  .cf-boutique__media{min-height:320px}
  .cf-boutique__card--image-right .cf-boutique__media{order:0}
  .cf-boutique__card--image-right .cf-boutique__content{order:1}
  .cf-boutique__content{padding:36px 28px 40px}
  .cf-boutique__store-name{margin-bottom:26px;font-size:1.75rem}
  .cf-boutique__button{width:100%;margin-top:30px}
}

/* Actual Home-page New Arrivals Elementor structure. */
.home .cf-elementor-front-page .elementor-element-f0ad5cb { padding-block:34px 42px!important; }
.home .cf-elementor-front-page .elementor-element-7ffe66f { position:relative; display:grid!important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:end; row-gap:5px; }
.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-7370ebf,.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-15823f6 { display:none!important; }
.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-4543769 { grid-column: 1; grid-row: 1; margin: 0 !important; text-align: left !important; padding-left: 5px; }.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-4543769 p { margin:0!important; color:#9d435c; font-size:.67rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-e593dba { grid-column:1; grid-row:2; margin:0!important; text-align:left!important; }.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-e593dba .elementor-heading-title { margin: 0; color: #2a2224; font: 400 clamp(1.94rem,2.88vw,1.93rem)/1.05 Georgia,serif; }
.home .cf-elementor-front-page .cf-home-browse-all { grid-column:2; grid-row:1 / span 2; align-self:center; padding:0 0 7px; border-bottom:1px solid #b89454; color:#2a2224; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.home .cf-elementor-front-page .cf-home-browse-all:hover { color:#9d435c; }
.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-8a51b4f { grid-column:1 / -1; grid-row:3; margin-top:30px; }
@media(max-width:620px){.home .cf-elementor-front-page .elementor-element-f0ad5cb{padding-block:28px 32px!important}.home .cf-elementor-front-page .elementor-element-7ffe66f{column-gap:1rem}.home .cf-elementor-front-page .elementor-element-7ffe66f > .elementor-element-e593dba .elementor-heading-title{font-size:2rem}.home .cf-elementor-front-page .cf-home-browse-all{font-size:.61rem;letter-spacing:.09em}}

/* Compact premium heading pattern for Home Elementor product sections. */
.home .cf-elementor-front-page .e-con.e-parent:has(> .elementor-widget-heading):has(> .elementor-widget-button),
.home .cf-elementor-front-page .e-con.e-child:has(> .elementor-widget-heading):has(> .elementor-widget-button) { display:grid!important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:end; column-gap:2rem; row-gap:4px; padding-block:38px 28px; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-heading { grid-column:1; margin:0!important; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-heading:first-child .elementor-heading-title { color:#9d435c; font-family:Inter,Arial,sans-serif; font-size:.67rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-heading:not(:first-child) .elementor-heading-title { margin:0; color:#2a2224; font-family:Georgia,serif; font-size:clamp(2.15rem,3.2vw,3.25rem); font-weight:400; line-height:1.05; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button { grid-column:2; grid-row:1 / span 2; align-self:center; margin:0; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button .elementor-button { min-height:auto; padding:0 0 7px; border:0; border-bottom:1px solid #b89454; border-radius:0; background:transparent; color:#2a2224; box-shadow:none; font-size:0; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button .elementor-button::after { content:'Browse all  →'; font-size:.68rem; }
.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button .elementor-button:hover { background:transparent; color:#9d435c; transform:none; }
@media(max-width:620px){.home .cf-elementor-front-page .e-con.e-parent:has(> .elementor-widget-heading):has(> .elementor-widget-button),.home .cf-elementor-front-page .e-con.e-child:has(> .elementor-widget-heading):has(> .elementor-widget-button){padding-block:30px 22px;column-gap:1rem}.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-heading:not(:first-child) .elementor-heading-title{font-size:2rem}.home .cf-elementor-front-page .e-con:has(> .elementor-widget-heading):has(> .elementor-widget-button) > .elementor-widget-button .elementor-button::after{content:'Browse all';font-size:.62rem}}

/* Home Elementor product widgets: use equal-height cards and a consistent action baseline. */
.home .cf-elementor-front-page .woocommerce ul.products { align-items:start; row-gap:36px; }
.home .cf-elementor-front-page .woocommerce ul.products li.product { display:block; height:auto; margin:0; }
.home .cf-elementor-front-page .woocommerce ul.products li.product > .woocommerce-LoopProduct-link { display:block; }
.home .cf-elementor-front-page .woocommerce ul.products li.product > .woocommerce-LoopProduct-link img { width:100%; aspect-ratio:3 / 4; object-fit:cover; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:2.6em; margin-bottom:.35rem; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .price { min-height:1.8em; margin-bottom:.15rem; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .button { margin-top:12px; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,.home .cf-elementor-front-page .woocommerce ul.products li.product .tinv-wraper { margin-top:12px; min-height:0; }

/* Home product-card treatment: image overlays, compact details, and one aligned CTA. */
.home .cf-elementor-front-page .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.home .cf-elementor-front-page .woocommerce ul.products li.product { position:relative; overflow:visible; }
.home .cf-elementor-front-page .woocommerce ul.products li.product > .woocommerce-LoopProduct-link { display:grid; grid-template-columns:minmax(0,1fr); overflow:visible; }
.home .cf-elementor-front-page .woocommerce ul.products li.product > .woocommerce-LoopProduct-link img { grid-column:1; grid-row:1; margin:0 0 .75rem; border:0; border-radius:0; background:#f4f0ed; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .cf-product-wishlist { position:static; z-index:3; grid-column:1; grid-row:1; align-self:start; justify-self:end; width:35px; height:35px; min-height:35px; margin:13px 13px 0 0; padding:0; border-radius:50%; background:#fff; color:#252b38; box-shadow:0 3px 9px rgba(0,0,0,.12); }
.home .cf-elementor-front-page .woocommerce ul.products li.product .cf-discount-badge { position:static; z-index:3; grid-column:1; grid-row:1; align-self:end; justify-self:end; margin:0 12px 12px 0; padding:.42rem .62rem; border-radius:4px; background:#a43f5d; color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.08em; line-height:1; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .woocommerce-loop-product__title { grid-column:1; min-height:0; margin:0 0 .25rem; padding:0; color:#252b38; font:800 .95rem/1.3 Inter,Arial,sans-serif; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .cf-product-subtitle { grid-column:1; margin:0 0 .48rem; color:#737b8a; font-size:.77rem; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .price { display:inline-block; grid-column:1; min-height:0; margin:0; padding:0; color:#252b38; font:800 .9rem/1.2 Inter,Arial,sans-serif; vertical-align:baseline; white-space:nowrap; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .price del,.home .cf-elementor-front-page .woocommerce ul.products li.product .price ins { display:inline!important; }.home .cf-elementor-front-page .woocommerce ul.products li.product .price del { margin-right:.38rem; color:#9ba0a8; font-size:.78rem; font-weight:400; }.home .cf-elementor-front-page .woocommerce ul.products li.product .price ins { color:#e16d56; text-decoration:none; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .cf-loop-saving { display:inline-block!important; margin:0 0 0 .45rem!important; color:#2e8b57!important; font-size:.73rem!important; font-weight:800!important; line-height:1.2; vertical-align:baseline; white-space:nowrap; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .button { display:flex; width:100%; min-height:41px; margin:14px 0 0; padding:.6rem; border-radius:3px; background:#252b38; color:#fff; font-size:.65rem; font-weight:800; letter-spacing:.12em; justify-content:center; text-transform:uppercase; }.home .cf-elementor-front-page .woocommerce ul.products li.product .button:hover { background:#9d435c; transform:none; }
.home .cf-elementor-front-page .woocommerce ul.products li.product .tinv-wraper,.home .cf-elementor-front-page .woocommerce ul.products li.product .tinvwl-after-add-to-cart,.home .cf-elementor-front-page .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist { display:none!important; }
@media(max-width:800px){.home .cf-elementor-front-page .woocommerce ul.products{grid-template-columns:minmax(0,1fr)!important;gap:32px}.home .cf-elementor-front-page .woocommerce ul.products li.product{width:100%!important;min-width:0!important;float:none!important}.home .cf-elementor-front-page .woocommerce ul.products li.product > .woocommerce-LoopProduct-link img{max-height:none}}

/* Keep all boxed Elementor content on the Home page aligned to the wide fashion layout. */
.home .cf-elementor-front-page .elementor-section.elementor-section-boxed > .elementor-container,
.home .cf-elementor-front-page .e-con.e-parent > .e-con-inner { width:min(1360px,calc(100% - 80px)); max-width:1360px; }

/* Elementor Fashion — Category Carousel */
.cf-fashion-category-carousel { position:relative; width:100vw; max-width:none; margin-left:calc(50% - 50vw); padding:82px 0 58px; background:#fffaf7; }
.cf-fashion-category-viewport { width:min(1360px,calc(100vw - 80px)); margin-inline:auto; overflow:hidden; }.cf-fashion-category-track { display:flex; gap:30px; transition:transform .35s ease; }.cf-fashion-category-card { display:block; flex:0 0 calc((100% - 150px)/6); min-width:0; color:#252124; font-size:.9rem; font-weight:800; text-align:center; }.cf-fashion-category-card img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:10px; background:#e9dfda; transition:transform .3s ease,box-shadow .3s ease; }.cf-fashion-category-card strong { display:block; margin-top:12px; }.cf-fashion-category-card:hover { color:#9d435c; }.cf-fashion-category-card:hover img { transform:translateY(-3px); box-shadow:0 12px 25px rgba(56,28,34,.14); }.cf-fashion-category-arrow { position:absolute; z-index:2; top:calc(50% - 6px); width:48px; height:48px; padding:0; border-radius:50%; background:#fff; color:#211c1e; box-shadow:0 5px 18px rgba(43,26,29,.16); font:400 2.2rem/1 Arial,sans-serif; }.cf-fashion-category-arrow:hover { background:#fff; color:#9d435c; box-shadow:0 7px 20px rgba(43,26,29,.2); }.cf-fashion-category-arrow.is-previous { left:max(16px,calc((100vw - 1480px)/2)); }.cf-fashion-category-arrow.is-next { right:max(16px,calc((100vw - 1480px)/2)); }
@media(max-width:900px){.cf-fashion-category-carousel{padding:52px 0 42px}.cf-fashion-category-viewport{width:calc(100vw - 64px)}.cf-fashion-category-track{gap:16px}.cf-fashion-category-card{flex-basis:calc((100% - 32px)/3)}.cf-fashion-category-arrow.is-previous{left:9px}.cf-fashion-category-arrow.is-next{right:9px}}
@media(max-width:520px){.cf-fashion-category-carousel{padding:32px 0}.cf-fashion-category-viewport{width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none}.cf-fashion-category-viewport::-webkit-scrollbar{display:none}.cf-fashion-category-card{flex-basis:42%}.cf-fashion-category-arrow{display:none}}

/* Elementor Fashion — Front Page widget */
.cf-fashion-home { background:#fffaf7; color:#2a2224; overflow:hidden; }
.cf-fashion-shell { width:min(1360px,calc(100% - 80px)); margin-inline:auto; }
.cf-fashion-kicker { display:block; color:#9d435c; font-size:.68rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.cf-fashion-intro { padding:88px 0 76px; text-align:center; background:linear-gradient(180deg,#f6ebe7,#fffaf7); }
.cf-fashion-intro h2 { max-width:790px; margin:14px auto 18px; color:#2a2224; font-size:clamp(2.4rem,5vw,4.6rem); }
.cf-fashion-intro h2 em { color:#9d435c; font-weight:400; }
.cf-fashion-intro p { max-width:560px; margin:auto; color:#6d6264; font-size:1.05rem; }
.cf-fashion-edits,.cf-fashion-products { padding:86px 0; }
.cf-fashion-products { background:#f5eeea; }
.cf-fashion-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:34px; }
.cf-fashion-heading h2 { margin:8px 0 0; color:#2a2224; font-size:clamp(2rem,3.5vw,3.25rem); }
.cf-fashion-heading>a { color:#2a2224; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.cf-fashion-heading>a span { color:#9d435c; font-size:1.1rem; }
.cf-fashion-edit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cf-fashion-edit { position:relative; min-height:510px; overflow:hidden; color:#fff; background:#2a2224; }
.cf-fashion-edit img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:.82; transition:transform .6s ease; }
.cf-fashion-edit:hover img { transform:scale(1.05); }
.cf-fashion-edit>span { position:absolute; inset:auto 0 0; padding:90px 30px 28px; background:linear-gradient(transparent,rgba(21,15,17,.86)); }
.cf-fashion-edit small,.cf-fashion-edit strong,.cf-fashion-edit i { display:block; }
.cf-fashion-edit small,.cf-fashion-product small { color:#d9ae68; font-size:.63rem; font-style:normal; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.cf-fashion-edit strong { margin:.5rem 0 1rem; color:#fff; font:500 clamp(1.6rem,2.5vw,2.25rem)/1.1 Georgia,serif; }
.cf-fashion-edit i { font-size:.7rem; font-style:normal; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cf-fashion-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.cf-fashion-product-image { position:relative; display:block; aspect-ratio:3/4; overflow:hidden; margin-bottom:16px; background:#e7dcd7; }
.cf-fashion-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cf-fashion-product-image span { position:absolute; bottom:12px; left:12px; right:12px; padding:11px; background:#fff; color:#2a2224; font-size:.65rem; font-weight:800; letter-spacing:.12em; text-align:center; text-transform:uppercase; opacity:0; transform:translateY(10px); transition:.25s ease; }
.cf-fashion-product:hover img { transform:scale(1.04); }.cf-fashion-product:hover .cf-fashion-product-image span { opacity:1; transform:none; }
.cf-fashion-product h3 { margin:.35rem 0; font:500 1.2rem/1.2 Georgia,serif; }.cf-fashion-product h3 a { color:#2a2224; }.cf-fashion-product p { margin:0; color:#9d435c; font-weight:800; }
.cf-fashion-story { display:grid; grid-template-columns:1fr 1fr; background:#2a2224; color:#f7eee8; }.cf-fashion-story-image { min-height:620px; }.cf-fashion-story-image img { width:100%; height:100%; object-fit:cover; }.cf-fashion-story-copy { align-self:center; max-width:590px; padding:70px clamp(32px,7vw,110px); }.cf-fashion-story-copy .cf-fashion-kicker { color:#d9ae68; }.cf-fashion-story-copy h2 { margin:12px 0 20px; color:#fff; font-size:clamp(2.4rem,4vw,4rem); }.cf-fashion-story-copy p { color:#d8c8c4; }.cf-fashion-button { display:inline-flex; margin-top:16px; padding:13px 20px; border:1px solid #d9ae68; color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.cf-fashion-button:hover { background:#d9ae68; color:#2a2224; }
.cf-fashion-perks { padding:42px 0; background:#fff; }.cf-fashion-perks .cf-fashion-shell { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }.cf-fashion-perks div { display:grid; grid-template-columns:36px 1fr; column-gap:12px; }.cf-fashion-perks b { grid-row:span 2; color:#d1a35d; font:400 1.6rem Georgia,serif; }.cf-fashion-perks strong { color:#2a2224; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }.cf-fashion-perks span { color:#756c6e; font-size:.84rem; }
.cf-fashion-letter { padding:95px 0; background:#ead9d5; text-align:center; }.cf-fashion-letter h2 { margin:12px 0; color:#2a2224; font-size:clamp(2rem,4vw,3.5rem); }.cf-fashion-letter p { color:#6d6264; }.cf-fashion-letter form { display:flex; max-width:560px; margin:28px auto 0; }.cf-fashion-letter input { min-width:0; flex:1; border:1px solid #cdb8b1; border-right:0; border-radius:0; padding:14px 16px; background:#fffaf7; }.cf-fashion-letter button { border-radius:0; padding-inline:24px; background:#2a2224; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
@media(max-width:760px){.cf-fashion-shell{width:calc(100% - 32px)}.home .cf-elementor-front-page .elementor-section.elementor-section-boxed > .elementor-container,.home .cf-elementor-front-page .e-con.e-parent > .e-con-inner{width:calc(100% - 32px)}.cf-fashion-intro,.cf-fashion-edits,.cf-fashion-products{padding:62px 0}.cf-fashion-heading{align-items:start;flex-direction:column;gap:10px;margin-bottom:25px}.cf-fashion-edit-grid{grid-template-columns:1fr;gap:12px}.cf-fashion-edit{min-height:420px}.cf-fashion-product-grid{grid-template-columns:repeat(2,1fr);gap:25px 12px}.cf-fashion-story{grid-template-columns:1fr}.cf-fashion-story-image{min-height:400px}.cf-fashion-story-copy{padding:58px 32px}.cf-fashion-perks .cf-fashion-shell{grid-template-columns:1fr;gap:23px}.cf-fashion-letter{padding:62px 0}.cf-fashion-letter form{flex-direction:column}.cf-fashion-letter input{border-right:1px solid #cdb8b1}.cf-fashion-letter button{margin-top:8px}.cf-home-carousel .heirloom-hero-copy{width:calc(100% - 32px)}}

@media (min-width: 980px) {
  .hero-inner { min-height: 680px; }
  .hero-art { inset: 0 0 0 48%; }
  .hero-badge { display: block; position: absolute; right: 7%; bottom: 8%; width: 112px; height: 112px; padding: 1rem; border-radius: 50%; background: var(--cf-gold); color: #fff; text-align: center; font: 500 1rem/1.1 Georgia, serif; transform: rotate(12deg); }
  .hero-badge small { display: block; margin-top: .35rem; font: 700 .58rem/1 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
}

/* Compact fashion product layout */
.single-product { background:#fff; }
.single-product .site-main.container { width:min(1380px,calc(100% - 80px)); max-width:1380px; margin:0 auto!important; padding:1rem 0 4rem; }
.single-product .cf-single-breadcrumb { margin:0 0 1rem; color:#777; font-size:.62rem; font-weight:500; letter-spacing:0; text-transform:none; }
.single-product div.product { grid-template-columns:560px minmax(360px,400px) minmax(280px,1fr); width:100%; gap:34px; }
.single-product div.product div.images { position:relative; min-width:0; padding-left:0; }
/* A single-image product has no thumbnail rail, so it aligns with the site container. */
.single-product div.product div.images:not(:has(.flex-control-thumbs)):not(:has(.cf-gallery-thumbnails)) { padding-left:0; }
.single-product div.product div.images .woocommerce-product-gallery { width:500px; height:500px; }
.single-product div.product div.images .woocommerce-product-gallery__wrapper { overflow:visible; border-radius:0; background:#f5f5f4; }
.single-product div.product div.images .flex-viewport { width:500px!important; height:500px!important; aspect-ratio:1/1; overflow:hidden!important; background:#f5f5f4; }
.single-product div.product div.images .woocommerce-product-gallery__image a { display:block; }
.single-product div.product div.images .woocommerce-product-gallery__image img { width:500px; height:500px; aspect-ratio:1/1; object-fit:cover; object-position:center top; }
.single-product .flex-control-thumbs { position:absolute; top:0; left:0; display:grid; width:46px; gap:7px; margin:0!important; }
.single-product .flex-control-thumbs li { width:46px!important; height:52px; overflow:hidden; background:#f5f5f4; }
.single-product .flex-control-thumbs img { height:52px; object-fit:cover; border:1px solid transparent; border-radius:2px; opacity:1; }
.single-product .flex-control-thumbs img.flex-active { border-color:#222; }
/* The default sale flash is emitted before the gallery and must not become a grid column. */
.single-product div.product > .cf-discount-badge { display:none!important; }
/* Stable theme gallery used by every product: no FlexSlider track can leak into the summary. */
.single-product .cf-product-gallery { position:relative; display:grid; grid-template-columns:46px 500px; gap:10px; width:556px; max-width:100%; height:600px; background:transparent; }
.single-product .cf-gallery-main { grid-column:2; grid-row:1; display:block; width:500px; height:600px; overflow:hidden; background:#f5f5f4; }
.single-product .cf-product-gallery:not(:has(.cf-gallery-thumbnails)) { grid-template-columns:500px; width:500px; }
.single-product .cf-product-gallery:not(:has(.cf-gallery-thumbnails)) .cf-gallery-main { grid-column:1; }
.single-product .cf-gallery-main-image { display:block; width:100%!important; height:600px!important; object-fit:cover; object-position:center top; }
.single-product .cf-gallery-thumbnails { grid-column:1; grid-row:1; position:static; display:grid; align-content:start; gap:7px; width:46px; }
.single-product .cf-gallery-thumbnail { width:46px; height:52px; min-height:0; padding:0; overflow:hidden; border:1px solid transparent; border-radius:0; background:#f5f5f4; box-shadow:none; }
.single-product .cf-gallery-thumbnail:hover { transform:none; box-shadow:none; }
.single-product .cf-gallery-thumbnail.is-active { border:2px solid #252b38; }
.single-product .cf-gallery-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.single-product .cf-gallery-main { position:relative; cursor:zoom-in; }
.single-product .cf-gallery-main::after { position:absolute; right:12px; bottom:12px; display:grid; width:38px; height:38px; border:1px solid rgba(255,255,255,.55); border-radius:50%; place-items:center; background:rgba(16,16,18,.72); color:#fff; content:'+'; font:300 1.35rem/1 Arial,sans-serif; opacity:0; transform:scale(.9); transition:opacity .2s ease,transform .2s ease; }
.single-product .cf-gallery-main:hover::after,.single-product .cf-gallery-main:focus-visible::after { opacity:1; transform:none; }
body.cf-product-lightbox-open { overflow:hidden; }
.single-product .cf-product-lightbox[hidden] { display:none; }
.single-product .cf-product-lightbox { position:fixed; z-index:100000; inset:0; box-sizing:border-box; display:grid; grid-template-columns:72px minmax(0,1fr) 72px; grid-template-rows:64px minmax(0,1fr); width:100vw; height:100vh; height:100dvh; padding:0 16px 16px; overflow:hidden; background:rgba(7,7,9,.97); color:#fff; isolation:isolate; }
.single-product .cf-product-lightbox__header { z-index:2; grid-column:1/-1; grid-row:1; display:flex; align-items:center; justify-content:space-between; min-width:0; padding:8px 0 8px 8px; }
.single-product .cf-product-lightbox__counter { color:rgba(255,255,255,.82); font-size:.76rem; font-weight:700; letter-spacing:.1em; }
.single-product .cf-product-lightbox__actions { display:flex; align-items:center; gap:8px; }
.single-product .cf-product-lightbox button { min-height:0; margin:0; padding:0; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(24,24,27,.8); color:#fff; box-shadow:none; transform:none; }
.single-product .cf-product-lightbox button:hover { border-color:rgba(255,255,255,.65); background:rgba(54,54,59,.92); color:#fff; box-shadow:none; transform:none; }
.single-product .cf-product-lightbox button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.single-product .cf-product-lightbox button svg { display:block; width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.single-product .cf-product-lightbox__control { width:44px; height:44px; }
.single-product .cf-product-lightbox__zoom[aria-pressed='true'] .cf-product-lightbox__zoom-vertical { display:none; }
.single-product .cf-product-lightbox__stage { z-index:0; grid-column:1/-1; grid-row:2; min-width:0; min-height:0; overflow:hidden; overscroll-behavior:contain; touch-action:pan-y; }
.single-product .cf-product-lightbox__canvas { display:flex; width:100%; height:100%; min-width:100%; min-height:100%; align-items:center; justify-content:center; }
.single-product .cf-product-lightbox__image { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; cursor:zoom-in; opacity:1; transition:opacity .15s ease; user-select:none; }
.single-product .cf-product-lightbox__image.is-loading { opacity:.25; }
.single-product .cf-product-lightbox__stage.is-zoomed { overflow:auto; touch-action:pan-x pan-y; }
.single-product .cf-product-lightbox__stage.is-zoomed .cf-product-lightbox__canvas { width:max-content; height:max-content; }
.single-product .cf-product-lightbox__stage.is-zoomed .cf-product-lightbox__image { max-width:none; max-height:none; cursor:zoom-out; }
.single-product .cf-product-lightbox__nav { z-index:2; grid-row:2; align-self:center; width:50px; height:50px; }
.single-product .cf-product-lightbox__previous { grid-column:1; justify-self:start; }
.single-product .cf-product-lightbox__next { grid-column:3; justify-self:end; }
.single-product .cf-product-lightbox__nav[hidden] { display:none; }
.single-product div.product div.summary { position:static; width:400px; max-width:100%; padding:0; }
.single-product div.product .product_title { margin:0 0 .35rem; color:#161616; font-family:Inter,Arial,sans-serif; font-size:1.18rem; font-weight:800; letter-spacing:-.025em; line-height:1.25; }
.single-product div.product .woocommerce-product-rating { margin:0 0 .65rem; gap:.45rem; color:#f5a623; font-size:.68rem; }
.single-product div.product p.price,.single-product div.product span.price { margin:0 0 .8rem; color:#151515; font:700 1rem/1.3 Inter,Arial,sans-serif; }
.single-product .cf-single-price-discount { display:inline-flex; align-items:center; min-height:26px; margin-left:.15rem; padding:.35rem .6rem; border:1px solid #ffd1dd; border-radius:999px; background:#fff1f5; color:#c52f5a; font:800 .62rem/1 Inter,Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.single-product .woocommerce-product-details__short-description { padding:.75rem 0 1rem; border:0; border-top:1px solid #eee; color:#5d5d5d; font-size:.7rem; line-height:1.55; }
.single-product .cf-single-options { margin:.85rem 0 1.25rem; padding-top:.9rem; border-top:1px solid #dedfe4; }
.single-product .cf-single-options h3 { margin:0 0 .65rem; color:#252b38; font:800 .78rem/1.2 Inter,Arial,sans-serif; letter-spacing:.03em; text-transform:uppercase; }
.single-product .cf-colour-swatches { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 1.35rem; }
.single-product .cf-colour-swatch { width:54px; height:66px; min-height:0; padding:0; overflow:hidden; border:1px solid transparent; border-radius:0; background:#f2e9e6; box-shadow:none; }
.single-product .cf-colour-swatch:hover { transform:none; box-shadow:none; }
.single-product .cf-colour-swatch.is-selected { border:2px solid #ff3c70; }
.single-product .cf-colour-swatch img { display:block; width:100%; height:100%; object-fit:cover; }
.single-product .cf-size-choice { min-height:48px; padding:.7rem 1.35rem; border:1px solid #ff3c70; border-radius:24px; background:#fff; color:#ff3c70; font-size:.75rem; font-weight:800; box-shadow:none; }
.single-product .cf-size-choice:hover { background:#fff4f7; color:#ff3c70; transform:none; box-shadow:none; }
.single-product .cf-tax-note { margin:.7rem 0 0; color:#00a887; font-size:.72rem; font-weight:700; }
.single-product form.cart { grid-template-columns:76px minmax(0,1fr); gap:7px; padding:0; border:0; background:transparent; box-shadow:none; }
.single-product form.cart .quantity .qty { height:42px; border:1px solid #eee; border-radius:22px; font-size:.68rem; }
.single-product form.cart .single_add_to_cart_button,.single-product form.cart .cf-buy-now { min-height:42px; border-radius:22px; font-size:.63rem; letter-spacing:0; text-transform:none; }
.single-product form.cart .single_add_to_cart_button { background:#ff3c70; }
.single-product form.cart .cf-buy-now { background:#252b38; color:#fff!important; }
.single-product form.cart .cf-buy-now span { color:#fff!important; font-size:.65rem; }
.single-product form.cart .cf-buy-now small { display:none; }
.single-product .cf-single-delivery-note { display:block; margin-top:1.4rem; padding-top:1.4rem; border-top:1px solid #dedfe4; background:transparent; color:#252b38; }
.single-product .cf-single-delivery-note strong { display:block; margin-bottom:.8rem; color:#252b38; font:800 .8rem/1.2 Inter,Arial,sans-serif; letter-spacing:.03em; text-transform:uppercase; }
.single-product .cf-single-delivery-note strong span { margin-left:.25rem; font-size:1rem; }
.single-product .cf-pincode-form { display:flex; width:250px; max-width:100%; margin:0; border:1px solid #d7d9df; border-radius:4px; overflow:hidden; }
.single-product .cf-pincode-form input { min-width:0; flex:1; padding:.68rem; border:0; color:#555; font-size:.75rem; }
.single-product .cf-pincode-form button { min-height:0; padding:.68rem .85rem; border-radius:0; background:#fff; color:#ff3c70; font-size:.73rem; font-weight:800; box-shadow:none; }
.single-product .cf-pincode-form button:hover { background:#fff; color:#e72f61; transform:none; box-shadow:none; }
.single-product .cf-single-delivery-note p { margin:.55rem 0 0; color:#555d6c; font-size:.69rem; line-height:1.45; }
.single-product .product_meta { display:block; margin-top:1rem; padding-top:.8rem; border-top:1px solid #eee; color:#777; font-size:.61rem; line-height:1.55; }
.single-product .product_meta > span { display:block; }
.single-product .product_meta a { display:inline; color:#9d435c; }
.single-product .woocommerce-tabs { margin-top:3rem; padding:2rem; background:#fafafa; }
.single-product .cf-latest-arrival { align-self:start; padding:1rem; border:1px solid #e6e1df; background:#fffaf8; }
.single-product .cf-latest-eyebrow,.single-product .cf-latest-category { display:block; color:#9d435c; font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.single-product .cf-latest-eyebrow { margin-bottom:.85rem; }
.single-product .cf-latest-track { display:grid; gap:.8rem; }
.single-product .cf-latest-card { display:grid; grid-template-columns:76px minmax(0,1fr); column-gap:.7rem; align-items:start; padding-bottom:.8rem; border-bottom:1px solid #ebe4e1; }
.single-product .cf-latest-card:last-child { padding-bottom:0; border-bottom:0; }
.single-product .cf-latest-image { grid-row:1 / span 3; display:block; overflow:hidden; background:#eee8e4; }
.single-product .cf-latest-image img { display:block; width:100%; aspect-ratio:3/3.65; object-fit:cover; transition:transform .35s ease; }
.single-product .cf-latest-image:hover img { transform:scale(1.03); }
.single-product .cf-latest-category { margin:.1rem 0 .25rem; color:#9a7a4b; font-size:.54rem; }
.single-product .cf-latest-arrival h2 { margin:0 0 .35rem; font:600 .88rem/1.22 Georgia,serif; }
.single-product .cf-latest-arrival h2 a { color:#282124; }
.single-product .cf-latest-price { color:#252b38; font-size:.78rem; font-weight:800; }
.single-product .cf-latest-price del { margin-right:.3rem; color:#9b9291; font-size:.7rem; font-weight:400; }
.single-product .cf-latest-price ins { color:#9d435c; text-decoration:none; }
.single-product .woocommerce-Tabs-panel--description h2 { margin:0 0 .7rem; color:#363033; font:500 clamp(1.7rem,2.4vw,2.15rem)/1.15 Georgia,serif; }
.single-product .woocommerce-Tabs-panel--description p { max-width:760px; margin:0; color:#655c5e; font-size:.95rem; line-height:1.7; }
.single-product section.related { margin-top:3rem; }

/* Related products: image-first boutique catalogue cards */
.single-product section.related { padding:3.25rem 0 0; border-top:1px solid #ece7e4; }
.single-product section.related>h2 { margin:0 0 1.8rem; color:#252b38; font:800 1.25rem/1.2 Inter,Arial,sans-serif; text-align:left; }
.single-product section.related>h2::before { display:none; }
.single-product section.related ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin:0; }
.single-product section.related ul.products li.product { position:relative; overflow:visible; transform:none!important; }
.single-product section.related ul.products li.product:hover { transform:none!important; }
.single-product section.related ul.products li.product .woocommerce-LoopProduct-link { position:relative; display:grid!important; grid-template-columns:1fr; overflow:visible!important; }
.single-product section.related ul.products li.product a img { grid-column:1; grid-row:1; display:block; width:100%; aspect-ratio:3/4; margin:0 0 .8rem!important; border:0!important; border-radius:0!important; background:#f2efed; object-fit:cover; transition:transform .3s ease; }
.single-product section.related ul.products li.product:hover a img { transform:none; }
.single-product section.related .cf-product-wishlist { position:static; grid-column:1; grid-row:1; align-self:start; justify-self:end; width:34px; height:34px; min-height:34px; margin:12px 12px 0 0; border-radius:50%; background:#fff; color:#252b38; }
.single-product section.related .cf-discount-badge { position:static; grid-column:1; grid-row:1; align-self:end; justify-self:end; margin:0 10px 12px 0; border-radius:3px; background:#9d435c; }
.single-product section.related .cf-card-rating-badge { position:static; grid-column:1; grid-row:1; align-self:end; justify-self:start; margin:0 0 10px 10px; }
.single-product section.related ul.products li.product .woocommerce-loop-product__title { grid-column:1; margin:.1rem 0 .35rem!important; padding:0; color:#252b38; font:800 .9rem/1.3 Inter,Arial,sans-serif; }
.single-product section.related .cf-product-subtitle { grid-column:1; margin:0 0 .45rem!important; color:#697080!important; font-size:.75rem!important; line-height:1.35!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.single-product section.related ul.products li.product .price { display:block; grid-column:1; margin:0!important; padding:0; color:#252b38; font:800 .9rem/1.2 Inter,Arial,sans-serif; }
.single-product section.related ul.products li.product .price del { margin-right:.3rem; color:#979ba2; font-size:.76rem; font-weight:400; }
.single-product section.related ul.products li.product .price ins { color:#e16d56; text-decoration:none; }
.single-product section.related .cf-loop-saving { display:inline; grid-column:1; margin:.3rem 0 0!important; color:#e16d56!important; font-size:.72rem!important; font-weight:700!important; }
.single-product section.related ul.products li.product .button { display:flex!important; width:100%; min-height:40px; margin:.8rem 0 0!important; padding:.6rem!important; border-radius:3px!important; background:#252b38!important; color:#fff!important; font-size:.64rem!important; font-weight:800!important; letter-spacing:.12em!important; text-transform:uppercase; }
.single-product section.related ul.products li.product .button:hover { background:#9d435c!important; transform:none!important; }
@media(max-width:1500px){.single-product div.product{grid-template-columns:560px minmax(0,1fr);gap:28px}.single-product .cf-latest-arrival{grid-column:1/-1}.single-product .cf-latest-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.single-product .cf-latest-card{display:block;padding:0;border:0}.single-product .cf-latest-image{margin-bottom:.65rem}.single-product .cf-latest-image img{aspect-ratio:4/3}.single-product .cf-latest-category{margin:0 0 .25rem}}
@media(max-width:1000px){.single-product .site-main.container{width:calc(100% - 40px);margin-inline:auto!important}.single-product div.product{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px}.single-product div.product div.images .woocommerce-product-gallery__image img{height:520px}}
@media(max-width:760px){.single-product .cf-gallery-main::after{width:34px;height:34px;opacity:.9}.single-product .cf-product-lightbox{grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:56px minmax(0,1fr);padding:0 6px 8px}.single-product .cf-product-lightbox__header{padding-left:6px}.single-product .cf-product-lightbox__control{width:40px;height:40px}.single-product .cf-product-lightbox__nav{width:44px;height:44px;background:rgba(24,24,27,.66)}body.single-product{overflow-x:hidden}.single-product .site-main.container{width:calc(100% - 32px);max-width:calc(100% - 32px);padding-bottom:2.5rem;overflow-x:hidden}.single-product div.product{grid-template-columns:minmax(0,1fr);gap:1.5rem}.single-product div.product div.summary,.single-product .product_meta{min-width:0;max-width:100%;overflow-x:hidden}.single-product div.product div.summary textarea,.single-product div.product div.summary input:not([type="checkbox"]):not([type="radio"]),.single-product div.product div.summary select,.single-product div.product div.summary iframe{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.single-product div.product div.images{padding-left:0}.single-product div.product div.images .woocommerce-product-gallery,.single-product div.product div.images .woocommerce-product-gallery__wrapper,.single-product div.product div.images .flex-viewport{width:100%!important;height:auto!important;aspect-ratio:auto}.single-product .cf-product-gallery{display:block;width:100%;height:auto;aspect-ratio:1/1}.single-product .cf-gallery-main{display:block;width:100%;height:auto;aspect-ratio:1/1}.single-product .cf-gallery-main-image{width:100%!important;height:100%!important}.single-product .cf-gallery-thumbnails{position:static;display:flex;width:auto;overflow-x:auto;margin-top:8px}.single-product .cf-gallery-thumbnail{flex:0 0 50px}.single-product .flex-control-thumbs{position:static;display:flex;width:auto;overflow-x:auto;margin-top:8px!important}.single-product .flex-control-thumbs li{flex:0 0 50px}.single-product div.product div.images .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.single-product div.product div.summary{width:auto}.single-product .cf-latest-arrival{width:100%;padding:.9rem}.single-product .cf-latest-track{display:flex;gap:.8rem;overflow-x:auto;padding:0 0 .4rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.single-product .cf-latest-card{display:block;flex:0 0 min(76vw,280px);scroll-snap-align:start}.single-product .cf-latest-image{margin-bottom:.65rem}.single-product .cf-latest-image img{aspect-ratio:4/3}.single-product .cf-latest-arrival h2{font-size:.92rem}.single-product .product_meta{grid-template-columns:65px 1fr}.single-product section.related{margin-top:2.5rem;padding-top:2rem}.single-product section.related>h2{margin-bottom:1.2rem;font-size:1.2rem}.single-product section.related ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.4rem .9rem!important}.single-product section.related ul.products li.product{width:auto!important;min-width:0!important;margin:0!important;float:none!important}.single-product section.related ul.products li.product a img{aspect-ratio:3/4;margin-bottom:.65rem!important}.single-product section.related ul.products li.product .woocommerce-loop-product__title{font-size:.9rem!important;line-height:1.3!important}.single-product section.related .cf-product-subtitle{margin-bottom:.35rem!important}.single-product section.related ul.products li.product .button{width:100%!important;min-height:38px;padding:.55rem!important;font-size:.6rem!important;line-height:1.1!important}.single-product textarea{display:none!important}.single-product .cf-product-share{align-items:flex-start;flex-direction:column}.single-product .cf-product-share-links{width:auto}.single-product .cf-product-share-links a,.single-product .cf-product-share-links .cf-share-link{flex:0 0 42px}.single-product .woocommerce-tabs{min-width:0;width:100%;padding:1.5rem 1rem}.single-product .woocommerce-tabs ul.tabs{display:flex;width:100%!important;padding:0!important;gap:0;overflow:visible;margin:0 0 1.5rem;border-bottom:1px solid #dcd7df}.single-product .woocommerce-tabs ul.tabs li{display:block!important;flex:1 1 0;min-width:0;margin:0!important;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important;text-align:center}.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after{display:none!important}.single-product .woocommerce-tabs ul.tabs li a{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;padding:.55rem!important;border:0!important;white-space:normal;font-size:0;line-height:1;letter-spacing:0}.single-product .woocommerce-tabs ul.tabs li a::before{display:grid;width:1.2rem;height:1.2rem;margin-inline:auto;place-items:center;color:#667080;font:500 1rem/1 Arial,sans-serif;text-align:center;transform:translateY(1px)}.single-product .woocommerce-tabs ul.tabs li.description_tab a::before{content:'☷';font-size:1.2rem}.single-product .woocommerce-tabs ul.tabs li.additional_information_tab a::before{content:'ⓘ';font-size:1.05rem}.single-product .woocommerce-tabs ul.tabs li.reviews_tab a::before{content:'☆';font-size:1.2rem}.single-product .woocommerce-tabs ul.tabs li.active{border-bottom-color:#9d435c!important;background:#fff4f7!important}.single-product .woocommerce-tabs ul.tabs li.active a::before{color:#9d435c}.single-product .woocommerce-Tabs-panel{min-width:0}.single-product .woocommerce-Tabs-panel--additional_information h2{font-size:clamp(1.55rem,8vw,2rem);line-height:1.15}.single-product .woocommerce-Tabs-panel table{width:100%;max-width:100%;font-size:.85rem;table-layout:fixed}.single-product .woocommerce-Tabs-panel th,.single-product .woocommerce-Tabs-panel td{overflow-wrap:anywhere;padding:.75rem .45rem}}

/* Elementor Fashion — Shop By Occasion */
.cf-shop-occasion {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  background: #0b0906;
  color: #f4ecda;
}
.cf-shop-occasion__inner {
  width: calc(100vw - 80px);
  max-width: 1360px!important;
  margin-inline: auto;
  padding: 56px 0 48px;
  border-top: 1px solid rgba(212, 177, 110, .25);
}
.cf-shop-occasion__header,
.cf-shop-occasion__content {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 58px;
}
.cf-shop-occasion__header { align-items: end; margin-bottom: 32px; }
.cf-shop-occasion__heading-wrap { min-width: 0; }
.cf-shop-occasion__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 13px;
  color: #b4903f;
  font-size: .6rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.cf-shop-occasion__eyebrow::before { content: ""; width: 18px; height: 1px; flex: 0 0 18px; background: #b4903f; }
.cf-shop-occasion__title {
  margin: 0;
  color: #f4ecda;
  font: 500 clamp(2.15rem, 3.6vw, 3.35rem)/1.04 Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}
.cf-shop-occasion__description {
  width: min(100%, 340px);
  justify-self: center;
  margin: 0 0 2px;
  color: #c9bfa9;
  font: italic .93rem/1.55 Georgia, "Times New Roman", serif;
}
.cf-shop-occasion__content { align-items: stretch; }
.cf-shop-occasion__list { min-width: 0; align-self: stretch; }
.cf-shop-occasion__item {
  width: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 24px;
  gap: 0;
  align-items: center;
  margin: 0;
  padding: 15px 0;
  border: 0;
  border-top: 1px solid rgba(212, 177, 110, .25);
  border-radius: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  color: #c9bfa9;
  font: inherit;
  text-align: left;
  transform: none;
}
.cf-shop-occasion__item:last-child { border-bottom: 1px solid rgba(212, 177, 110, .25); }
.cf-shop-occasion__item:hover,
.cf-shop-occasion__item:focus { background: transparent; box-shadow: none; color: #c9bfa9; transform: none; }
.cf-shop-occasion__item:focus-visible { outline: 1px solid #b4903f; outline-offset: -1px; }
.cf-shop-occasion__number {
  color: #7c6428;
  font-size: .52rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .12em;
}
.cf-shop-occasion__item-copy,
.cf-shop-occasion__item-title,
.cf-shop-occasion__details { display: block; min-width: 0; }
.cf-shop-occasion__item-title {
  color: #c9bfa9;
  font: 500 clamp(1.48rem, 2.3vw, 2rem)/1.03 Georgia, "Times New Roman", serif;
  letter-spacing: -.015em;
  transition: color .25s ease, transform .25s ease;
}
.cf-shop-occasion__details {
  overflow: hidden;
  margin-top: 5px;
  color: #958b78;
  font-size: .51rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .12em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.cf-shop-occasion__arrow {
  justify-self: end;
  color: #deb86a;
  font: 400 1rem/1 Arial, sans-serif;
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity .25s ease, transform .25s ease;
}
.cf-shop-occasion__item:hover .cf-shop-occasion__item-title,
.cf-shop-occasion__item:focus .cf-shop-occasion__item-title,
.cf-shop-occasion__item.is-active .cf-shop-occasion__item-title { color: #deb86a; transform: translateX(6px); }
.cf-shop-occasion__item:hover .cf-shop-occasion__arrow,
.cf-shop-occasion__item:focus .cf-shop-occasion__arrow,
.cf-shop-occasion__item.is-active .cf-shop-occasion__arrow { opacity: 1; transform: translateX(0); }
.cf-shop-occasion__visual {
  position: relative;
  min-width: 0;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid rgba(212, 177, 110, .35);
  background: #4d1020;
}
.cf-shop-occasion--visual-left .cf-shop-occasion__visual { order: -1; }
.cf-shop-occasion__slide {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s ease, visibility .4s ease;
}
.cf-shop-occasion__slide.is-active { z-index: 2; opacity: 1; visibility: visible; }
.cf-shop-occasion__slide::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: rgba(11, 9, 6, .18);
}
.cf-shop-occasion__slide img {
  width: 100%;
  height: 100%!important;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.018);
  transition: transform 1.2s ease;
}
.cf-shop-occasion__slide.is-active img { transform: scale(1); }
.cf-shop-occasion__frame {
  position: absolute;
  z-index: 3;
  inset: 10px;
  border: 1px solid rgba(212, 177, 110, .42);
  pointer-events: none;
}
.cf-shop-occasion__button {
  position: absolute;
  z-index: 4;
  left: 18px;
  bottom: 18px;
  width: max-content;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 12px 22px;
  border: 0;
  border-radius: 0;
  background: #b4903f;
  box-shadow: none;
  color: #0b0906;
  font-size: .55rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .15em;
  text-transform: uppercase;
  transform: none;
}
.cf-shop-occasion__button:hover,
.cf-shop-occasion__button:focus { background: #deb86a; box-shadow: none; color: #0b0906; transform: none; }
.cf-shop-occasion__button:focus-visible { outline: 2px solid #f4ecda; outline-offset: 2px; }
.cf-shop-occasion__counter {
  position: absolute;
  z-index: 4;
  right: 20px;
  bottom: 17px;
  color: #b4903f;
  font: 600 .65rem/1 Georgia, "Times New Roman", serif;
}
.cf-shop-occasion__counter-current { color: #deb86a; font-weight: 600; }
.cf-shop-occasion__counter i { margin-inline: 2px; font-style: normal; opacity: .7; }
@media(max-width:1024px) {
  .cf-shop-occasion__inner { width: calc(100vw - 48px); }
  .cf-shop-occasion__header,
  .cf-shop-occasion__content { gap: 32px; }
  .cf-shop-occasion__item { grid-template-columns: 28px minmax(0, 1fr) 20px; }
  .cf-shop-occasion__item-title { font-size: clamp(1.4rem, 2.7vw, 1.8rem); }
  .cf-shop-occasion__visual { min-height: 460px; }
}
@media(max-width:760px) {
  .cf-shop-occasion__inner { width: calc(100vw - 32px); padding: 42px 0; }
  .cf-shop-occasion__header,
  .cf-shop-occasion__content { grid-template-columns: 1fr; gap: 0; }
  .cf-shop-occasion__header { align-items: start; margin-bottom: 28px; }
  .cf-shop-occasion__description { width: min(100%, 520px); justify-self: start; margin-top: 18px; }
  .cf-shop-occasion__content { gap: 28px; }
  .cf-shop-occasion--visual-left .cf-shop-occasion__visual { order: initial; }
  .cf-shop-occasion__item { padding-block: 16px; }
  .cf-shop-occasion__item-title { font-size: clamp(1.5rem, 7vw, 1.95rem); }
  .cf-shop-occasion__visual { min-height: 420px; }
}
@media(max-width:480px) {
  .cf-shop-occasion__details { overflow: visible; white-space: normal; }
  .cf-shop-occasion__visual { min-height: 390px; }
  .cf-shop-occasion__button { left: 14px; bottom: 14px; }
  .cf-shop-occasion__counter { right: 16px; bottom: 14px; }
  .cf-shop-occasion__frame { inset: 8px; }
}
