* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Montserrat", sans-serif;
    color: #32171e;
    background: #ffffff;
}

img {
    width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    font-family: inherit;
    cursor: pointer;
}


/* ANNOUNCEMENT */

.announcement {
    background: #ffffff;
    color: #32171e;
    text-align: center;
    padding: 10px;
    font-size: 11px;
    letter-spacing: 2px;
    border-bottom: 1px solid #e7e5e3;
}

.announce-sep {
    margin: 0 10px;
    color: #c4aa85;
}

#countdown {
    font-weight: 600;
    color: #87663b;
    letter-spacing: 1px;
}


/* NAVBAR */

.navbar {
    height: 82px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 5%;
    border-bottom: 1px solid #e7e5e3;
    position: sticky;
    top: 0;
    z-index: 100;
}

.logo {
    font-family: "DM Serif Display", serif;
    font-size: 25px;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 3px;
}

/* Boss-provided logo image (navbar + login/reset-password pages).
   Global "img { width:100%; }" is overridden here on purpose so the
   logo sizes off its own height, keeps its real aspect ratio, and
   never stretches or makes the navbar taller. */
.brand-logo-img {
    width: auto;
    height: 40px;
    display: block;
}

.auth-brand .logo .brand-logo-img {
    height: 54px;
}

/* Footer brand mark — same logo image, sized for the footer heading
   row; footer-grid h3 already centers items on the baseline via
   align-items so it lines up with the ".IN" text beside it. */
.footer-logo-img {
    height: 34px;
}

.logo-hindi {
    font-family: "Tiro Devanagari Hindi", serif;
    font-style: italic;
    font-size: 1.15em;
}

.logo-latin {
    font-family: "DM Serif Display", serif;
    font-style: italic;
}

.footer-grid h3 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-grid h3 .logo-hindi {
    font-size: 1.1em;
}

nav {
    display: flex;
    gap: 30px;
}

nav a {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

nav a:hover {
    text-decoration: underline;
}

.nav-icons {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 20px;
}

.nav-icons button {
    position: relative;
    background: none;
    border: none;
    color: #32171e;
    font-size: 20px;
    display: inline-flex;
    align-items: center;
}

.badge {
    position: absolute;
    top: -8px;
    right: -12px;
    background: #a8824f;
    color: white;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---------- ACCOUNT (login/register system) ---------- */

.nav-account {
    position: relative;
}

.nav-username {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: none;
    margin-left: 2px;
}

.account-dropdown {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    width: 190px;
    background: #fff;
    border: 1px solid #e7e5e3;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(61,21,18,.12);
    padding: 14px 16px;
    z-index: 150;
    font-size: 13px;
}

.account-dropdown[hidden] {
    display: none;
}

.account-dropdown-name {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 2px;
}

.account-dropdown-email {
    color: #72686c;
    font-size: 11px;
    margin-bottom: 12px;
    word-break: break-all;
}

.account-dropdown .account-logout-btn {
    width: auto;
    display: inline-block;
    background: #32171e;
    color: #fff;
    border: 1px solid #32171e;
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.account-dropdown .account-logout-btn:hover {
    background: #a8824f;
    border-color: #a8824f;
    color: #fff;
}

@media (max-width: 600px) {
    .nav-username {
        display: none;
    }
    .account-dropdown {
        width: 170px;
        right: -10px;
    }
}

.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 24px;
    background: none;
    border: none;
}

.menu-toggle span {
    display: block;
    height: 2px;
    background: #32171e;
    width: 100%;
    transition: .3s ease;
}


/* HERO - PREMIUM */

/* Hero is one full-width banner image (tagline and the four category
   pills — Anarkali / Kurti / Lehenga / Saree — are all part of the
   photo itself). Four invisible links, all the same size, sit over
   the four pills so each one is a real, clickable category filter.
   background-color matches the image's own off-white backdrop so
   there's no flash before it loads, and the bottom border is the
   same simple divider line used elsewhere on the site. */
.hero {
    width: 100%;
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border-bottom: 1px solid #e7e5e3;
}

.hero-banner-img {
    width: 100%;
    height: auto;
    display: block;
}

.hero-pill-link {
    position: absolute;
    top: 80.5%;
    width: 12%;
    height: 8.5%;
}

.hero-pill-anarkali { left: 11.2%; }
.hero-pill-kurti    { left: 32%; }
.hero-pill-lehenga  { left: 57.7%; }
.hero-pill-saree    { left: 79%; }

.small-title,
.section-heading p,
.feature-content > p:first-child,
.story > div > p:first-child,
.newsletter > p {
    font-size: 11px;
    letter-spacing: 3px;
    margin-bottom: 18px;
}

.small-title {
    display: inline-block;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #87663b;
    margin-bottom: 20px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 30px;
    background: #fff;
    color: #32171e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    border: 1px solid #32171e;
    box-shadow: 0 6px 18px rgba(61,21,18,.08);
    transition: background .35s ease, color .35s ease, transform .35s ease, border-color .35s ease;
}

.btn:hover {
    background: #ffffff;
    border-color: #a8824f;
    color: #32171e;
    transform: translateY(-3px);
}

@keyframes heroContentIn {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
}


/* GENERAL SECTION */

.section {
    padding: 100px 5%;
}

.light-section {
    background: #ffffff;
}

.section-heading {
    text-align: center;
    margin-bottom: 55px;
}

.section-heading h2 {
    font-family: "DM Serif Display", serif;
    font-size: 45px;
    font-weight: normal;
}


/* ================================================= */
/* CATEGORIES - 3 COLUMN */
/* ================================================= */

.category-grid {
    display: grid;

    /* 4 ki jagah 3 columns */
    grid-template-columns: repeat(3, 1fr);

    gap: 24px;
}

.category-card {
    position: relative;

    /* card thoda bada aur premium */
    height: 560px;

    overflow: hidden;
    cursor: pointer;
}

.category-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .6s ease;
}

.category-card:hover img {
    transform: scale(1.05);
}

.category-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    padding: 35px 25px 25px;

    color: #32171e;

    background: linear-gradient(
        transparent,
        rgba(255,255,255,.35) 55%,
        rgba(255,255,255,.96)
    );
}

.category-info h3 {
    font-family: "DM Serif Display", serif;
    font-size: 30px;
    margin-bottom: 10px;
}

.category-info a {
    font-size: 10px;
    letter-spacing: 2px;
    border-bottom: 1px solid #32171e;
}


/* PRODUCTS */

.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.product {
    position: relative;
    display: flex;
    flex-direction: column;
}

.product-image {
    position: relative;
    height: 480px;
    overflow: hidden;
    border-radius: 16px;
    background: #ffffff;
}

.product-image img {
    height: 100%;
    object-fit: cover;
    transition: .5s;
}

/* Premium hover zoom on product-card photos: moving the cursor onto
   the card zooms the photo in place. Scoped to devices that actually
   have real hover + a precise pointer (mouse/trackpad) so touchscreens
   never get a "stuck" zoom after a tap. Clicking the photo is separate
   (see .product-image.show-back in the crossfade rules) — it flips to
   the back photo instead of zooming. */
@media (hover: hover) and (pointer: fine) {
    .product:hover img {
        transform: scale(1.15);
    }
}

.product-image span.tag {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;

    padding: 7px 12px;

    font-size: 9px;
    letter-spacing: 1px;
}

.tag-new {
    background: #fff;
    color: #32171e;
    border: 1px solid #32171e;
}

.tag-sale {
    background: #a8824f;
    color: white;
}

.tag-best {
    background: white;
    color: #32171e;
}

.product h3 {
    font-family: "DM Serif Display", serif;
    font-size: 20px;
    font-weight: normal;
    margin-top: 16px;
}

.product p {
    margin-top: 7px;
    font-size: 13px;
}

.center {
    text-align: center;
    margin-top: 45px;
}

.outline-btn {
    display: inline-block;
    border: 1px solid #32171e;
    padding: 14px 28px;
    font-size: 10px;
    letter-spacing: 2px;
    background: transparent;
}

.outline-btn:hover {
    background: #ffffff;
    border-color: #a8824f;
    color: #32171e;
}


/* MARQUEE */

.marquee {
    overflow: hidden;
    background: #ffffff;
    color: #32171e;
    padding: 20px 0;
    white-space: nowrap;
    border-top: 1px solid #e7e5e3;
    border-bottom: 1px solid #e7e5e3;
}

.marquee span {
    display: inline-block;
    font-family: "DM Serif Display", serif;
    font-size: 28px;
    letter-spacing: 3px;
    animation: move 20s linear infinite;
}

@keyframes move {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


/* FEATURE */

.feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 650px;
}

