/* Fonts */
/* Onest */
@import url("../fonts/onest/stylesheet.css");
/* font-family: 'Onest'; */ 

/* Bricolage Grotesque */
@import url("../fonts/bricolage-grotesque/stylesheet.css");
/* font-family: 'Bricolage Grotesque'; */

/* Comic Sans MS */
@import url("../fonts/comic-sens-ms/stylesheet.css");
/* font-family: 'Comic Sans MS'; */

/* Cormorant Garamond — South Indian Royal Luxury Serif */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Cinzel:wght@400;500;600&display=swap");
/* font-family: 'Cormorant Garamond', serif; */
/* font-family: 'Cinzel', serif; */


/* Common Css Start ***
*********************/
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root {
    /* Authentic South Indian Heritage Palette */
    --skinColor: #C8960C;        /* Temple Gold */
    --primaryColor: #C8960C;     /* Temple Gold */
    --accentColor: #800000;      /* Royal Maroon (Deeper, more traditional) */
    --whiteColor: #FFF;
    --blackColor: #2C1810;      /* Deep Rosewood */
    --secondaryColor: #5C3D2E;   /* Chestnut */
    --secondaryColor2: rgba(44, 24, 16, 0.75);
    --lightColor: #FEF9EE;      /* Kasavu Ivory */
    --backgroundColor: #FEF9EE;
    --backgroundColorRGB: 254, 249, 238;

    /* Royal Heritage Decorative Tokens */
    --goldGradient: linear-gradient(135deg, #C8960C 0%, #E8B84B 50%, #C8960C 100%);
    --maroonGradient: linear-gradient(135deg, #800000 0%, #A52A2A 100%);
    --kasavuTexture: linear-gradient(90deg, transparent 96%, rgba(200, 150, 12, 0.15) 96%);
    --kolamPattern: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0l2 18 18 2-18 2-2 18-2-18-18-2 18-2z' fill='%23C8960C' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E");
    --royalBorder: 1px solid rgba(200, 150, 12, 0.25);
    --templeShadow: 0 8px 32px rgba(128, 0, 0, 0.12);

    /* Additional Label Gradients */
    --emeraldHeritage: linear-gradient(135deg, #1A4D2E 0%, #4F6F52 100%);
    --saffronHeritage: linear-gradient(135deg, #D45D00 0%, #FF8C00 100%);
    --kasavuTeal: linear-gradient(135deg, #0B4666 0%, #1597BB 100%);
}

/* Authentic Heritage Utilities */
.temple-arch {
    clip-path: path('M 0,200 L 0,40 C 0,40 0,0 50,0 C 100,0 100,40 100,40 L 100,200 Z');
    clip-path: polygon(0% 100%, 0% 20%, 50% 0%, 100% 20%, 100% 100%); /* Simpler Gopuram silhouette */
    border-radius: 80px 80px 10px 10px; /* Modern CSS-friendly arch */
}

body{
    padding: 0;
    margin: 0;
    color: var(--secondaryColor);
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    background-color: var(--backgroundColor);
}

/* Logo Color Refinement */
.logo {
    transition: filter 0.3s ease;
}
.logo:hover {
    filter: none;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Cormorant Garamond', 'Playfair Display', serif;
    letter-spacing: 0.01em;
}

/* Preloader */
#premium-preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--backgroundColor);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease-out;
}
#premium-preloader.loaded {
    opacity: 0;
    pointer-events: none;
}
.preloader-icon {
    width: 80px;
    height: 80px;
}
.preloader-path {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    animation: draw 2s ease-in-out infinite alternate;
}
@keyframes draw {
    0% { stroke-dashoffset: 200; }
    100% { stroke-dashoffset: 0; }
}
ul,ol{
    margin: 0;
    padding: 0;
    list-style: none;
}
h1,h2,h3,h4,h5,h6,p,label{
    padding: 0;
    margin: 0;
}
a{
    text-decoration: none;
    display: inline-block;
    color: inherit;
    transition: .3s;
    outline: none;
}
.btn:focus,
button:focus,
.form-control:focus{
    box-shadow: none;
}
.btn,
button{
    outline:none;
    font-family: 'Bricolage Grotesque', sans-serif;
}
img{
    max-width: 100%;
    max-height: 100%;
    display: block;
}

/* For Flat UI Icons */
i[class^="fi-rr-"]:before,
i[class=" fi-rr-"]:before,
span[class^="fi-rr-"]:before,
span[class="fi-rr-"]:before {
    line-height: unset;
}


/* Column Row Gap */
.g-20px{
    --bs-gutter-y: 20px;
    --bs-gutter-x: 20px;
}
.gx-20px{
    --bs-gutter-x: 20px;
}
.gy-20px{
    --bs-gutter-y: 20px;
}

/* Flex Gap */
.gap-2px{
    gap: 2px !important;
}
.gap-6px{
    gap: 6px !important;
}
.gap-10px{
    gap: 10px !important;
}
.gap-12px{
    gap: 12px !important;
}
.gap-14px{
    gap: 14px !important;
}
.gap-18px{
    gap: 18px !important;
}
.gap-20px{
    gap: 20px !important;
}
.gap-22px{
    gap: 22px !important;
}
.gap-26px{
    gap: 26px !important;
}
.gap-28px{
    gap: 28px !important;
}
.gap-30px{
    gap: 30px !important;
}

/* Flex Column Gap */
.column-gap-2px{
    column-gap: 2px !important;
}
.column-gap-6px{
    column-gap: 6px !important;
}
.column-gap-10px{
    column-gap: 10px !important;
}
.column-gap-12px{
    column-gap: 12px !important;
}
.column-gap-14px{
    column-gap: 14px !important;
}
.column-gap-18px{
    column-gap: 18px !important;
}
.column-gap-20px{
    column-gap: 20px !important;
}
.column-gap-22px{
    column-gap: 22px !important;
}
.column-gap-26px{
    column-gap: 26px !important;
}
.column-gap-28px{
    column-gap: 28px !important;
}
.column-gap-30px{
    column-gap: 30px !important;
}


/* Margin Bottom */
.mb-2px{
    margin-bottom: 2px !important;
}
.mb-6px{
    margin-bottom: 6px !important;
}
.mb-10px{
    margin-bottom: 10px !important;
}
.mb-12px{
    margin-bottom: 12px !important;
}
.mb-14px{
    margin-bottom: 14px !important;
}
.mb-18px{
    margin-bottom: 18px !important;
}
.mb-20px{
    margin-bottom: 20px !important;
}
.mb-22px{
    margin-bottom: 22px !important;
}
.mb-26px{
    margin-bottom: 26px !important;
}
.mb-28px{
    margin-bottom: 28px !important;
}
.mb-30px{
    margin-bottom: 30px !important;
}
.mb-40px{
    margin-bottom: 40px !important;
}
.mb-50px{
    margin-bottom: 50px !important;
}
.mb-100px{
    margin-bottom: 100px !important;
}

/* Margin Top */
.mt-2px{
    margin-top: 2px !important;
}
.mt-6px{
    margin-top: 6px !important;
}
.mt-10px{
    margin-top: 10px !important;
}
.mt-12px{
    margin-top: 12px !important;
}
.mt-14px{
    margin-top: 14px !important;
}
.mt-18px{
    margin-top: 18px !important;
}
.mt-20px{
    margin-top: 20px !important;
}
.mt-22px{
    margin-top: 22px !important;
}
.mt-26px{
    margin-top: 26px !important;
}
.mt-28px{
    margin-top: 28px !important;
}
.mt-30px{
    margin-top: 30px !important;
}
  
/* Padding */
.p-2px{
    padding: 2px !important;
}
.p-6px{
    padding: 6px !important;
}
.p-10px{
    padding: 10px !important;
}
.p-12px{
    padding: 12px !important;
}
.p-14px{
    padding: 14px !important;
}
.p-18px{
    padding: 18px !important;
}
.p-20px{
    padding: 20px !important;
}
.p-22px{
    padding: 22px !important;
}
.p-26px{
    padding: 26px !important;
}
.p-28px{
    padding: 28px !important;
}
.p-30px{
    padding: 30px !important;
}

/* Padding Bottom */
.pb-2px{
    padding-bottom: 2px !important;
}
.pb-6px{
    padding-bottom: 6px !important;
}
.pb-8px{
    padding-bottom: 8px !important;
}
.pb-10px{
    padding-bottom: 10px !important;
}
.pb-12px{
    padding-bottom: 12px !important;
}
.pb-14px{
    padding-bottom: 14px !important;
}
.pb-18px{
    margin-bottom: 18px !important;
}
.pb-20px{
    padding-bottom: 20px !important;
}
.pb-22px{
    padding-bottom: 22px !important;
}
.pb-26px{
    padding-bottom: 26px !important;
}
.pb-28px{
    padding-bottom: 28px !important;
}
.pb-30px{
    padding-bottom: 30px !important;
}

/* Padding Left-Right */
.px-2px{
    padding-left: 2px !important;
    padding-right: 2px !important;
}
.px-6px{
    padding-left: 6px !important;
    padding-right: 6px !important;
}
.px-10px{
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.px-12px{
    padding-left: 12px !important;
    padding-right: 12px !important;
}
.px-14px{
    padding-left: 14px !important;
    padding-right: 14px !important;
}
.px-18px{
    padding-left: 18px !important;
    padding-right: 18px !important;
}
.px-20px{
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.px-22px{
    padding-left: 22px !important;
    padding-right: 22px !important;
}
.px-26px{
    padding-left: 26px !important;
    padding-right: 26px !important;
}
.px-28px{
    padding-left: 28px !important;
    padding-right: 28px !important;
}
.px-30px{
    padding-left: 30px !important;
    padding-right: 30px !important;
}

/* Padding Top-Bottom */
.py-2px{
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}
.py-6px{
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}
.py-10px{
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.py-12px{
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.py-14px{
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}
.py-18px{
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}
.py-20px{
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
.py-22px{
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}
.py-26px{
    padding-top: 26px !important;
    padding-bottom: 26px !important;
}
.py-28px{
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}
.py-30px{
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
/* Common Css End ***
*******************/



/* Other Common Css Start ***
***************************/
/* Button */
/* Button */
.ba-btn-outline-dark, .bab2-btn-outline-dark {
    transition: all 350ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--primaryColor);
    font-size: 16px;
    font-weight: 500;
    padding: 12px 24px;
    border-radius: 4px;
    border: 1px solid var(--primaryColor);
    background: transparent;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.ba-btn-outline-dark:hover, .bab2-btn-outline-dark:hover {
    background: var(--primaryColor);
    color: var(--whiteColor);
    transform: scale(1.02);
}
.ba-btn-outline-dark:active, .bab2-btn-outline-dark:active {
    background: var(--primaryColor) !important;
    color: var(--whiteColor) !important;
    transform: scale(0.98);
}
.ba-btn-outline-dark svg, .bab2-btn-outline-dark svg {
    display: block;
}
.ba-btn-outline-dark path, .bab2-btn-outline-dark path {
    transition: .3s;
    fill: var(--primaryColor);
}
.ba-btn-outline-dark:hover path, .bab2-btn-outline-dark:hover path {
    fill: var(--whiteColor);
}

.bab2-btn-white, .ba-btn-white {
    transition: all 350ms ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 24px;
    border-radius: 4px;
    background: var(--primaryColor);
    color: var(--whiteColor) !important;
    border: 1px solid var(--primaryColor);
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.bab2-btn-white:hover, .ba-btn-white:hover {
    background: transparent;
    color: var(--primaryColor) !important;
    transform: scale(1.02);
}
.bab2-btn-white:active, .ba-btn-white:active {
    transform: scale(0.98);
}
.bab2-btn-white svg, .ba-btn-white svg {
    display: block;
}
.bab2-btn-white path, .ba-btn-white path {
    transition: .3s;
    fill: var(--whiteColor);
}
.bab2-btn-white:hover path, .ba-btn-white:hover path {
    fill: var(--primaryColor);
}

.section-mb{
    margin-bottom: 170px;
}
/* Other Common Css End ***
*************************/



/* Header Css Start ***
*********************/
/* Banner */
.banner-section{
    position: relative;
    margin-bottom: 67px;
    padding-top: 98px;
    margin-top: -98px;
}
.banner-section::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: transparent;
}
.banner-content-area{
    padding-top: 127px;
    padding-bottom: 30px;
}
.bn-title-badge{
    display: inline-flex;
    align-items: center;
    gap: 8.08px;
    padding: 10px 12px;
    border-radius: 40.874px;
    border: 1.135px solid rgba(50, 50, 50, 0.10);
    background: rgba(50, 50, 50, 0.10);
    margin-bottom: 37px;
}
.bn-title-badge .type{
    color: var(--blackColor);
    font-family: "Comic Sans MS";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 133.333%; /* 18.166px */
    letter-spacing: 0.545px;
    padding: 2.271px 6.409px 2.271px 6.812px;
    border-radius: 40.874px;
    background: var(--whiteColor);
    width: fit-content;
}
.bn-title-badge .category{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 21px;
    font-style: normal;
    font-weight: 500;
    line-height: 126.153%; /* 22.708px */
}
.ba-banner-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 69px;
    font-style: normal;
    font-weight: 600;
    line-height: 123.563%; /* 91.436px */
    letter-spacing: -2.22px;
    text-transform: capitalize;
    margin-bottom: 16px;
}
.ba-banner-subtitle{
    color: var(--secondaryColor2);
   /* font-family: 'Onest'; */
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 152.381%; /* 32px */
    margin-bottom: 46px;
}
.ba-btns-wrap{
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ba-banner-slide{
    height: 100%;
    opacity: 0;
    transition: .3s;
    max-width: 742px;
}
.swiper-slide-active .ba-banner-slide{
    opacity: 1;
}
.ba-banner-slider .swiper-slide{
    height: auto;
}
.ba-banner-slider .swiper-wrapper{
    margin-bottom: 98px;
}

.swiper-slide-active .bn-title-badge{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp;
    animation-name: bafadeInUp;
}
.swiper-slide-active .ba-banner-title{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp;
    animation-name: bafadeInUp;
}
.swiper-slide-active .ba-banner-subtitle{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp2;
    animation-name: bafadeInUp2;
}
.swiper-slide-active .ba-btns-wrap{
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-name: bafadeInUp;
    animation-name: bafadeInUp;
}
@keyframes bafadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bafadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* Pagination */
.hero-banner-nav{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    row-gap: 16px;
}
.hero-banner-nav .swiper-pagination {
    position: unset;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 12px;
       -moz-column-gap: 12px;
            column-gap: 12px;
    row-gap: 8px;
    bottom: 0 !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
.hero-banner-nav .swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    border-radius: 0;
    background: var(--whiteColor);
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    opacity: 1;
    margin: 0 0 !important;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.hero-banner-nav .swiper-pagination-bullet-active{
    background: var(--blackColor);
}

.hero-banner-nav .swiper-button-next, 
.hero-banner-nav .swiper-rtl .swiper-button-prev {
    right: unset;
}
.hero-banner-nav .swiper-button-prev, 
.hero-banner-nav .swiper-rtl .swiper-button-next {
    left: unset;
}
.hero-banner-nav .swiper-button-next, 
.hero-banner-nav .swiper-button-prev{
    position: unset;
    margin-top: 0;
    width: 38px;
    height: auto;
    top: unset;
}
.hero-banner-nav .swiper-button-next::after, 
.hero-banner-nav .swiper-button-prev::after{
    display: none;
}
.hero-banner-nav .swiper-button-next.swiper-button-disabled, 
.hero-banner-nav .swiper-button-prev.swiper-button-disabled {
    opacity: .6;
}

.hero-banner-nav .swiper-button-next svg, 
.hero-banner-nav .swiper-button-prev svg{
    display: block;
}
.hero-banner-nav .swiper-button-next path, 
.hero-banner-nav .swiper-button-prev path{
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.hero-banner-nav .swiper-button-next:hover path, 
.hero-banner-nav .swiper-button-prev:hover path{
    fill: var(--whiteColor);
}


/* Benefit */
.benefit-icon{
    margin-bottom: 22px;
}
.benefit-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 26px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.69px;
    margin-bottom: 13px;
}
.benefit-subtitle{
    color: var(--secondaryColor);
   /* font-family: 'Onest'; */
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Section Title */
.section-sm-title{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    display: inline-flex;
    align-items: center;
    column-gap: 10px;
    flex-wrap: wrap;
    text-align: left;
}
.section-sm-title .line{
    height: 21px;
    width: 2px;
    background: var(--blackColor);
    display: inline-block;
}
.section-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 57px;
    font-style: normal;
    font-weight: 500;
    line-height: 136%; /* 68px */
    letter-spacing: -1.5px;
    text-transform: capitalize;
}
.section-subtitle{
    color: var(--secondaryColor2);
   /* font-family: 'Onest'; */
    font-size: 23px;
    font-style: normal;
    font-weight: 300;
    line-height: 170%; /* 34px */
}


.max-w-690px{
    max-width: 690px;
}
.max-w-584px{
    max-width: 584px;
}
.mb-36px{
    margin-bottom: 36px;
}
/* Category */
.category-section-mb{
    margin-bottom: 150px;
}
.category-section-title-area{
    margin-bottom: 64px;
}

.category-slider .swiper-wrapper{
    margin-bottom: 60px;
}
.category-slide:hover .category-subtitle,
.category-slide:hover .category-title{
    color: var(--blackColor);
}
.category-banner{
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 20px;
}
.category-banner .banner{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
    margin-bottom: 20px;
    transition: all 350ms ease;
}
.category-slide:hover .category-banner .banner{
    transform: scale(1.05);
}
.category-title{
    transition: .3s;
    color: var(--secondaryColor2);
    text-align: center;
    font-family: "Bricolage Grotesque";
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    display: block;
    width: fit-content;
    margin: 0 auto 18px auto;
}
.category-title:hover{
    color: var(--secondaryColor2);
}
.category-subtitle{
    color: var(--secondaryColor);
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
/* Pagination */
.category-pagination .swiper-button-next, 
.category-pagination .swiper-rtl .swiper-button-prev {
    right: unset;
}
.category-pagination .swiper-button-prev, 
.category-pagination .swiper-rtl .swiper-button-next {
    left: unset;
}
.category-pagination{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding-bottom: 20px;
}
.category-pagination .swiper-button-next, 
.category-pagination .swiper-button-prev{
    position: unset;
    margin-top: 0;
    width: 44px;
    height: 44px;
    top: unset;
    border-radius: 50%;
    background-color: var(--whiteColor);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 22px 0px rgba(0, 0, 0, 0.14);
    transition: .3s;
}
.category-pagination .swiper-button-next::after, 
.category-pagination .swiper-button-prev::after{
    display: none;
}
.category-pagination .swiper-button-next.swiper-button-disabled, 
.category-pagination .swiper-button-prev.swiper-button-disabled {
    opacity: .6;
}

.category-pagination .swiper-button-next svg, 
.category-pagination .swiper-button-prev svg{
    display: block;
    width: auto;
    height: auto;
}
.category-pagination .swiper-button-next path, 
.category-pagination .swiper-button-prev path{
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.category-pagination .swiper-button-next:hover path, 
.category-pagination .swiper-button-prev:hover path{
    stroke: var(--whiteColor);
}
.category-pagination .swiper-button-next:hover, 
.category-pagination .swiper-button-prev:hover{
    background: var(--blackColor);
}


/* Trending Products */
.tp-section-title-wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    column-gap: 24px;
    row-gap: 20px;
    margin-bottom: 64px;
}
.tp-section-title-left{
    max-width: 800px;
    width: 100%;
}
.tp-section-title-right{
    max-width: 800px;
    width: 100%;
}

.trending-products-wrap{
    margin-bottom: 60px;
}

.product-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid #F0EBE3 !important;
    box-shadow: 0 2px 12px rgba(28, 25, 23, 0.06) !important;
    transition: box-shadow 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
    overflow: hidden;
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    position: relative;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(202, 138, 4, 0.12), 0 2px 8px rgba(28, 25, 23, 0.06) !important;
    border-color: rgba(202, 138, 4, 0.35) !important;
}

.product-card-banner {
    width: 100%;
    border-radius: 0 !important;
    background: #FFFFFF !important;
    border: none !important;
    border-bottom: 1px solid #F5F0EB !important;
    margin-bottom: 0 !important;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.product-card-banner .banner {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Premium Product Badges */
.product-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 10;
    padding: 6px 16px;
    background: var(--goldGradient);
    color: #fff !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-style: italic;
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(200, 150, 12, 0.25);
    text-transform: capitalize;
    letter-spacing: 0.5px;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-badge.badge-maroon {
    background: var(--maroonGradient);
    box-shadow: 0 4px 15px rgba(128, 0, 0, 0.2);
}

.product-badge.badge-rosewood {
    background: var(--blackColor);
    box-shadow: 0 4px 15px rgba(44, 24, 16, 0.2);
}

.product-badge.badge-emerald {
    background: var(--emeraldHeritage);
    box-shadow: 0 4px 15px rgba(26, 77, 46, 0.2);
}

.product-badge.badge-saffron {
    background: var(--saffronHeritage);
    box-shadow: 0 4px 15px rgba(212, 93, 0, 0.2);
}

.product-badge.badge-teal {
    background: var(--kasavuTeal);
    box-shadow: 0 4px 15px rgba(11, 70, 102, 0.2);
}

.product-card:hover .product-card-banner .banner {
    transform: scale(1.05);
}

/* Card body */
.product-card-body {
    padding: 14px 16px 16px !important;
    background: #ffffff;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.product-card-body::before {
    display: none;
}

.product-card-title {
    color: #1C1917 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 4px !important;
    display: block;
    transition: color 0.25s ease;
}

.product-card:hover .product-card-title {
    color: #CA8A04 !important;
}

.product-card-category {
    color: #A8A29E !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 10px !important;
    display: block;
}

.product-card-category::before {
    display: none;
}

.pc-price-rating-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #F0EBE3;
}

.product-card-price {
    color: #1C1917 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0;
    letter-spacing: -0.3px;
}

.pc-rating-wrap {
    display: flex;
    align-items: center;
    gap: 3px;
}

.pc-total-rating {
    color: #C4B99F;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
}

/* New Arrivals */
.new-arrivals-section{
    padding: 95px 0;
    background: transparent;
}
.na-section-title-area{
    margin-bottom: 60px;
}
.max-w-682px{
    max-width: 682px;
}

/* News & Insights */
.ni-section-title-area{
    margin-bottom: 64px;
}
.max-w-712px{
    max-width: 712px;
}
/* Newsletter */
.newsletter-card{
    padding: 50px 24px;
    border-radius: 22px;
    background: var(--backgroundColor);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 94%;
}
.newsletter-img{
    width: fit-content;
    margin: 0 auto 38px auto;
}
.newsletter-card-title{
    color: var(--blackColor);
    text-align: center;
    font-family: "Bricolage Grotesque";
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 146.667%; /* 44px */
    margin-bottom: 44px;
}
.newsletter-form-control{
    margin-bottom: 16.67px;
    width: 100%;
    padding: 14.285px 19.047px 14.285px calc(19.047px + 35px);
    border-radius: 73.807px;
    background-color: var(--whiteColor);
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 21px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-color: transparent;
    background-image: url(../images/svg-icons/sms.svg);
    background-repeat: no-repeat;
    background-size: 28.571px;
    background-position: 19.047px center;
}
.newsletter-form-control::placeholder{
    color: rgba(0, 0, 0, 0.40);
    opacity: 1;
}
.newsletter-form-control:hover{
    border-color: var(--secondaryColor);
}
.newsletter-form-control:focus{
    border-color: var(--secondaryColor);
    color: var(--blackColor);
    background-color: var(--whiteColor);
}

/* Blog */
.blog-list-card{
    width: 100%;
    border-radius: 22px;
    background: var(--lightColor);
    overflow: hidden;
    transition: .3s;
}
.blog-list-card:hover{
    box-shadow: 0px 4px 40px 0px rgba(10, 23, 22, 0.10);
    background: var(--whiteColor);
}
.blog-list-banner{
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.blog-list-banner .banner{
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 22px 0 0 22px;
    transition: all 350ms ease;
}
.blog-list-card:hover .blog-list-banner .banner{
    transform: scale(1.03);
}
.blog-list-body{
    padding: 22px 22px 22px 20px;
}
.blog-datetime-wrap{
    display: flex;
    align-items: center;
    column-gap: 10px;
    row-gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.blog-datetime-wrap .date,
.blog-datetime-wrap .time{
    color: #525252;
   /* font-family: 'Onest'; */
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.blog-datetime-wrap .dot{
    display: block;
    height: 3px;
    width: 3px;
    border-radius: 50%;
    background: #525252;
}
.blog-list-title{
    color: var(--blackColor);
    font-family: "Bricolage Grotesque";
    font-size: 37px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 8px;
    max-width: 395px;
}
.blog-list-subtitle{
    color: #525252;
   /* font-family: 'Onest'; */
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
    margin-bottom: 48px;
    max-width: 369px;
}
.blog-real-btn{
    border: 0;
    display: inline-flex;
    align-items: center;
    column-gap: 3px;
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    transition: .3s;
}
.blog-real-btn svg{
    display: block;
    transition: .3s;
}
.blog-real-btn path{
    transition: .3s;
}
.blog-list-card:hover .blog-real-btn svg{
    transform: translateX(5px);
}

.seasonal-collection-banner{
    overflow: hidden;
    border-radius: 22px;
    width: 100%;
    aspect-ratio: 624 / 700;
    position: relative;
}
.seasonal-collection-banner .banner{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.sc-banner-overlay{
    position: absolute;
    top: 21px;
    right: 27px;
    border-radius: 22px;
    background: #FFFBF3;
    padding: 20px;
    max-width: 313px;
    width: 100%;
}
.scb-overlay-off{
    color: var(--blackColor);
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 11.29px;
}
.scb-overlay-title{
    color: var(--blackColor);
    text-align: center;
    font-family: "Bricolage Grotesque";
    font-size: 29px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 13.71px;
}
.scb-overlay-subtitle{
    color: #525252;
    text-align: center;
   /* font-family: 'Onest'; */
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 157.143%; /* 22px */
}


/* Testimonial */
.tm-section-title-area{
    margin-bottom: 56px;
}
.testimonial-card{
    border-radius: 22px;
    background: var(--lightColor);
    padding: 24px 36px;
    height: 100%;
}
.testimonial-comment{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 25px;
    font-style: normal;
    font-weight: 400;
    line-height: 153.846%; /* 40px */
    margin-bottom: 40px;
}
.tm-user-rating-wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 24px;
    row-gap: 12px;
}
.tm-rating-stars{
    display: flex;
    align-items: center;
    gap: 4px;
}
.tm-star{
    display: block;
}
.tm-user-name{
    color: var(--blackColor);
   /* font-family: 'Onest'; */
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 12px;
}
.tm-user-bio{
    color: #737373;
   /* font-family: 'Onest'; */
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 118.789%; /* 19.006px  */
}

.testimonial-slider .swiper-wrapper{
    margin-bottom: 60px;
}

.testimonial-nav .swiper-pagination {
    position: unset;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 12.67px;
    row-gap: 8px;
    bottom: 0 !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: 100%;
}
.testimonial-nav .swiper-pagination-bullet{
    width: 19.006px;
    height: 19.006px;
    border-radius: 50%;
    background: #E0E0E0;
    opacity: 1;
    margin: 0 0 !important;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.testimonial-nav .swiper-pagination-bullet-active{
    background: var(--blackColor);
}
.testimonial-nav {
    position: static;
}

.testimonial-nav .swiper-button-next, 
.testimonial-nav .swiper-rtl .swiper-button-prev {
    right: -25px;
}
.testimonial-nav .swiper-button-prev, 
.testimonial-nav .swiper-rtl .swiper-button-next {
    left: -25px;
}
.testimonial-nav .swiper-button-next, 
.testimonial-nav .swiper-button-prev{
    position: absolute;
    top: 50%;
    margin-top: -50px;
    transform: translateY(-50%);
    height: 50px;
    width: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--whiteColor);
    box-shadow: 0px 4px 22px 0px rgba(0, 0, 0, 0.08);
    transition: .3s;
    z-index: 10;
}
.testimonial-nav .swiper-button-next:hover, 
.testimonial-nav .swiper-button-prev:hover{
    background-color: var(--blackColor);
}
.testimonial-nav .swiper-button-next svg, 
.testimonial-nav .swiper-button-prev svg{
    width: auto;
    height: auto;
}
.testimonial-nav .swiper-button-next path, 
.testimonial-nav .swiper-button-prev path{
    transition: .3s;
}
.testimonial-nav .swiper-button-next:hover path, 
.testimonial-nav .swiper-button-prev:hover path{
    fill: var(--whiteColor);
}
.testimonial-nav .swiper-button-next::after, 
.testimonial-nav .swiper-button-prev::after{
    display: none;
}

.testimonial-slider{
    overflow: hidden;
}
.testimonial-slider .swiper-slide{
    height: auto;
}
/* Soft Touch UI */
.soft-card {
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,0.05);
    background: var(--whiteColor);
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    overflow: hidden;
    transition: all 0.3s ease;
}
.soft-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

/* Quick Add Button */
.product-card-banner {
    position: relative;
    overflow: hidden;
}
.quick-add-group {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(100%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 10;
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover .quick-add-group {
        opacity: 1;
        transform: translateY(0);
        pointer-events: all;
    }
}

.quick-add-btn {
    width: 100%;
    height: 46px;
    padding: 0 20px;
    background: rgba(28, 25, 23, 0.92);
    backdrop-filter: blur(8px);
    color: #F5D16A;
    border: none;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.25s ease;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    white-space: nowrap;
}

.quick-add-btn:hover {
    background: #CA8A04 !important;
    color: #fff;
    transform: none;
    box-shadow: none;
}




.quantity-selector-group {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border: 1px solid var(--goldGradient);
    border-radius: 100px;
    padding: 4px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    min-width: 120px;
    justify-content: space-between;
}

.qs-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: var(--goldGradient);
    color: #fff;
    border-radius: 50%;
    transition: all 0.2s ease;
    cursor: pointer;
}

.qs-btn:hover {
    background: var(--maroonGradient);
    transform: scale(1.1);
}

.qs-btn svg {
    width: 14px;
    height: 14px;
    stroke: #fff;
}

.qs-qty {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    font-size: 21px;
    color: var(--blackColor);
    min-width: 30px;
    text-align: center;
}

/* Featured Banner */
.featured-banner {
    height: 450px;
    background-color: var(--backgroundColor); /* Fallback */
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}
.featured-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
}
.featured-banner-content {
    position: relative;
    z-index: 2;
    color: #fff;
}
.featured-title {
    font-family: "Bricolage Grotesque";
    font-size: 64px;
    font-weight: 600;
    margin-bottom: 20px;
}




/* Scroll Top Css Start ***
*************************/
.scroll-progress-wrap {
    position: fixed;
    bottom: 40px;
    right: 40px;
    height: 40px;
    width: 40px;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 999px;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
    background: var(--whiteColor);
    border: 1.2px solid rgba(134, 134, 134, 0.12);
}
.scroll-progress-wrap:hover{
    -webkit-animation: waveBtn 2s 1;
            animation: waveBtn 2s 1;
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
}
@-webkit-keyframes waveBtn {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--skinColor);
                box-shadow: 0 0 0 0 var(--skinColor)
    }
    50% {
        -webkit-box-shadow: 0 0 0 20px transparent;
                box-shadow: 0 0 0 20px transparent
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 transparent;
                box-shadow: 0 0 0 0 transparent
    }
}
@keyframes waveBtn {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--skinColor);
                box-shadow: 0 0 0 0 var(--skinColor)
    }
    50% {
        -webkit-box-shadow: 0 0 0 20px transparent;
                box-shadow: 0 0 0 20px transparent
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 transparent;
                box-shadow: 0 0 0 0 transparent
    }
}
.scroll-progress-wrap::after {
    position: absolute;
    content: "\f136";
    font-family: uicons-regular-rounded !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    text-align: center;
    line-height: 40px;
    color: var(--blackColor);
    height: 40px;
    width: 40px;
    cursor: pointer;
    z-index: 1;
    -webkit-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
}
.scroll-progress-wrap.active-scroll-progress {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
.scroll-progress-wrap svg path {
    fill: none;
}
.scroll-progress-wrap svg.scroll-progress-circle path {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    stroke: var(--blackColor);
    stroke-width: 1.2;
    -webkit-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
         -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition-duration: 150ms;
         -o-transition-duration: 150ms;
            transition-duration: 150ms;
    -webkit-transition-duration: 0.4s;
         -o-transition-duration: 0.4s;
            transition-duration: 0.4s;
    -webkit-transition-timing-function: linear;
         -o-transition-timing-function: linear;
            transition-timing-function: linear;
}
/* Scroll Top Css End ***
***********************/

.capitalize{
    text-transform: capitalize !important;
}
/* .ba-btns-wrap .bab2-btn-outline-dark{
    background-color: transparent !important;
} */
 .btn-close-white {
    filter: inherit;
}
/* End of file */

/* ============================================
   OFF-CANVAS CART — Premium Heritage Redesign
   Design DNA: warm cream, Playfair Display,
   gold accents, clean white product zones
   ============================================ */

#offcanvasCart {
    background: #FEF9EE !important;
    width: 400px !important;
    max-width: 100vw;
    border-left: none;
    box-shadow: -8px 0 40px rgba(28, 25, 23, 0.12);
}

/* Gold top accent line */
#offcanvasCart::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #CA8A04 0%, #F5D16A 50%, #CA8A04 100%);
    z-index: 10;
}

/* ── Header ── */
#offcanvasCart .offcanvas-header {
    padding: 24px 24px 18px !important;
    border-bottom: 1px solid rgba(202, 138, 4, 0.15) !important;
    background: #FEF9EE !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#offcanvasCart .offcanvas-header #shoppingCartLabel,
#offcanvasCart .offcanvas-header .al-title-18px {
    font-family: 'Playfair Display', serif !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    letter-spacing: -0.3px;
    margin-bottom: 4px !important;
}

#offcanvasCart .offcanvas-header .al-subtitle-16px {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #A8A29E !important;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    margin: 0 !important;
}

/* Close button — styles live inline in offcanvas_cart_body.blade.php as .oc-close-btn */


/* ── Body / product list ── */
#offcanvasCart .offcanvas-body {
    padding: 16px 24px !important;
    background: #FEF9EE !important;
    overflow-y: auto;
}

#offcanvasCart .product-list-sm-group {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Individual cart item row */
#offcanvasCart .product-list-view-sm {
    background: #fff;
    border-radius: 14px;
    border: 1px solid #F0EBE3;
    padding: 12px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    transition: box-shadow 0.25s ease;
}

#offcanvasCart .product-list-view-sm:hover {
    box-shadow: 0 6px 20px rgba(202, 138, 4, 0.08);
    border-color: rgba(202, 138, 4, 0.2);
}

/* Product thumbnail */
#offcanvasCart .product-list-banner-sm {
    width: 80px;
    height: 80px;
    min-width: 80px;
    border-radius: 10px;
    background: #F8F1E6;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #EEE6D8;
}

#offcanvasCart .product-list-banner-sm .banner {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
}

