.service-h{
    text-align:center;
}



.service-h img {
    border-radius: 50%;
    width: 100%;
    border: 5px solid #dbdbdb;
    height: 180px;
}
.service-h h3 a {
    font-size: 18px;
    color: #000000;
    font-family: math;
    font-weight: 600;
}

.service-h{
    text-align:center;
    padding:18px 10px;
    transition:.45s ease;
}

.service-img{
    display:block;
    width:160px;
    height:160px;
    margin:auto;
    border-radius:50%;
    overflow:hidden;
    position:relative;
    border:5px solid #ececec;
    transition:.45s ease;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

/* Golden Ring */
.service-img::before{
    content:"";
    position:absolute;
    inset:-8px;
    border:2px solid transparent;
    border-radius:50%;
    transition:.45s ease;
}

.service-h img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
    transition:transform .6s ease;
}

.service-h h3{
    margin-top:1px;
}

.service-h h3 a{
    font-size:18px;
    color:var(--primary-color);
    font-weight:600;
    text-decoration:none;
    transition:.35s ease;
    letter-spacing:.3px;
}

/* ---------------- Hover ---------------- */

.service-h:hover .service-img{
    border-color:var(--secondary-color);
    transform:translateY(-6px);
    box-shadow:0 18px 35px rgba(15,102,116,.18);
}

.service-h:hover .service-img::before{
    inset:-5px;
    border-color:var(--secondary-color);
}

.service-h:hover img{
    transform:scale(1.12) rotate(2deg);
}

.service-h:hover h3 a{
    color:var(--primary-color);
}

.service-h h3 a:hover{
    color:var(--secondary-color);
}

.footer-section{
    padding:60px 0;
    padding-bottom:0;
}

.footer-main-content{
    padding-bottom:30px;
}

/* ===================================
   WHY CHOOSE US SECTION
=================================== */
.why-choose-us-section {
    padding: 100px 0;
    background-color: var(--white-color);
}

.feature-card-premium {
    background: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 40px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}

.feature-card-premium:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border-color: var(--secondary-color);
}

.icon-wrapper-circular {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    transition: background-color 0.4s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.icon-wrapper-circular i {
    font-size: 24px;
    color: var(--primary-color);
    transition: color 0.4s ease, transform 0.4s ease;
}

/* Icon animation on card hover */
.feature-card-premium:hover .icon-wrapper-circular {
    background-color: var(--primary-color);
    transform: scale(1.05);
}

.feature-card-premium:hover .icon-wrapper-circular i {
    color: var(--white-color);
    transform: rotate(360deg);
}

.feature-card-title {
    font-family: var(--heading-font);
    font-size: 20px;
    font-weight: 600;
    color: var(--dark-color);
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.feature-card-desc {
    font-family: var(--body-font);
    font-size: 14px;
    color: var(--text-color);
    line-height: 1.6;
    margin: 0;
    opacity: 0.8;
}

/* ===================================
   OUR PROMISE SECTION
=================================== */
.our-promise-section {
    padding: 80px 0;
    background-color: var(--primary-color);
    color: var(--white-color);
}

.our-promise-section .section-heading .eyebrow {
    color: var(--secondary-color);
}

.our-promise-section .section-heading .eyebrow::before {
    background: linear-gradient(90deg, var(--secondary-color), transparent);
}

.our-promise-section .section-heading .section-title {
    color: var(--white-color);
}

.our-promise-section .section-heading .section-title .text-highlight {
  
        background: var(--secondary-color);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.our-promise-section .section-heading .section-description {
    color: rgba(255, 255, 255, 0.85);
    max-width: 800px;
}

.promise-image-wrapper-center {
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.25);
    max-width: 380px;
    margin: 0 auto;
    aspect-ratio: 4/5;
}

.promise-lifestyle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}

.promise-image-wrapper-center:hover .promise-lifestyle-img {
    transform: scale(1.06);
}

/* Symmetrical Timeline CSS */
.promise-timeline-symmetrical {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.timeline-item-sym {
    display: flex;
    gap: 25px;
    position: relative;
}

/* Desktop layout styles */
@media (min-width: 992px) {
    .item-left {
        text-align: right;
        flex-direction: row; /* Content on left, Marker on right */
    }
    
    .item-right {
        text-align: left;
        flex-direction: row; /* Marker on left, Content on right */
    }
    
    .item-left .timeline-marker-sym {
        order: 2; /* marker on the right */
    }
    
    .item-left .timeline-content-sym {
        order: 1; /* content on the left */
    }
}

/* Mobile/Tablet fallback: all markers on left */
@media (max-width: 991px) {
    .timeline-item-sym {
        flex-direction: row !important;
        text-align: left !important;
        gap: 20px;
    }
    
    .timeline-item-sym .timeline-marker-sym {
        order: 1 !important;
    }
    
    .timeline-item-sym .timeline-content-sym {
        order: 2 !important;
    }
}

.timeline-marker-sym {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex-shrink: 0;
    width: 20px;
}

.marker-circle {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--secondary-color);
    background-color: var(--primary-color);
    z-index: 2;
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.timeline-item-sym:hover .marker-circle {
    background-color: var(--secondary-color);
    transform: scale(1.2);
}

.marker-line {
    width: 1px;
    background-color: rgba(255, 255, 255, 0.25);
    flex-grow: 1;
    position: absolute;
    top: 12px;
    bottom: -40px; /* Connects items nicely */
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.timeline-content-sym {
    display: flex;
    flex-direction: column;
    padding-top: 0px;
    transition: transform 0.3s ease;
    flex-grow: 1;
}

.timeline-item-sym:hover .timeline-content-sym {
    transform: translateX(5px);
}

@media (min-width: 992px) {
    .item-left:hover .timeline-content-sym {
        transform: translateX(-5px); /* Slide left on hover on left column */
    }
}

.timeline-number {
    font-family: var(--heading-font);
    font-size: 11px;
    font-weight: 700;
    color: var(--secondary-color);
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.timeline-title {
    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 600;
    color: var(--white-color);
    margin-bottom: 8px;
}

.timeline-desc {
    font-family: var(--body-font);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin: 0;
}

.promise-cta {
    margin-top: 20px;
}

/* Button override for dark background */
.promise-cta .btn-primary.theme-btn2 {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: var(--dark-color);
}

.promise-cta .btn-primary.theme-btn2::before,
.promise-cta .btn-primary.theme-btn2::after {
    background-color: var(--white-color);
}

.promise-cta .btn-primary.theme-btn2:hover {
    color: var(--primary-color) !important;
    border-color: var(--white-color);
}

/* ===================================
   SHOP BY OCCASION SECTION
=================================== */
.shop-by-occasion-section {
    padding: 100px 0;
    background-color: var(--white-color);
}

.occasion-card {
    display: block;
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s ease;
}

.occasion-card.large-card {
    height: 450px;
}

.occasion-card.small-card {
    height: 380px;
}

/* Tablet/Mobile height responsiveness */
@media (max-width: 991px) {
    .occasion-card.large-card,
    .occasion-card.small-card {
        height: 350px;
    }
}

.occasion-img-wrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.occasion-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.occasion-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.1) 100%);
    transition: background 0.4s ease;
}

.occasion-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 40px 30px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.occasion-title {
    font-family: var(--heading-font);
    font-size: 24px;
    font-weight: 700;
    color: var(--white-color);
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.occasion-card.small-card .occasion-title {
    font-size: 20px;
}

.occasion-desc {
    font-family: var(--body-font);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin-bottom: 20px;
    max-width: 90%;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.occasion-cta {
    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 600;
    color: var(--secondary-color);
    letter-spacing: 1px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease, transform 0.3s ease;
}

.occasion-cta i {
    font-size: 12px;
    transition: transform 0.3s ease;
}

/* Hover effects (300ms smooth transitions) */
.occasion-card:hover {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}

.occasion-card:hover .occasion-img {
    transform: scale(1.06);
}

.occasion-card:hover .occasion-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 60%, rgba(0, 0, 0, 0.2) 100%);
}

.occasion-card:hover .occasion-cta {
    color: var(--white-color);
}

.occasion-card:hover .occasion-cta i {
    transform: translateX(5px);
}

/* ===================================
   FAQ SECTION
=================================== */
.faq-section {
    padding: 100px 0;
    background-color: #f4ebe2;
}

.faq-section .support-badge {
    background-color: rgba(15, 102, 116, 0.1);
    border: 1px solid rgba(15, 102, 116, 0.2);
    color: var(--primary-color);
}

.faq-section .section-heading .eyebrow {
    color: var(--primary-color);
}

.faq-section .section-heading .eyebrow::before {
    background: linear-gradient(90deg, var(--primary-color), transparent);
}

.faq-section .section-heading .section-title {
    color: var(--dark-color);
}

.faq-section .section-heading .section-title .text-highlight {
    color: var(--primary-color);
}

.faq-section .section-heading .section-description {
    color: rgba(0, 0, 0, 0.8);
    max-width: 800px;
}

.faq-left-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.faq-illustration-wrapper {
    width: 100%;
    max-width: 320px;
    border-radius: var(--border-radius);
    overflow: hidden;
    margin-top: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.faq-illustration {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Custom FAQ Accordion */
.premium-faq-accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-border-color: transparent;
    border: none !important;
}

.faq-item {
    background: var(--white-color) !important;
    border-radius: var(--border-radius) !important;
    border: 1px solid transparent !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 16px;
    overflow: hidden;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.faq-item:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

.faq-btn {
    background: transparent !important;
    color: var(--dark-color) !important;
    font-family: var(--heading-font);
    font-size: 17px;
    font-weight: 600;
    padding: 24px 30px !important;
    box-shadow: none !important;
    border: none !important;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    transition: color 0.3s ease;
}

/* Remove default Bootstrap focus ring */
.faq-btn:focus {
    box-shadow: none !important;
}

/* Hide default Bootstrap accordion arrow icon */
.faq-btn::after {
    display: none !important;
}

.faq-btn:not(.collapsed) {
    color: var(--primary-color) !important;
}

/* Minimal text +/- toggle */
.faq-icon-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--heading-font);
    font-size: 24px;
    font-weight: 300;
    color: var(--dark-color);
    transition: color 0.3s ease, transform 0.3s ease;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    line-height: 1;
}

.faq-btn:not(.collapsed) .faq-icon-toggle {
    color: var(--primary-color);
    transform: rotate(180deg);
}

.faq-icon-toggle::before {
    content: "+";
}

.faq-btn:not(.collapsed) .faq-icon-toggle::before {
    content: "\2212"; /* Mathematical minus sign */
}

.faq-body {
    padding: 0 30px 24px 30px !important;
    color: var(--text-color);
    font-family: var(--body-font);
    font-size: 14px;
    line-height: 1.6;
    opacity: 0.8;
}

.section-description {
   
   
    font-size: 14px;
    line-height: 28px;
}

/* ===================================
   FLOATING WHATSAPP BUTTON
=================================== */
.whatsapp-float-btn {
    position: fixed;
    right: 30px;
    bottom: 30px;
    width: 60px;
    height: 60px;
    background-color: #25D366;
    border: 4px solid var(--white-color);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white-color) !important;
    font-size: 32px;
    z-index: 997;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, bottom 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none !important;
}