.feature-image { background:#fff; }

.feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 10%;
    background: #ffffff;
}

.feature-content h2 {
    font-family: "DM Serif Display", serif;
    font-size: 65px;
    line-height: .95;
    margin-bottom: 25px;
}

.feature-content h2 em {
    font-style: italic;
    color: #a8824f;
}

.feature-content > p:not(:first-child) {
    line-height: 1.8;
    max-width: 450px;
    margin-bottom: 30px;
}


/* STORY */

.story {
    min-height: 650px;

    display: flex;
    align-items: center;

    padding: 8%;

    color: #32171e;

    background:
        linear-gradient(
            rgba(255,255,255,.55),
            rgba(255,255,255,.35)
        ),
        url("images/features/story-satin.jpg")
        center/cover;
}

.story > div {
    max-width: 600px;
}

.story h2 {
    font-family: "DM Serif Display", serif;
    font-size: 75px;
    line-height: .95;
    margin-bottom: 25px;
}

.story > div > p:not(:first-child) {
    line-height: 1.8;
    margin-bottom: 30px;
}

.story .outline-btn {
    border-color: #32171e;
}


/* REVIEWS */

.reviews {
    padding: 100px 5%;
    background: #ffffff;
}

.review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    max-width: 1100px;
    margin: auto;
}

.review {
    background: #ffffff;
    padding: 35px;
    text-align: center;
}

.review div {
    letter-spacing: 4px;
    margin-bottom: 20px;
    color: #a8824f;
}

.review p {
    line-height: 1.8;
    font-size: 14px;
    margin-bottom: 20px;
}

.review strong {
    font-size: 11px;
    letter-spacing: 1px;
}


/* GALLERY */

.gallery {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.gallery img {
    height: 300px;
    object-fit: cover;
    transition: transform .4s ease;
}

@media (hover: hover) and (pointer: fine) {
    .gallery-item:hover img {
        transform: scale(1.08);
    }
}


/* NEWSLETTER */

.newsletter {
    padding: 90px 20px;
    text-align: center;
    background: #ffffff;
}

.newsletter h2 {
    font-family: "DM Serif Display", serif;
    font-size: 45px;
    font-weight: normal;
    margin-bottom: 30px;
}

.email-box {
    display: flex;
    max-width: 500px;
    margin: auto;
}

.email-box input {
    flex: 1;
    border: 1px solid #32171e;
    background: transparent;
    padding: 15px;
    outline: none;
    font-family: inherit;
}

.email-box button {
    border: 1px solid #32171e;
    background: #fff;
    color: #32171e;
    padding: 0 25px;
    letter-spacing: 1px;
    font-size: 11px;
    transition: background .3s ease;
}

.email-box button:hover {
    background: #ffffff;
}

.newsletter-msg {
    margin-top: 16px;
    font-size: 12px;
    letter-spacing: 1px;
    min-height: 16px;
}


/* FOOTER */

footer {
    background: #ffffff;
    color: #32171e;
    padding: 0 5% 25px;
    border-top: 1px solid #e7e5e3;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 50px;
    margin-bottom: 60px;
}

.footer-grid h3 {
    font-family: "DM Serif Display", serif;
    font-size: 25px;
    margin-bottom: 20px;
}

.footer-grid h4 {
    font-size: 11px;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.footer-grid p {
    color: #62595c;
    line-height: 1.8;
}

.footer-grid a {
    display: block;
    color: #62595c;
    font-size: 12px;
    margin-bottom: 12px;
}

.footer-grid a:hover {
    color: #32171e;
}

.copyright {
    border-top: 1px solid #e7e5e3;
    padding-top: 25px;
    color: #72686c;
    font-size: 10px;
    text-align: center;
}


/* ================================================= */
/* TABLET */
/* ================================================= */

@media (max-width: 900px) {

    nav {
        display: none;
    }

    .category-grid,
    .products {
        grid-template-columns: repeat(2, 1fr);
    }

    .category-card {
        height: 400px;
    }

    .product-image {
        height: 400px;
    }

    .feature {
        grid-template-columns: 1fr;
    }

    .feature-image {
        min-height: 500px;
    }

    .review-grid {
        grid-template-columns: 1fr;
    }

    .gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .gallery img {
        height: 250px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}


/* ================================================= */
/* MOBILE */
/* ================================================= */

@media (max-width: 600px) {

    .navbar {
        height: 65px;
    }

    .logo {
        font-size: 19px;
    }

    .brand-logo-img {
        height: 30px;
    }

    .nav-icons {
        font-size: 16px;
        gap: 8px;
    }

    .small-title {
        font-size: 9px;
        letter-spacing: 2.5px;
        margin-bottom: 15px;
    }

    .section {
        padding: 65px 5%;
    }

    .section-heading h2 {
        font-size: 35px;
    }

    /* Mobile par 2 columns */
    .category-grid,
    .products {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .category-card {
        height: 300px;
    }

    .product-image {
        height: 300px;
    }

    .product h3 {
        font-size: 16px;
    }

    .feature-content h2 {
        font-size: 48px;
    }

    .story {
        min-height: 550px;
    }

    .story h2 {
        font-size: 50px;
    }

    .gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .email-box {
        flex-direction: column;
        gap: 10px;
    }

    .email-box button {
        padding: 15px;
    }
}
/* =========================================
   3D CATEGORY ANIMATION
========================================= */

.category-grid {
    perspective: 1200px;
}

.category-card {
    position: relative;
    height: 560px;
    overflow: hidden;
    cursor: pointer;

    transform-style: preserve-3d;

    transition:
        transform 0.7s cubic-bezier(.2,.8,.2,1),
        box-shadow 0.7s ease;

    box-shadow:
        0 15px 30px rgba(61,21,18, 0.08);
}

/* 3D CARD HOVER */

.category-card:hover {
    transform:
        perspective(1000px)
        rotateX(3deg)
        rotateY(-5deg)
        translateY(-12px)
        scale(1.02);

    box-shadow:
        20px 30px 45px rgba(61,21,18, 0.25);
}


/* IMAGE */

.category-card img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transform: scale(1.01) translateZ(0);

    transition:
        transform 1s cubic-bezier(.2,.8,.2,1),
        filter 0.7s ease;
}


/* IMAGE 3D ZOOM */

.category-card:hover img {
    transform:
        scale(1.12)
        translateZ(35px);

    filter: brightness(1.02);
}


/* LIGHT FROSTED GRADIENT (legibility for the label, off-white palette) */

.category-card::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(255,255,255,.35) 65%,
            rgba(255,255,255,.95) 100%
        );

    pointer-events: none;

    transition: .6s ease;
}

.category-card:hover::after {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.12),
            rgba(255,255,255,.92)
        );
}


/* CATEGORY CONTENT */

.category-info {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 35px 25px;

    color: #32171e;

    z-index: 3;

    transform: translateZ(70px);

    transition:
        transform .7s cubic-bezier(.2,.8,.2,1);
}


/* TEXT FLOATING EFFECT */

.category-card:hover .category-info {
    transform:
        translateZ(80px)
        translateY(-10px);
}


/* CATEGORY TITLE */

.category-info h3 {
    font-family: "DM Serif Display", serif;

    font-size: 32px;

    margin-bottom: 12px;

    text-shadow: none;
}


/* SHOP NOW */

.category-info a {
    display: inline-block;

    font-size: 10px;

    letter-spacing: 2px;

    padding-bottom: 5px;

    border-bottom: 1px solid #32171e;

    transition:
        letter-spacing .4s ease;
}

.category-card:hover .category-info a {
    letter-spacing: 4px;
}


/* SMALL MOBILE */
@media (max-width: 400px) {
    .small-title {
        font-size: 8px;
        letter-spacing: 1.5px;
    }
}


/* =========================================================
   FEATURE-RICH E-COMMERCE ADDITIONS
   (trust strip, filters, cart drawer, search, quick view,
   wishlist, ratings, floating buttons, toast, why-us)
========================================================= */

/* TRUST STRIP */

.trust-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 34px 5%;
    background: #ffffff;
    color: #32171e;
    border-top: 1px solid #e7e5e3;
    border-bottom: 1px solid #e7e5e3;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.trust-icon {
    font-size: 24px;
    color: #a8824f;
    flex-shrink: 0;
}

.trust-item h4 {
    font-size: 12px;
    letter-spacing: .5px;
    margin-bottom: 3px;
}

.trust-item p {
    font-size: 11px;
    color: #62595c;
}


/* PRODUCT RATING */

.product-rating {
    margin-top: 8px;
    font-size: 12px;
    letter-spacing: 1px;
    color: #a8824f;
}