/* Product title */
#offcanvasCart .product-title-link,
#offcanvasCart .al-title-16px {
    font-family: 'Playfair Display', serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1C1917 !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    display: block;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

#offcanvasCart .product-title-link:hover {
    color: #CA8A04 !important;
}

/* Price */
#offcanvasCart h4.al-title-16px {
    font-family: 'Playfair Display', serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    margin: 0 !important;
}

#offcanvasCart h4.al-title-16px.fsh-text-gray del {
    font-size: 14px !important;
    color: #C4B99F !important;
    font-weight: 400 !important;
}

/* ── Qty controls ── */
#offcanvasCart .quantity-input-wrap {
    display: flex;
    align-items: center;
    background: #F8F1E6;
    border-radius: 8px;
    border: 1px solid #E8E0D5;
    overflow: hidden;
    height: 32px;
}

#offcanvasCart .quantity-btn {
    width: 30px;
    height: 32px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
    flex-shrink: 0;
}

#offcanvasCart .quantity-btn:hover {
    background: rgba(202, 138, 4, 0.12);
}

#offcanvasCart .quantity-btn svg path {
    stroke: #1C1917 !important;
}

#offcanvasCart .quantity-of-product {
    width: 36px;
    height: 32px;
    border: none;
    border-left: 1px solid #E8E0D5;
    border-right: 1px solid #E8E0D5;
    background: transparent;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #1C1917;
    padding: 0;
}

