/* =============================================================
   SILVER NEEDLE — Modern Heritage theme override
   Deep Navy (#152438) + Muted Coral (#D18A7E) + Cream (#F9F8F6)
   Typeface: Manrope. Loaded last so it wins the cascade.
   Reskins the existing storefront into a premium ethnic-fashion
   boutique for selling kurtis, sets & heritage wear.
   ============================================================= */

:root{
    --sn-navy:#152438;
    --sn-navy-2:#2B3A4F;
    --sn-coral:#D18A7E;
    --sn-coral-deep:#8a4e44;
    --sn-cream:#F9F8F6;
    --sn-surface:#fbf9fb;
    --sn-line:#e4e2e4;
    --sn-line-soft:#efedef;
    --sn-radius:4px;
}

*{ font-feature-settings:"cv11","ss01"; }
body{
    font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
    background:var(--sn-surface);
    color:#1A1A1A;
    -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--sn-coral); color:#fff; }

/* Editorial display type uses Manrope tight, not a serif */
.section-title, .hero-placeholder h1, .page-header h1,
h1,h2,h3,h4,h5{ font-family:'Manrope',sans-serif; }
.section-title em, h1 em, h2 em, h3 em{
    font-family:'Manrope',sans-serif !important;
    font-style:normal !important;
    color:var(--sn-coral) !important;
    font-weight:700;
}

/* =========================================================
   TOP ANNOUNCEMENT BAR
   ========================================================= */