.product-rating span {
    color: #72686c;
    letter-spacing: 0;
    font-size: 11px;
    margin-left: 4px;
}


/* PRICE ROW */

.price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.price {
    font-size: 17px;
    font-weight: 600;
}

.old-price {
    font-size: 13px;
    color: #b89189;
    text-decoration: line-through;
}

.discount {
    font-size: 11px;
    color: #1a8a4a;
    font-weight: 600;
}


/* WISHLIST + QUICKVIEW BUTTONS ON PRODUCT IMAGE */

.wish-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 3;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    border: none;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
}

.wish-btn:hover {
    background: #ffffff;
    color: #32171e;
}

.wish-btn.active {
    background: #a8824f;
    color: white;
}

.quickview-btn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -50px;
    z-index: 3;
    background: rgba(255,255,255,.95);
    color: #32171e;
    border: none;
    border-top: 1px solid #e7e5e3;
    padding: 13px;
    font-size: 10px;
    letter-spacing: 2px;
    transition: bottom .4s ease;
}

.product-image:hover .quickview-btn {
    bottom: 0;
}

.add-cart-btn {
    margin-top: 14px;
    width: 100%;
    padding: 12px;
    background: transparent;
    border: 1px solid #32171e;
    color: #32171e;
    font-size: 10px;
    letter-spacing: 2px;
    transition: .3s ease;
}

.add-cart-btn:hover {
    background: #ffffff;
    border-color: #a8824f;
    color: #32171e;
}

.add-cart-btn.added {
    background: #1a8a4a;
    border-color: #1a8a4a;
    color: white;
}


/* PRODUCT IMAGE FRONT/BACK CROSSFADE (real photo products) */

.product-image .img-front,
.product-image .img-back {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .5s ease, transform .5s ease;
}

.product-image .img-back {
    opacity: 0;
    pointer-events: none;
}

/* Front/back is now flipped by CLICK (see script.js), not hover —
   hover is reserved for the zoom-in effect below. */
.product-image.show-back .img-back {
    opacity: 1;
    pointer-events: auto;
}

.product-image.show-back .img-front {
    opacity: 0;
    pointer-events: none;
}

/* CATALOG-STYLE SPLIT VIEW — shows front + back photo together, side by side */

.product-image.split-view {
    display: flex;
    gap: 2px;
}

.product-image.split-view .img-front,
.product-image.split-view .img-back {
    position: static;
    width: 50%;
    height: 100%;
    opacity: 1;
    pointer-events: auto;
    transition: none;
}

.product-image.split-view:hover .img-front,
.product-image.split-view:hover .img-back {
    opacity: 1;
}


/* COLOR SWATCHES */

.color-swatches {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.swatch {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid transparent;
    outline: 1px solid #e7e5e3;
    outline-offset: 2px;
    padding: 0;
    cursor: pointer;
    transition: outline-color .2s ease, transform .2s ease;
}

.swatch:hover {
    transform: scale(1.12);
}

.swatch.active {
    outline-color: #32171e;
    outline-width: 2px;
}

.swatch-label {
    font-size: 10.5px;
    color: #72686c;
    letter-spacing: .3px;
    margin-left: 2px;
}


/* FILTER CHIPS (New Arrivals) */

.filter-chips {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 45px;
}

.chip-filter {
    background: transparent;
    border: 1px solid #32171e;
    padding: 9px 20px;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    transition: .3s ease;
}

.chip-filter.active,
.chip-filter:hover {
    background: #ffffff;
    border-color: #a8824f;
    color: #32171e;
}

.product.hidden-by-filter {
    display: none;
}

.no-results-msg {
    text-align: center;
    color: #62595c;
    font-size: 14px;
    padding: 30px 20px;
}


/* WHY US STRIP */

.why-us {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 70px 5%;
    text-align: center;
}

.why-us-head {
    grid-column: 1 / -1;
    margin-bottom: 14px;
}

.why-us-head p {
    font-size: 11px;
    letter-spacing: 3px;
    color: #a8824f;
    margin-bottom: 8px;
}

.why-us-head h2 {
    font-family: "DM Serif Display", serif;
    font-size: 32px;
    font-weight: normal;
    color: #32171e;
}

.why-us-head h2::after {
    content: "";
    display: block;
    width: 46px;
    height: 2px;
    background: #a8824f;
    margin: 14px auto 0;
}

.why-us-item {
    position: relative;
    overflow: hidden;
    background: #fffaf7;
    border: 1px solid #f0dcd3;
    border-radius: 18px;
    padding: 34px 22px 30px;
    box-shadow: 0 6px 22px rgba(61, 21, 18, .06);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.why-us-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 34px rgba(224, 119, 106, .22);
    border-color: #e9b8ae;
}

.why-us-item .why-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    color: #fff;
    background: linear-gradient(135deg, #d3bc97 0%, #a8824f 55%, #87663b 100%);
    box-shadow: 0 8px 18px rgba(224, 119, 106, .38), 0 0 0 6px #fbe6df;
    transition: transform .35s ease;
}

.why-us-item:hover .why-icon {
    transform: scale(1.08) rotate(-4deg);
}

.why-us-item .why-icon svg {
    width: 30px;
    height: 30px;
}

.why-us-item h4 {
    font-family: "DM Serif Display", serif;
    font-size: 20px;
    font-weight: normal;
    color: #32171e;
    margin-bottom: 10px;
}

.why-us-item p {
    font-size: 13px;
    color: #62595c;
    line-height: 1.7;
}


/* GALLERY OVERLAY */

.gallery-item {
    position: relative;
    overflow: hidden;
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.88);
    color: #32171e;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    opacity: 0;
    transition: .35s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}


/* SOCIAL ROW (footer) */

.social-row {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.social-row a {
    width: 34px;
    height: 34px;
    border: 1px solid #e7e5e3;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    letter-spacing: 0;
    margin-bottom: 0;
    color: #32171e;
}

.social-row a:hover {
    background: #a8824f;
    border-color: #a8824f;
    color: white;
}

.social-row a svg {
    width: 16px;
    height: 16px;
}


/* ============================= */
/* OVERLAY BACKDROP (shared)      */
/* ============================= */

.overlay-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(61,21,18,.35);
    z-index: 190;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
}

.overlay-backdrop.active {
    opacity: 1;
    visibility: visible;
}

.close-panel {
    background: none;
    border: none;
    font-size: 26px;
    line-height: 1;
    color: #32171e;
    align-self: flex-end;
}


/* ============================= */
/* MOBILE MENU                    */
/* ============================= */

.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 85vw;
    height: 100%;
    background: #ffffff;
    z-index: 200;
    padding: 26px 0 28px;
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
    box-shadow: 0 0 40px rgba(61,21,18,.12);
}

.mobile-menu.active {
    transform: translateX(0);
}

.mobile-menu .close-panel {
    align-self: flex-end;
    margin: 0 22px 0 0;
}

/* Brand block at the top of the drawer — same logo + tagline used
   on the navbar/login screen, so the menu feels like part of the
   same premium, off-white identity rather than a bare list. */
.mobile-menu-brand {
    text-align: center;
    padding: 4px 28px 22px;
    border-bottom: 1px solid #e7e5e3;
}

.mobile-menu-logo {
    height: 40px;
    margin: 0 auto 10px;
}

.mobile-menu-tagline {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #72686c;
}

.mobile-nav {
    display: flex;
    flex-direction: column;
    margin-top: 6px;
    padding: 0 28px;
}

.mobile-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: "DM Serif Display", serif;
    font-size: 21px;
    color: #32171e;
    padding: 16px 4px;
    border-bottom: 1px solid #f2e6de;
    transition: color .2s ease, padding-left .2s ease;
}

.mobile-nav .mobile-link:last-child {
    border-bottom: none;
}

.mobile-link i {
    font-style: normal;
    color: #a8824f;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .2s ease, transform .2s ease;
}

.mobile-link:hover,
.mobile-link:focus-visible,
.mobile-link:active {
    color: #a8824f;
    padding-left: 10px;
}

.mobile-link:hover i,
.mobile-link:focus-visible i,
.mobile-link:active i {
    opacity: 1;
    transform: translateX(0);
}

.mobile-menu-footer {
    margin-top: auto;
    padding: 22px 28px 0;
    border-top: 1px solid #e7e5e3;
    font-size: 12px;
    color: #62595c;
}

.mobile-menu-footer a {
    color: #a8824f;
    font-weight: 600;
    text-decoration: underline;
}

.mobile-menu-social {
    margin-top: 16px;
    gap: 10px;
}