/* Remove button */
#offcanvasCart .product-remove2-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #FEF2F2;
    border: 1px solid #FDE8E8;
    transition: all 0.2s ease;
    flex-shrink: 0;
    text-decoration: none;
}

#offcanvasCart .product-remove2-btn:hover {
    background: #FEE2E2;
    border-color: #FECACA;
}

#offcanvasCart .product-remove2-btn svg path {
    fill: #DC2626 !important;
}

/* Empty cart state */
#offcanvasCart .cartNodata {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    gap: 12px;
}

#offcanvasCart .cartNodata .al-title-18px {
    font-family: 'Playfair Display', serif !important;
    font-size: 18px !important;
    color: #A8A29E !important;
    font-weight: 600 !important;
    text-align: center;
}

/* ── Footer ── */
#offcanvasCart .offcanvas-footer {
    padding: 18px 24px 24px !important;
    background: #fff !important;
    border-top: 1px solid rgba(202, 138, 4, 0.15) !important;
}

#offcanvasCart .chipping-cart-bottom {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Total row */
#offcanvasCart .al-title-20px {
    font-family: 'Playfair Display', serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
}

/* Tax note */
#offcanvasCart .al-subtitle-14px {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    color: #A8A29E !important;
    letter-spacing: 0.2px;
    margin-bottom: 14px !important;
}