.whatsapp-float-btn.has-back-to-top-active {
    bottom: 30px; /* 30px + 50px (back-to-top height) + 15px (spacing) */
}

.whatsapp-float-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

/* White WhatsApp icon inside */
.whatsapp-float-btn i {
    z-index: 2;
}

/* Tooltip style */
.whatsapp-tooltip {
    position: absolute;
    right: 75px;
    background-color: #333333;
    color: var(--white-color);
    padding: 6px 12px;
    font-family: var(--body-font);
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

.whatsapp-float-btn:hover .whatsapp-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Subtle ripple pulse effect every 5 seconds */
.whatsapp-float-btn::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background-color: #25D366;
    opacity: 0;
    z-index: 1;
    animation: whatsappPulse 5s ease-in-out infinite;
}

/* Pulse stops on hover */
.whatsapp-float-btn:hover::before {
    animation: none;
}

@keyframes whatsappPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 0;
    }
    5% {
        opacity: 0.4;
    }
    15% {
        transform: scale(1.3);
        opacity: 0;
    }
}

/* Responsive configurations */
@media (max-width: 991px) {
    .whatsapp-float-btn {
        right: 24px;
        bottom: 24px;
        width: 56px;
        height: 56px;
        font-size: 28px;
        border-width: 3px;
    }
    .whatsapp-float-btn.has-back-to-top-active {
        bottom: 86px; /* 24px + 50px + 12px spacing */
    }
    .whatsapp-tooltip {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .whatsapp-float-btn {
        right: 20px;
        bottom: 20px;
        width: 54px;
        height: 54px;
        font-size: 26px;
    }
    .whatsapp-float-btn.has-back-to-top-active {
        bottom: 82px; /* 20px + 50px + 12px spacing */
    }
}

/* ===================================
   ABOUT OUR STORY SECTION
=================================== */
.about-story-section {
    padding: 80px 0;
    background-color: var(--white-color);
    overflow: visible;
}

@media (min-width: 992px) {
    .story-left-col {
        flex: 0 0 48% !important;
        max-width: 48% !important;
    }
    .story-right-col {
        flex: 0 0 52% !important;
        max-width: 52% !important;
    }
}

.story-image-wrapper {
    position: relative;
    padding: 20px 0 20px 20px;
}

/* Subtle decorative background shape in primary color (6% opacity) */
.story-image-bg-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    background-color: rgba(15, 102, 116, 0.06);
    border-radius: 24px;
    z-index: 1;
}

.story-img-container {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    z-index: 2;
    transform: translate(15px, 15px);
    aspect-ratio: 4/5;
}

.story-lifestyle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.story-img-container:hover .story-lifestyle-img {
    transform: scale(1.03);
}

/* Content column elements */
.story-content-wrapper {
    padding-left: 20px;
}

@media (max-width: 991px) {
    .story-content-wrapper {
        padding-left: 0;
        margin-top: 40px;
    }
    .story-image-wrapper {
        padding: 10px 0 10px 10px;
        max-width: 500px;
        margin: 0 auto;
    }
    .story-img-container {
        transform: translate(10px, 10px);
    }
}

.about-story-section .eyebrow {
    color: var(--primary-color);
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 12px;
}

.about-story-section .section-title {
    color: var(--dark-color);
    margin-bottom: 24px;
}

.story-text {
    font-family: var(--body-font);
    font-size: 15px;
    line-height: 1.8;
    color: #555555;
    margin-bottom: 20px;
}

/* Highlight strip (wrapping automatically on mobile) */
.story-highlight-strip {
    display: flex;
    gap: 24px;
    margin: 35px 0;
    flex-wrap: wrap;
    align-items: center;
}

.highlight-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.highlight-icon {
    font-size: 14px;
    color: var(--primary-color);
}

.highlight-text {
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 600;
    color: var(--dark-color);
    letter-spacing: 0.5px;
}

.story-cta {
    margin-top: 30px;
}

/* ===================================
   MISSION VISION VALUES SECTION
=================================== */
.philosophy-section {
    padding: 80px 0;
    background-color: #f4ebe2;
}

.philosophy-card {
    background: var(--white-color);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    border-top: 4px solid var(--primary-color);
    padding: 40px 35px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, border-top-color 0.3s ease;
    display: flex;
    flex-direction: column;
}

.philosophy-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border-top-color: var(--secondary-color); /* changes to secondary gold on hover */
}

.philosophy-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.philosophy-label {
    font-family: var(--body-font);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--secondary-color);
}

.philosophy-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: rgba(15, 102, 116, 0.05);
    border: 1px solid rgba(15, 102, 116, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 18px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.philosophy-card:hover .philosophy-icon {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white-color) !important;
    transform: rotate(8deg) scale(1.05);
}

