:root{--store-ink:#1e1b18;--store-muted:#746f69;--store-cream:#f8f4ee;--store-paper:#fffdf9;--store-accent:#9a6338;--store-accent-dark:#744623;--store-border:#e8e0d6;--store-dark:#171513;--store-shadow:0 18px 50px rgba(39,30,22,.08)}
html{scroll-behavior:smooth}.store-body{background:var(--store-paper);color:var(--store-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.store-container{max-width:1240px}.store-topbar{background:var(--store-dark);color:#eee7df;font-size:.76rem;letter-spacing:.02em;padding:.48rem 0}.store-navbar{min-height:78px;background:rgba(255,253,249,.96);border-bottom:1px solid rgba(232,224,214,.9);backdrop-filter:blur(14px)}
.store-brand-v2{display:flex;align-items:center;gap:.65rem;text-decoration:none}.store-brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--store-ink);color:#fff;font-family:Georgia,serif;font-size:1.25rem}.store-brand-copy{display:flex;flex-direction:column;line-height:1}.store-brand-copy strong{font-size:1rem;letter-spacing:.15em;color:var(--store-ink)}.store-brand-copy small{font-size:.52rem;letter-spacing:.18em;color:var(--store-muted);margin-top:.32rem}.store-nav-links{gap:.25rem}.store-nav-links .nav-link{color:#4d4945;font-size:.92rem;font-weight:550;padding:.7rem .85rem!important}.store-nav-links .nav-link:hover{color:var(--store-accent)}.store-cart-btn{background:var(--store-ink);color:#fff;border-radius:999px;padding:.6rem 1rem;display:flex;gap:.75rem;align-items:center}.store-cart-btn:hover{background:var(--store-accent-dark);color:#fff}.store-cart-arrow{opacity:.7}
.store-hero-v2{background:radial-gradient(circle at 82% 22%,rgba(255,255,255,.95),transparent 24rem),linear-gradient(135deg,#f7eee4 0%,#fbf8f3 58%,#eee2d4 100%);border-bottom:1px solid var(--store-border);overflow:hidden}.py-lg-6{padding-top:5rem!important;padding-bottom:5rem!important}.store-kicker,.store-section-kicker{font-size:.7rem;font-weight:800;letter-spacing:.2em;color:var(--store-accent)}.store-hero-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,5.6rem);line-height:.96;letter-spacing:-.045em}.store-hero-title span{color:var(--store-accent)}.store-hero-copy{max-width:650px;font-size:1.08rem;line-height:1.75;color:var(--store-muted)}.store-btn-primary{background:var(--store-ink);border:1px solid var(--store-ink);color:#fff;border-radius:999px;font-weight:650}.store-btn-primary:hover{background:var(--store-accent-dark);border-color:var(--store-accent-dark);color:#fff}.store-btn-light{background:#fff;border:1px solid var(--store-border);color:var(--store-ink);border-radius:999px;font-weight:600}.store-btn-light:hover{border-color:#cdbda9;background:#fff;color:var(--store-accent-dark)}
.store-search-box{display:flex;align-items:center;max-width:700px;background:#fff;border:1px solid var(--store-border);border-radius:16px;padding:.35rem .4rem .35rem 1rem;box-shadow:0 10px 30px rgba(40,30,20,.05)}.store-search-icon{font-size:1.4rem;color:#9c958d;margin-right:.5rem}.store-search-box input{flex:1;border:0;outline:0;background:transparent;min-width:0;padding:.75rem .25rem;font-size:.96rem}.store-search-box button{border:0;background:var(--store-accent);color:#fff;border-radius:12px;padding:.78rem 1.35rem;font-weight:650}.store-trust-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;color:#625d57;font-size:.82rem}.store-hero-showcase{position:relative;min-height:390px;border-radius:32px;padding:2.2rem;background:linear-gradient(155deg,#29231e,#171513);color:#fff;box-shadow:0 30px 70px rgba(45,31,20,.22);overflow:hidden}.store-hero-showcase:before{content:"S";position:absolute;right:-.05em;top:-.22em;font-family:Georgia,serif;font-size:18rem;line-height:1;color:rgba(255,255,255,.045)}.store-showcase-label{font-size:.7rem;letter-spacing:.28em;color:#d8b996}.store-showcase-copy{font-family:Georgia,serif;font-size:2.25rem;line-height:1.08;margin-top:4.5rem;position:relative}.store-showcase-grid{position:absolute;left:2.2rem;right:2.2rem;bottom:2.2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.store-showcase-grid div{border-top:1px solid rgba(255,255,255,.16);padding-top:.75rem;display:flex;gap:.65rem;align-items:baseline}.store-showcase-grid strong{color:#d8b996;font-size:.7rem}.store-showcase-grid span{font-size:.78rem;color:#d7d2cc}
.store-category-strip{background:#fff;border-bottom:1px solid var(--store-border)}.store-section-title{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.02em}.store-category-scroll{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.store-category-scroll::-webkit-scrollbar{display:none}.store-category-pill{white-space:nowrap;border:1px solid var(--store-border);border-radius:999px;padding:.72rem 1rem;color:#514c47;text-decoration:none;background:#fff;font-size:.88rem}.store-category-pill span{color:var(--store-accent);margin-right:.3rem}.store-category-pill:hover,.store-category-pill.active{background:var(--store-ink);border-color:var(--store-ink);color:#fff}.store-category-pill.active span{color:#e5c3a0}
.store-filter-panel{background:#f9f6f1;border:1px solid var(--store-border);border-radius:20px;padding:1.25rem}.store-form-label{font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#69625b;margin-bottom:.45rem}.store-control{border-color:#ded5ca;border-radius:10px;min-height:46px;background-color:#fff}.store-control:focus{border-color:#b99676;box-shadow:0 0 0 .2rem rgba(154,99,56,.1)}.store-filter-toggle{border:1px solid var(--store-border);background:#fff;border-radius:999px}
.store-product-grid{align-items:stretch}.store-product-card-v2{display:flex;flex-direction:column;background:#fff;border:1px solid var(--store-border);border-radius:20px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.store-product-card-v2:hover{transform:translateY(-6px);box-shadow:var(--store-shadow);border-color:#d8c8b7}.store-product-media{position:relative;display:block;aspect-ratio:1/1;background:#f7f3ed;overflow:hidden}.store-product-media img{width:100%;height:100%;object-fit:contain;padding:1rem;transition:transform .35s ease}.store-product-card-v2:hover .store-product-media img{transform:scale(1.035)}.store-image-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#a39a91;font-weight:800;letter-spacing:.12em}.store-custom-badge{position:absolute;top:.8rem;left:.8rem;background:#fff;color:var(--store-ink);padding:.38rem .62rem;border-radius:999px;font-size:.68rem;font-weight:750;box-shadow:0 4px 15px rgba(0,0,0,.06)}.store-view-chip{position:absolute;right:.8rem;bottom:.8rem;background:rgba(23,21,19,.92);color:#fff;border-radius:999px;padding:.42rem .7rem;font-size:.7rem;opacity:0;transform:translateY(5px);transition:.2s}.store-product-card-v2:hover .store-view-chip{opacity:1;transform:none}.store-product-info{display:flex;flex:1;flex-direction:column;padding:1rem 1rem 1.1rem}.store-product-meta{font-size:.7rem;color:#8a837c;min-height:1.2rem}.store-product-name{font-family:Georgia,serif;font-size:1.16rem;font-weight:700;color:var(--store-ink);text-decoration:none;margin:.35rem 0}.store-product-name:hover{color:var(--store-accent)}.store-product-desc{font-size:.8rem;color:var(--store-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.9rem}.store-product-bottom{display:flex;justify-content:space-between;gap:.75rem;align-items:end;border-top:1px solid #eee8e1;padding-top:.85rem}.store-price-label{display:block;color:#8b837b;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.store-price{display:block;font-size:1.05rem}.store-product-note{display:flex;flex-direction:column;text-align:right;font-size:.65rem;color:#8a837c}.store-empty{background:#faf7f2;border:1px dashed #d8cbbb;border-radius:24px;padding:5rem 1.5rem;text-align:center}.store-empty-icon{font-size:2.5rem;color:var(--store-accent)}
.store-benefits-section{background:#f5efe7;border-top:1px solid var(--store-border);border-bottom:1px solid var(--store-border)}.store-benefit{height:100%;padding:1.2rem;border-right:1px solid #dfd4c8}.store-benefit span{display:block;color:var(--store-accent);font-size:1.2rem;margin-bottom:.55rem}.store-benefit strong,.store-benefit small{display:block}.store-benefit strong{font-family:Georgia,serif;font-size:1.02rem}.store-benefit small{color:var(--store-muted);margin-top:.25rem}.store-corporate-banner{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:linear-gradient(120deg,#24201c,#4c3626);color:#fff;border-radius:28px;padding:2.5rem 3rem}.store-corporate-banner h2{font-family:Georgia,serif;font-size:2rem;margin:.35rem 0}.store-corporate-banner p{color:#d9d0c7}.store-pagination .page-link{color:var(--store-ink);border-color:var(--store-border)}.store-pagination .active .page-link{background:var(--store-ink);border-color:var(--store-ink)}
.store-main-image-wrap{min-height:520px;display:grid;place-items:center;border:1px solid var(--store-border);border-radius:1.25rem;background:#fff;overflow:hidden}.store-main-image{width:100%;height:520px;object-fit:contain;padding:1.5rem}.store-detail-placeholder{color:#aaa29a;font-weight:800;letter-spacing:.12em}.store-thumbnails{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.9rem}.store-thumbnail{width:78px;height:78px;padding:.3rem;border:1px solid var(--store-border);border-radius:.75rem;background:#fff}.store-thumbnail img{width:100%;height:100%;object-fit:contain}.store-price-box{padding:1rem 0;border-top:1px solid var(--store-border);border-bottom:1px solid var(--store-border)}.store-description-panel{border-top:1px solid var(--store-border);padding-top:1.25rem}
.store-footer{background:#171513;color:#fff;margin-top:0}.store-footer-brand{display:inline-block;color:#fff;text-decoration:none;font-weight:900;letter-spacing:.15em;margin-bottom:1rem}.store-footer-about{max-width:340px;color:#aaa39c;line-height:1.7;font-size:.9rem}.store-footer-note{font-size:.72rem;color:#d1b18f;letter-spacing:.06em}.store-footer h6{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#e8dfd6;margin-bottom:1rem}.store-footer a:not(.store-footer-brand){display:block;color:#aaa39c;text-decoration:none;font-size:.86rem;margin-bottom:.65rem}.store-footer a:hover{color:#fff}.store-footer p{color:#aaa39c;font-size:.84rem;line-height:1.65}.store-footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #302c28;margin-top:2.5rem;padding-top:1.25rem;color:#79736d;font-size:.72rem}
@media(max-width:991.98px){.py-lg-6{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.store-navbar{min-height:70px}.store-nav-links{padding:1rem 0;align-items:stretch!important}.store-cart-btn{justify-content:space-between;margin-top:.4rem}.store-hero-showcase{min-height:340px}.store-main-image-wrap,.store-main-image{min-height:380px;height:380px}.store-benefit{border-right:0}.store-corporate-banner{padding:2rem;align-items:flex-start;flex-direction:column}}
@media(max-width:575.98px){.store-hero-title{font-size:3rem}.store-hero-copy{font-size:.95rem}.store-search-box{padding-left:.7rem}.store-search-box button{padding:.72rem .9rem}.store-trust-row{gap:.5rem 1rem}.store-hero-showcase{min-height:320px;padding:1.5rem}.store-showcase-copy{font-size:1.8rem;margin-top:3rem}.store-showcase-grid{left:1.5rem;right:1.5rem;bottom:1.5rem}.store-product-info{padding:.8rem}.store-product-name{font-size:1rem}.store-product-desc{display:none}.store-product-bottom{display:block}.store-product-note{text-align:left;margin-top:.45rem}.store-view-chip{display:none}.store-main-image-wrap,.store-main-image{min-height:310px;height:310px}.store-corporate-banner{border-radius:20px;padding:1.5rem}.store-footer-bottom{flex-direction:column}.store-category-strip .store-section-title{font-size:1.6rem}}
/* =========================================================
   COMMERCE-FIRST HEADER SEARCH
   ========================================================= */

.store-header-search {
    flex: 1;
    max-width: 520px;
    margin: 0 32px;
    height: 44px;
    background: #fff;
    border: 1px solid var(--store-border);
    border-radius: 999px;
    overflow: hidden;
}

    .store-header-search input {
        flex: 1;
        min-width: 0;
        border: 0;
        outline: 0;
        padding: 0 18px;
        background: transparent;
        font-size: .88rem;
    }

    .store-header-search button {
        border: 0;
        padding: 0 20px;
        background: var(--store-accent);
        color: #fff;
        font-size: .82rem;
        font-weight: 700;
    }


/* =========================================================
   COMPACT PROMOTIONAL HERO
   ========================================================= */

.store-promo-hero {
    background: linear-gradient( 120deg, #f6eee5, #fffaf5 60%, #efe1d2 );
    border-bottom: 1px solid var(--store-border);
}

.store-promo-grid {
    min-height: 260px;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    align-items: center;
    gap: 50px;
    padding: 38px 0;
}

.store-promo-copy h1 {
    margin: 5px 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    line-height: 1;
    letter-spacing: -.035em;
}

    .store-promo-copy h1 span {
        color: var(--store-accent);
    }

.store-promo-copy p {
    max-width: 650px;
    color: var(--store-muted);
    font-size: .98rem;
    line-height: 1.65;
    margin-bottom: 18px;
}

.store-promo-box {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px;
    border-radius: 22px;
    background: linear-gradient( 145deg, #29231e, #171513 );
    color: #fff;
}

    .store-promo-box strong {
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.45rem;
    }

    .store-promo-box span {
        margin-top: 8px;
        color: #cfc5bb;
        font-size: .8rem;
    }


/* =========================================================
   PRODUCT CARD CTA
   ========================================================= */

.store-product-action {
    display: block;
    margin-top: 14px;
    padding: 11px 14px;
    border-radius: 10px;
    background: var(--store-ink);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 700;
}

    .store-product-action:hover {
        background: var(--store-accent-dark);
        color: #fff;
    }


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

@media (max-width: 991.98px) {

    .store-promo-grid {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 30px 0;
    }

    .store-promo-box {
        min-height: 120px;
    }
}


@media (max-width: 575.98px) {

    .store-promo-copy h1 {
        font-size: 2.35rem;
    }

    .store-promo-box {
        display: none;
    }
}

/* =========================================================
   FEATURED PRODUCT - SINGLE PRODUCT MODE
   ========================================================= */

.store-featured-product {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    overflow: hidden;
    border: 1px solid var(--store-border);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(39, 30, 22, .06);
}


.store-featured-media {
    position: relative;
    min-height: 470px;
    display: grid;
    place-items: center;
    background: radial-gradient( circle at 50% 40%, #fff 0, #fff 35%, #f7f2eb 100% );
    overflow: hidden;
}


    .store-featured-media img {
        width: 100%;
        height: 470px;
        padding: 34px;
        object-fit: contain;
    }


.store-featured-placeholder {
    color: #9b9289;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .12em;
}


.store-featured-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px;
    background: #fffdfa;
}


.store-featured-meta {
    color: var(--store-accent);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}


.store-featured-content h3 {
    margin: 10px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.3vw, 3.2rem);
    line-height: 1.05;
    letter-spacing: -.03em;
}


.store-featured-content p {
    max-width: 520px;
    color: var(--store-muted);
    line-height: 1.75;
    margin-bottom: 24px;
}


.store-featured-price {
    padding: 18px 0;
    border-top: 1px solid var(--store-border);
    border-bottom: 1px solid var(--store-border);
}


    .store-featured-price span,
    .store-featured-price strong {
        display: block;
    }


    .store-featured-price span {
        color: var(--store-muted);
        font-size: .72rem;
        text-transform: uppercase;
        letter-spacing: .08em;
    }


    .store-featured-price strong {
        margin-top: 4px;
        font-size: 1.65rem;
    }


.store-featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}


.store-featured-points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-top: 20px;
    color: var(--store-muted);
    font-size: .75rem;
}


/* =========================================================
   SHOP BY OCCASION
   ========================================================= */

.store-occasion-commerce {
    background: #f8f3ed;
    border-top: 1px solid var(--store-border);
    border-bottom: 1px solid var(--store-border);
}


.store-occasion-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}


.store-occasion-card {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 22px;
    border-radius: 20px;
    text-decoration: none;
    background: linear-gradient( 145deg, #fff, #efe6dc );
    border: 1px solid #e4d8ca;
    transition: .2s ease;
}


    .store-occasion-card:hover {
        transform: translateY(-4px);
        box-shadow: var(--store-shadow);
    }


    .store-occasion-card span {
        color: var(--store-accent);
        font-size: .7rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .12em;
    }


    .store-occasion-card strong {
        margin-top: 8px;
        color: var(--store-ink);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 1.2rem;
    }


    .store-occasion-card small {
        margin-top: 5px;
        color: var(--store-muted);
    }


/* =========================================================
   PRODUCT CTA
   ========================================================= */

.store-product-action {
    display: block;
    margin-top: 14px;
    padding: 11px 14px;
    border-radius: 10px;
    background: var(--store-ink);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 700;
}


    .store-product-action:hover {
        background: var(--store-accent-dark);
        color: #fff;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    .store-featured-product {
        grid-template-columns: 1fr;
    }

    .store-featured-media,
    .store-featured-media img {
        min-height: 390px;
        height: 390px;
    }

    .store-featured-content {
        padding: 32px;
    }

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


@media (max-width: 575.98px) {

    .store-featured-media,
    .store-featured-media img {
        min-height: 300px;
        height: 300px;
    }

        .store-featured-media img {
            padding: 18px;
        }

    .store-featured-content {
        padding: 22px;
    }

    .store-featured-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .store-featured-points {
        display: grid;
        grid-template-columns: 1fr;
    }

    .store-occasion-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .store-occasion-card {
        min-height: 145px;
        padding: 16px;
    }

        .store-occasion-card strong {
            font-size: 1rem;
        }
}

/* =========================================================
   PRODUCT CARD - EQUAL HEIGHT / BUTTON ALIGNMENT FIX
   ========================================================= */

/* Entire product card */
.store-product-card-v2 {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Image section gets same height */
.store-product-media {
    height: 300px;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    /* Product images */
    .store-product-media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

/* Content section */
.store-product-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

/* Category text */
.store-product-meta {
    min-height: 22px;
}

/* Product name reserves equal space for 2 lines */
.store-product-name {
    min-height: 58px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Price section gets consistent height */
.store-product-bottom {
    min-height: 65px;
    margin-top: 8px;
}

/* IMPORTANT:
   Push View & Customize to bottom */
.store-product-action {
    margin-top: auto;
    width: 100%;
}

/* =========================================================
   PRODUCT RATINGS
   ========================================================= */

.store-rating-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 8px 0 14px;
    font-size: .82rem;
}

.store-rating-compact {
    margin-top: 3px;
    margin-bottom: 10px;
}

.store-stars {
    display: inline-flex;
    gap: 1px;
    line-height: 1;
}

.star-filled {
    color: #e3a008;
}

.star-empty {
    color: #d8d2ca;
}

.store-rating-number {
    color: var(--store-ink);
    font-weight: 700;
}

.store-review-count {
    color: var(--store-muted);
    font-size: .75rem;
}

.store-account-link {
    display: flex;
    align-items: center;
    gap: 5px;
}

.store-account-hello {
    color: var(--store-muted);
    font-size: .75rem;
}

.store-account-link strong {
    color: var(--store-ink);
    font-size: .88rem;
    font-weight: 700;
}

.store-navbar .dropdown-menu {
    min-width: 190px;
    padding: 8px;
    border: 1px solid var(--store-border);
    border-radius: 12px;
}

.store-navbar .dropdown-item {
    padding: 9px 12px;
    border-radius: 7px;
    font-size: .86rem;
}

    .store-navbar .dropdown-item:hover {
        background: #f7f3ed;
    }