/* T&C checkbox */
#offcanvasCart .form-checkbox3-label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    color: #78716C !important;
}

#offcanvasCart .form-checkbox3-input:checked {
    background-color: #CA8A04 !important;
    border-color: #CA8A04 !important;
}

#offcanvasCart .text-link {
    color: #CA8A04 !important;
    text-decoration: underline;
}

/* ── CTA Buttons ── */
#offcanvasCart .fsh-btn-dark,
#offcanvasCart .shopping-cart-btn.btn:not(.fsh-btn-outline-dark) {
    flex: 1;
    background: #1C1917 !important;
    color: #F5D16A !important;
    border: 1.5px solid #1C1917 !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    padding: 13px 16px !important;
    transition: all 0.25s ease !important;
    text-align: center;
}

#offcanvasCart .fsh-btn-dark:hover,
#offcanvasCart .shopping-cart-btn.btn:not(.fsh-btn-outline-dark):hover {
    background: #CA8A04 !important;
    border-color: #CA8A04 !important;
    color: #fff !important;
}

#offcanvasCart .fsh-btn-outline-dark,
#offcanvasCart .btn.fsh-btn-outline-dark {
    flex: 1;
    background: transparent !important;
    color: #1C1917 !important;
    border: 1.5px solid #D6CFC4 !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    padding: 13px 16px !important;
    transition: all 0.25s ease !important;
    text-align: center;
}

#offcanvasCart .fsh-btn-outline-dark:hover,
#offcanvasCart .btn.fsh-btn-outline-dark:hover {
    background: #F8F1E6 !important;
    border-color: #CA8A04 !important;
    color: #CA8A04 !important;
}

/* Buttons flex row */
#offcanvasCart .d-flex.gap-2 {
    gap: 10px !important;
}

/* mb helpers */
#offcanvasCart .mb-20px { margin-bottom: 14px !important; }
#offcanvasCart .mb-30px { margin-bottom: 20px !important; }
#offcanvasCart .mb-12px { margin-bottom: 4px !important; }
/* ============================================================
   HOMEPAGE SPACING — Tighten inter-section gaps
   ============================================================ */
.section-mb {
    margin-bottom: 36px !important;
}
.category-section-mb .row.mb-5 {
    margin-bottom: 20px !important;
}
.tp-section-title-wrap,
.na-section-title-area,
.tm-section-title-area {
    margin-bottom: 20px !important;
}
.royal-divider {
    margin-bottom: 16px !important;
}