.philosophy-title {
    font-family: var(--heading-font);
    font-size: 22px;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 18px;
    letter-spacing: 0.5px;
}

.philosophy-desc {
    font-family: var(--body-font);
    font-size: 14.5px;
    line-height: 1.7;
    color: #555555;
    margin: 0;
}

/* Elegant values checklist spacing */
.philosophy-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.philosophy-list li {
    display: flex;
    align-items: center;
    gap: 12px;
}

.philosophy-list li i {
    font-size: 14px;
    color: var(--primary-color);
}

.philosophy-list li span {
    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 500;
    color: #555555;
}

/* Adjustments for tablet centering / spacing */
@media (max-width: 991px) {
    .philosophy-card {
        padding: 35px 30px;
    }
}

/* ===================================
   ABOUT WHY CHOOSE SECTION
=================================== */
.about-why-choose-section {
    padding: 80px 0;
    background-color: #f4ebe2; /* Soft background */
}

@media (min-width: 992px) {
    .choose-left-col {
        flex: 0 0 45% !important;
        max-width: 45% !important;
    }
    .choose-right-col {
        flex: 0 0 55% !important;
        max-width: 55% !important;
    }
}

.choose-image-container {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    height: 100%;
}

.choose-lifestyle-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.choose-image-container:hover .choose-lifestyle-img {
    transform: scale(1.03);
}

/* Elegant right side content panel */
.choose-panel {
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 50px 45px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

@media (max-width: 991px) {
    .choose-panel {
        padding: 40px 30px;
        margin-top: 40px;
    }
    .choose-image-container {
        max-width: 500px;
        margin: 0 auto;
        height: auto;
        aspect-ratio: 4/5;
    }
}

.choose-panel .eyebrow {
    color: var(--primary-color);
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 12px;
}

.choose-panel .section-title {
    color: var(--dark-color);
    margin-bottom: 20px;
}

.choose-panel-desc {
    font-family: var(--body-font);
    font-size: 14.5px;
    line-height: 1.7;
    color: #666666;
    margin-bottom: 30px;
}

/* Feature row styling with light dividers */
.choose-features-list {
    display: flex;
    flex-direction: column;
}

.choose-feature-row {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 24px 0;
    border-bottom: 1px solid #f0f0f0;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.choose-feature-row:first-child {
    padding-top: 10px;
}

.choose-feature-row:last-child {
    border-bottom: 0;
    padding-bottom: 10px;
}

/* Hover shift effect */
.choose-feature-row:hover {
    transform: translateX(4px);
}

/* Minimal circular outline icon */
.choose-feature-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(15, 102, 116, 0.2);
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 15px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.choose-feature-row:hover .choose-feature-icon {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white-color) !important;
}

.choose-feature-title {
    font-family: var(--heading-font);
    font-size: 16px;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 6px;
}

.choose-feature-desc {
    font-family: var(--body-font);
    font-size: 13.5px;
    line-height: 1.6;
    color: #666666;
    margin: 0;
}

/* ===================================
   BRAND QUOTE / PHILOSOPHY SECTION
=================================== */
.brand-quote-section {
    position: relative;
    padding: 110px 0;
    background-color: var(--primary-color);
    text-align: center;
    overflow: hidden;
}

/* Elegant repeating background pattern at 4% opacity, inverted for dark background */
.brand-quote-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../images/quote-pattern.png');
    background-repeat: repeat;
    background-size: 240px;
    opacity: 0.04;
    filter: invert(1);
    pointer-events: none;
    z-index: 1;
}

.quote-content-container {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
    z-index: 2;
}

.quote-divider {
    width: 60px;
    height: 1px;
    background-color: var(--white-color);
    opacity: 0.2;
    margin: 0 auto;
}

.quote-divider-top {
    margin-bottom: 35px;
}

.quote-divider-bottom {
    margin-top: 25px;
    margin-bottom: 25px;
}

.quote-icon {
    font-size: 56px;
    color: var(--white-color);
    opacity: 0.15; /* 15% opacity */
    line-height: 1;
    margin-bottom: 20px;
}

.quote-main-text {
    font-family: var(--heading-font);
    font-size: 30px;
    line-height: 1.5;
    font-weight: 600;
    color: var(--white-color);
    margin: 0 auto 30px auto;
    font-style: normal;
    letter-spacing: 0.2px;
}

.quote-signature {
    font-family: var(--heading-font);
    font-size: 16px;
    font-weight: 700;
    color: var(--secondary-color); /* Gold signature accent */
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 10px;
}

/* Responsiveness for Quote Font Size */
@media (max-width: 991px) {
    .brand-quote-section {
        padding: 90px 0;
    }
    .quote-main-text {
        font-size: 24px;
    }
}

@media (max-width: 767px) {
    .brand-quote-section {
        padding: 80px 0;
    }
    .quote-main-text {
        font-size: 20px;
        line-height: 1.6;
    }
    .quote-icon {
        font-size: 46px;
    }
}

/* ===================================
   SHOP COLLECTION CTA SECTION
=================================== */
.about-cta-section {
    padding: 80px 0;
    background-color: var(--white-color);
}

.about-cta-wrapper {
    position: relative;
    background-color: #f4ebe2;
    border-radius: 24px;
    padding: 80px 40px;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.03);
    overflow: hidden;
}

/* Corner pattern decorations using existing pattern */
.cta-pattern {
    position: absolute;
    width: 180px;
    height: 180px;
    background-image: url('../images/quote-pattern.png');
    background-repeat: repeat;
    background-size: 120px;
    opacity: 0.04;
    pointer-events: none;
    z-index: 1;
}

.cta-pattern-left {
    top: -40px;
    left: -40px;
    transform: rotate(15deg);
}

.cta-pattern-right {
    bottom: -40px;
    right: -40px;
    transform: rotate(-165deg);
}

.cta-content {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    z-index: 2;
}

.cta-content .eyebrow {
    color: var(--primary-color);
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 12px;
}

.cta-content .section-title {
    color: var(--dark-color);
    margin-bottom: 20px;
}

.cta-desc {
    font-family: var(--body-font);
    font-size: 15px;
    line-height: 1.8;
    color: #555555;
    max-width: 600px;
    margin-bottom: 35px;
}

.cta-action {
    margin-top: 20px;
}

@media (max-width: 767px) {
    .about-cta-wrapper {
        padding: 60px 24px;
    }
    .cta-desc {
        font-size: 14px;
        margin-bottom: 25px;
    }
    .cta-pattern {
        width: 120px;
        height: 120px;
        background-size: 90px;
    }
}

/* ===================================
   CTA ENHANCED ANIMATIONS
=================================== */

/* Radial glow effect - Breathing Animation */
.cta-glow-effect {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(15, 102, 116, 0.08) 0%, rgba(255,255,255,0) 70%);
    opacity: 0.8;
    filter: blur(60px);
    pointer-events: none;
    z-index: 1;
    animation: ctaGlowBreath 15s ease-in-out infinite alternate;
}

@keyframes ctaGlowBreath {
    0% {
        transform: translate(-50%, -50%) scale(0.95);
        opacity: 0.6;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.05);
        opacity: 0.9;
    }
}

/* Background Pattern Drift and Scroll Parallax */
.cta-pattern {
    transition: transform 0.4s cubic-bezier(0.1, 0.8, 0.2, 1);
}

.cta-pattern-left {
    animation: ctaPatternDriftLeft 25s ease-in-out infinite alternate;
}

.cta-pattern-right {
    animation: ctaPatternDriftRight 25s ease-in-out infinite alternate;
}

@keyframes ctaPatternDriftLeft {
    0% {
        transform: rotate(15deg) translate3d(0, calc(var(--scroll-offset, 0px) - 4px), 0);
    }
    100% {
        transform: rotate(15deg) translate3d(8px, calc(var(--scroll-offset, 0px) + 4px), 0);
    }
}