.topbar{
    background:var(--sn-navy);
    color:rgba(255,255,255,.82);
    font-size:12px; letter-spacing:.04em;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar-left span i,
.topbar-announcement i{ color:var(--sn-coral) !important; }
.topbar-right a:hover,
.topbar-left span:hover{ color:var(--sn-coral) !important; }
.topbar-right a{ text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:500; }

/* =========================================================
   HEADER + LOGO
   ========================================================= */
.main-header{ background:var(--sn-surface); border-bottom:1px solid var(--sn-line); }
.main-logo .logo-text{
    font-family:'Manrope',sans-serif; font-weight:800;
    letter-spacing:-.01em; color:var(--sn-navy);
}
.main-logo .logo-mark{ color:var(--sn-coral); }

/* Search bar — minimalist "pen-on-paper" look */
.header-search{
    border:1px solid var(--sn-line);
    border-radius:var(--sn-radius);
    overflow:hidden; background:#fff;
}
.header-search:focus-within{ border-color:var(--sn-navy); }
.header-search-btn{ background:var(--sn-navy) !important; color:#fff !important; }
.header-search-btn:hover{ background:var(--sn-coral) !important; }
.header-search-cat{ background:var(--sn-cream); color:var(--sn-navy); }

.header-action-btn{ color:var(--sn-navy); }
.header-action-btn:hover{ color:var(--sn-coral); }
.header-action-info small{ color:var(--text-lighter); }
.header-action-info strong{ color:var(--sn-navy); }
.action-badge{ background:var(--sn-coral) !important; color:#fff !important; }

/* =========================================================
   CATEGORY NAV
   ========================================================= */
.cat-nav{ background:var(--sn-surface); border-bottom:1px solid var(--sn-line); }
.cat-dropdown-btn{
    background:var(--sn-navy); color:#fff;
    text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600;
    border-radius:var(--sn-radius);
}
.cat-dropdown-btn:hover{ background:var(--sn-navy-2); }
.cat-nav-menu > li > a{
    text-transform:uppercase; letter-spacing:.09em;
    font-size:12.5px; font-weight:600; color:var(--sn-navy);
}
.cat-nav-menu > li > a:hover,
.cat-nav-menu > li:hover > a{ color:var(--sn-coral); }
.cat-nav-menu > li > a.active{
    color:var(--sn-navy); border-bottom:2px solid var(--sn-navy);
}
.cat-deal-link{ color:var(--sn-coral) !important; font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.cat-deal-link i{ color:var(--sn-coral) !important; }
.mega-menu, .cat-dropdown-menu, .cat-submenu, .dropdown-menu{
    border:1px solid var(--sn-line); border-radius:var(--sn-radius);
    box-shadow:0 20px 50px rgba(21,36,56,.10);
}
.mega-col h4{ color:var(--sn-navy); }
.cat-dropdown-item:hover, .mega-col ul li a:hover, .dropdown-item:hover{ color:var(--sn-coral); }
.dropdown-header strong{ color:var(--sn-navy); }

/* =========================================================
   BUTTONS — Navy solid, Coral on hover (per design system)
   ========================================================= */
.btn{
    border-radius:var(--sn-radius);
    letter-spacing:.12em; font-weight:600; font-size:12px;
    transition:background .3s ease, color .3s ease, border-color .3s ease, transform .15s ease;
}
.btn-primary{ background:var(--sn-navy); color:#fff; }
.btn-primary:hover{ background:var(--sn-coral); color:#fff; }
.btn-outline{ border:1px solid var(--sn-navy); color:var(--sn-navy); background:transparent; }
.btn-outline:hover{ background:var(--sn-navy); color:#fff; }
.btn-white{ background:#fff; color:var(--sn-navy); }
.btn-white:hover{ background:var(--sn-coral); color:#fff; }
.btn-underline{ color:var(--sn-navy); border-bottom-color:var(--sn-navy); }
.btn-underline:hover{ color:var(--sn-coral); border-bottom-color:var(--sn-coral); opacity:1; }
[data-theme="dark"] .btn-primary{ background:var(--sn-navy); color:#fff; }

/* =========================================================
   SECTION HEADINGS
   ========================================================= */
.section{ padding:56px 0; }
.section-alt{ background:var(--sn-cream); }
.section-subtitle{
    color:var(--sn-coral); font-weight:600; letter-spacing:.22em; font-size:12px;
}
.section-title{
    font-weight:700; letter-spacing:-.02em; color:var(--sn-navy);
    font-size:clamp(28px,4vw,44px);
}
.section-title strong{ font-weight:800; }
.section-link{
    color:var(--sn-navy); border-bottom-color:var(--sn-navy);
    text-transform:uppercase; letter-spacing:.12em; font-weight:600;
}
.section-link:hover{ color:var(--sn-coral); border-bottom-color:var(--sn-coral); opacity:1; }
.section-link i, .section-link:hover i{ transition:transform .3s; }
.section-link:hover i{ transform:translateX(4px); }

/* =========================================================
   HERO (banner slider + fallback)
   ========================================================= */
.hero-section{ background:var(--sn-cream); }
.hero-banner img{ width:100%; height:100%; object-fit:cover; }
.hero-section .swiper-pagination-bullet{ background:#fff; opacity:.5; }
.hero-section .swiper-pagination-bullet-active{ background:var(--sn-coral); opacity:1; width:24px; border-radius:4px; }

.hero-placeholder{
    background:linear-gradient(120deg,#0d1725 0%, #152438 55%, #24374f 100%);
    min-height:78vh; display:flex; align-items:center; justify-content:center;
}
.hero-placeholder h1{
    font-family:'Manrope',sans-serif; font-weight:800;
    color:#fff; letter-spacing:-.02em; line-height:1.05;
    font-size:clamp(40px,7vw,72px);
}
.hero-placeholder h1 em{ color:var(--sn-coral) !important; font-style:normal !important; font-family:'Manrope',sans-serif !important; }
.hero-placeholder p{ color:rgba(255,255,255,.85); font-size:17px; max-width:560px; margin:20px auto 30px; }

/* Custom full-bleed editorial hero (home.php) */
.sn-hero{
    position:relative; width:100%; min-height:86vh;
    display:flex; align-items:center; overflow:hidden; background:var(--sn-navy);
}
.sn-hero__bg{
    position:absolute; inset:0; background-size:cover; background-position:center;
    transition:transform 8s ease; transform:scale(1.02);
}
.sn-hero:hover .sn-hero__bg{ transform:scale(1.08); }
.sn-hero__overlay{
    position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(13,20,33,.72) 0%, rgba(13,20,33,.35) 45%, rgba(13,20,33,.05) 100%);
}
.sn-hero__inner{ position:relative; z-index:2; max-width:640px; }
.sn-hero__eyebrow{
    color:rgba(255,255,255,.9); text-transform:uppercase; letter-spacing:.3em;
    font-size:12px; font-weight:600; margin-bottom:18px;
}
.sn-hero__title{
    color:#fff; font-weight:800; letter-spacing:-.02em; line-height:1.04;
    font-size:clamp(38px,5.5vw,62px); margin-bottom:14px;
}
.sn-hero__sub{ color:rgba(255,255,255,.82); font-size:17px; line-height:1.6; margin-bottom:30px; max-width:480px; }
.sn-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; }

/* =========================================================
   MARQUEE STRIP
   ========================================================= */
.marquee-wrapper{ background:var(--sn-navy); color:#fff; border:none; }
.marquee-track span{ color:rgba(255,255,255,.9); text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:500; }
.marquee-sep{ color:var(--sn-coral) !important; }

/* =========================================================
   COLLECTIONS / BENTO (Curated Silhouettes)
   ========================================================= */
.sn-collections{ padding:64px 0; }
.sn-bento{
    display:grid; grid-template-columns:repeat(12,1fr);
    grid-auto-rows:300px; gap:16px;
}
.sn-tile{
    position:relative; overflow:hidden; display:block;
    background:var(--sn-cream); border-radius:2px;
}
.sn-tile__img{
    position:absolute; inset:0; background-size:cover; background-position:center;
    transition:transform .7s cubic-bezier(.25,1,.5,1);
}
.sn-tile:hover .sn-tile__img{ transform:scale(1.08); }
.sn-tile__veil{
    position:absolute; inset:0;
    background:linear-gradient(to top, rgba(13,20,33,.55) 0%, rgba(13,20,33,.05) 55%);
    transition:background .4s;
}
.sn-tile:hover .sn-tile__veil{ background:linear-gradient(to top, rgba(13,20,33,.7) 0%, rgba(13,20,33,.2) 60%); }
.sn-tile__body{ position:absolute; left:0; right:0; bottom:0; padding:26px; z-index:2; }
.sn-tile__kicker{ color:rgba(255,255,255,.75); text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:600; }
.sn-tile__title{ color:#fff; font-size:26px; font-weight:700; margin-top:4px; letter-spacing:-.01em; }
.sn-tile__link{
    color:#fff; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:600;
    display:inline-flex; align-items:center; gap:8px; margin-top:10px;
    opacity:.9; transition:gap .3s, opacity .3s;
}
.sn-tile:hover .sn-tile__link{ gap:14px; opacity:1; }
.sn-tile--tall{ grid-row:span 2; }
.sn-tile--w4{ grid-column:span 4; }
.sn-tile--w5{ grid-column:span 5; }
.sn-tile--w6{ grid-column:span 6; }
.sn-tile--w7{ grid-column:span 7; }
.sn-tile--w8{ grid-column:span 8; }
.sn-tile--w12{ grid-column:span 12; }
.sn-tile--center .sn-tile__body{ inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.sn-tile--center .sn-tile__title{ font-size:34px; }

/* =========================================================
   PRODUCT CARDS — center-aligned, coral price, quick add
   ========================================================= */
.product-grid{ gap:24px; }
.product-card-image{ background:var(--sn-cream); border-radius:2px; }
.badge-sale{ background:var(--sn-navy); color:#fff; border-radius:2px; }
.badge-new{ background:#fff; color:var(--sn-navy); border:1px solid var(--sn-line); border-radius:2px; }
.badge-hot{ background:var(--sn-coral); color:#fff; border-radius:2px; }

.quick-add-btn{
    background:rgba(255,255,255,.94); color:var(--sn-navy);
    font-weight:600; letter-spacing:.12em; border-radius:var(--sn-radius);
    backdrop-filter:blur(6px);
}
.quick-add-btn:hover{ background:var(--sn-navy); color:#fff; }
.product-wishlist-btn:hover{ background:var(--sn-coral); color:#fff; }
.product-wishlist-btn.wishlisted{ color:var(--sn-coral); }

.product-card-body{ text-align:center; }
.product-card-category{ color:var(--text-light); font-weight:600; letter-spacing:.14em; }
.product-card-title{ color:var(--sn-navy); font-weight:600; font-size:15px; }
.product-card-title a:hover{ color:var(--sn-coral); opacity:1; }
.product-card-price{ justify-content:center; }
.price-current{ color:var(--sn-coral); font-weight:600; font-size:15px; }
.price-original{ color:var(--text-lighter); }
.add-to-cart-btn{ border-radius:var(--sn-radius); }
.add-to-cart-btn:hover{ background:var(--sn-navy); color:#fff; border-color:var(--sn-navy); }

/* =========================================================
   PROMO / CATEGORY BANNERS
   ========================================================= */
.promo-banner{ border-radius:2px; overflow:hidden; }
.promo-banner:hover{ box-shadow:0 20px 50px rgba(21,36,56,.16); }
.promo-banner-tag{ background:var(--sn-coral); color:#fff; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.promo-banner-content h3{ color:#fff; font-family:'Manrope',sans-serif; font-weight:700; }
.promo-banner-btn{ color:#fff; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.promo-banner-btn i{ transition:transform .3s; }
.promo-banner:hover .promo-banner-btn i{ transform:translateX(5px); }

/* =========================================================
   BRAND STORY (split) + VALUES
   ========================================================= */
.sn-story{ padding:80px 0; overflow:hidden; }
.sn-story__grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.sn-story__media{ position:relative; }
.sn-story__media img{ width:100%; height:520px; object-fit:cover; box-shadow:0 30px 60px rgba(21,36,56,.18); border-radius:2px; }
.sn-story__accent{ position:absolute; right:-28px; bottom:-28px; width:230px; height:230px; background:rgba(209,138,126,.14); z-index:-1; }
.sn-story__eyebrow{ color:var(--sn-coral); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:600; }
.sn-story__title{ color:var(--sn-navy); font-weight:800; font-size:clamp(28px,3.6vw,42px); line-height:1.1; margin:14px 0 18px; letter-spacing:-.02em; }
.sn-story__text{ color:var(--text-light); font-size:16px; line-height:1.75; margin-bottom:16px; max-width:460px; }
.sn-story__link{
    display:inline-block; margin-top:6px; text-transform:uppercase; letter-spacing:.14em;
    font-size:12px; font-weight:600; color:var(--sn-navy); border-bottom:1px solid var(--sn-navy); padding-bottom:3px;
}
.sn-story__link:hover{ color:var(--sn-coral); border-color:var(--sn-coral); }

.values-grid .value-card{ background:#fff; border:1px solid var(--sn-line); border-radius:2px; transition:transform .3s, box-shadow .3s; }
.values-grid .value-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(21,36,56,.10); }
.value-icon{ background:var(--sn-cream) !important; color:var(--sn-coral) !important; }
.value-card h4{ color:var(--sn-navy); }

/* =========================================================
   SHOP — filter sidebar, chips, toolbar
   ========================================================= */
.page-header{ background:var(--sn-cream); border-bottom:1px solid var(--sn-line); padding:40px 0; }
.page-header h1{ color:var(--sn-navy); font-weight:800; letter-spacing:-.02em; }
.breadcrumb a{ color:var(--text-light); }
.breadcrumb a:hover{ color:var(--sn-coral); }
.breadcrumb .current{ color:var(--sn-navy); }

.shop-sidebar{ background:#fff; border:1px solid var(--sn-line); border-radius:var(--sn-radius); padding:8px 22px 22px; }
.filter-group{ border-bottom:1px solid var(--sn-line-soft); padding-bottom:20px; }
.filter-title{
    color:var(--sn-navy); text-transform:uppercase; letter-spacing:.1em;
    font-size:12.5px; font-weight:700; margin:20px 0 14px;
}
.filter-list label{
    display:flex; align-items:center; gap:9px; padding:5px 0;
    font-size:14px; color:var(--text-light); cursor:pointer; transition:color .2s;
}
.filter-list label:hover{ color:var(--sn-navy); }
.filter-list input[type=checkbox]{ accent-color:var(--sn-coral); width:16px; height:16px; }
.filter-count{ margin-left:auto; color:var(--text-lighter); font-size:12px; }
.filter-list input[type=checkbox]:checked + *{ color:var(--sn-navy); }

/* Size / attribute chips */
.sn-chips{ display:flex; flex-wrap:wrap; gap:9px; }
.sn-chip{ position:relative; }
.sn-chip input{ position:absolute; opacity:0; inset:0; cursor:pointer; }
.sn-chip span{
    display:flex; align-items:center; justify-content:center;
    min-width:42px; height:38px; padding:0 12px;
    border:1px solid var(--sn-line); border-radius:var(--sn-radius);
    font-size:13px; font-weight:600; color:var(--sn-navy);
    background:#fff; transition:all .2s; text-transform:uppercase; letter-spacing:.04em;
}
.sn-chip:hover span{ border-color:var(--sn-navy); }
.sn-chip input:checked + span{ background:var(--sn-navy); color:#fff; border-color:var(--sn-navy); }
.sn-swatch span{ width:34px; height:34px; min-width:34px; padding:0; border-radius:50%; }
.sn-swatch input:checked + span{ box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--sn-coral); border-color:transparent; }

.shop-toolbar{ background:#fff; border:1px solid var(--sn-line); border-radius:var(--sn-radius); padding:14px 18px; }
.shop-count{ color:var(--sn-navy); font-weight:600; letter-spacing:.04em; }
.shop-sort select{ border:1px solid var(--sn-line); border-radius:var(--sn-radius); color:var(--sn-navy); font-weight:500; }
.shop-sort select:focus{ border-color:var(--sn-navy); }

.pagination .page-link{ border:1px solid var(--sn-line); border-radius:var(--sn-radius); color:var(--sn-navy); }
.pagination .page-link:hover{ border-color:var(--sn-navy); }
.pagination .page-link.active{ background:var(--sn-navy); color:#fff; border-color:var(--sn-navy); }

.empty-state-icon{ color:var(--sn-coral); }
.empty-state h3{ color:var(--sn-navy); }

/* Active filter pills */
.sn-active-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.sn-pill{
    display:inline-flex; align-items:center; gap:7px;
    background:var(--sn-cream); border:1px solid var(--sn-line);
    padding:6px 12px; border-radius:999px; font-size:12px; font-weight:600; color:var(--sn-navy);
}
.sn-pill a{ color:var(--sn-coral); font-size:14px; line-height:1; }

/* =========================================================
   FORMS
   ========================================================= */
.form-input, .form-select, input[type=text], input[type=email], input[type=number], input[type=password], textarea, select{
    border-radius:var(--sn-radius);
}
.form-input:focus, .form-select:focus, input:focus, textarea:focus, select:focus{
    border-color:var(--sn-navy) !important; box-shadow:0 0 0 3px rgba(21,36,56,.08) !important;
}

/* =========================================================
   NEWSLETTER + FOOTER
   ========================================================= */
.footer-features{ background:var(--sn-cream); border-top:1px solid var(--sn-line); border-bottom:1px solid var(--sn-line); }
.footer-feature i{ color:var(--sn-coral); }
.footer-feature h4{ color:var(--sn-navy); }

.footer-newsletter{ background:var(--sn-navy); }
.newsletter-text h3{ color:#fff; }
.newsletter-text h3 i{ color:var(--sn-coral); }
.newsletter-text p{ color:rgba(255,255,255,.75); }
.newsletter-form input{ border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; border-radius:var(--sn-radius); }
.newsletter-form input::placeholder{ color:rgba(255,255,255,.5); }
.newsletter-form button{ background:#fff; color:var(--sn-navy); border-radius:var(--sn-radius); font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.newsletter-form button:hover{ background:var(--sn-coral); color:#fff; }

.footer{ background:var(--sn-navy); color:rgba(255,255,255,.75); }
.footer-top{ border-bottom:1px solid rgba(255,255,255,.08); }
.footer-col h4{ color:#fff; text-transform:uppercase; letter-spacing:.1em; font-size:13px; font-weight:700; }
.footer-col ul li a, .footer-about, .footer-contact li{ color:rgba(255,255,255,.72); }
.footer-col ul li a:hover, .footer-contact a:hover{ color:var(--sn-coral); }
.footer-logo .logo-text{ color:#fff; }
.footer-contact li i{ color:var(--sn-coral); }
.footer-social a{ border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.8); }
.footer-social a:hover{ background:var(--sn-coral); border-color:var(--sn-coral); color:#fff; }
.app-btn{ border:1px solid rgba(255,255,255,.2); color:#fff; }
.app-btn:hover{ border-color:var(--sn-coral); }
.footer-bottom{ background:#0d1725; color:rgba(255,255,255,.6); }
.footer-bottom strong{ color:#fff; }
.footer-payments i, .payment-text{ color:rgba(255,255,255,.7); }

.back-to-top{ background:var(--sn-navy); color:#fff; }
.back-to-top:hover{ background:var(--sn-coral); }

/* Flash messages */
.flash-success{ background:#f0f6f2; color:#2f7d4f; border-left:3px solid #2f7d4f; }
.flash-error{ background:#fdecec; color:#ba1a1a; border-left:3px solid #ba1a1a; }

/* Mobile nav */
.mobile-nav-header .logo-text{ color:var(--sn-navy); }
.mobile-nav-links a:hover{ color:var(--sn-coral); }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
    .sn-story__grid{ gap:40px; }
    .sn-story__media img{ height:440px; }
}
@media (max-width:900px){
    .sn-bento{ grid-auto-rows:240px; }
    .sn-tile--w4,.sn-tile--w5,.sn-tile--w7{ grid-column:span 6; }
    .sn-tile--w6,.sn-tile--w8{ grid-column:span 12; }
    .sn-tile--tall{ grid-row:span 1; }
    .product-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px){
    .section{ padding:44px 0; }
    .sn-story__grid{ grid-template-columns:1fr; gap:32px; }
    .sn-story__media{ order:-1; }
    .sn-story__media img{ height:360px; }
    .sn-hero{ min-height:70vh; }
    .sn-hero__overlay{ background:linear-gradient(180deg, rgba(13,20,33,.55) 0%, rgba(13,20,33,.35) 100%); }
    .product-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
    /* Filter sidebar becomes a slide-in drawer */
    .shop-sidebar{
        position:fixed; top:0; left:0; bottom:0; z-index:1200;
        width:86%; max-width:340px; overflow-y:auto;
        transform:translateX(-105%); transition:transform .35s cubic-bezier(.25,1,.5,1);
        border-radius:0; box-shadow:0 0 60px rgba(0,0,0,.25);
    }
    .shop-sidebar.open{ transform:translateX(0); }
    .shop-sidebar.open::after{
        content:""; position:fixed; inset:0; left:100%; width:100vw;
        background:rgba(13,20,33,.45);
    }
    .product-card-title{ font-size:14px; }
    .sn-tile__title{ font-size:22px; }
    .sn-tile--center .sn-tile__title{ font-size:26px; }
}
@media (max-width:520px){
    .sn-bento{ grid-auto-rows:220px; }
    .sn-tile--w4,.sn-tile--w5,.sn-tile--w6,.sn-tile--w7,.sn-tile--w8{ grid-column:span 12; }
    .product-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
    .sn-hero__cta{ flex-direction:column; }
    .sn-hero__cta .btn{ width:100%; }
}

/* =============================================================
   LOGO — square "Silver Needle by Pooja Khandelwal" lockup
   ============================================================= */
.main-logo img{ height:60px; max-width:230px; }
.footer-logo img{ height:64px !important; background:#fff; padding:6px 10px; border-radius:6px; }
@media (max-width:768px){ .main-logo img{ height:48px; } }

/* =============================================================
   HERO — crop portrait banner photos to a clean landscape band
   ============================================================= */
.hero-section .swiper-slide{ display:block; }
.hero-banner{ display:block; height:clamp(440px,82vh,760px); overflow:hidden; }
.hero-banner img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; }
@media (max-width:768px){ .hero-banner{ height:clamp(380px,62vh,560px); } }

/* =============================================================
   PRODUCT DETAIL
   ============================================================= */
.product-info h1{ color:var(--sn-navy); font-weight:800; letter-spacing:-.01em; }
.product-price-box .price-current{ color:var(--sn-coral); font-size:30px; font-weight:800; }
.product-price-box .price-discount{ background:var(--sn-coral); color:#fff; padding:3px 10px; border-radius:999px; font-weight:700; }
.stock-in{ color:var(--success) !important; }
.stock-out{ color:var(--error) !important; }

.variant-label, .quantity-label{ color:var(--sn-navy); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.variant-btn{ border-radius:var(--sn-radius); color:var(--sn-navy); font-weight:600; }
.variant-btn:hover{ border-color:var(--sn-navy); }
.variant-btn.active{ background:var(--sn-navy) !important; border-color:var(--sn-navy) !important; color:#fff !important; }
.gallery-main{ background:var(--sn-cream); border-radius:2px; overflow:hidden; }
.gallery-thumb{ border-radius:2px; overflow:hidden; }
.gallery-thumb.active, .gallery-thumb:hover{ border-color:var(--sn-coral) !important; }
.qty-btn{ border-radius:var(--sn-radius); color:var(--sn-navy); }
.qty-btn:hover{ border-color:var(--sn-navy); background:var(--sn-navy); color:#fff; }
.tab-btn.active{ color:var(--sn-navy) !important; border-bottom-color:var(--sn-navy) !important; }
.tab-btn{ font-weight:600; }
.product-feature i{ color:var(--sn-coral); }

/* Repair the wishlist action button (shares .product-wishlist-btn with cards) */
.product-actions-bar .product-wishlist-btn{
    position:static; opacity:1; width:auto; height:auto;
    border-radius:var(--sn-radius); background:transparent;
}
.product-actions-bar .product-wishlist-btn.btn-primary{ background:var(--sn-navy); color:#fff; }
.product-actions-bar .product-wishlist-btn:hover{ background:var(--sn-navy); color:#fff; }

/* =============================================================
   CART + CHECKOUT (scoped ct-/co-/pay- components)
   ============================================================= */
.ct-hero, .co-hero{ color:var(--sn-navy); }
.ct-section-head h3, .co-section-head h3, .ct-item .nm, .co-summary-head, .ct-sum-head{ color:var(--sn-navy) !important; }
.ct-item:hover{ background:var(--sn-cream) !important; }
.ct-item .img, .item-row .img{ background:var(--sn-cream) !important; border-radius:2px; }
.ct-item .total, .s-row.total, .co-summary .total{ color:var(--sn-coral) !important; }
.coupon-box input{ border-color:var(--sn-coral) !important; background:var(--accent-soft) !important; color:var(--sn-navy) !important; }
.qstep{ border-color:var(--sn-line) !important; border-radius:var(--sn-radius) !important; background:#fff !important; }
.qstep button{ color:var(--sn-navy) !important; }
.qstep button:hover{ background:var(--sn-navy) !important; color:#fff !important; }

.addr-pick, .pay-opt{ border-radius:var(--sn-radius); }
.addr-pick:hover, .pay-opt:hover{ border-color:var(--sn-navy) !important; background:var(--sn-cream) !important; }
.addr-pick.selected, .pay-opt.selected{ border-color:var(--sn-navy) !important; background:var(--accent-soft) !important; }
.addr-pick .nm, .pay-txt strong, .pay-opt .nm{ color:var(--sn-navy) !important; }
.pay-icn, .addr-pick .icn{ color:var(--sn-coral) !important; }
.co-step.active .num, .co-step.done .num{ background:var(--sn-navy) !important; color:#fff !important; }
.co-step.active{ color:var(--sn-navy) !important; }
.btn-checkout, .btn-place{ background:var(--sn-navy) !important; color:#fff !important; border-radius:var(--sn-radius) !important; }
.btn-checkout:hover, .btn-place:hover{ background:var(--sn-coral) !important; }

/* =============================================================
   ACCOUNT / AUTH (login, register, profile, orders, addresses)
   ============================================================= */
.auth-card, .account-card, .order-card, .address-card{ border-radius:var(--sn-radius); border:1px solid var(--sn-line); }
.auth-title, .account-title, .page-title{ color:var(--sn-navy); }
.account-sidebar a.active, .account-nav a.active{ color:var(--sn-coral); }
.account-sidebar a:hover, .account-nav a:hover{ color:var(--sn-navy); }
.order-status, .badge-status{ letter-spacing:.04em; }
a{ color:inherit; }
.auth-wrap a, .account-wrap a, .form-link, a.text-link{ color:var(--sn-coral); }
.auth-wrap a:hover{ color:var(--sn-navy); }

/* =============================================================
   PRODUCT DETAIL — exact Silver Needle layout
   ============================================================= */
.sn-pd-wrap{ padding-bottom:64px; }
.sn-pd-crumb{ margin:22px 0 26px; }
.sn-pd{ display:grid; grid-template-columns:7fr 5fr; gap:48px; align-items:start; }

.sn-pd__gallery{ display:flex; gap:16px; }
.sn-pd__thumbs{ display:flex; flex-direction:column; gap:14px; width:88px; flex-shrink:0; }
.sn-pd__thumb{
    aspect-ratio:3/4; overflow:hidden; cursor:pointer; padding:0;
    border:1px solid var(--sn-line); background:var(--sn-cream); transition:border-color .2s;
}
.sn-pd__thumb img{ width:100%; height:100%; object-fit:cover; opacity:.9; transition:opacity .2s; }
.sn-pd__thumb:hover img{ opacity:1; }
.sn-pd__thumb.is-active{ border:1px solid var(--sn-navy); }
.sn-pd__main{ flex:1; position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--sn-cream); }
.sn-pd__main img{ width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.25,1,.5,1); }
.sn-pd__main:hover img{ transform:scale(1.05); }
.sn-pd__flag{
    position:absolute; top:16px; left:16px; background:var(--sn-coral); color:#fff;
    font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:6px 12px;
}
.sn-pd__zoom{
    position:absolute; top:16px; right:16px; width:40px; height:40px; border:none; cursor:pointer;
    background:rgba(251,249,251,.85); color:var(--sn-navy); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:20px; transition:background .2s;
}
.sn-pd__zoom:hover{ background:#fff; }

.sn-pd__info{ padding-top:4px; }
.sn-pd__head{ border-bottom:1px solid var(--sn-line); padding-bottom:24px; margin-bottom:28px; }
.sn-pd__eyebrow{ text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:600; color:var(--text-light); margin-bottom:10px; }
.sn-pd__title{ font-size:clamp(26px,3vw,40px); font-weight:800; color:var(--sn-navy); line-height:1.1; letter-spacing:-.02em; margin-bottom:16px; }
.sn-pd__pricerow{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.sn-pd__price{ font-size:26px; font-weight:800; color:var(--sn-navy); }
.sn-pd__price-old{ font-size:17px; color:var(--outline,#75777d); text-decoration:line-through; }
.sn-pd__price-off{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--sn-coral); }
.sn-pd__stock{ display:flex; align-items:center; gap:7px; margin-top:14px; font-size:13px; font-weight:600; }
.sn-pd__stock.in{ color:var(--success); }
.sn-pd__stock.out{ color:var(--error); }

.sn-pd__block{ margin-bottom:28px; }
.sn-pd__label{ font-size:13px; font-weight:700; color:var(--sn-navy); text-transform:uppercase; letter-spacing:.06em; }
.sn-size-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.sn-size-guide{ font-size:12px; color:var(--sn-coral); text-decoration:underline; }
.sn-size-guide:hover{ color:var(--sn-navy); }
.sn-sizes{ display:flex; flex-wrap:wrap; gap:12px; }
.sn-size{
    min-width:48px; height:48px; padding:0 12px; cursor:pointer; background:#fff;
    border:1px solid var(--sn-line); color:var(--sn-navy); font-size:14px; font-weight:600;
    display:flex; flex-direction:column; align-items:center; justify-content:center; transition:all .2s;
}
.sn-size small{ font-size:10px; opacity:.7; font-weight:500; }
.sn-size:hover{ border-color:var(--sn-navy); }
.sn-size.is-active{ background:var(--sn-navy); border:2px solid var(--sn-navy); color:#fff; }
.sn-size.is-disabled{ opacity:.45; cursor:not-allowed; text-decoration:line-through; }

.sn-qty-block{ display:flex; align-items:center; gap:18px; }
.sn-qty{ display:inline-flex; align-items:center; border:1px solid var(--sn-line); }
.sn-qty button{ width:44px; height:44px; border:none; background:transparent; cursor:pointer; font-size:18px; color:var(--sn-navy); }
.sn-qty button:hover{ background:var(--sn-cream); }
.sn-qty input{ width:52px; height:44px; text-align:center; border:none; border-left:1px solid var(--sn-line); border-right:1px solid var(--sn-line); font-weight:700; color:var(--sn-navy); background:#fff; }

.sn-pd__actions{ display:flex; flex-direction:column; gap:14px; margin-bottom:34px; }
.sn-btn-cart, .sn-btn-buy{
    width:100%; padding:18px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    cursor:pointer; transition:all .3s; border-radius:var(--sn-radius);
}
.sn-btn-cart{ background:var(--sn-navy); color:#fff; border:none; }
.sn-btn-cart:hover{ background:var(--sn-coral); }
.sn-btn-buy{ background:transparent; color:var(--sn-navy); border:1px solid var(--sn-navy); }
.sn-btn-buy:hover{ background:var(--sn-navy); color:#fff; }
.sn-btn-cart:disabled, .sn-btn-buy:disabled{ opacity:.5; cursor:not-allowed; }
.sn-wish-link{
    display:inline-flex; align-items:center; gap:8px; align-self:center; margin-top:2px;
    background:none; border:none; cursor:pointer; font-size:13px; font-weight:600;
    letter-spacing:.04em; color:var(--text-light); transition:color .2s;
}
.sn-wish-link:hover{ color:var(--sn-navy); }
.sn-wish-link.is-active{ color:var(--sn-coral); }

.sn-acc{ border-top:1px solid var(--sn-line); }
.sn-acc__item{ border-bottom:1px solid var(--sn-line); }
.sn-acc__head{
    width:100%; display:flex; justify-content:space-between; align-items:center; padding:18px 0;
    background:none; border:none; cursor:pointer; text-align:left;
    font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--sn-navy);
    transition:color .2s;
}
.sn-acc__head:hover{ color:var(--sn-coral); }
.sn-acc__icon{ transition:transform .3s; font-size:20px; }
.sn-acc__item.is-open .sn-acc__icon{ transform:rotate(180deg); }
.sn-acc__body{ max-height:0; overflow:hidden; transition:max-height .35s ease, padding .3s ease; }
.sn-acc__item.is-open .sn-acc__body{ max-height:600px; padding-bottom:22px; }
.sn-acc__body, .sn-acc__rte, .sn-acc__list{ color:var(--text-light); font-size:15px; line-height:1.75; }
.sn-acc__rte p{ margin:0 0 10px; }
.sn-acc__list{ list-style:disc; padding-left:20px; }
.sn-acc__list li{ margin-bottom:8px; }

/* Complete the Look */
.sn-look{ margin-top:80px; }
.sn-look__title{ text-align:center; font-size:clamp(22px,2.6vw,28px); font-weight:700; color:var(--sn-navy); margin-bottom:44px; }
.sn-look__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.sn-look__card{ display:block; }
.sn-look__img{ aspect-ratio:3/4; overflow:hidden; background:var(--sn-cream); margin-bottom:14px; }
.sn-look__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.25,1,.5,1); }
.sn-look__card:hover .sn-look__img img{ transform:scale(1.08); }
.sn-look__name{ font-size:14px; font-weight:700; color:var(--sn-navy); margin-bottom:4px; }
.sn-look__price{ font-size:14px; color:var(--sn-coral); font-weight:600; }
.sn-look__price span{ color:var(--text-lighter); text-decoration:line-through; font-weight:400; margin-left:6px; }

@media (max-width:900px){
    .sn-pd{ grid-template-columns:1fr; gap:28px; }
    .sn-look__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
    .sn-pd__gallery{ flex-direction:column-reverse; }
    .sn-pd__thumbs{ flex-direction:row; width:100%; overflow-x:auto; }
    .sn-pd__thumb{ width:72px; flex-shrink:0; }
}

/* =============================================================
   HOME — exact Silver Needle layout
   ============================================================= */
.sn-home-hero{ position:relative; width:100%; height:85vh; min-height:520px; overflow:hidden; display:flex; align-items:center; background:var(--sn-navy); }
.sn-home-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center 20%; transition:transform 1s ease; }
.sn-home-hero:hover .sn-home-hero__bg{ transform:scale(1.05); }
.sn-home-hero__grad{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(21,36,56,.45), rgba(21,36,56,.12)); }
.sn-home-hero__inner{ position:relative; z-index:2; max-width:640px; }
.sn-home-hero__eyebrow{ color:rgba(255,255,255,.9); text-transform:uppercase; letter-spacing:.3em; font-size:12px; font-weight:600; margin-bottom:20px; }
.sn-home-hero__title{ color:#fff; font-weight:800; letter-spacing:-.02em; line-height:1.06; font-size:clamp(38px,5vw,52px); margin-bottom:32px; }
.sn-home-hero__btn{
    display:inline-block; background:var(--sn-navy); color:#fff; padding:16px 40px;
    font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; transition:background .3s;
}
.sn-home-hero__btn:hover{ background:var(--sn-coral); }

.sn-home-section{ padding:80px 0; }
.sn-home-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:36px; flex-wrap:wrap; }
.sn-home-head__kicker{ color:var(--sn-coral); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:600; display:block; margin-bottom:10px; }
.sn-home-head__title{ font-size:clamp(28px,4vw,44px); font-weight:800; color:var(--sn-navy); letter-spacing:-.02em; line-height:1.1; }
.sn-home-head__intro{ max-width:430px; color:var(--text-light); font-size:15px; line-height:1.7; }
.sn-home-head__link{ display:inline-flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:700; color:var(--sn-navy); white-space:nowrap; }
.sn-home-head__link i{ transition:transform .3s; }
.sn-home-head__link:hover{ color:var(--sn-coral); }
.sn-home-head__link:hover i{ transform:translateX(4px); }

/* Bento */
.sn-home-bento{ display:grid; grid-template-columns:repeat(12,1fr); gap:24px; height:600px; }
.sn-btile{ position:relative; overflow:hidden; display:block; }
.sn-btile--4{ grid-column:span 4; }
.sn-btile--8{ grid-column:span 8; }
.sn-btile__img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s cubic-bezier(.25,1,.5,1); }
.sn-btile:hover .sn-btile__img{ transform:scale(1.1); }
.sn-btile__veil{ position:absolute; inset:0; background:rgba(0,0,0,.12); transition:background .3s; display:flex; align-items:flex-end; padding:32px; }
.sn-btile:hover .sn-btile__veil{ background:rgba(0,0,0,.3); }
.sn-btile__title{ color:#fff; font-size:24px; font-weight:700; }
.sn-btile__link{ color:rgba(255,255,255,.85); text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:600; margin-top:8px; display:flex; align-items:center; gap:8px; transition:transform .3s; }
.sn-btile:hover .sn-btile__link{ transform:translateX(8px); }
.sn-btile--wide{ display:block; width:100%; height:300px; margin-top:24px; position:relative; overflow:hidden; }
.sn-btile--wide .sn-btile__veil{ background:rgba(0,0,0,.28); align-items:center; justify-content:center; text-align:center; }
.sn-btile--wide:hover .sn-btile__veil{ background:rgba(0,0,0,.42); }
.sn-btile--wide .sn-btile__title{ font-size:clamp(30px,4vw,48px); font-weight:800; margin-bottom:10px; }
.sn-btile--wide .sn-btile__sub{ color:#fff; text-transform:uppercase; letter-spacing:.24em; font-size:12px; font-weight:600; }

@media (max-width:768px){
    .sn-home-hero{ height:72vh; }
    .sn-home-section{ padding:56px 0; }
    .sn-home-bento{ grid-template-columns:1fr; height:auto; }
    .sn-btile--4, .sn-btile--8{ grid-column:span 1; height:360px; }
    .sn-btile--wide{ height:240px; }
}