/* ============================= */
/* SEARCH OVERLAY                 */
/* ============================= */

.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    z-index: 201;
    padding: 40px 8%;
    display: flex;
    flex-direction: column;
    transform: translateY(-100%);
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
    box-shadow: 0 20px 40px rgba(61,21,18,.1);
}

.search-overlay.active {
    transform: translateY(0);
}

.search-box {
    max-width: 700px;
    margin: 30px auto 10px;
    width: 100%;
}

.search-box input {
    width: 100%;
    border: none;
    border-bottom: 2px solid #32171e;
    background: transparent;
    padding: 14px 0;
    font-size: 22px;
    font-family: "DM Serif Display", serif;
    outline: none;
}

.popular-searches {
    margin-top: 24px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 11px;
    letter-spacing: 1px;
    color: #72686c;
}

.chip {
    border: 1px solid #e7e5e3;
    padding: 7px 14px;
    font-size: 11px;
    letter-spacing: .5px;
    transition: .3s ease;
}

.chip:hover {
    background: #ffffff;
    color: #32171e;
    border-color: #a8824f;
}


/* ============================= */
/* CART DRAWER                    */
/* ============================= */

.cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 420px;
    max-width: 92vw;
    height: 100%;
    background: #ffffff;
    z-index: 200;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
}

.cart-drawer.active {
    transform: translateX(0);
}

.cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 26px 28px;
    border-bottom: 1px solid #e7e5e3;
}

.cart-header h3 {
    font-family: "DM Serif Display", serif;
    font-size: 20px;
    font-weight: normal;
}

.cart-items {
    flex: 1;
    overflow-y: auto;
    padding: 20px 28px;
}

.cart-empty {
    font-size: 13px;
    color: #72686c;
    text-align: center;
    margin-top: 60px;
    line-height: 1.8;
}

.cart-item {
    display: flex;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid #ffffff;
}

.cart-item img {
    width: 76px;
    height: 96px;
    object-fit: cover;
    flex-shrink: 0;
}