@keyframes ctaPatternDriftRight {
    0% {
        transform: rotate(-165deg) translate3d(0, calc(var(--scroll-offset, 0px) + 4px), 0);
    }
    100% {
        transform: rotate(-165deg) translate3d(-8px, calc(var(--scroll-offset, 0px) - 4px), 0);
    }
}

/* While hovering container, patterns shift slightly */
.about-cta-wrapper:hover .cta-pattern-left {
    filter: brightness(1.05);
}

.about-cta-wrapper:hover .cta-pattern-right {
    filter: brightness(1.05);
}

/* Particle Bases */
.cta-particle {
    position: absolute;
    pointer-events: none;
    z-index: 1;
    color: var(--primary-color);
}

/* Outlines and shapes */
.cta-circle-outline {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid var(--primary-color);
    opacity: 0.15;
}

.cta-organic-blob {
    width: 32px;
    height: 24px;
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    background-color: var(--primary-color);
    opacity: 0.05;
}

.cta-organic-blob-small {
    width: 18px;
    height: 18px;
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    background-color: var(--primary-color);
    opacity: 0.04;
}

.cta-particle i {
    opacity: 0.1;
    font-size: 14px;
    transition: transform 8s linear;
}

/* Hover rotation for sparkles / asterisks */
.about-cta-wrapper:hover .cta-particle i {
    transform: rotate(180deg);
}

/* Positioning of 6 particles */
.cta-particle-1 { top: 20%; left: 8%; }
.cta-particle-2 { top: 70%; left: 12%; }
.cta-particle-3 { top: 15%; right: 12%; }
.cta-particle-4 { top: 75%; right: 8%; }
.cta-particle-5 { top: 45%; left: 18%; }
.cta-particle-6 { top: 50%; right: 20%; }

/* Parallax Mover layer */
.cta-particle-parallax {
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Different depth layers for 3D parallax */
.cta-particle-1 .cta-particle-parallax { transform: translate3d(calc(var(--parallax-x, 0px) * 0.7), calc(var(--parallax-y, 0px) * 0.7), 0); }
.cta-particle-2 .cta-particle-parallax { transform: translate3d(calc(var(--parallax-x, 0px) * -0.9), calc(var(--parallax-y, 0px) * -0.9), 0); }
.cta-particle-3 .cta-particle-parallax { transform: translate3d(calc(var(--parallax-x, 0px) * 1.0), calc(var(--parallax-y, 0px) * 1.0), 0); }
.cta-particle-4 .cta-particle-parallax { transform: translate3d(calc(var(--parallax-x, 0px) * -0.6), calc(var(--parallax-y, 0px) * -0.6), 0); }
.cta-particle-5 .cta-particle-parallax { transform: translate3d(calc(var(--parallax-x, 0px) * 0.5), calc(var(--parallax-y, 0px) * -0.5), 0); }
.cta-particle-6 .cta-particle-parallax { transform: translate3d(calc(var(--parallax-x, 0px) * -0.8), calc(var(--parallax-y, 0px) * 0.8), 0); }

/* Ambient Floating Movements */
.cta-particle-mover {
    will-change: transform;
}

.cta-particle-1 .cta-particle-mover { animation: ctaFloat1 14s ease-in-out infinite alternate; }
.cta-particle-2 .cta-particle-mover { animation: ctaFloat2 18s ease-in-out infinite alternate; }
.cta-particle-3 .cta-particle-mover { animation: ctaFloat3 16s ease-in-out infinite alternate; }
.cta-particle-4 .cta-particle-mover { animation: ctaFloat4 20s ease-in-out infinite alternate; }
.cta-particle-5 .cta-particle-mover { animation: ctaFloat5 15s ease-in-out infinite alternate; }
.cta-particle-6 .cta-particle-mover { animation: ctaFloat6 17s ease-in-out infinite alternate; }

@keyframes ctaFloat1 {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(10px, -12px, 0); }
}
@keyframes ctaFloat2 {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-12px, 8px, 0); }
}
@keyframes ctaFloat3 {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(8px, 10px, 0); }
}
@keyframes ctaFloat4 {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-10px, -14px, 0); }
}
@keyframes ctaFloat5 {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(12px, -8px, 0); }
}
@keyframes ctaFloat6 {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-8px, 12px, 0); }
}

/* Button Pulse and Hover Shift */
.about-cta-section .theme-btn2 {
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease;
    animation: btnAmbientPulse 7s infinite ease-in-out;
}

.about-cta-section .theme-btn2:hover {
    animation: none; /* Stops pulse on hover */
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(15, 102, 116, 0.25) !important;
}

@keyframes btnAmbientPulse {
    0%, 100% {
        box-shadow: 0 4px 14px rgba(15, 102, 116, 0.12);
    }
    50% {
        box-shadow: 0 4px 28px rgba(15, 102, 116, 0.35);
    }
}

/* Tablet & Mobile Constraints */
@media (max-width: 991px) {
    .cta-particle-parallax {
        transform: none !important; /* Disable mouse parallax */
    }
    
    /* Reduce floating motion by 50% on Tablet */
    @keyframes ctaFloat1 { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(5px, -6px, 0); } }
    @keyframes ctaFloat2 { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(-6px, 4px, 0); } }
    @keyframes ctaFloat3 { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(4px, 5px, 0); } }
    @keyframes ctaFloat4 { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(-5px, -7px, 0); } }
    @keyframes ctaFloat5 { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(6px, -4px, 0); } }
    @keyframes ctaFloat6 { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(-4px, 6px, 0); } }
    
    .cta-particle-5, .cta-particle-6 {
        display: none !important; /* simplify display on tablets */
    }
}

@media (max-width: 767px) {
    /* Mobile: Keep only very slow background drift, hide extra items */
    .cta-particle-1, .cta-particle-2, .cta-particle-3, .cta-particle-4 {
        display: none !important;
    }
    .cta-glow-effect {
        display: none !important;
    }
}

/* ===================================
   CATEGORY INTRODUCTION SECTION
=================================== */
.category-intro-section {
    padding: 60px 0 50px 0;
    background-color: var(--white-color);
}

.category-intro-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.category-intro-content .section-heading {
    margin-bottom: 24px;
}

.category-intro-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.category-intro-line {
    width: 40px;
    height: 1px;
    background-color: var(--primary-color);
    opacity: 0.25;
}

.category-intro-icon {
    font-size: 10px;
    color: var(--primary-color);
    opacity: 0.35;
}

@media (max-width: 767px) {
    .category-intro-section {
        padding: 50px 0 40px 0;
    }
}

/* ===================================
   AJAX PRODUCT FILTER & LISTING SECTION
=================================== */
.category-filter-listing-section {
    padding: 60px 0 80px 0;
    background-color: var(--white-color);
    overflow: unset;
}

/* Sidebar Wrapper & Header */
.category-filter-sidebar {
    background-color: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.015);
}

@media (min-width: 992px) {
    .category-filter-sidebar {
        position: sticky;
        top: 0px;
        z-index: 10;
      
        overflow-y: auto;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE and Edge */
    }
    .category-filter-sidebar::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }
}

.category-filter-sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 16px;
    margin-bottom: 24px;
}

.category-filter-sidebar-header h4 {
    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 700;
    color: var(--dark-color);
    margin: 0;
}

.category-filter-close-btn {
    background: none;
    border: none;
    font-size: 20px;
    color: var(--dark-color);
    cursor: pointer;
    padding: 4px;
}

/* Filter Widgets */
.category-filter-widget {
    margin-bottom: 30px;
}

.category-filter-widget:last-of-type {
    margin-bottom: 24px;
}

.category-filter-widget-title {
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;
    color: var(--dark-color);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 18px;
}

/* Search widget */
.category-filter-search-box {
    position: relative;
}

.category-filter-search-box input {
    height: 46px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-family: var(--body-font);
    font-size: 13.5px;
    padding: 0 45px 0 16px;
    box-shadow: none !important;
}

