/* ==========================================================================
   THE DASTAK LUXURY TYPOGRAPHY & DESIGN SYSTEM
   - Headings, Titles & Highlights: Canela (Editorial Luxury Serif)
   - Body, UI & Reading: DM Sans (Geometric Modern Sans-Serif)
   - Palette: Primary (#49070a), Secondary (#b37e32), Dark (#191919), Sand (#dccdbd), Cream (#eee9e4)
   ========================================================================== */

/* --------------------------------------------------------------------------
   CANELA (Serif - Main Headline, Titles & Highlights)
   -------------------------------------------------------------------------- */
@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-Thin-Trial.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-ThinItalic-Trial.otf') format('opentype');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-Light-Trial.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-LightItalic-Trial.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-Regular-Trial.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-RegularItalic-Trial.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-Medium-Trial.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-MediumItalic-Trial.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-Bold-Trial.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-BoldItalic-Trial.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Canela';
    src: url('canela/Canela-Black-Trial.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('canela/CanelaDeck-Regular-Trial.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('canela/CanelaDeck-Medium-Trial.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Deck';
    src: url('canela/CanelaDeck-Bold-Trial.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Text';
    src: url('canela/CanelaText-Regular-Trial.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Text';
    src: url('canela/CanelaText-Medium-Trial.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Canela Text';
    src: url('canela/CanelaText-Bold-Trial.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* --------------------------------------------------------------------------
   DM SANS (Sans-Serif - Body & UI)
   -------------------------------------------------------------------------- */
@font-face {
    font-family: 'DM Sans';
    src: url('dm-sans/DMSans-VariableFont_opsz,wght.ttf') format('truetype-variations');
    font-weight: 100 1000;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans';
    src: url('dm-sans/DMSans-Italic-VariableFont_opsz,wght.ttf') format('truetype-variations');
    font-weight: 100 1000;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans Static';
    src: url('dm-sans/static/DMSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans Static';
    src: url('dm-sans/static/DMSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans Static';
    src: url('dm-sans/static/DMSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans Static';
    src: url('dm-sans/static/DMSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* --------------------------------------------------------------------------
   GLOBAL DESIGN TOKENS & TYPOGRAPHY RULES
   -------------------------------------------------------------------------- */
:root {
    /* Fonts */
    --font-heading: 'DM Sans', 'DM Sans Static', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'DM Sans', 'DM Sans Static', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-serif: var(--font-heading);
    --font-sans: var(--font-body);
    --font-canela: var(--font-heading);
    --font-dmsans: var(--font-body);

    /* Brand Colors */
    --primary: #49070a;
    --primary-hover: #380507;
    --secondary: #b37e32;
    --secondary-hover: #9c6c28;
    --third: #dccdbd;
    --black: #191919;
    --text: #191919;
    --text-2: #595959;
    --text-3: #8a8a8a;
    --line: #dccdbd;
    --border: #dccdbd;
    --bg: #eee9e4;
    --bg-2: #f6f3ef;
    --bg-3: #49070a;
    --bg-4: rgba(73, 7, 10, 0.08);
    --bg-5: #eee9e4;
    --bg-6: #49070a;
    --bg-7: #faf7f2;
    --surface: #eee9e4;
    --on-surface: #191919;

    /* Semantic Named Palette */
    --dastak-primary: #49070a;
    --dastak-secondary: #b37e32;
    --dastak-dark: #191919;
    --dastak-sand: #dccdbd;
    --dastak-cream: #eee9e4;
}

/* --------------------------------------------------------------------------
   HEADING & HIGHLIGHTED WORDS (Canela)
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.title,
.heading,
.heading-title,
.hero-title,
.section-title,
.sub-title,
.banner-title,
.product-title,
.card-title,
.entry-title,
.font-canela,
.font-headline,
.font-editorial,
.font-serif,
.font-2,
.font-outfit,
.font-kumbh,
.font-red_hat,
.font-plus_jakarta,
.highlight,
.text-highlight,
.highlight-word,
.highlight-text,
.luxury-heading,
.serif-title,
.brand-serif,
.heading-serif,
.heading-font {
    font-family: var(--font-heading) !important;
}

/* Highlighted words within body or headers */
em,
.highlighted-word,
.accent-serif {
    font-family: var(--font-heading);
    font-style: italic;
}

/* --------------------------------------------------------------------------
   NORMAL & BODY TEXT (DM Sans)
   -------------------------------------------------------------------------- */
body,
html,
p,
span:not(.font-canela):not(.font-serif):not(.title):not(.heading):not(.highlight):not(.highlight-word),
a:not(.font-canela):not(.font-serif):not(.title):not(.heading):not(.highlight),
input,
select,
textarea,
button,
label,
li,
td,
th,
.btn,
.tf-btn,
.font-main,
.font-dmsans,
.font-sans,
.font-body {
    font-family: var(--font-body);
}

/* --------------------------------------------------------------------------
   BRAND COLOR UTILITY CLASSES & COMPONENT THEME
   -------------------------------------------------------------------------- */
.text-primary,
.cl-primary {
    color: var(--primary) !important;
}

.text-secondary,
.cl-secondary,
.cl-gold {
    color: var(--secondary) !important;
}

.bg-primary,
.bg-dastak-primary {
    background-color: var(--primary) !important;
}

.bg-secondary,
.bg-dastak-secondary {
    background-color: var(--secondary) !important;
}

.bg-cream,
.bg-dastak-cream {
    background-color: var(--dastak-cream) !important;
}

.border-sand,
.border-dastak-sand {
    border-color: var(--dastak-sand) !important;
}

.tf-btn.btn-fill,
.btn-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}

.tf-btn.btn-fill:hover,
.btn-primary:hover {
    background-color: var(--secondary) !important;
    border-color: var(--secondary) !important;
    color: #ffffff !important;
}

.tf-btn.btn-outline {
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

.tf-btn.btn-outline:hover {
    background-color: var(--primary) !important;
    color: #ffffff !important;
}

/* Scrollbar theme */
::-webkit-scrollbar-thumb {
    background-color: var(--primary) !important;
}

/* --------------------------------------------------------------------------
   THE DASTAK WARM LUXURY HOMEPAGE ELEVATION
   -------------------------------------------------------------------------- */
body {
    background-color: #fbf9f6 !important;
    color: #191919 !important;
}

/* Section Tones */
.bg-cream-surface {
    background-color: #eee9e4 !important;
}

.bg-sand-surface {
    background-color: #f4efe9 !important;
}

.bg-maroon-dark {
    background-color: #49070a !important;
    color: #ffffff !important;
}

.bg-white-pure {
    background-color: #ffffff !important;
}

/* Category Grid & Cards */
.category-v01 .cate-image {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid #dccdbd;
    background-color: #ffffff;
    box-shadow: 0 4px 18px rgba(73, 7, 10, 0.03);
    transition: all 0.35s ease;
}

.category-v01:hover .cate-image {
    border-color: #b37e32;
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(73, 7, 10, 0.09);
}

.category-v01 .cate-name {
    font-family: var(--font-heading) !important;
    color: #191919;
    font-weight: 500;
    margin-top: 14px;
    font-size: 1.05rem;
}

.category-v01:hover .cate-name {
    color: #49070a;
}

/* Product Cards */
.card-product {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e8e2da;
    transition: all 0.35s ease;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.card-product:hover {
    border-color: #dccdbd;
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(73, 7, 10, 0.08);
}

.card-product .card-product_info {
    padding: 16px 18px 18px;
    background: #ffffff;
}

.card-product .name-product {
    font-family: var(--font-heading) !important;
    font-size: 1.05rem;
    color: #191919;
    font-weight: 500;
    letter-spacing: -0.2px;
}

.card-product .name-product:hover {
    color: #49070a;
}

.card-product .price-new {
    color: #49070a !important;
    font-weight: 700;
    font-size: 1.15rem;
}

.card-product .price-old {
    color: #8a8a8a !important;
}

.product-badge_item.sale {
    background-color: #49070a !important;
    color: #ffffff !important;
    font-weight: 600;
    border-radius: 8px;
    padding: 3px 10px;
    font-size: 12px;
}

.star-wrap i,
.star-wrap .icon-Star {
    color: #b37e32 !important;
}

/* Section Headings */
.sect-heading .s-title {
    font-family: var(--font-heading) !important;
    color: #191919;
    letter-spacing: -0.5px;
    font-size: clamp(26px, 3.5vw, 38px);
}

.sect-heading .s-desc {
    font-family: var(--font-body) !important;
    color: #666666;
    font-size: 16px;
}

/* Value Props / Box Icon */
.box-icon_V01 {
    background: #ffffff;
    border: 1px solid #dccdbd;
    border-radius: 18px;
    padding: 26px 22px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(73, 7, 10, 0.03);
}

.box-icon_V01:hover {
    border-color: #b37e32;
    transform: translateY(-4px);
    box-shadow: 0 10px 26px rgba(73, 7, 10, 0.08);
}

.box-icon_V01 .icon i {
    color: #b37e32 !important;
    font-size: 32px;
}

.box-icon_V01 .title {
    font-family: var(--font-heading) !important;
    font-weight: 600;
    color: #191919;
    font-size: 17px;
    margin-top: 10px;
}

.box-icon_V01 .text {
    font-family: var(--font-body) !important;
    color: #666666;
    font-size: 13.5px;
    line-height: 1.5;
}

/* Buttons */
.tf-btn.btn-fill,
.btn-primary {
    background-color: #49070a !important;
    border-color: #49070a !important;
    color: #ffffff !important;
    border-radius: 12px;
    font-weight: 600;
}

.tf-btn.btn-fill:hover,
.btn-primary:hover {
    background-color: #b37e32 !important;
    border-color: #b37e32 !important;
    color: #ffffff !important;
}

/* Swiper Pagination Active Line */
.sw-line-default .swiper-pagination-progressbar-fill,
.swiper-pagination-bullet-active {
    background: #49070a !important;
}

/* --------------------------------------------------------------------------
   INFINITE MARQUEE AUTO-SCROLL
   -------------------------------------------------------------------------- */
@keyframes marquee-scroll-left {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

.dastak-marquee-wrapper {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    position: relative;
    background-color: #49070a;
    display: flex;
}

.dastak-marquee-track {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 200%;
    animation: marquee-scroll-left 28s linear infinite;
}

.dastak-marquee-track:hover {
    animation-play-state: paused;
}

.dastak-marquee-item {
    display: inline-flex;
    align-items: center;
    gap: 1.5rem;
    padding: 0 1.5rem;
    color: #eee9e4;
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   SEAMLESS INFINITE MARQUEE TICKER ANIMATION
   -------------------------------------------------------------------------- */
@keyframes dastak-marquee-infinite {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.dastak-ticker-container {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
    position: relative;
    background-color: #49070a;
    display: flex;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.2);
}

.dastak-ticker-track {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    width: max-content;
    animation: dastak-marquee-infinite 35s linear infinite;
    will-change: transform;
}

.dastak-ticker-container:hover .dastak-ticker-track {
    animation-play-state: paused;
}

.dastak-ticker-content {
    display: inline-flex;
    align-items: center;
    gap: 2rem;
    padding-right: 2rem;
}

.dastak-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #eee9e4;
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.dastak-ticker-dot {
    color: #b37e32;
    font-size: 16px;
    opacity: 0.8;
}

/* --------------------------------------------------------------------------
   PRIMARY FOOTER STYLING (#49070a)
   -------------------------------------------------------------------------- */
.tf-footer.bg-primary-footer {
    background-color: #49070a !important;
    color: #eee9e4 !important;
}

.tf-footer.bg-primary-footer .footer-infor,
.tf-footer.bg-primary-footer p,
.tf-footer.bg-primary-footer span,
.tf-footer.bg-primary-footer a,
.tf-footer.bg-primary-footer .cl-text-2,
.tf-footer.bg-primary-footer .text-nocopy {
    color: #dccdbd !important;
}

.tf-footer.bg-primary-footer a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

.tf-footer.bg-primary-footer .footer-heading {
    font-family: var(--font-heading) !important;
    color: #ffffff !important;
    font-size: 1.1rem;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
}

.tf-footer.bg-primary-footer .footer-bottom {
    background-color: #380507 !important;
    border-top: 1px solid rgba(220, 205, 189, 0.15) !important;
}

.tf-footer.bg-primary-footer .tf-social-icon-2 a {
    background-color: rgba(220, 205, 189, 0.12) !important;
    color: #eee9e4 !important;
    border: 1px solid rgba(220, 205, 189, 0.2) !important;
    transition: all 0.3s ease;
}

.tf-footer.bg-primary-footer .tf-social-icon-2 a:hover {
    background-color: #b37e32 !important;
    color: #ffffff !important;
    border-color: #b37e32 !important;
    transform: translateY(-3px);
}

.tf-footer.bg-primary-footer .logo-site img {
    filter: brightness(0) invert(1);
}


/* --------------------------------------------------------------------------
   LUXURY EDITORIAL BREATHING & SPACING SYSTEM (CANELA & DM SANS)
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.s-title,
.heading-title,
.title-section {
    font-family: var(--font-heading) !important;
    letter-spacing: -0.015em !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.sect-heading {
    margin-bottom: 3.25rem !important;
}

.sect-heading .text-caption-01 {
    letter-spacing: 3.5px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    display: inline-block !important;
    text-transform: uppercase !important;
    color: #b37e32 !important;
}

.sect-heading .s-title {
    font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
    line-height: 1.3 !important;
    letter-spacing: 0.025em !important;
    color: #191919 !important;
    margin-top: 6px !important;
    margin-bottom: 14px !important;
    font-weight: 500 !important;
}

.sect-heading .s-desc {
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    color: #555555 !important;
    letter-spacing: 0.015em !important;
}

/* Category Grid & Cards Spacing */
.category-v01 .cate-name {
    font-family: var(--font-heading) !important;
    color: #191919 !important;
    font-weight: 500 !important;
    margin-top: 18px !important;
    font-size: 1.1rem !important;
    letter-spacing: 0.02em !important;
    line-height: 1.35 !important;
}

/* Product Card Typography & Spacing */
.card-product .name-product {
    font-family: var(--font-heading) !important;
    font-size: 1.05rem !important;
    letter-spacing: 0.02em !important;
    line-height: 1.45 !important;
    margin-bottom: 8px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-product .price-wrap {
    margin-top: 8px !important;
    gap: 8px !important;
}

/* Curated Collection Card Spacing */
.collection-card h3 {
    font-family: var(--font-heading) !important;
    letter-spacing: 0.025em !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
}

.collection-card p {
    line-height: 1.65 !important;
    letter-spacing: 0.015em !important;
    margin-bottom: 18px !important;
    font-size: 13.5px !important;
}

/* Testimonial Quote Spacing */
.testimonial-card-content {
    line-height: 1.75 !important;
    letter-spacing: 0.015em !important;
    font-size: 15px !important;
    color: #4a4a4a !important;
}

/* Global Section Padding */
.flat-spacing {
    padding-top: 70px !important;
    padding-bottom: 75px !important;
}

@media (max-width: 767px) {
    .flat-spacing {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    .sect-heading {
        margin-bottom: 2.25rem !important;
    }
}


/* ==========================================================================
   THE DASTAK ULTRA-LUXURY BREATHING TYPOGRAPHY & SPACING SYSTEM
   ========================================================================== */

/* 1. Global Headings with DM Sans (Bold) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.s-title,
.heading-title,
.title-section,
.collection-card h3,
.footer-heading {
    font-family: 'DM Sans', 'DM Sans Static', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.3 !important;
}

/* 2. Section Heading Blocks (.sect-heading) */
.sect-heading,
.sect-heading.type-2,
.sect-heading.type-3,
.sect-heading.type-4 {
    margin-bottom: 52px !important;
    text-align: center !important;
}

/* Subtitle Gold Pill / Tag */
.sect-heading .text-caption-01,
.sect-heading p.text-caption-01 {
    display: inline-block !important;
    color: #b37e32 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    margin-bottom: 0px !important;
    padding-bottom: 0 !important;
}

/* Main Section Title */
.sect-heading .s-title,
.sect-heading h2.s-title {
    font-family: 'DM Sans', 'DM Sans Static', sans-serif !important;
    font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
    font-weight: 700 !important;
    color: #191919 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

/* Section Description Subtext */
.sect-heading .s-desc,
.sect-heading p.s-desc {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: #666666 !important;
    letter-spacing: 0.02em !important;
    max-width: 650px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 3. Section Vertical Paddings */
.flat-spacing {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

/* 4. Circular Category Card Labels */
.category-v01 .cate-name {
    font-family: 'DM Sans', 'DM Sans Static', sans-serif !important;
    color: #191919 !important;
    font-weight: 400 !important;
    font-size: 1.15rem !important;
    letter-spacing: 0.035em !important;
    word-spacing: 0.08em !important;
    margin-top: 20px !important;
    line-height: 1.35 !important;
}

/* 5. Product Card Titles & Pricing */
.card-product .name-product {
    font-family: 'DM Sans', 'DM Sans Static', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    color: #191919 !important;
    letter-spacing: 0.025em !important;
    word-spacing: 0.06em !important;
    line-height: 1.45 !important;
    margin-bottom: 10px !important;
}

.card-product .price-wrap {
    margin-top: 10px !important;
}

.card-product .card-product_info {
    padding: 20px 20px 22px !important;
}

/* 6. Collections Cards */
.collection-card h3 {
    letter-spacing: 0.035em !important;
    word-spacing: 0.08em !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
}

.collection-card p {
    letter-spacing: 0.02em !important;
    line-height: 1.65 !important;
    margin-bottom: 20px !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .flat-spacing {
        padding-top: 55px !important;
        padding-bottom: 60px !important;
    }
    .sect-heading,
    .sect-heading.type-2 {
        margin-bottom: 36px !important;
    }
    .sect-heading .s-title {
        margin-bottom: 14px !important;
    }
    .sect-heading .text-caption-01 {
        margin-bottom: 12px !important;
        letter-spacing: 3px !important;
    }
}

/* Swiper Overflow & Clean Edge Alignment Fix */
.wrap-sw-over,
.swiper.tf-swiper {
    margin-left: 0 !important;
    padding-left: 0 !important;
    overflow: hidden !important;
    /* padding-top: 6px !important; */
    /* padding-bottom: 16px !important; */
}
.swiper.tf-swiper .swiper-wrapper {
    align-items: stretch;
}

/* ==========================================================================
   UNIFIED PRODUCT CARD SPACING & COMPACT SINGLE-ROW PRICE SYSTEM
   ========================================================================== */
.card-product {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.card-product_wrapper {
    aspect-ratio: 3 / 4 !important;
    background: #eee9e4 !important;
    margin: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.card-product_info {
    padding: 14px 16px 16px !important;
    margin: 0 !important;
    gap: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    flex-grow: 1 !important;
    min-width: 0 !important;
}

.card-product_info .card-product-cat,
.card-product_info span.text-uppercase {
    font-size: 10.5px !important;
    letter-spacing: 0.8px !important;
    color: #b37e32 !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.card-product_info .h6,
.card-product_info h3,
.card-product_info .card-product-title,
.card-product .name-product {
    font-family: var(--font-heading) !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 0 !important;
    color: #191919 !important;
    min-height: 44px !important;
    max-height: 46px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-overflow: ellipsis !important;
    word-break: break-word !important;
}

.card-product_info .h6 a,
.card-product_info h3 a,
.card-product_info .card-product-title a,
.card-product .name-product a {
    color: #191919 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: break-word !important;
}

.card-product_info .border-top,
.card-product_info .card-product-pricing {
    padding-top: 8px !important;
    margin-top: auto !important;
    border-top: 1px solid #f0e7dd !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
}

.card-product_info .price-current {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #49070a !important;
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
}

.card-product_info .price-strike,
.card-product_info .text-decoration-line-through {
    font-size: 11.5px !important;
    color: #8a8a8a !important;
    text-decoration: line-through !important;
    white-space: nowrap !important;
    opacity: 0.8 !important;
    margin-left: 6px !important;
}

.card-product_info .price-save-badge {
    font-size: 9.5px !important;
    font-weight: 600 !important;
    padding: 2.5px 6.5px !important;
    background: rgba(179, 126, 50, 0.12) !important;
    color: #b37e32 !important;
    border-radius: 9999px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* Global Ellipsis utility */
.line-clamp-1,
.text-line-clamp-1 {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.line-clamp-2,
.text-line-clamp-2 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Mobile Responsive Card Spacing */
@media (max-width: 767.98px) {
    .card-product_info {
        padding: 8px 10px 10px !important;
    }
    .card-product_info .card-product-cat,
    .card-product_info span.text-uppercase {
        font-size: 9px !important;
        letter-spacing: 0.7px !important;
        margin-bottom: 2px !important;
    }
    .card-product_info .h6, 
    .card-product_info h3,
    .card-product_info .card-product-title,
    .card-product .name-product {
        font-size: 13.5px !important;
        line-height: 1.25 !important;
        min-height: 32px !important;
        max-height: 34px !important;
        margin-bottom: 0 !important;
    }
    .card-product_info .border-top,
    .card-product_info .card-product-pricing {
        padding-top: 6px !important;
        margin-top: auto !important;
        gap: 3px !important;
    }
    .card-product_info .price-current {
        font-size: 0.95rem !important;
    }
    .card-product_info .price-strike,
    .card-product_info .text-decoration-line-through {
        font-size: 10.5px !important;
        margin-left: 5px !important;
    }
    .card-product_info .price-save-badge {
        font-size: 8.5px !important;
        padding: 2px 5px !important;
    }
     .card-product .card-product_info {
        padding: 10px !important;
        background: #ffffff;
    }
}