.cart-item-info {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.cart-item-info h4 {
    font-family: "DM Serif Display", serif;
    font-size: 15px;
    font-weight: normal;
}

.cart-item-info p {
    font-size: 11px;
    color: #72686c;
    margin-top: 4px;
}

.cart-item-bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cart-qty {
    display: flex;
    align-items: center;
    border: 1px solid #e7e5e3;
}

.cart-qty button {
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    font-size: 13px;
}

.cart-qty span {
    width: 24px;
    text-align: center;
    font-size: 12px;
}

.cart-item-remove {
    background: none;
    border: none;
    font-size: 11px;
    letter-spacing: 1px;
    color: #b89189;
    text-decoration: underline;
}

.cart-footer {
    padding: 22px 28px 28px;
    border-top: 1px solid #e7e5e3;
}

.cart-subtotal {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
}

.cart-note {
    font-size: 11px;
    color: #72686c;
    margin-bottom: 18px;
}

.cart-checkout-btn {
    width: 100%;
    background: #a8824f;
    color: white;
    border-color: #a8824f;
    margin-bottom: 10px;
}

.cart-checkout-btn:hover {
    background: #eb9184;
    border-color: #eb9184;
}

.cart-continue-btn {
    width: 100%;
    text-align: center;
}


/* ============================= */
/* QUICK VIEW MODAL                */
/* ============================= */

.quickview-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(.95);
    width: 900px;
    max-width: 92vw;
    max-height: 88vh;
    overflow-y: auto;
    background: #ffffff;
    z-index: 210;
    display: grid;
    grid-template-columns: 1fr 1fr;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.quickview-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.quickview-image {
    background: #ffffff;
    min-height: 420px;
    display: flex;
    flex-direction: column;
}

/* Dedicated, clipped frame around just the photo (separate from the
   FRONT/BACK button row below it), so the cursor-zoomed image can
   never visually or functionally overlap those buttons — it's
   clipped at the frame's own edge, not just the modal's outer edge. */
.qv-image-frame {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.quickview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .2s ease, transform .3s ease;
    transform-origin: center center;
}

/* Cursor-following zoom on the Quick View main photo — desktop/trackpad
   only (see script.js). The frame's overflow:hidden above keeps the
   magnified image clipped to the gallery area. */
@media (hover: hover) and (pointer: fine) {
    .quickview-image img {
        cursor: zoom-in;
    }
}

/* Anarkali FRONT/BACK viewer — swaps between the product's two
   existing photos only; this class just drives the crossfade. */
.qv-image-fade {
    opacity: 0;
}

.qv-view-toggle {
    display: flex;
    gap: 10px;
    justify-content: center;
    padding: 14px;
    background: #ffffff;
    border-top: 1px solid #e7e5e3;
}

.qv-view-toggle[hidden] {
    display: none;
}

.qv-view-btn {
    padding: 8px 24px;
    border: 1px solid #e7e5e3;
    background: transparent;
    color: #32171e;
    font-size: 11px;
    letter-spacing: 1.5px;
    font-weight: 600;
}

.qv-view-btn.active,
.qv-view-btn:hover {
    border-color: #a8824f;
    background: #ffffff;
    color: #32171e;
}

.quickview-details {
    position: relative;
    padding: 45px 40px;
    display: flex;
    flex-direction: column;
}

.quickview-details h3 {
    font-family: "DM Serif Display", serif;
    font-size: 28px;
    font-weight: normal;
    margin-bottom: 10px;
    padding-right: 30px;
}

.quickview-modal .close-panel {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    background: rgba(255,255,255,.85);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.qv-desc {
    font-size: 13px;
    line-height: 1.8;
    color: #62595c;
    margin: 18px 0 22px;
}

.qv-label {
    font-size: 10px;
    letter-spacing: 2px;
    color: #72686c;
    margin-bottom: 10px;
}

.size-options {
    display: flex;
    gap: 10px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}

.size-btn {
    width: 42px;
    height: 42px;
    border: 1px solid #e7e5e3;
    background: transparent;
    font-size: 12px;
}

.size-btn.active,
.size-btn:hover {
    border-color: #32171e;
    background: #ffffff;
    color: #32171e;
}

.qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e7e5e3;
    width: fit-content;
    margin-bottom: 26px;
}

.qty-stepper button {
    width: 38px;
    height: 38px;
    background: none;
    border: none;
    font-size: 16px;
}

.qty-stepper span {
    width: 36px;
    text-align: center;
    font-size: 13px;
}

.qv-add-btn {
    width: 100%;
    background: #a8824f;
    border-color: #a8824f;
    color: white;
}

.qv-add-btn:hover {
    background: #eb9184;
    border-color: #eb9184;
}


/* ============================= */
/* SIZE CHART MODAL                */
/* Same chart image reused for every category — opened from the      */
/* "SIZE CHART" link inside Quick View. object-fit:contain keeps the */
/* full image visible, uncropped, at its own aspect ratio.           */
/* ============================= */

.qv-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.qv-label-row .qv-label {
    margin-bottom: 0;
}

.size-chart-link {
    background: none;
    border: none;
    font-size: 10px;
    letter-spacing: 1.5px;
    color: #32171e;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-bottom: 10px;
}

.size-chart-link:hover {
    color: #a8824f;
}

.size-chart-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(.95);
    width: 400px;
    max-width: 90vw;
    max-height: 85vh;
    background: #ffffff;
    z-index: 240;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.size-chart-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.size-chart-modal .close-panel {
    align-self: flex-end;
}

.size-chart-body {
    overflow-y: auto;
    display: flex;
    justify-content: center;
}

.size-chart-body img {
    width: auto;
    max-width: 340px;
    height: auto;
    max-height: 65vh;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

@media (max-width: 600px) {
    .size-chart-modal {
        width: 92vw;
        padding: 16px;
    }

    .size-chart-body img {
        max-height: 70vh;
    }
}


/* ============================= */
/* PHOTO ZOOM POPUP                */
/* ============================= */

.photo-zoom-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(.95);
    width: 90vw;
    max-width: 440px;
    max-height: 92vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(61, 21, 18, .28);
    z-index: 230;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 16px;
    display: flex;
    flex-direction: column;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.photo-zoom-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.photo-zoom-modal .close-panel {
    align-self: flex-end;
}

.photo-zoom-body {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pz-viewport {
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
    touch-action: pan-y;
}

.pz-track {
    display: flex;
    transition: transform .4s ease;
}

.pz-slide {
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pz-slide {
    overflow: hidden;
}

.pz-slide img {
    width: 100%;
    max-height: 52vh;
    object-fit: contain;
    display: block;
    cursor: zoom-in;
    user-select: none;
    transform-origin: center center;
    transition: transform .25s ease;
}

@media (hover: hover) {
    .pz-slide:hover img {
        transform: scale(2);
    }
}

.pz-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 10px 0 4px;
}

.pz-dots[hidden] { display: none; }

.pz-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid #32171e;
    background: transparent;
}

.pz-dot.active { background: #32171e; }

.pz-info { padding-top: 8px; }

.pz-name {
    font-size: 15px;
    color: #32171e;
    margin-bottom: 4px;
}

.pz-price { margin-bottom: 10px; font-size: 14px; color: #32171e; }
.pz-price .pz-now { font-weight: 600; }
.pz-price .old-price { text-decoration: line-through; color: #72686c; margin-left: 6px; }
.pz-price .discount { color: #a8824f; margin-left: 6px; font-size: 12px; }

.pz-size-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    letter-spacing: 2px;
    color: #72686c;
    margin-bottom: 8px;
}

.pz-sizes { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }

.pz-size-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #e7e5e3;
    background: transparent;
    font-size: 12px;
}

.pz-size-btn.active,
.pz-size-btn:hover {
    border-color: #32171e;
    background: #ffffff;
    color: #32171e;
}

.pz-add-btn {
    width: 100%;
    padding: 13px;
    background: #32171e;
    color: #fff;
    font-size: 12px;
    letter-spacing: 2px;
    transition: background .3s ease;
}

.pz-add-btn:hover { background: #a8824f; }

.photo-zoom-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    border: 1px solid #e7e5e3;
    color: #32171e;
    font-size: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.photo-zoom-prev { left: 8px; }
.photo-zoom-next { right: 8px; }

.photo-zoom-nav[hidden] {
    display: none;
}

.photo-zoom-nav:hover {
    background: #a8824f;
    border-color: #a8824f;
    color: #fff;
}

.product-image img {
    cursor: pointer;
}

@media (max-width: 600px) {
    .photo-zoom-modal {
        width: 92vw;
        max-height: 94vh;
        padding: 12px;
    }

    .pz-slide img {
        max-height: 46vh;
    }
}


/* ============================= */
/* CHECKOUT MODAL                  */
/* ============================= */

.checkout-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(.95);
    width: 980px;
    max-width: 94vw;
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    z-index: 260;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 46px 44px;
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}

.checkout-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}

.checkout-modal .close-panel {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    background: rgba(255,255,255,.85);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.checkout-modal h2 {
    font-family: "DM Serif Display", serif;
    font-weight: normal;
    font-size: 30px;
    margin-bottom: 28px;
}

.checkout-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 44px;
    align-items: start;
}

.checkout-fields h4 {
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #62595c;
    margin: 26px 0 14px;
}

.checkout-fields h4:first-child {
    margin-top: 0;
}

.form-row {
    margin-bottom: 12px;
}

.form-row-split {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

.checkout-modal input[type="text"],
.checkout-modal input[type="tel"] {
    width: 100%;
    border: 1px solid #e7e5e3;
    background: #fff;
    padding: 13px 14px;
    font-size: 13px;
    font-family: inherit;
    color: #32171e;
}

.checkout-modal input:focus {
    outline: none;
    border-color: #a8824f;
}

.payment-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.payment-option {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #e7e5e3;
    padding: 14px 16px;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}

.payment-option:has(input:checked),
.payment-option.active {
    border-color: #32171e;
    background: #ffffff;
}

.payment-option input {
    accent-color: #32171e;
    width: 16px;
    height: 16px;
}

.payment-option-icon {
    font-size: 20px;
}

.payment-option-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.payment-option-title {
    font-size: 13px;
    font-weight: 600;
}

.payment-option-desc {
    font-size: 11.5px;
    color: #72686c;
}

.upi-box {
    margin-top: 14px;
    padding: 16px 18px;
    background: #ffffff;
    font-size: 13px;
}

.upi-box p {
    margin-bottom: 10px;
}

.upi-id-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.upi-id-row code {
    background: #fff;
    padding: 8px 12px;
    font-size: 13px;
    letter-spacing: .3px;
    flex: 1;
}

.upi-copy-btn {
    background: #fff;
    color: #32171e;
    border: 1px solid #32171e;
    padding: 8px 14px;
    font-size: 10px;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .3s ease;
}

.upi-copy-btn:hover {
    background: #ffffff;
}

.upi-pay-btn {
    width: 100%;
    text-align: center;
    background: #25D366;
    border-color: #25D366;
    color: white;
    margin-bottom: 10px;
}

.upi-pay-btn:hover {
    background: #1eb857;
    border-color: #1eb857;
}

.upi-note {
    font-size: 11px;
    color: #72686c;
    line-height: 1.6;
}

.checkout-summary-box {
    background: #ffffff;
    padding: 24px;
    position: sticky;
    top: 0;
}

.checkout-summary-box h4 {
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #62595c;
    margin-bottom: 16px;
}

.checkout-summary {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 260px;
    overflow-y: auto;
    margin-bottom: 16px;
}

.checkout-summary-item {
    display: flex;
    gap: 10px;
    font-size: 12px;
}

.checkout-summary-item img {
    width: 46px;
    height: 58px;
    object-fit: cover;
    flex-shrink: 0;
}

.checkout-summary-item-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
}

.checkout-summary-item-info span {
    color: #72686c;
    font-size: 11px;
}

.checkout-totals {
    border-top: 1px solid #e7e5e3;
    padding-top: 14px;
    margin-bottom: 18px;
}

.checkout-totals-row {
    display: flex;
    justify-content: space-between;
    font-size: 12.5px;
    margin-bottom: 8px;
    color: #62595c;
}

.checkout-totals-row.grand-total {
    font-size: 15px;
    font-weight: 600;
    color: #32171e;
    border-top: 1px solid #e7e5e3;
    padding-top: 10px;
    margin-top: 4px;
}

.checkout-place-btn {
    width: 100%;
    text-align: center;
    background: #a8824f;
    border-color: #a8824f;
    color: white;
}

.checkout-place-btn:hover {
    background: #eb9184;
    border-color: #eb9184;
}

.checkout-secure-note {
    font-size: 10.5px;
    color: #72686c;
    text-align: center;
    margin-top: 12px;
}

.checkout-success {
    text-align: center;
    padding: 50px 20px;
    max-width: 420px;
    margin: 0 auto;
}

.checkout-success .success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #eaf7ef;
    border: 2px solid #1a8a4a;
    color: #1a8a4a;
    font-size: 28px;
    margin-bottom: 22px;
}

.checkout-success h2 {
    margin-bottom: 14px;
}

.checkout-success p {
    font-size: 13px;
    line-height: 1.8;
    color: #62595c;
    margin-bottom: 8px;
}

.checkout-success #successOrderId {
    color: #32171e;
}

.checkout-success .btn {
    margin-top: 20px;
}


/* ============================= */
/* TOAST                          */
/* ============================= */

.toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #fff;
    color: #32171e;
    border: 1px solid #e7e5e3;
    box-shadow: 0 10px 30px rgba(61,21,18,.12);
    padding: 14px 26px;
    font-size: 12px;
    letter-spacing: .5px;
    z-index: 300;
    opacity: 0;
    visibility: hidden;
    transition: .35s ease;
    white-space: nowrap;
}

.toast.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}


/* ============================= */
/* FLOATING BUTTONS                */
/* ============================= */

.back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #fff;
    color: #32171e;
    border: 1px solid #e7e5e3;
    box-shadow: 0 8px 22px rgba(61,21,18,.12);
    font-size: 18px;
    z-index: 150;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: .35s ease;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    background: #ffffff;
    border-color: #a8824f;
}

.whatsapp-btn {
    position: fixed;
    right: 24px;
    bottom: 80px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #25D366;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 150;
    box-shadow: 0 6px 18px rgba(61,21,18,.15);
    transition: transform .2s ease;
}

.whatsapp-btn:hover {
    transform: scale(1.08);
}

.whatsapp-btn svg {
    width: 22px;
    height: 22px;
}


/* =========================================================
   RESPONSIVE — NEW COMPONENTS
========================================================= */

@media (max-width: 900px) {

    .trust-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-us {
        grid-template-columns: repeat(2, 1fr);
    }

    .quickview-modal {
        grid-template-columns: 1fr;
    }

    .quickview-image {
        min-height: 260px;
    }

    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .checkout-summary-box {
        position: static;
    }

    .menu-toggle {
        display: flex;
    }
}