.category-filter-search-box input:focus {
    border-color: var(--primary-color);
}

.category-filter-search-box .search-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-color);
    opacity: 0.6;
    pointer-events: none;
    font-size: 14px;
}

/* Checkbox options */
.category-filter-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.category-filter-checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
}

.category-filter-checkbox-label input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: var(--primary-color);
    cursor: pointer;
}

.category-filter-checkbox-label span {
    font-family: var(--body-font);
    font-size: 14px;
    color: #555555;
    transition: color 0.2s ease;
}

.category-filter-checkbox-label:hover span {
    color: var(--primary-color);
}

/* Price Dual Range Slider */
.category-filter-price-slider-container {
    padding-top: 10px;
}

.category-filter-price-inputs-wrapper {
    position: relative;
    height: 5px;
    background-color: #E6E6E6;
    border-radius: 10px;
    margin-bottom: 24px;
}

.category-filter-price-slider-track {
    position: absolute;
    height: 100%;
    background-color: var(--primary-color);
    border-radius: 10px;
}

.price-slider-input {
    position: absolute;
    width: 100%;
    height: 5px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    top: 0;
    left: 0;
    margin: 0;
}

/* Style range slider thumbs */
.price-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--primary-color);
    border: 2px solid #FFFFFF;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    cursor: pointer;
    pointer-events: auto;
    transition: transform 0.15s ease;
}

.price-slider-input::-webkit-slider-thumb:hover {
    transform: scale(1.2);
}

.price-slider-input::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--primary-color);
    border: 2px solid #FFFFFF;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    cursor: pointer;
    pointer-events: auto;
    transition: transform 0.15s ease;
}

.price-slider-input::-moz-range-thumb:hover {
    transform: scale(1.2);
}

.category-filter-price-display {
    display: flex;
    justify-content: space-between;
    font-family: var(--body-font);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--dark-color);
}

/* Sizes filter */
.category-filter-size-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-filter-size-list li {
    padding: 8px 14px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    font-family: var(--body-font);
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.category-filter-size-list li:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.category-filter-size-list li.active {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white-color) !important;
}

/* Colors Swatch */
.category-filter-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.category-filter-color-swatch-item {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: transform 0.2s ease, border-color 0.2s ease;
    box-shadow: inset 0 0 0 2px #ffffff, 0 1px 4px rgba(0,0,0,0.15);
}

.category-filter-color-swatch-item:hover {
    transform: scale(1.1);
}

.category-filter-color-swatch-item.active {
    border-color: var(--primary-color);
}

/* Right Side: Toolbar */
.category-filter-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 16px;
    margin-bottom: 24px;
}

.category-filter-results-count {
    font-family: var(--body-font);
    font-size: 14.5px;
    color: #666666;
}

.category-filter-sort-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.category-filter-sort-box label {
    font-family: var(--body-font);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--dark-color);
    margin: 0;
    white-space: nowrap;
}

.category-filter-sort-box select {
    padding: 8px 36px 8px 16px;
    font-family: var(--body-font);
    font-size: 13.5px;
    font-weight: 600;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    color: var(--dark-color);
    background-color: var(--white-color);
    box-shadow: none !important;
}

.category-filter-sort-box select:focus {
    border-color: var(--primary-color);
}

/* Active Filter Chips */
.category-filter-active-chips-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 24px;
    padding: 10px 14px;
    background-color: #FDFDFD;
    border: 1px solid #EDEDED;
    border-radius: 8px;
}

.category-filter-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.category-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background-color: #f4ebe2;
    border-radius: 50px;
    font-family: var(--body-font);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--primary-color);
}

.category-filter-chip i {
    cursor: pointer;
    font-size: 10px;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.category-filter-chip i:hover {
    opacity: 1;
}

.category-filter-clear-chips-btn {
    background: none;
    border: none;
    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    color: #A93226;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
}

/* Mobile Toggle button */
.category-filter-mobile-toggle-btn {
    width: 100%;
    margin-bottom: 24px;
    padding: 14px;
    background-color: var(--primary-color);
    color: var(--white-color) !important;
    border: none;
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(15, 102, 116, 0.15);
}

/* Empty State Styling */
.category-filter-empty-state {
    text-align: center;
    padding: 60px 40px;
    background-color: #FAFAFA;
    border: 2px dashed var(--border-color);
    border-radius: 12px;
    margin: 20px 0;
}

.category-filter-empty-state .empty-state-icon {
    font-size: 52px;
    color: var(--primary-color);
    opacity: 0.25;
    margin-bottom: 20px;
}

.category-filter-empty-state h3 {
    font-family: var(--heading-font);
    font-size: 20px;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 8px;
}

.category-filter-empty-state p {
    font-family: var(--body-font);
    font-size: 14px;
    color: #666666;
    margin-bottom: 24px;
}

/* Skeleton Loading cards */
.category-filter-skeleton-card {
    background-color: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 16px;
}

.skeleton-media {
    background-color: #EAEAEA;
    aspect-ratio: 3/4;
    border-radius: 6px;
    margin-bottom: 15px;
    position: relative;
    overflow: hidden;
}

.skeleton-info {
    padding: 0 6px 6px 6px;
}

.skeleton-line {
    height: 12px;
    background-color: #EAEAEA;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

.skeleton-title-line {
    width: 75%;
    margin-bottom: 10px;
}

.skeleton-price-line {
    width: 40%;
}

.skeleton-media::after,
.skeleton-line::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
    transform: translateX(-100%);
    animation: shimmer 1.6s infinite;
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

/* Pagination Listing */
.category-filter-pagination-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.pagination-list {
    display: flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination-list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    font-family: var(--body-font);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--dark-color);
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pagination-list li.active a,
.pagination-list li a:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--white-color) !important;
}

/* Mobile backdrop & Drawer transitions */
.category-filter-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    pointer-events: none;
    z-index: 1040;
    transition: opacity 0.30s ease;
}

.category-filter-backdrop.open {
    opacity: 1;
    pointer-events: auto;
}

/* Collapsible and slide in settings for responsive */
@media (max-width: 991px) {
    .category-filter-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        width: 320px;
        height: 100vh;
        z-index: 1050;
        transform: translateX(-100%);
        transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        overflow-y: auto;
        border-radius: 0;
        box-shadow: 15px 0 40px rgba(0, 0, 0, 0.1);
        padding: 30px 24px;
    }
    
    .category-filter-sidebar.open {
        transform: translateX(0);
    }
    
    body.no-scroll {
        overflow: hidden;
    }
}

/* Hide wishlist button on category listing page product cards */
.category-filter-listing-section .product-actions .action-btn[title*="Wishlist"] {
    display: none !important;
}

/* ===================================
   CATEGORY FAQ SECTION
   =================================== */
.category-faq-section {
    background-color: #f4ebe2;
    padding: 80px 0;
}

.category-faq-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.category-faq-header {
    margin-bottom: 48px;
}

.category-faq-eyebrow {
    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--primary-color);
    display: block;
    margin-bottom: 12px;
}

.category-faq-title {
    font-family: var(--heading-font);
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 16px;
    line-height: 1.2;
}

.category-faq-description {
    font-family: var(--body-font);
    font-size: 16px;
    color: #555555;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.category-faq-accordion-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.category-faq-item {
    background-color: var(--white-color);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.category-faq-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.category-faq-trigger {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 30px;
    text-align: left;
    cursor: pointer;
    outline: none;
}

.category-faq-question {
    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 600;
    color: var(--dark-color);
    padding-right: 20px;
    line-height: 1.4;
}

/* Plus/Minus Custom Icon */
.category-faq-icon {
    position: relative;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.category-faq-icon-line {
    position: absolute;
    background-color: var(--dark-color);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease;
}

.category-faq-icon-line.horizontal {
    top: 7px;
    left: 0;
    width: 16px;
    height: 2px;
}

.category-faq-icon-line.vertical {
    top: 0;
    left: 7px;
    width: 2px;
    height: 16px;
}

/* Rotate Vertical Line to hide it on expand */
.category-faq-item.active .category-faq-icon-line.vertical {
    transform: rotate(90deg);
    opacity: 0;
}

.category-faq-item.active .category-faq-icon-line.horizontal {
    background-color: var(--primary-color);
}

.category-faq-item.active .category-faq-question {
    color: var(--primary-color);
}

/* Custom Accordion Content Animation */
.category-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.category-faq-answer {
    padding: 0 30px 24px 30px;
    font-family: var(--body-font);
    font-size: 15px;
    color: #666666;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .category-faq-section {
        padding: 60px 0;
    }
    .category-faq-trigger {
        padding: 20px 24px;
    }
    .category-faq-answer {
        padding: 0 24px 20px 24px;
    }
    .category-faq-question {
        font-size: 16px;
    }
}

/* ==========================================================================
   ROYAL WEDDING EXPERIENCE SECTION (Editorial Luxury 2-Column Layout)
   ========================================================================== */
.royal-wedding-experience-section {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    padding: 80px 0;
    overflow: hidden;
}

.rwe-editorial-container {
    max-width: 1320px;
    margin: 0 auto;
}

/* --- Left Column: Image Stage & Soft Beige Backdrop --- */
.rwe-image-stage {
    position: relative;
    padding: 30px 0 30px 30px;
}

/* Soft beige abstract background shape */
.rwe-backdrop-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 82%;
    height: 92%;
    background: #f7f2ea;
    background: linear-gradient(135deg, #f7f2ea 0%, #efe7da 100%);
    border-radius: 24px;
    z-index: 1;
}

/* Image Frame Overlapping the backdrop */
.rwe-image-frame {
    position: relative;
    z-index: 2;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12);
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

/* Editorial Image */
.rwe-editorial-img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    border-radius: 20px;
    transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Hover Animation on Image Only */
.rwe-image-frame:hover .rwe-editorial-img {
    transform: scale(1.04);
}

/* Editorial Floating Badge */
.rwe-editorial-badge {
    position: absolute;
    bottom: 30px;
    right: 30px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 16px 24px;
    border-radius: 12px;
    border: 1px solid rgba(200, 161, 90, 0.3);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: 2px;
    z-index: 3;
}

.badge-year {
    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: #C8A15A;
    text-transform: uppercase;
}

.badge-title {
    font-family: var(--heading-font);
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

/* --- Right Column: Luxury Editorial Content --- */
.rwe-editorial-content {
    padding-left: 20px;
}

.rwe-editorial-content .eyebrow {
    margin-bottom: 15px;
    color: #C8A15A;
}

.rwe-editorial-content .section-title {
    font-family: var(--heading-font);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #120c09;
    margin-bottom: 22px;
    text-align: left;
}

.rwe-editorial-content .section-description.rwe-subheading {
    font-family: var(--body-font);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: #332a24;
    margin-bottom: 18px;
    text-align: left;
    max-width: 100%;
}

.rwe-editorial-content .section-description.rwe-paragraph {
    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    color: #665f57;
    margin-bottom: 36px;
    text-align: left;
    max-width: 100%;
}

.rwe-btn-group {
    display: flex;
    align-items: center;
}

/* Responsive adjustments */
@media (max-width: 1199px) {
    .royal-wedding-experience-section {
        padding: 90px 0;
    }
    .rwe-editorial-content .section-title {
        font-size: 38px;
    }
}

@media (max-width: 991px) {
    .royal-wedding-experience-section {
        padding: 80px 0;
    }
    .rwe-image-stage {
        padding: 20px 0 20px 20px;
        margin-bottom: 40px;
    }
    .rwe-editorial-content {
        padding-left: 0;
    }
    .rwe-editorial-content .section-title {
        font-size: 34px;
    }
}

@media (max-width: 767px) {
    .royal-wedding-experience-section {
        padding: 60px 0;
    }
    .rwe-editorial-content .section-title {
        font-size: 28px;
        margin-bottom: 16px;
    }
    .rwe-editorial-content .section-description.rwe-subheading {
        font-size: 15px;
    }
    .rwe-editorial-content .section-description.rwe-paragraph {
        font-size: 14px;
        margin-bottom: 28px;
    }
}

/* ==========================================================================
   THE ROYAL ADVANTAGE SECTION
   ========================================================================== */
.royal-advantage-section {
    position: relative;
    width: 100%;
    background-color: #f4ebe2;
    padding: 80px 0;
}

.royal-advantage-section .rwe-editorial-container {
    max-width: 1320px;
    margin: 0 auto;
}

/* Feature Card Styling */
.royal-advantage-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 40px;
    height: 100%;
    border: 1px solid rgba(225, 215, 200, 0.6);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Icon Wrapper */
.tra-icon-wrapper {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background-color: #f7f3ed;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    transition: all 0.4s ease;
}

.tra-icon-wrapper i {
    font-size: 26px;
    color: var(--primary-color, #611221);
    transition: color 0.4s ease, transform 0.4s ease;
}

/* Card Title */
.tra-card-title {
    font-family: var(--heading-font);
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 12px;
    line-height: 1.3;
}

/* Card Description */
.tra-card-desc {
    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: #666666;
    margin: 0;
}

/* Hover Effect */
.royal-advantage-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(97, 18, 33, 0.08);
    border-color: #C8A15A;
}

.royal-advantage-card:hover .tra-icon-wrapper {
    background-color: rgba(200, 161, 90, 0.12);
}

.royal-advantage-card:hover .tra-icon-wrapper i {
    color: #C8A15A;
    transform: scale(1.1);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .royal-advantage-section {
        padding: 80px 0;
    }
    .royal-advantage-card {
        padding: 32px;
        border-radius: 20px;
    }
    .tra-icon-wrapper {
        width: 56px;
        height: 56px;
        margin-bottom: 22px;
    }
    .tra-icon-wrapper i {
        font-size: 22px;
    }
    .tra-card-title {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    .royal-advantage-section {
        padding: 60px 0;
    }
    .royal-advantage-card {
        padding: 28px 24px;
        border-radius: 18px;
    }
}

/* ==========================================================================
   SHOP BY OCCASION SECTION (Editorial Fashion Campaign Style)
   ========================================================================== */
.shop-by-occasion-section {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    padding: 80px 0;
}

.shop-by-occasion-section .rwe-editorial-container {
    max-width: 1320px;
    margin: 0 auto;
}

/* Occasion Card Frame */
.sbo-card {
    position: relative;
    display: block;
    width: 100%;
    height: 480px;
    border-radius: 28px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Full Background Image */
.sbo-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Dark Gradient Overlay */
.sbo-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, 
        rgba(10, 7, 8, 0.05) 0%, 
        rgba(10, 7, 8, 0.35) 45%, 
        rgba(10, 7, 8, 0.88) 100%);
    transition: background 0.4s ease;
    z-index: 1;
}

/* Card Content Container */
.sbo-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 36px 32px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.sbo-text-box {
    flex: 1;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Occasion Title */
.sbo-card-title {
    font-family: var(--heading-font);
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    line-height: 1.25;
    letter-spacing: -0.3px;
}

/* Subtitle */
.sbo-card-subtitle {
    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    max-width: 280px;
}

/* Circular Outline Arrow Button */
.sbo-arrow-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.sbo-arrow-btn i {
    font-size: 16px;
    color: #ffffff;
    transition: all 0.4s ease;
}

/* --- HOVER EFFECTS --- */
.sbo-card:hover .sbo-card-img {
    transform: scale(1.08);
}

.sbo-card:hover .sbo-card-overlay {
    background: linear-gradient(180deg, 
        rgba(10, 7, 8, 0.12) 0%, 
        rgba(10, 7, 8, 0.55) 40%, 
        rgba(10, 7, 8, 0.94) 100%);
}

.sbo-card:hover .sbo-text-box {
    transform: translateY(-6px);
}

.sbo-card:hover .sbo-arrow-btn {
    background-color: #C8A15A;
    border-color: #C8A15A;
    transform: scale(1.05);
}

.sbo-card:hover .sbo-arrow-btn i {
    color: #120c09;
    transform: translateX(3px);
}

/* Responsive Breakpoints */
@media (max-width: 1199px) {
    .sbo-card {
        height: 440px;
    }
    .sbo-card-title {
        font-size: 24px;
    }
}

@media (max-width: 991px) {
    .shop-by-occasion-section {
        padding: 80px 0;
    }
    .sbo-card {
        height: 420px;
    }
    .sbo-card-content {
        padding: 28px 24px;
    }
    .sbo-card-title {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .shop-by-occasion-section {
        padding: 60px 0;
    }
    .sbo-card {
        height: 380px;
        border-radius: 22px;
    }
    .sbo-card-content {
        padding: 24px 20px;
    }
    .sbo-card-title {
        font-size: 20px;
    }
    .sbo-card-subtitle {
        font-size: 13px;
        max-width: 100%;
    }
    .sbo-arrow-btn {
        width: 42px;
        height: 42px;
    }
.royal-advantage-card {
        padding: 28px 24px;
        border-radius: 18px;
    }
}

/* ==========================================================================
   SHOP BY OCCASION SECTION (Editorial Fashion Campaign Style)
   ========================================================================== */
.shop-by-occasion-section {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    padding: 120px 0;
}

.shop-by-occasion-section .rwe-editorial-container {
    max-width: 1320px;
    margin: 0 auto;
}

/* Occasion Card Frame */
.sbo-card {
    position: relative;
    display: block;
    width: 100%;
    height: 480px;
    border-radius: 28px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Full Background Image */
.sbo-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    display: block;
    transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Dark Gradient Overlay */
.sbo-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, 
        rgba(10, 7, 8, 0.05) 0%, 
        rgba(10, 7, 8, 0.35) 45%, 
        rgba(10, 7, 8, 0.88) 100%);
    transition: background 0.4s ease;
    z-index: 1;
}

/* Card Content Container */
.sbo-card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 36px 32px;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.sbo-text-box {
    flex: 1;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Occasion Title */
.sbo-card-title {
    font-family: var(--heading-font);
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    line-height: 1.25;
    letter-spacing: -0.3px;
}

/* Subtitle */
.sbo-card-subtitle {
    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    max-width: 280px;
}

/* Circular Outline Arrow Button */
.sbo-arrow-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.sbo-arrow-btn i {
    font-size: 16px;
    color: #ffffff;
    transition: all 0.4s ease;
}

/* --- HOVER EFFECTS --- */
.sbo-card:hover .sbo-card-img {
    transform: scale(1.08);
}

.sbo-card:hover .sbo-card-overlay {
    background: linear-gradient(180deg, 
        rgba(10, 7, 8, 0.12) 0%, 
        rgba(10, 7, 8, 0.55) 40%, 
        rgba(10, 7, 8, 0.94) 100%);
}

.sbo-card:hover .sbo-text-box {
    transform: translateY(-6px);
}

.sbo-card:hover .sbo-arrow-btn {
    background-color: #C8A15A;
    border-color: #C8A15A;
    transform: scale(1.05);
}

.sbo-card:hover .sbo-arrow-btn i {
    color: #120c09;
    transform: translateX(3px);
}

/* Responsive Breakpoints */
@media (max-width: 1199px) {
    .sbo-card {
        height: 440px;
    }
    .sbo-card-title {
        font-size: 24px;
    }
}

@media (max-width: 991px) {
    .shop-by-occasion-section {
        padding: 80px 0;
    }
    .sbo-card {
        height: 420px;
    }
    .sbo-card-content {
        padding: 28px 24px;
    }
    .sbo-card-title {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .shop-by-occasion-section {
        padding: 60px 0;
    }
    .sbo-card {
        height: 380px;
        border-radius: 22px;
    }
    .sbo-card-content {
        padding: 24px 20px;
    }
    .sbo-card-title {
        font-size: 20px;
    }
    .sbo-card-subtitle {
        font-size: 13px;
        max-width: 100%;
    }
    .sbo-arrow-btn {
        width: 42px;
        height: 42px;
    }
    .sbo-arrow-btn i {
        font-size: 14px;
    }
}



/* ==========================================================================
   CLIENT TESTIMONIALS SECTION (Dark Luxury Editorial Style)
   ========================================================================== */
.client-testimonials-section {
    position: relative;
    width: 100%;
    background-color: var(--secondary-color, #0d3121);
    background: linear-gradient(180deg, var(--secondary-color, #0d3121) 0%, #071e14 100%);
    padding: 90px 0;
    color: #ffffff;
    overflow: hidden;
}

.client-testimonials-section .rwe-editorial-container {
    max-width: 1320px;
    margin: 0 auto;
}

.cts-slider-wrapper {
    position: relative;
    padding-bottom: 20px;
}

/* Testimonial Card Frame */
.cts-card {
    position: relative;
    background-color: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 40px;
    height: 100%;
    min-height: 380px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(200, 161, 90, 0.25);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Background Quote Ornament */
.cts-quote-bg {
    position: absolute;
    top: 20px;
    right: 25px;
    font-family: var(--heading-font);
    font-size: 110px;
    line-height: 1;
    color: #C8A15A;
    opacity: 0.08;
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Gold Stars */
.cts-stars {
    display: flex;
    gap: 6px;
    margin-bottom: 22px;
    color: #C8A15A;
    font-size: 14px;
    position: relative;
    z-index: 2;
}

/* Review Text */
.cts-review-text {
    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 32px;
    position: relative;
    z-index: 2;
    font-style: italic;
}

/* Customer Row */
.cts-customer-row {
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 2;
    margin-top: auto;
}

.cts-avatar-wrap {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(200, 161, 90, 0.4);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.cts-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.cts-customer-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cts-customer-name {
    font-family: var(--heading-font);
    font-size: 17px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    letter-spacing: 0.2px;
}

.cts-customer-location {
    font-family: var(--body-font);
    font-size: 13px;
    color: #999999;
}

.cts-purchased-tag {
    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #C8A15A;
    margin-top: 4px;
}

/* Card Hover Interactions */
.cts-card:hover {
    transform: translateY(-6px);
    border-color: rgba(200, 161, 90, 0.5);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.6);
}

.cts-card:hover .cts-quote-bg {
    opacity: 0.16;
    transform: translateY(-5px);
}

.cts-card:hover .cts-avatar-img {
    transform: scale(1.08);
}

/* Slider Controls & Navigation Bar */
.cts-nav-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 45px;
    position: relative;
}

.cts-nav-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    background-color: transparent;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.35s ease;
    z-index: 5;
}

.cts-nav-btn i {
    font-size: 15px;
    transition: transform 0.35s ease;
}

.cts-nav-btn:hover {
    background-color: #C8A15A;
    border-color: #C8A15A;
    color: #120c09;
    box-shadow: 0 6px 20px rgba(200, 161, 90, 0.3);
}

.cts-nav-prev:hover i {
    transform: translateX(-3px);
}

.cts-nav-next:hover i {
    transform: translateX(3px);
}

/* Swiper Pagination Bullets Override */
.cts-pagination.swiper-pagination-bullets {
    position: relative;
    bottom: 0;
    width: auto !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cts-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.3);
    opacity: 1;
    margin: 0 !important;
    transition: all 0.35s ease;
}

.cts-pagination .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 6px;
    background: #C8A15A;
}

/* Responsive Adjustments for Testimonials */
@media (max-width: 991px) {
    .client-testimonials-section {
        padding: 90px 0;
    }
    .cts-card {
        padding: 32px 24px;
    }
    .cts-review-text {
        font-size: 14.5px;
    }
}

@media (max-width: 767px) {
    .client-testimonials-section {
        padding: 60px 0;
    }
    .cts-card {
        padding: 28px 20px;
        border-radius: 20px;
    }
    .cts-avatar-wrap {
        width: 60px;
        height: 60px;
    }
    .cts-customer-name {
        font-size: 16px;
    }
}

/* ==========================================================================
   STYLE JOURNAL SECTION (High-Fashion Editorial Magazine Layout)
   ========================================================================== */
.style-journal-section {
    position: relative;
    width: 100%;
    background-color: #ffffff;
    padding: 80px 0;
}

.style-journal-section .rwe-editorial-container {
    max-width: 1320px;
    margin: 0 auto;
}

/* Card Container */
.sj-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #ffffff;
    border: 1px solid rgba(18, 12, 9, 0.08);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(18, 12, 9, 0.02);
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s cubic-bezier(0.25, 1, 0.5, 1), border-color 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.sj-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(18, 12, 9, 0.08);
    border-color: rgba(97, 18, 33, 0.15);
}

/* 16:10 Image Frame with 24px Radius */
.sj-img-frame {
    position: relative;
    width: calc(100% + 48px);
    margin-top: -24px;
    margin-left: -24px;
    margin-right: -24px;
    padding-top: 62.5%; /* 16:10 aspect ratio */
    border-radius: 11px 11px 0 0;
    overflow: hidden;
    margin-bottom: 20px;
    display: block;
    background-color: #f6f3ed;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.sj-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.sj-card:hover .sj-img {
    transform: scale(1.05);
}

/* Category Badge & Meta Date */
.sj-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.sj-category-badge {
    display: inline-block;
    padding: 4px 12px;
    background-color: rgba(97, 18, 33, 0.08);
    color: #611221;
    font-family: var(--body-font);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    border-radius: 4px;
}

.sj-date {
    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 500;
    color: #888888;
}

/* Article Title */
.sj-title {
    font-family: var(--heading-font);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 10px;
    letter-spacing: -0.1px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 56px; /* keep title height equal for layout balancing */
}

.sj-title a {
    color: #120c09;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sj-card:hover .sj-title a,
.sj-title a:hover {
    color: #611221;
}

/* Article Excerpt */
.sj-excerpt {
    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: #666666;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 68px; /* keep excerpt height equal for layout balancing */
}

/* Read Article Link */
.sj-read-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #611221;
    text-decoration: none;
    margin-top: auto;
    transition: color 0.35s ease;
}

.sj-read-link i {
    font-size: 11px;
    transition: transform 0.35s ease, color 0.35s ease;
}

.sj-card:hover .sj-read-link,
.sj-read-link:hover {
    color: #611221;
}

.sj-card:hover .sj-read-link i,
.sj-read-link:hover i {
    transform: translateX(4px);
    color: #611221;
}

/* Bottom View All CTA */
.sj-footer-cta {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

/* Responsive Adjustments for Style Journal */
@media (max-width: 991px) {
    .style-journal-section {
        padding: 90px 0;
    }
    .sj-title {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .style-journal-section {
        padding: 60px 0;
    }
    .sj-img-frame {
        border-radius: 18px;
        margin-bottom: 18px;
    }
    .sj-title {
        font-size: 18px;
    }
    .sj-excerpt {
        font-size: 14px;
    }
}

/* ==========================================================================
   FREQUENTLY ASKED QUESTIONS SECTION (Minimal Editorial Luxury)
   ========================================================================== */
.editorial-faq-section {
    position: relative;
    width: 100%;
    background-color: #f4ebe2;
    padding: 80px 0;
}

.editorial-faq-section .faq-container {
    max-width: 1200px;
    margin: 0 auto;
}

.faq-accordion-wrap {
    max-width: 900px;
    margin: 0 auto;
}

/* Floating White FAQ Card Style on #f4ebe2 */
.editorial-faq-section .faq-item {
    background-color: #ffffff !important;
    border-radius: 18px !important;
    border: 1px solid rgba(18, 12, 9, 0.08);
    margin-bottom: 16px;
    padding: 0 32px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    overflow: hidden;
}

.editorial-faq-section .faq-item:hover {
    border-color: rgba(97, 18, 33, 0.3);
    box-shadow: 0 14px 40px rgba(97, 18, 33, 0.08);
    transform: translateY(-3px);
}

.editorial-faq-section .faq-header {
    margin: 0;
}

/* Accordion Toggle Button */
.editorial-faq-section .faq-toggle-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-align: left;
    cursor: pointer;
    transition: color 0.35s ease;
}

.editorial-faq-section .faq-question-text {
    font-family: var(--heading-font);
    font-size: 20px;
    font-weight: 600;
    color: #120c09;
    margin: 0;
    line-height: 1.4;
    transition: color 0.35s ease;
    padding-right: 20px;
}

.editorial-faq-section .faq-toggle-btn:hover .faq-question-text,
.editorial-faq-section .faq-toggle-btn:not(.collapsed) .faq-question-text {
    color: #611221;
}

/* Circular Plus / Minus Icon Badge */
.editorial-faq-section .faq-icon-circle {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(18, 12, 9, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #120c09;
    font-size: 13px;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.editorial-faq-section .faq-toggle-btn:hover .faq-icon-circle {
    border-color: #611221;
    color: #611221;
    background-color: rgba(97, 18, 33, 0.05);
}

.editorial-faq-section .faq-toggle-btn:not(.collapsed) .faq-icon-circle {
    border-color: #611221;
    background-color: #611221;
    color: #ffffff;
    transform: rotate(45deg);
}

/* Accordion Answer Content */
.editorial-faq-section .faq-body-content {
    padding-bottom: 24px;
    padding-top: 0;
    max-width: 90%;
}

.editorial-faq-section .faq-body-content p {
    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.85;
    color: #444444;
    margin: 0;
}

/* Bottom Support Line */
.faq-bottom-support {
    text-align: center;
    margin-top: 60px;
}

.support-text {
    font-family: var(--body-font);
    font-size: 15px;
    color: #666666;
    margin: 0;
}

.support-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #611221;
    text-decoration: none;
    margin-left: 6px;
    transition: color 0.35s ease;
}

.support-contact-link i {
    font-size: 12px;
    transition: transform 0.35s ease;
}

.support-contact-link:hover {
    color: #80182b;
}

.support-contact-link:hover i {
    transform: translateX(5px);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .editorial-faq-section {
        padding: 70px 0;
    }
    .editorial-faq-section .faq-question-text {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    .editorial-faq-section {
        padding: 60px 0;
    }
    .editorial-faq-section .faq-item {
        padding: 0 20px;
        border-radius: 14px !important;
        margin-bottom: 12px;
    }
    .editorial-faq-section .faq-toggle-btn {
        padding: 18px 0;
    }
    .editorial-faq-section .faq-question-text {
        font-size: 16px;
    }
    .editorial-faq-section .faq-icon-circle {
        width: 32px;
        height: 32px;
        font-size: 11px;
    }
    .editorial-faq-section .faq-body-content {
        max-width: 100%;
        padding-bottom: 18px;
    }
    .editorial-faq-section .faq-body-content p {
        font-size: 14px;
    }
}

/* Footer Brand Logo Styling */
.footer-brand-logo {
    display: inline-block;
    margin-bottom: 20px;
}

.footer-brand-logo img {
    height: auto;
    width: 170px;
    display: block;
    object-fit: contain;
}

/* ==========================================================================
   FOOTER NAVIGATION MENU STYLING WITH CHEVRON ICONS
   ========================================================================== */
.footer-col-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-col-list li {
    margin-bottom: 12px;
}

.footer-col-list li:last-child {
    margin-bottom: 0;
}

.footer-col-list li a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--body-font);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, color;
}

.footer-col-list li a .footer-nav-icon,
.footer-col-list li a i {
    font-size: 11px;
    color: #C8A15A;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    flex-shrink: 0;
    will-change: transform;
}

.footer-col-list li a:hover {
    color: #ffffff;
    transform: translateX(4px);
}

.footer-col-list li a:hover .footer-nav-icon,
.footer-col-list li a:hover i {
    transform: translateX(3px);
    color: #E6C687;
}

.footer-contact-item i{
    color:#fff;
}