@media (max-width: 600px) {

    .trust-strip {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .why-us {
        grid-template-columns: 1fr;
        padding: 50px 6%;
        gap: 30px;
    }

    .gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    .cart-drawer {
        width: 100%;
        max-width: 100%;
    }

    .filter-chips {
        gap: 8px;
    }

    .chip-filter {
        padding: 8px 14px;
        font-size: 9px;
    }

    .quickview-details {
        padding: 30px 24px;
    }

    .quickview-details h3 {
        font-size: 22px;
    }

    .checkout-modal {
        padding: 60px 20px 30px;
        width: 100%;
        max-width: 100vw;
        max-height: 100vh;
        height: 100vh;
        top: 0;
        left: 0;
        transform: none;
        border-radius: 0;
    }

    .checkout-modal.active {
        transform: none;
    }

    .form-row-split {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        gap: 40px;
    }

    .announcement {
        font-size: 9.5px;
        letter-spacing: 1px;
        padding: 8px 10px;
    }

    .announce-sep {
        display: none;
    }

    .announcement span:nth-child(3) {
        display: block;
        margin-top: 3px;
    }
}


/* size chart opens above the photo popup */
#sizeChartBackdrop { z-index: 235; }

.quickview-btn { display: none !important; }

@media (max-width: 600px) {
    .why-us { gap: 14px; padding: 50px 5%; }
    .why-us-head h2 { font-size: 26px; }
    .why-us-item { padding: 24px 12px 22px; border-radius: 14px; }
    .why-us-item .why-icon { width: 54px; height: 54px; }
    .why-us-item .why-icon svg { width: 24px; height: 24px; }
    .why-us-item h4 { font-size: 16px; }
    .why-us-item p { font-size: 12px; }
}

/* why-us extras */
.why-us-item::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #d3bc97, #a8824f, #87663b);
    transform: scaleX(.35);
    transition: transform .4s ease;
}
.why-us-item:hover::before { transform: scaleX(1); }
.why-us-item::after {
    content: "";
    position: absolute;
    width: 120px; height: 120px;
    right: -40px; bottom: -40px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(168,130,79,.14), transparent 70%);
    pointer-events: none;
}
.why-us-item .why-icon svg { width: 32px; height: 32px; }
.why-us-item .why-icon { width: 76px; height: 76px; }
.why-us-item .why-icon svg { width: 38px; height: 38px; }
@media (max-width: 600px) {
    .why-us-item .why-icon { width: 60px; height: 60px; }
    .why-us-item .why-icon svg { width: 30px; height: 30px; }
}

/* Short kurtis (Zara, Noor, Mehar, Roohi) start on a fresh row so all
   four sit together in one line; the leftover slot above stays empty. */
#newArrivalsGrid > #kurtis {
    grid-column-start: 1;
}

/* Hover on a card photo shows its BACK photo (only cards that have one).
   Mouse/trackpad only, so touch screens never get a stuck state. */
@media (hover: hover) and (pointer: fine) {
    .product-image:hover .img-back {
        opacity: 1;
    }
    .product-image:hover .img-back ~ .img-front,
    .product-image:has(.img-back):hover .img-front {
        opacity: 0;
    }
}


/* Footer consists only of the provided full-width artwork. */
#footer {
    padding: 0;
    border-top: 0;
    background: #ffffff;
}
.footer-artwork {
    display: block;
    width: 100%;
    height: auto;
}
#cottonLehenga .product-image .img-front { object-fit: contain; opacity: 1; transform: none; }
/* Compact colour choices match the catalogue swatches. */
.lehenga-colours { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:12px 0; }
.lehenga-colours[hidden] { display:none; }
.lehenga-swatch { width:20px; height:20px; padding:0; border:2px solid transparent; border-radius:50%; background:var(--swatch-colour); outline:1px solid #e7e5e3; outline-offset:2px; transition:transform .2s; }
.lehenga-swatch[aria-pressed="true"] { outline:2px solid #32171e; }
.lehenga-swatch:hover { transform:scale(1.12); }
.lehenga-swatch:focus-visible { outline:3px solid #32171e; }
.lehenga-colours .colour-name { font-size:10.5px; color:#72686c; margin-left:4px; }

#qvColourOptions:not([hidden]) { display: flex; margin: 18px 0 24px; }
#qvColourOptions .lehenga-swatch { width: 28px; height: 28px; }
#qvColourOptions .colour-name { font-size: 13px; }
#qvRating[hidden] { display: none; }

/* Keep the whole blouse in view, including its straps and ties. */
#mirrorBlouse .product-image { background: #ffffff; }
#mirrorBlouse .product-image .img-front {
    object-fit: contain;
    object-position: center;
    transform: none;
}
.quickview-modal.show-full-blouse .qv-image-frame { min-height: 260px; }
.quickview-modal.show-full-blouse #qvImage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: none !important;
    cursor: default;
}

.product[data-variants] .product-image { background: #ffffff; }
.product[data-variants] .product-image .img-front { object-fit: contain; transform: none; }
.catalogue-empty { padding: 32px; color: #72686c; }

.tag-stock { background: #62595c; color: white; }
.qv-add-btn:disabled { background: #a2938c; cursor: not-allowed; box-shadow: none; }

.qv-gallery { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; padding:14px; background:#ffffff; }
.qv-gallery[hidden] { display:none; }
.qv-gallery>button { background:#ffffff; color:#32171e; border:1px solid #c4aa85; border-radius:50%; width:30px; height:30px; font-size:22px; }
.qv-thumbnails { display:flex; gap:6px; max-width:75%; overflow-x:auto; }
.qv-thumbnails button { flex-shrink:0; width:48px; height:58px; padding:2px; border:2px solid transparent; background:#ffffff; }
.qv-thumbnails button[aria-pressed="true"] { border-color:#7c1737; }
.qv-thumbnails img { width:100%; height:100%; object-fit:contain; cursor:pointer; }
#qvImageCount { flex-basis:100%; text-align:center; font-size:11px; }

#styleGallery[hidden] { display: none; }

.style-gallery-heading {
    margin: 60px 20px 28px;
    text-align: center;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.3;
    color: #32171e;
}
.style-gallery-heading a { color: inherit; text-decoration: underline; text-underline-offset: 5px; }
.style-gallery-heading a:hover { color: #651c30; }
.style-gallery-heading[hidden] { display: none; }

/* Style gallery: three photos per view with native touch swiping. */
.style-gallery-carousel { position:relative; padding:0 52px; margin:0 3% 32px; }
#styleGallery {
    display:flex; gap:16px; overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scrollbar-width:none; touch-action:pan-x pan-y;
}
#styleGallery::-webkit-scrollbar { display:none; }
#styleGallery .gallery-item { flex:0 0 calc((100% - 32px) / 3); min-width:0; scroll-snap-align:start; border-radius:16px; }
#styleGallery .gallery-item img { display:block; width:100%; height:auto; aspect-ratio:3 / 4; object-fit:cover; }
#styleGallery:focus-visible { outline:2px solid #651c30; outline-offset:5px; }
.gallery-arrow {
    position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px;
    border:1px solid #dedbd8; border-radius:50%; background:#ffffff; color:#651c30;
    font-size:26px; display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.gallery-arrow-prev { left:0; }
.gallery-arrow-next { right:0; }
.gallery-arrow:disabled { opacity:.35; cursor:default; }
.gallery-arrow:hover:not(:disabled) { background:#f7f7f7; }
.style-gallery-carousel[hidden] { display:none; }
@media(max-width:600px) {
    .style-gallery-carousel { padding:0 32px; margin-left:12px; margin-right:12px; }
    #styleGallery { gap:8px; }
    #styleGallery .gallery-item { flex-basis:calc((100% - 16px) / 3); border-radius:10px; }
    .gallery-arrow { width:28px; height:28px; font-size:21px; }
}

/* Reviews carousel expands automatically when additional reviews are added. */
.reviews-carousel { position:relative; max-width:1204px; margin:auto; padding:0 52px; }
#customerReviews { display:flex; gap:25px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x pan-y; }
#customerReviews::-webkit-scrollbar { display:none; }
#customerReviews .review { flex:0 0 calc((100% - 50px) / 3); min-width:0; scroll-snap-align:start; }
#customerReviews:focus-visible { outline:2px solid #651c30; outline-offset:5px; }
.reviews-arrow { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border:1px solid #dedbd8; border-radius:50%; background:#ffffff; color:#651c30; font-size:26px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.reviews-arrow-prev { left:0; }
.reviews-arrow-next { right:0; }
.reviews-arrow:disabled { opacity:.35; cursor:default; }
.reviews-arrow:hover:not(:disabled) { background:#f7f7f7; }
@media(max-width:900px) { #customerReviews .review { flex-basis:calc((100% - 25px) / 2); } }
@media(max-width:600px) {
 .reviews-carousel { padding:0 32px; }
 #customerReviews { gap:16px; }
 #customerReviews .review { flex-basis:100%; padding:25px 20px; }
 .reviews-arrow { width:28px; height:28px; font-size:21px; }
}

.reviews[hidden] { display:none; }
#customerReviews .review p, #customerReviews .review strong { overflow-wrap:anywhere; }

/* Photo category cards directly below the hero banner. */
.shop-by-category { padding:42px 3% 48px; background:#ffffff; }
.shop-by-category h2 { text-align:center; font-family:"DM Serif Display", Georgia, serif; font-size:clamp(30px,3vw,46px); font-weight:400; margin:0 0 30px; color:#32171e; }
.shop-category-track { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:18px; }
.shop-category-card { position:relative; display:block; aspect-ratio:2 / 3; min-width:0; overflow:hidden; border-radius:22px; background:#ffffff; color:white; }
.shop-category-card > img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.shop-category-card::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(26,12,9,.7)); pointer-events:none; }
.shop-category-details { position:absolute; z-index:1; left:8%; right:8%; bottom:8%; text-align:center; }
.shop-category-name { display:block; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(19px,1.6vw,30px); line-height:1.25; margin-bottom:14px; text-shadow:0 1px 3px #0006; }
.shop-category-button { display:block; padding:12px 6px; border-radius:30px; background:#fff; color:#32171e; font-size:10px; font-weight:700; letter-spacing:2px; }
.shop-category-card:focus-visible { outline:3px solid #651c30; outline-offset:4px; }
.category-filter-empty { grid-column:1 / -1; padding:32px; text-align:center; color:#62595c; }
@media(hover:hover) and (pointer:fine) { .shop-category-card:hover > img { transform:scale(1.04); } }
@media(max-width:1100px) {
 .shop-category-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 12px; }
 .shop-category-card { flex:0 0 24%; scroll-snap-align:start; }
}
@media(max-width:600px) {
 .shop-by-category { padding:28px 14px 30px; }
 .shop-by-category h2 { margin-bottom:20px; }
 .shop-category-track { gap:12px; }
 .shop-category-card { flex-basis:66%; }
 .shop-category-name { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) { .shop-category-card > img { transition:none; } }

/* Brief brand welcome on the first page visit in a browsing session. */
.brand-intro { display:none; }
html.rk-intro .brand-intro { position:fixed; inset:0; z-index:10000; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; background:radial-gradient(ellipse at center,#ffffff,#ffffff); color:#32171e; transition:opacity .4s ease,visibility .4s ease; }
html.rk-intro .brand-intro.is-leaving { opacity:0; visibility:hidden; pointer-events:none; }
.brand-intro-logo { width:clamp(220px,38vw,460px); height:auto; animation:rkLogoReveal 1.2s ease both; }
.brand-intro-tagline { margin:0; padding:0 20px; text-align:center; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(18px,2vw,26px); animation:rkWordsReveal .9s .35s ease both; }
.brand-intro-line { width:120px; height:1px; background:linear-gradient(90deg,transparent,#c59b5c,transparent); animation:rkLineReveal 1s .25s ease both; }
@keyframes rkLogoReveal { from { opacity:0; transform:translateY(16px) scale(.92); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes rkWordsReveal { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes rkLineReveal { from { opacity:0; transform:scaleX(.1); } to { opacity:1; transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { html.rk-intro .brand-intro { display:none; } }

#collections[hidden] { display:none; }

/* Keep the sticky navigation above the full hero image. */
.navbar {
    --navigation-height:82px;
    height:var(--navigation-height);
    margin-bottom:0;
    background:transparent;
    border-bottom-color:transparent;
    box-shadow:none;
    transition:background-color .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.navbar.is-scrolled {
    background:rgba(255,255,255,.97);
    border-bottom-color:#e7e5e3;
    box-shadow:0 4px 20px rgba(61,21,18,.08);
    backdrop-filter:blur(10px);
}
section[id] { scroll-margin-top:90px; }
@media(max-width:600px) { .navbar { --navigation-height:65px; } section[id] { scroll-margin-top:73px; } }
@media(prefers-reduced-motion:reduce) { .navbar { transition:none; } }

/* Centre the brand independently of the width of the navigation controls. */
.navbar { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); column-gap:24px; }
.navbar > nav { grid-column:1; grid-row:1; justify-self:start; gap:16px; }
.navbar > .logo { grid-column:2; grid-row:1; justify-self:center; }
.navbar > .nav-icons { grid-column:3; grid-row:1; justify-self:end; }
.navbar > .menu-toggle { grid-column:1; grid-row:1; justify-self:start; }
@media(max-width:1200px) {
    .navbar > nav { display:none; }
    .navbar > .menu-toggle { display:flex; }
}
@media(max-width:600px) {
    .navbar { padding:0 14px; column-gap:8px; }
    .navbar > .logo .brand-logo-img { max-width:120px; height:auto; max-height:30px; }
    .navbar > .nav-icons { gap:7px; }
}

/* Gentle brand interaction without shifting the centred navigation. */
.navbar > .logo .brand-logo-img {
    transform-origin:center;
    transition:transform .3s ease,filter .3s ease;
}
@media(hover:hover) and (pointer:fine) {
    .navbar > .logo:hover .brand-logo-img {
        transform:scale(1.06);
        filter:saturate(1.35) brightness(1.08) drop-shadow(0 3px 7px rgba(101,28,48,.28));
    }
}
.navbar > .logo:focus-visible { outline:2px solid #651c30; outline-offset:6px; border-radius:4px; }
.navbar > .logo:focus-visible .brand-logo-img {
    filter:saturate(1.35) brightness(1.08) drop-shadow(0 3px 7px rgba(101,28,48,.28));
}
@media(prefers-reduced-motion:reduce) {
    .navbar > .logo .brand-logo-img { transition:none; }
    .navbar > .logo:hover .brand-logo-img { transform:none; }
}

/* White luxury palette: burgundy typography and restrained gold detail. */
:root { --rk-white:#fff; --rk-ink:#32171e; --rk-gold:#a8824f; --rk-border:#e7e5e3; }
.announcement { background:#32171e; color:#fff; border-bottom:0; }
.announcement #countdown { color:#d3bc97; }
body, .light-section, .reviews, .shop-by-category, .auth-body, #footer { background:#fff; }
.review { background:#fff; border:1px solid #e7e5e3; border-top:2px solid #c4aa85; border-radius:12px; }
.review div { color:#a8824f; }
html.rk-intro .brand-intro { background:#fff; }
.navbar.is-scrolled { background:rgba(255,255,255,.97); }
.gallery-arrow, .reviews-arrow { background:#fff; border-color:#dedbd8; }
.gallery-arrow:hover:not(:disabled), .reviews-arrow:hover:not(:disabled) { background:#f7f7f7; }
.shop-category-button { background:#fff; color:#32171e; }

/* Light navigation on the new dark hero artwork. */
.navbar:not(.is-scrolled) { color:#fff; background:linear-gradient(rgba(0,0,0,.5),transparent); }
.navbar:not(.is-scrolled) .nav-icons button { color:#fff; }
.navbar:not(.is-scrolled) .menu-toggle span { background:#fff; }
.navbar:not(.is-scrolled) > .logo .brand-logo-img { filter:brightness(0) invert(1); }
.navbar:not(.is-scrolled) .account-dropdown { color:#32171e; }
@media(hover:hover) and (pointer:fine) {
 .navbar:not(.is-scrolled) > .logo:hover .brand-logo-img { filter:brightness(0) invert(1) drop-shadow(0 0 7px rgba(211,188,151,.75)); }
}

/* Consistent catalogue frames with automatic aspect-ratio fitting. */
.products .product .product-image {
    height:auto;
    aspect-ratio:3 / 4;
    width:100%;
    border-radius:16px;
    overflow:hidden;
    background:#fafafa;
}
.products .product .product-image img {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:contain; object-position:center; transform:none;
}
.products .product .product-image img[data-frame-fit="cover"] { object-fit:cover; }
.products .product .product-image.split-view img { position:static; width:50%; object-fit:contain; }

/* Craft feature uses the supplied photo on a white section. */
.feature { background:#fff; }
.feature-image { display:flex; align-items:center; justify-content:center; padding:30px; background:#fff; }
.feature-image > img { width:100%; height:auto; max-height:720px; object-fit:contain; }
.feature-content { background:#fff; }
@media(max-width:900px) { .feature-image { min-height:0; padding:24px; } .feature-image > img { max-height:620px; } }

.watch-buy { padding:60px 3%; background:#fff; text-align:center; }
.watch-buy h2 { font-family:"DM Serif Display",Georgia,serif; font-size:clamp(30px,3vw,46px); font-weight:400; margin-bottom:30px; }
.watch-buy-carousel { position:relative; padding:0 46px; }
.watch-buy-track { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.watch-buy-track::-webkit-scrollbar { display:none; }
.watch-buy-card { flex:0 0 calc((100% - 90px) / 6); min-width:0; scroll-snap-align:start; }
.watch-buy-card video { display:block; width:100%; aspect-ratio:9 / 16; object-fit:cover; border-radius:12px; background:#f7f7f7; }
.watch-buy-card h3 { font-size:12px; line-height:1.5; margin:12px 0 8px; }
.watch-buy-shop { border:1px solid #dedbd8; background:#fff; color:#32171e; padding:10px; border-radius:24px; width:100%; font-size:10px; letter-spacing:1px; }
.watch-buy-arrow { position:absolute; top:42%; width:36px; height:36px; border:1px solid #dedbd8; border-radius:50%; background:#fff; color:#32171e; font-size:24px; cursor:pointer; }
.watch-buy-prev { left:0; } .watch-buy-next { right:0; }
.watch-buy-arrow:disabled { opacity:.35; cursor:default; }
#watchBuyEmpty { color:#72686c; padding:26px; }
#watchBuyEmpty[hidden], .watch-buy-carousel[hidden] { display:none; }
@media(max-width:1100px) { .watch-buy-card { flex-basis:calc((100% - 36px) / 3); } }
@media(max-width:600px) { .watch-buy-carousel { padding:0 30px; } .watch-buy-track { gap:12px; } .watch-buy-card { flex-basis:calc((100% - 12px) / 2); } .watch-buy-arrow { width:26px; height:26px; font-size:20px; } }

.footer-contact-strip {
    display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
    gap:40px; padding:32px 20px; background:#fff; border-top:1px solid #e7e5e3;
    color:#32171e;
}
.footer-contact-strip a, .footer-contact-strip > span {
    display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:1px;
}
.footer-contact-strip svg { width:22px; height:22px; flex:none; }
.footer-contact-strip a { transition:color .2s ease,transform .2s ease; }
.footer-contact-strip a:hover { color:#a8824f; transform:translateY(-2px); text-decoration:none; }
.footer-contact-strip a:focus-visible { outline:2px solid #a8824f; outline-offset:6px; }
@media(max-width:600px) { .footer-contact-strip { gap:22px; padding:26px 14px; } .footer-contact-strip a, .footer-contact-strip > span { font-size:10px; gap:7px; } }
@media(prefers-reduced-motion:reduce) { .footer-contact-strip a { transition:none; } .footer-contact-strip a:hover { transform:none; } }

.footer-legal-strip { gap:24px; padding:26px 24px; }
.footer-copyright { font-size:12px; letter-spacing:0; white-space:nowrap; }
.footer-policy-links { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0; }
.footer-policy-links :is(button, a) { border:0; background:transparent; padding:8px 12px; color:#62595c; font-size:12px; letter-spacing:0; }
.footer-policy-links :is(button, a)::before { content:"·"; margin-right:18px; color:#a8824f; }
.footer-policy-links :is(button, a):hover { color:#32171e; text-decoration:underline; text-underline-offset:4px; }
.footer-policy-links :is(button, a):focus-visible { outline:2px solid #a8824f; outline-offset:2px; }
.footer-social-links { display:flex; align-items:center; gap:18px; }
.footer-social-links a { display:inline-flex; }
@media(max-width:600px) { .footer-legal-strip { flex-direction:column; gap:12px; padding:24px 14px; } .footer-policy-links :is(button, a) { padding:8px; font-size:11px; } .footer-policy-links :is(button, a)::before { margin-right:10px; } }

.footer-policy-links a { text-decoration:none; font-family:inherit; line-height:normal; }

/* Always-visible branding on uploaded gallery photos. */
#styleGallery .gallery-hashtag {
    position:absolute; left:0; right:0; bottom:0; z-index:2;
    display:flex; align-items:flex-end; justify-content:center;
    min-height:22%; padding:18px 8px; pointer-events:none;
    background:linear-gradient(transparent,rgba(0,0,0,.62));
    color:#fff; font-family:Montserrat,Arial,sans-serif;
    font-size:clamp(9px,1.1vw,17px); font-weight:500; letter-spacing:1.5px;
    text-shadow:0 1px 3px rgba(0,0,0,.65);
}
@media(max-width:600px){#styleGallery .gallery-hashtag{padding:10px 3px;letter-spacing:.5px}}

.buy-now-btn{display:block;width:100%;margin-top:12px;text-align:center;}
.buy-now-btn:disabled{opacity:.5;cursor:not-allowed;}

.saree-budget-filter{max-width:540px;margin:0 auto 32px;padding:22px;border:1px solid #e7e5e3;border-radius:12px;background:#fff}
.saree-budget-filter label,.budget-scale{display:flex;justify-content:space-between;align-items:center;gap:12px}
.saree-budget-filter label{font-size:14px;color:#32171e}.saree-budget-filter output{font-weight:600}
.saree-budget-filter input{display:block;width:100%;margin:20px 0 10px;accent-color:#651c30;cursor:pointer}
.saree-budget-filter input:focus-visible{outline:2px solid #a8824f;outline-offset:6px}
.budget-scale,.saree-budget-filter p{font-size:12px;color:#72686c}.saree-budget-filter p{margin-top:14px}
#collectionsGrid .product.budget-hidden{display:none!important}

/* Match the navigation to the blush background of the RK footer artwork. */
.navbar, .navbar.is-scrolled, .navbar:not(.is-scrolled) {
 background:#f8e8da; color:#32171e; border-bottom:1px solid #ead6c3;
}
.navbar:not(.is-scrolled) .nav-icons button { color:#32171e; }
.navbar:not(.is-scrolled) .menu-toggle span { background:#32171e; }
.navbar:not(.is-scrolled) > .logo .brand-logo-img { filter:none; }
@media(hover:hover) and (pointer:fine) {
 .navbar:not(.is-scrolled) > .logo:hover .brand-logo-img {
  filter:saturate(1.35) brightness(1.08) drop-shadow(0 3px 7px rgba(101,28,48,.28));
 }
}

/* Product descriptions belong in the product detail view. */
.products .product > p { display:none; }

/* Sarees have no size selection; other clothing keeps its size controls. */
.quickview-modal.is-saree .qv-label-row, .quickview-modal.is-saree .size-options,
.photo-zoom-modal.is-saree .pz-size-head, .photo-zoom-modal.is-saree .pz-sizes { display:none; }

/* Shared outline profile icon for all customer navigation. */
.nav-icons .profile-icon { width:23px; height:23px; display:inline-block; vertical-align:middle; flex-shrink:0; }

/* Match search and wishlist to the 23px profile icon. */
.nav-icons .search-icon, .nav-icons .wishlist-icon { width:23px; height:23px; display:inline-block; vertical-align:middle; flex-shrink:0; }

.search-overlay { overflow-y:auto; }
.search-results { margin-top:26px; max-height:60vh; overflow-y:auto; text-align:left; }
.search-status { font-size:13px; margin:0 0 14px; color:#62595c; }
.search-result { display:flex; align-items:center; gap:18px; width:100%; padding:12px 4px; border:0; border-bottom:1px solid #e7e5e3; background:transparent; color:#32171e; text-align:left; cursor:pointer; font-family:inherit; }
.search-result img { width:64px; height:84px; object-fit:contain; border-radius:8px; background:#fafafa; }
.search-result > span { display:flex; flex-direction:column; gap:8px; }
.search-result strong { font-size:14px; font-weight:500; }
.search-result span span { font-size:13px; }
.search-result:hover { background:#f8e8da; }
.search-result:focus-visible { outline:2px solid #a8824f; outline-offset:-2px; }

.suit-types{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 0 30px}.suit-types button{padding:12px 22px;border:1px solid #ead6c3;border-radius:24px;background:#fff;color:#32171e;cursor:pointer;font:inherit}.suit-types button[aria-pressed="true"]{background:#f8e8da;border-color:#a8824f}.suit-types button:focus-visible{outline:2px solid #a8824f;outline-offset:3px}.suit-type-hidden{display:none!important}#suitTypeEmpty{text-align:center;color:#62595c}

/* Keep category frames stable while saved photos load, without flashing defaults. */
.shop-category-card[data-category-photo] { background:#f8e8da; }
.shop-category-card[data-category-photo] > img { opacity:0; }
.shop-category-card.category-photo-ready > img { opacity:1; }
