* {
    box-sizing: border-box
}

body {
    margin: 0;
    color: #222;
    font-family: 'DM Sans',sans-serif
}

.utility {
    font-size: 14px;
    background: #c6a05a;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    color: #ffffff;
}

.marquee {
    background: #0c0c0c;
    color: #fff;
    text-align: center;
    padding: 9px;
    font-size: 11px;
    letter-spacing: 1.7px
}

.header {
    background: #fff;
    border-bottom: 1px solid #eee
}

.head-row {
    height: 90px;
    display: flex;
    align-items: center;
    gap: 35px
}

.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #111;
    font: 18px Georgia;
    white-space: nowrap
}

.logo b {
    font-weight: 700
}

.logo small {
    display: block;
    font: 8px 'DM Sans';
    letter-spacing: 4px;
    text-align: center
}

.logo img {
    max-width: 130px;
    margin-top: 43px;
}

.logo-symbol {
    font-size: 31px;
    color: #bd9448
}

.search {
    display: flex;
    max-width: 470px;
    flex: 1;
    margin: auto
}

.search input {
    border: 1px solid #ddd;
    border-right: 0;
    padding: 12px 15px;
    width: 100%;
    outline: 0
}

.search button {
    width: 50px;
    border: 1px solid #ddd;
    background: #fff
}

.head-actions {
    display: flex;
    gap: 22px
}

.head-actions a {
    color: #333;
    text-decoration: none;
    text-align: center;
    font-size: 18px
}

.head-actions small {
    display: block;
    font-size: 14px;
}

.desktop-nav {
    display: flex;
    justify-content: center;
    gap: 26px;
    padding: 13px 0;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1.2px
}

.desktop-nav a {
    color: #000;
    text-decoration: none
}

.mega-wrap {
    position: relative
}

.mega {
    display: none;
    position: absolute;
    top: 20px;
    left: -100px;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 15px 35px #0001;
    width: 650px;
    padding: 25px;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    z-index: 30
}

.mega-wrap:hover .mega {
    display: grid
}

.mega h6 {
    font-size: 11px;
    letter-spacing: 2px
}

.mega a {
    display: block;
    text-transform: none;
    padding: 5px 0;
    font-size: 12px
}

.mobile-menu {
    display: none;
    background: none;
    border: 0;
    font-size: 25px
}

.hero {
    position: relative
}

.hero .carousel-item {
    height: min(74vh,720px);
    background: #111
}

.hero img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hero-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 9%;
    max-width: 650px;
    color: #fff;
    background: linear-gradient(90deg,#000b,#0000 75%)
}

.hero-content span {
    letter-spacing: 4px;
    font-size: 16px;
    color: #d8b477
}

.hero-content h1 {
    font: 600 clamp(42px,6vw,75px) 'Playfair Display';
    margin: 15px 0;
    font-size: 36px;
}

.hero-content p {
    font-size: 17px
}

.btn-gold {
    display: inline-block;
    background: #c6a05a;
    color: #111;
    text-decoration: none;
    border: 0;
    padding: 14px 25px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.5px;
    width: max-content
}

.category-strip {
    padding: 35px 0
}

.cat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: #222;
    text-decoration: none;
    border: 1px solid #eee;
    padding: 18px;
    height: 100%;
    transition: .2s
}

.cat-tile:hover {
    box-shadow: 0 10px 30px #0001
}

.cat-tile img {
    height: 70px;
    width: 70px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px
}

.cat-tile small {
    color: #777
}

.products-section {
    padding: 65px 0
}

.products-section.light {
    background: #faf9f7
}

.section-title {
    display: flex;
    align-items: end;
    gap: 25px;
    margin-bottom: 30px
}

.section-title span {
    font-size: 16px;
    letter-spacing: 3px;
    color: #a27b3e
}

.section-title h2 {
    font: 500 36px 'Playfair Display';
    margin: 0
}

.section-title a {
    margin-left: auto;
    color: #222;
    font-size: 16px;
}

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

.p-img {
    position: relative;
    background: #f4f1ed;
    aspect-ratio: 1/1.25;
    overflow: hidden
}

.p-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s
}

.product-card:hover .p-img img {
    transform: scale(1.04)
}

.placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg,#111,#4b3820);
    color: #d4ac64;
    font: 28px Georgia;
    letter-spacing: 4px
}

.sale-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #111;
    color: #fff;
    padding: 6px 9px;
    font-size: 10px
}

.p-tools {
    position: absolute;
    bottom: -45px;
    left: 0;
    right: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    gap: 15px;
    padding: 10px;
    transition: .25s
}

.product-card:hover .p-tools {
    bottom: 0
}

.p-tools button,.p-tools a {
    border: 0;
    background: none;
    color: #222;
    text-decoration: none;
    font-size: 11px
}

.p-info {
    padding: 13px 2px
}

.p-info small {
    font-size: 14px;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 1px
}

.p-info h3 {
    font: 500 16px 'Playfair Display';
    margin: 6px 0;
    font-size: 16px;
}

.p-info h3 a {
    color: #222;
    text-decoration: none
}

.p-info del {
    color: #999;
    font-size: 12px
}

.benefits {
    padding: 30px 0;
    border-top: 1px solid #eee
}

.benefit {
    text-align: center;
    padding: 16px;
    border-right: 1px solid #eee
}

.benefit:last-child {
    border: 0
}

.benefit i {
    font-size: 25px
}

.benefit h6 {
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: 800;
    margin: 10px 0
}

.benefit p {
    font-size: 14px;
    color: #777
}

.shop-head {
    background: #f7f4ef;
    padding: 65px 0
}

.shop-head span {
    font-size: 10px;
    letter-spacing: 3px;
    color: #a27b3e
}

.shop-head h1 {
    font: 600 52px 'Playfair Display';
    margin: 8px 0
}

.shop-head p {
    color: #777
}

.shop-wrap {
    padding: 45px 0
}

.toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px
}

.toolbar select {
    border: 1px solid #ddd;
    padding: 10px 35px 10px 12px
}

.detail {
    padding: 75px 0
}

.detail-img {
    background: #f5f2ee;
    height: 650px
}

.detail-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.detail h1 {
    font: 600 50px 'Playfair Display';
    margin: 15px 0
}

.detail-price {
    font-size: 25px;
    font-weight: 700;
    margin: 20px 0
}

.detail-price del {
    font-size: 14px;
    color: #999;
    margin-left: 10px
}

.stock {
    font-size: 12px;
    color: #4b7d42;
    margin: 20px 0
}

.add-form {
    display: flex;
    gap: 10px
}

.add-form input {
    width: 75px;
    border: 1px solid #ddd;
    padding: 12px
}

.cart-section,.checkout {
    padding: 55px 0
}

.cart-item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid #eee
}

.cart-img {
    width: 90px;
    height: 90px
}

.cart-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.cart-item h4 {
    font: 500 18px 'Playfair Display'
}

.cart-item input {
    width: 70px;
    padding: 10px;
    border: 1px solid #ddd
}

.btn-outline {
    padding: 11px 18px;
    border: 1px solid #222;
    background: #fff
}

.summary,.checkout-box {
    background: #f7f4ef;
    padding: 28px
}

.summary h3,.checkout-box h3 {
    font: 500 24px 'Playfair Display';
    margin-bottom: 25px
}

.summary>div {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 13px
}

.summary .total {
    font-size: 20px;
    border-top: 1px solid #ddd;
    margin-top: 15px;
    padding-top: 18px
}

.wide {
    width: 100%;
    text-align: center;
    margin-top: 20px
}

.checkout-box input,.checkout-box textarea {
    width: 100%;
    border: 1px solid #ddd;
    background: #fff;
    padding: 13px
}

.checkout-box textarea {
    min-height: 110px
}

.pay {
    display: block;
    background: #fff;
    border: 1px solid #ddd;
    padding: 14px;
    margin: 7px 0;
    font-size: 13px
}

.success {
    padding: 130px 0
}

.check {
    width: 70px;
    height: 70px;
    border: 1px solid #c6a05a;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: auto;
    font-size: 30px;
    color: #c6a05a
}

.success span {
    display: block;
    margin-top: 25px;
    color: #a27b3e;
    letter-spacing: 3px;
    font-size: 11px
}

.success h1 {
    font: 600 45px 'Playfair Display'
}

.empty-page {
    text-align: center;
    padding: 100px 20px
}

.footer {
    background: #0c0c0c;
    color: #aaa;
    padding: 65px 0 20px
}

.footer .dark {
    color: #fff
}

.footer h6 {
    color: #c6a05a;
    letter-spacing: 2px;
    font-size: 11px
}

.footer a {
    color: #ddd
}

.copy {
    border-top: 1px solid #333;
    margin-top: 45px;
    padding-top: 18px;
    font-size: 16px;
}

@media(max-width: 900px) {
    .utility .container {
        justify-content:center
    }

    .utility span:not(:first-child) {
        display: none
    }

    .head-row {
        height: 75px
    }

    .mobile-menu {
        display: block
    }

    .desktop-nav,.search {
        display: none
    }

    .head-actions {
        margin-left: auto
    }

    .logo {
        font-size: 14px
    }

    .product-grid {
        grid-template-columns: repeat(2,1fr);
        gap: 15px
    }

    .hero .carousel-item {
        height: 65vh
    }

    .hero-content {
        padding: 30px
    }

    .hero-content h1 {
        font-size: 43px
    }

    .section-title {
        display: block
    }

    .section-title a {
        display: block;
        margin-top: 10px;
    }

    .benefit {
        border-bottom: 1px solid #eee
    }

    .detail-img {
        height: 450px
    }

    .detail h1 {
        font-size: 40px
    }
}

.mobile-drawer {
    display: none;
    position: fixed;
    inset: 0 0 0 auto;
    width: min(88vw,360px);
    background: #fff;
    z-index: 9999;
    box-shadow: -15px 0 40px #0003;
    padding: 18px;
    overflow: auto
}

.mobile-drawer.show {
    display: block
}

.mobile-drawer-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 16px;
    margin-bottom: 10px
}

.mobile-drawer-head button {
    border: 0;
    background: none;
    font-size: 32px
}

.mobile-drawer a {
    display: block;
    padding: 15px 5px;
    border-bottom: 1px solid #eee;
    color: #222;
    text-decoration: none;
    font-size: 14px
}

/* Fresh responsive product/gallery layer */
.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 70px;
    align-items: start
}

.gallery-main {
    background: #f5f2ee;
    aspect-ratio: 1/1.05;
    overflow: hidden;
    border-radius: 2px
}

.gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.gallery-thumbs {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-top: 14px
}

.gallery-thumb {
    flex: 0 0 82px;
    width: 82px;
    height: 82px;
    padding: 0;
    border: 1px solid #ddd;
    background: #fff;
    overflow: hidden
}

.gallery-thumb.active {
    border: 2px solid #c6a05a
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.detail-copy {
    padding-top: 8px
}

.detail-copy h1 {
    max-width: 680px
}

.rating {
    font-size: 12px;
    letter-spacing: 2px;
    color: #b28a49
}

.rating span {
    letter-spacing: 0;
    color: #777;
    margin-left: 8px
}

.detail-price b {
    font-size: 11px;
    background: #111;
    color: #fff;
    padding: 5px 7px;
    margin-left: 10px;
    vertical-align: middle
}

.lead-desc {
    color: #666;
    line-height: 1.8;
    max-width: 620px
}

.qty-box {
    display: flex;
    border: 1px solid #ddd;
    width: max-content
}

.qty-box button {
    border: 0;
    background: #fff;
    width: 38px;
    font-size: 20px
}

.qty-box input {
    width: 48px;
    text-align: center;
    border: 0;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd
}

.wishlist-form {
    margin-top: 10px
}

.wide-heart {
    width: 100%;
    text-align: center
}

.detail-features {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
    border-top: 1px solid #eee;
    margin-top: 35px;
    padding-top: 25px
}

.detail-features div {
    font-size: 12px
}

.detail-features small {
    display: block;
    color: #777;
    margin-top: 5px
}

.description-block {
    border-top: 1px solid #eee;
    margin-top: 65px;
    padding-top: 35px;
    max-width: 900px;
    line-height: 1.9;
    color: #555
}

.description-block h2 {
    font: 500 30px 'Playfair Display';
    color: #222
}

.mobile-drawer {
    right: 0!important;
    left: auto!important
}

.mobile-drawer.show {
    display: block!important
}

.mobile-drawer a {
    font-weight: 500
}

.mobile-backdrop {
    display: none
}

@media(max-width: 991px) {
    .head-row {
        gap:12px
    }

    .head-actions {
        gap: 12px
    }

    .head-actions a {
        font-size: 17px
    }

    .head-actions small {
        display: none
    }

    .logo img {
        max-width: 150px;
        max-height: 62px;
        margin-top: 0px;
    }

    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .detail {
        padding: 35px 0
    }

    .gallery-main {
        aspect-ratio: 1/1.08
    }

    .detail-copy h1 {
        font-size: 36px
    }

    .product-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .products-section {
        padding: 42px 0
    }

    .container {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px
    }
}

@media(max-width: 575px) {
    .utility {
        font-size:9px
    }

    .marquee {
        font-size: 9px;
        padding: 7px
    }

    .head-row {
        height: 68px
    }

    .logo {
        font-size: 12px
    }

    .logo-symbol {
        font-size: 22px
    }

    .logo small {
        font-size: 6px;
        letter-spacing: 2px
    }

   

    .head-actions a {
        font-size: 18px
    }

    .mobile-menu {
        font-size: 23px;
        padding: 0
    }

    .hero .carousel-item {
        height: 55vh
    }

    .hero-content {
        padding: 22px
    }

    .hero-content h1 {
        font-size: 34px
    }

    .hero-content p {
        font-size: 13px
    }

    .product-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px
    }

    .p-info h3 {
        font-size: 14px
    }

    .p-info {
        padding: 9px 1px
    }

    .section-title h2 {
        font-size: 29px
    }

    .detail-copy h1 {
        font-size: 31px
    }

    .detail-price {
        font-size: 22px
    }

    .detail-features {
        grid-template-columns: 1fr
    }

    .gallery-thumb {
        flex-basis: 68px;
        width: 68px;
        height: 68px
    }

    .add-form .btn-gold {
        flex: 1;
        padding: 12px 14px
    }

    .qty-box {
        flex: 0 0 auto
    }

    .cart-item {
        gap: 10px
    }

    .cart-img {
        width: 70px;
        height: 70px
    }

    .cart-item h4 {
        font-size: 15px
    }
}

/* Fresh responsive product/gallery layer */
.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 70px;
    align-items: start
}

.gallery-main {
    background: #f5f2ee;
    aspect-ratio: 1/1.05;
    overflow: hidden;
    border-radius: 2px
}

.gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.gallery-thumbs {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-top: 14px
}

.gallery-thumb {
    flex: 0 0 82px;
    width: 82px;
    height: 82px;
    padding: 0;
    border: 1px solid #ddd;
    background: #fff;
    overflow: hidden
}

.gallery-thumb.active {
    border: 2px solid #c6a05a
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.detail-copy {
    padding-top: 8px
}

.detail-copy h1 {
    max-width: 680px
}

.rating {
    font-size: 12px;
    letter-spacing: 2px;
    color: #b28a49
}

.rating span {
    letter-spacing: 0;
    color: #777;
    margin-left: 8px
}

.detail-price b {
    font-size: 11px;
    background: #111;
    color: #fff;
    padding: 5px 7px;
    margin-left: 10px;
    vertical-align: middle
}

.lead-desc {
    color: #666;
    line-height: 1.8;
    max-width: 620px
}

.qty-box {
    display: flex;
    border: 1px solid #ddd;
    width: max-content
}

.qty-box button {
    border: 0;
    background: #fff;
    width: 38px;
    font-size: 20px
}

.qty-box input {
    width: 48px;
    text-align: center;
    border: 0;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd
}

.wishlist-form {
    margin-top: 10px
}

.wide-heart {
    width: 100%;
    text-align: center
}

.detail-features {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
    border-top: 1px solid #eee;
    margin-top: 35px;
    padding-top: 25px
}

.detail-features div {
    font-size: 12px
}

.detail-features small {
    display: block;
    color: #777;
    margin-top: 5px
}

.description-block {
    border-top: 1px solid #eee;
    margin-top: 65px;
    padding-top: 35px;
    max-width: 900px;
    line-height: 1.9;
    color: #555
}

.description-block h2 {
    font: 500 30px 'Playfair Display';
    color: #222
}

.mobile-drawer {
    right: 0!important;
    left: auto!important
}

.mobile-drawer.show {
    display: block!important
}

.mobile-drawer a {
    font-weight: 500
}

@media(max-width: 991px) {
    .head-row {
        gap:12px
    }

    .head-actions {
        gap: 12px
    }

    .head-actions a {
        font-size: 17px
    }

    .head-actions small {
        display: none
    }

    

    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .detail {
        padding: 35px 0
    }

    .gallery-main {
        aspect-ratio: 1/1.08
    }

    .detail-copy h1 {
        font-size: 36px
    }

    .product-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .products-section {
        padding: 42px 0
    }

    .container {
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px
    }
}

@media(max-width: 575px) {
    .utility {
        font-size: 14px;
    }

    .marquee {
        font-size: 9px;
        padding: 7px
    }

    .head-row {
        height: 68px
    }

    .logo {
        font-size: 12px
    }

    .logo-symbol {
        font-size: 22px
    }

    .logo small {
        font-size: 6px;
        letter-spacing: 2px
    }

    

    .head-actions a {
        font-size: 18px
    }

    .mobile-menu {
        font-size: 23px;
        padding: 0
    }

    .hero .carousel-item {
        height: 55vh
    }

    .hero-content {
        padding: 22px
    }

    .hero-content h1 {
        font-size: 24px;
    }

    .hero-content p {
        font-size: 13px
    }

    .product-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px
    }

    .p-info h3 {
        font-size: 14px
    }

    .p-info {
        padding: 9px 1px
    }

    .section-title h2 {
        font-size: 29px
    }

    .detail-copy h1 {
        font-size: 31px
    }

    .detail-price {
        font-size: 22px
    }

    .detail-features {
        grid-template-columns: 1fr
    }

    .gallery-thumb {
        flex-basis: 68px;
        width: 68px;
        height: 68px
    }

    .add-form .btn-gold {
        flex: 1;
        padding: 12px 14px
    }

    .qty-box {
        flex: 0 0 auto
    }

    .cart-item {
        gap: 10px
    }

    .cart-img {
        width: 70px;
        height: 70px
    }

    .cart-item h4 {
        font-size: 15px
    }
}

/* MOBILE HEADER + CART OVERFLOW FIX */
@media (max-width: 575px) {
    .head-row {
        height:68px;
        display: grid;
        grid-template-columns: 34px minmax(0,1fr) 78px;
        gap: 4px;
        align-items: center;
        padding: 0 2px
    }

    .mobile-menu {
        display: grid;
        place-items: center;
        width: 34px;
        height: 40px
    }

    .logo {
        min-width: 0;
        max-width: 100%;
        justify-content: center;
        overflow: hidden;
        font-size: 11px;
        gap: 4px
    }

    .logo > span:not(.logo-symbol) {
        overflow: hidden;
        text-overflow: ellipsis
    }

    .logo-symbol {
        font-size: 19px;
        flex: 0 0 auto
    }

    .logo small {
        font-size: 5px;
        letter-spacing: 1.5px
    }

    
    .head-actions {
        width: 78px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px;
        margin: 0;
        justify-items: center
    }

    .head-actions a {
        display: grid;
        place-items: center;
        width: 36px;
        height: 48px;
        font-size: 19px;
        overflow: visible
    }

    .head-actions small {
        display: none
    }

    .head-actions a b {
        display: none
    }

    .cart-item {
        display: grid;
        grid-template-columns: 64px minmax(0,1fr) 48px;
        gap: 8px;
        align-items: center
    }

    .cart-item .flex-grow-1 {
        min-width: 0
    }

    .cart-item h4 {
        white-space: normal;
        overflow-wrap: anywhere;
        margin: 0
    }

    .cart-item > strong {
        font-size: 13px;
        text-align: right
    }

    .cart-item input {
        width: 48px;
        padding: 8px
    }
}

@media (min-width: 576px) and (max-width:991px) {
    .head-row {
        gap:14px
    }

    .logo img {
        max-width: 160px
    }

    .head-actions {
        gap: 10px
    }
}


/* Related products */
.related-products {
    border-top: 1px solid #eee;
    background: #fff
}

.related-products .p-img-link {
    display: block;
    text-decoration: none;
    color: inherit
}

.related-products .product-card {
    min-width: 0
}

.related-products .p-info h3 a {
    color: #222;
    text-decoration: none
}

.related-products .p-info h3 a:hover {
    color: #a27b3e
}

@media(max-width: 575px) {
    .related-products {
        padding:38px 0
    }

    .related-products .section-title {
        margin-bottom: 22px
    }

    .related-products .p-img {
        aspect-ratio: 1/1.2
    }
}

@media(max-width:767px){
    .benefit h6 {
    font-size: 14px!important;
    letter-spacing: 1px;
    font-weight: 800;
    margin:10px 0;
}
}

/* ================= PREMIUM HOMEPAGE EFFECTS ================= */
html{scroll-behavior:smooth}
.hero .carousel-item{position:relative;overflow:hidden}
.hero .carousel-item>img{transform:scale(1.04);transition:transform 7s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.hero .carousel-item.active>img{transform:scale(1.0)}
.hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(198,160,90,.18),transparent 30%),linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.08) 70%,rgba(0,0,0,.15));pointer-events:none}
.hero-content{z-index:2;text-shadow:0 4px 20px rgba(0,0,0,.35)}
.hero-content h1{animation:heroText .9s ease both}
.hero-content p{animation:heroText 1.1s .08s ease both}
.hero-content .btn-gold{animation:heroText 1.25s .16s ease both;box-shadow:0 12px 35px rgba(198,160,90,.18)}
@keyframes heroText{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.category-showcase{padding:72px 0 52px;background:linear-gradient(180deg,#fff,#faf7f2)}
.section-title.centered{display:block;text-align:center;max-width:820px;margin:0 auto 34px}
.section-title.centered span{display:block;margin-bottom:8px;font-weight:700}
.section-title.centered h2{font-size:44px}
.section-title.centered p{margin:10px auto 0;color:#777;max-width:650px;font-size:15px}
.category-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.category-card{position:relative;display:block;overflow:hidden;border:1px solid #e8e1d7;border-radius:24px;background:#fff;color:#191919;text-decoration:none;box-shadow:0 12px 35px rgba(36,25,12,.07);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.category-card:hover{transform:translateY(-10px);box-shadow:0 22px 55px rgba(36,25,12,.16);color:#191919}
.category-card-media{position:relative;aspect-ratio:1/1.05;overflow:hidden;background:radial-gradient(circle at 50% 20%,#fff,#e8ded1 80%)}
.category-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:saturate(.92)}
.category-card:hover .category-card-media img{transform:scale(1.09)}
.category-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.55))}
.category-arrow{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.82);backdrop-filter:blur(7px);font-size:18px;transition:.3s}
.category-card:hover .category-arrow{transform:rotate(45deg);background:#c6a05a;color:#111}
.category-card-copy{padding:17px 16px 19px;text-align:center}
.category-card-copy h3{font:600 21px 'Playfair Display';margin:0 0 5px}
.category-card-copy small{color:#888;letter-spacing:1px;text-transform:uppercase;font-size:10px}
.category-placeholder{height:100%;display:grid;place-items:center;font-size:50px;color:#c6a05a;background:linear-gradient(145deg,#161616,#4b3820)}

.editorial-wrap{padding:62px 0;background:#fff}
.editorial-slider{border-radius:28px;overflow:hidden;box-shadow:0 20px 70px rgba(22,8,30,.18)}
.editorial-banner{min-height:430px;display:grid;grid-template-columns:1.15fr .85fr .85fr 1.15fr;align-items:center;position:relative;overflow:hidden;padding:34px 44px;background:radial-gradient(circle at 50% 45%,#744a82 0%,#311833 42%,#100b16 100%);color:#fff}
.editorial-banner:before,.editorial-banner:after{content:"";position:absolute;width:55%;height:180%;top:-40%;border-radius:50%;filter:blur(55px);opacity:.22;pointer-events:none}
.editorial-banner:before{left:18%;background:#b58bc4;transform:rotate(16deg)}
.editorial-banner:after{right:8%;background:#7e3f93;transform:rotate(-18deg)}
.editorial-copy{position:relative;z-index:2;padding:20px 30px;text-align:right}
.editorial-copy.right{text-align:left}
.editorial-copy span{font-size:11px;letter-spacing:4px;color:#e7a4ce}
.editorial-copy h3{font:500 clamp(27px,3vw,45px) 'Playfair Display';margin:13px 0}
.editorial-copy p{font-size:13px;line-height:1.7;color:#eee;max-width:350px;margin-left:auto}
.editorial-copy.right p{margin-left:0}
.editorial-btn{display:inline-block;margin-top:14px;border:1px solid rgba(255,255,255,.75);color:#fff;text-decoration:none;padding:10px 18px;font-size:10px;letter-spacing:1.5px;transition:.3s}
.editorial-btn:hover{background:#fff;color:#24142a}
.editorial-bottle{position:relative;z-index:2;height:330px;display:flex;align-items:center;justify-content:center}
.editorial-bottle img{max-width:92%;max-height:310px;object-fit:contain;filter:drop-shadow(0 28px 22px rgba(0,0,0,.5));animation:floatBottle 5s ease-in-out infinite}
.bottle-two img{animation-delay:-2.3s}
.bottle-glow{position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.18);filter:blur(30px)}
@keyframes floatBottle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
.editorial-slider .carousel-control-prev,.editorial-slider .carousel-control-next{width:7%}
.editorial-slider .carousel-indicators{bottom:10px}

.review-section{padding:82px 0 76px;background:linear-gradient(180deg,#faf9f7,#fff)}
.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.review-card{position:relative;min-height:310px;padding:34px 25px 28px;text-align:center;border:1px solid #ece7df;border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 10px 35px rgba(25,18,8,.06);transition:transform .35s ease,box-shadow .35s ease}
.review-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(25,18,8,.12)}
.quote-mark{font:700 64px Georgia;color:#c6a05a;line-height:.7;height:48px}
.review-card p{font-size:15px;line-height:1.75;color:#666;margin:14px 0 18px}
.stars{letter-spacing:4px;color:#c6a05a;font-size:18px;margin-bottom:12px}
.review-card h4{font:600 19px 'Playfair Display';margin:0}
.review-card small{color:#999;letter-spacing:1px;text-transform:uppercase;font-size:9px}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.back-top{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border:0;border-radius:50%;background:#111;color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.2);display:grid;place-items:center;z-index:50;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s}
.back-top.show{opacity:1;visibility:visible;transform:none}
.back-top:hover{background:#c6a05a;color:#111;transform:translateY(-3px)}

/* subtle shine on buttons/cards */
.btn-gold,.category-card,.editorial-btn{position:relative;overflow:hidden}
.btn-gold:after,.category-card:after{content:"";position:absolute;top:-100%;left:-30%;width:25%;height:300%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:rotate(22deg);transition:left .7s ease}
.btn-gold:hover:after,.category-card:hover:after{left:120%}

@media(max-width:1100px){
 .category-cards{grid-template-columns:repeat(3,1fr)}
 .editorial-banner{grid-template-columns:1fr 1fr;min-height:500px}
 .editorial-copy{padding:12px;text-align:left}.editorial-copy.right{text-align:right}.editorial-copy p,.editorial-copy.right p{margin-left:auto;margin-right:0}
 .review-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
 .category-showcase,.editorial-wrap,.review-section{padding:50px 0}
 .section-title.centered h2{font-size:34px}
 .category-cards{grid-template-columns:repeat(2,1fr);gap:12px}
 .category-card{border-radius:17px}
 .category-card-copy{padding:12px 8px 15px}.category-card-copy h3{font-size:18px}
 .editorial-banner{grid-template-columns:1fr 1fr;padding:24px 14px;min-height:540px}
 .editorial-copy h3{font-size:24px}.editorial-copy p{font-size:11px}
 .editorial-bottle{height:230px}.editorial-bottle img{max-height:220px;max-width:100%}
 .review-grid{grid-template-columns:1fr;gap:14px}.review-card{min-height:auto}
 .hero .carousel-item{height:55vh;min-height:390px}
 .hero-content{padding:0 9%;max-width:100%}.hero-content h1{font-size:38px}.hero-content p{font-size:14px}
 .back-top{right:14px;bottom:14px;width:46px;height:46px}
}
@media(max-width:430px){
 .category-cards{grid-template-columns:1fr 1fr}
 .category-card-media{aspect-ratio:1/.98}
 .category-card-copy h3{font-size:16px}
 .editorial-banner{min-height:560px}
 .editorial-copy span{font-size:8px;letter-spacing:2px}.editorial-copy h3{font-size:20px}
}

/* Header + variant + video upgrade */
.utility{background:#111;color:#fff;border-bottom:0;padding:8px 0}.utility-inner{display:flex;align-items:center;gap:24px;font-size:14px}.socials{display:flex;gap:17px}.socials a{color:#fff;text-decoration:none;font-size:17px}.help{white-space:nowrap}.utility-email{white-space:nowrap}.utility-right{margin-left:auto;display:flex;gap:30px;white-space:nowrap}.header{border-bottom:1px solid #eee}.head-row{height:94px;gap:26px}.logo img{max-width:170px;max-height:78px;object-fit:contain;margin-top:0}.desktop-nav{order:2;justify-content:flex-start;gap:27px;padding:0;flex:1;font-size:16px;text-transform:none;letter-spacing:0;white-space:nowrap}.search{order:3;max-width:260px;margin:0}.head-actions{order:4;gap:17px;align-items:center}.head-actions a{position:relative;font-size:26px;color:#111}.head-actions small{font-size:10px}.head-actions em{position:absolute;top:-8px;right:-9px;background:#d54c43;color:#fff;border-radius:50%;font-style:normal;font-size:10px;min-width:21px;height:21px;display:grid;place-items:center}.mega{top:35px}.variant-selector{margin:22px 0 12px}.option-group{margin-bottom:18px}.option-group>label{display:block;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:9px}.option-pills{display:flex;flex-wrap:wrap;gap:9px}.option-pill{border:1px solid #d6d0c7;background:#fff;padding:10px 18px;border-radius:3px;font-weight:600;transition:.25s}.option-pill:hover,.option-pill.active{background:#111;color:#fff;border-color:#111;transform:translateY(-2px)}.detail-price{transition:.2s}.variant-box{border:1px solid #e8e2d9;border-radius:12px;padding:18px;background:#fff}.variant-table th{font-size:11px;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.variant-table td{min-width:130px}.variant-table td:last-child{min-width:45px}.video-showcase{padding:65px 0 25px;background:linear-gradient(180deg,#fff,#faf8f5)}.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.video-card{transition:transform .35s,box-shadow .35s}.video-card:hover{transform:translateY(-8px)}.video-frame{position:relative;aspect-ratio:9/16;background:#111;border-radius:12px;overflow:hidden;box-shadow:0 18px 45px #0001}.video-frame video{width:100%;height:100%;object-fit:cover;display:block}.video-link{display:block;height:100%}.video-play{position:absolute;right:18px;top:18px;width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#111;font-size:25px;box-shadow:0 10px 25px #0002}.video-card h3{font:600 18px 'Playfair Display',serif;margin:15px 4px 0}.admin-video-card{border:1px solid #eee;border-radius:12px;padding:10px;height:100%}.admin-video-card video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:8px;background:#111}.admin-video-card h6{margin:10px 0}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:14px}.search{max-width:190px}.utility-email{display:none}.head-actions{gap:12px}.head-actions a{font-size:23px}.video-grid{gap:18px}}
@media(max-width:900px){.utility-inner{justify-content:center}.socials{display:none}.help{font-size:12px}.utility-right{display:none}.head-row{height:78px}.mobile-menu{display:block;order:0}.logo{order:1}.desktop-nav,.search{display:none}.head-actions{order:2;margin-left:auto}.head-actions small{display:none}.head-actions a{font-size:22px}.logo img{max-width:135px}.video-grid{grid-template-columns:repeat(2,1fr);gap:16px}.variant-table{min-width:850px}.detail-price{font-size:29px}}
@media(max-width:520px){.utility{padding:7px 0}.help{font-size:11px}.head-row{gap:8px}.logo img{max-width:115px}.head-actions{gap:9px}.head-actions a{font-size:20px}.video-grid{grid-template-columns:repeat(2,1fr);gap:10px}.video-play{width:40px;height:40px;font-size:20px;right:10px;top:10px}.video-card h3{font-size:14px}.option-pill{padding:9px 13px;font-size:13px}}

/* Footer uploaded logo */
.footer-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0;margin-bottom:14px}.footer-logo img{display:block;width:auto;max-width:210px;max-height:82px;height:auto;object-fit:contain}.footer-logo:hover{opacity:.92}
@media(max-width:520px){.footer-logo img{max-width:170px;max-height:65px}}

/* =========================================================
   PREMIUM HOUSE OF SINOVAC FOOTER
   ========================================================= */
.premium-footer{position:relative;overflow:hidden;background:#0d0d0d;color:#aaa;padding:72px 0 0;border-top:1px solid #242424}
.premium-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(198,160,90,.07),transparent 34%),radial-gradient(circle at 85% 15%,rgba(198,160,90,.045),transparent 30%);pointer-events:none}
.footer-floral{position:absolute;color:rgba(198,160,90,.08);font-size:180px;line-height:1;transform:rotate(-25deg);pointer-events:none}
.footer-floral-left{left:-60px;bottom:50px}
.footer-main{position:relative;display:grid;grid-template-columns:1.15fr .72fr 1.35fr;gap:64px;padding-bottom:62px}
.footer-brand-col,.footer-links-col,.footer-newsletter-col{min-width:0}
.footer-logo{display:inline-flex;align-items:center;text-decoration:none;line-height:0;margin-bottom:12px;transition:opacity .25s,transform .25s}
.footer-logo:hover{opacity:.92;transform:translateY(-1px)}
.footer-logo img{display:block;width:auto;max-width:230px;max-height:90px;height:auto;object-fit:contain}
.footer-gold-line{display:flex;align-items:center;gap:10px;max-width:330px;margin:4px 0 16px}
.footer-gold-line span{height:1px;background:linear-gradient(90deg,transparent,#c6a05a);flex:1}
.footer-gold-line span:last-child{background:linear-gradient(90deg,#c6a05a,transparent)}
.footer-gold-line i{font-style:normal;color:#c6a05a;font-size:9px}
.footer-kicker{font-family:'Playfair Display',serif;letter-spacing:5px;color:#d5c09a;font-size:12px;margin-bottom:16px}
.footer-mission{font-size:15px;line-height:1.85;max-width:470px;color:#a9a9a9;margin:0 0 22px}
.premium-footer h6{color:#f1f1f1;font-family:'Playfair Display',serif;letter-spacing:1px;font-size:22px;margin:4px 0 10px;font-weight:600}
.footer-heading-line{width:52px;height:2px;background:#c6a05a;margin:12px 0 25px;box-shadow:0 0 12px rgba(198,160,90,.2)}
.footer-contact-list{display:flex;flex-direction:column;gap:13px;margin:0 0 20px}
.footer-contact-list div{display:flex;align-items:flex-start;gap:13px;font-size:14px;line-height:1.65;color:#aaa}
.footer-contact-list i{color:#d7b979;font-size:17px;width:18px;flex:none;margin-top:2px}
.footer-socials{display:flex;gap:12px;margin-top:18px}
.footer-socials a{width:44px;height:44px;border:1px solid #444;border-radius:50%;display:grid;place-items:center;color:#eee;text-decoration:none;font-size:17px;transition:.3s}
.footer-socials a:hover{border-color:#c6a05a;color:#c6a05a;transform:translateY(-3px);background:rgba(198,160,90,.06)}
.footer-links{display:flex;flex-direction:column;gap:15px}
.footer-links a{display:flex;align-items:center;gap:8px;color:#aaa!important;text-decoration:none;font-size:15px;transition:.25s}
.footer-links a i{color:#c6a05a;font-size:10px;transition:.25s}
.footer-links a:hover{color:#fff!important;transform:translateX(4px)}
.footer-links a:hover i{transform:translateX(3px)}
.newsletter-copy{font-size:15px;line-height:1.75;color:#aaa;max-width:590px;margin:0 0 22px}
.footer-newsletter{display:flex;width:100%;max-width:620px;height:58px;border:1px solid #3b3b3b;margin-bottom:18px}
.footer-newsletter input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:0 22px;font:15px 'DM Sans',sans-serif}
.footer-newsletter input::placeholder{color:#777}
.footer-newsletter button{border:0;background:#f4f1eb;color:#111;min-width:165px;padding:0 22px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:.25s}
.footer-newsletter button span{font-size:21px;margin-left:10px}
.footer-newsletter button:hover{background:#c6a05a}
.newsletter-note{font-size:12px;line-height:1.7;color:#777;max-width:590px;margin:0}
.newsletter-note b{color:#e1d6c3}
.footer-benefits{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid #353535;padding-top:24px}
.footer-benefits>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;min-height:74px;padding:0 10px;border-right:1px solid #383838}
.footer-benefits>div:last-child{border-right:0}
.footer-benefits i{font-size:25px;color:#d8b96f}
.footer-benefits span{font-size:10px;line-height:1.45;letter-spacing:1.4px;color:#ddd;font-weight:600}
.footer-bottom{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;border-top:1px solid #343434;min-height:88px}
.footer-copy{font-size:14px;color:#888}
.footer-motto{display:flex;align-items:center;gap:18px;color:#d8d0c2;font-family:'Playfair Display',serif;font-size:11px;letter-spacing:3px;white-space:nowrap}
.footer-motto span{width:55px;height:1px;background:linear-gradient(90deg,transparent,#c6a05a)}
.footer-motto span:last-child{background:linear-gradient(90deg,#c6a05a,transparent)}
.footer-payments{display:flex;justify-content:flex-end;gap:8px}
.footer-payments span{display:grid;place-items:center;min-width:55px;height:31px;padding:0 8px;border:1px solid #383838;border-radius:5px;color:#ddd;font-size:10px;font-weight:700;background:#111}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr;gap:48px}.footer-newsletter-col{grid-column:1/-1}.footer-bottom{grid-template-columns:1fr 1fr}.footer-motto{grid-column:1/-1;grid-row:1;justify-content:center}.footer-copy{grid-row:2}.footer-payments{grid-row:2}}
@media(max-width:650px){.premium-footer{padding-top:52px}.footer-main{grid-template-columns:1fr;gap:42px;padding-bottom:42px}.footer-newsletter-col{grid-column:auto}.footer-logo img{max-width:185px;max-height:72px}.footer-kicker{font-size:10px;letter-spacing:3px}.premium-footer h6{font-size:20px}.footer-benefits{grid-template-columns:1fr 1fr;gap:0}.footer-benefits>div{padding:14px 8px;border-bottom:1px solid #333}.footer-benefits>div:nth-child(2){border-right:0}.footer-newsletter{height:auto;display:grid;grid-template-columns:1fr}.footer-newsletter input{height:56px;border-bottom:1px solid #3b3b3b}.footer-newsletter button{height:52px}.footer-bottom{grid-template-columns:1fr;text-align:center;padding:22px 0;gap:18px}.footer-motto{grid-row:auto;grid-column:auto;font-size:9px;letter-spacing:2px;white-space:normal}.footer-motto span{display:none}.footer-copy,.footer-payments{grid-row:auto;justify-content:center}.footer-payments{flex-wrap:wrap}.footer-floral{font-size:110px;left:-50px;bottom:180px}}

/* =========================================================
   FINAL MOBILE-FIRST RESPONSIVE OVERRIDES
   Prevent horizontal overflow across the entire storefront.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video{max-width:100%}
.container{width:100%;}

/* Header / utility */
@media (max-width: 1199px){
  .head-row{gap:18px}
  .desktop-nav{gap:18px;font-size:14px}
  .search{max-width:210px}
  .head-actions{gap:12px}
}
@media (max-width: 991px){
  .utility-inner{min-height:34px}
  .head-row{height:76px;display:flex;gap:10px}
  .mobile-menu{display:grid;place-items:center;flex:0 0 40px;width:40px;height:44px;order:0}
  .logo{order:1;min-width:0;flex:1;overflow:hidden;justify-content:flex-start;}
  .logo img{width:auto;max-width:145px;max-height:58px;margin:0;object-fit:contain}
  .desktop-nav,.search{display:none!important}
  .head-actions{order:2;margin-left:auto;flex:0 0 auto;display:flex;gap:10px}
  .head-actions a{width:38px;height:44px;display:grid;place-items:center;font-size:22px}
  .head-actions small{display: none!important;}
  .head-actions em{top:0;right:-2px;min-width:18px;height:18px;font-size:9px}
}
@media (max-width: 575px){
  .utility{padding:6px 0}
  .utility-inner{padding-left:10px;padding-right:10px;justify-content:center}
  .help{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .head-row{height:66px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:5px;padding:0 3px}
  .mobile-menu{width:36px;height:42px}
  .logo{justify-content: left;max-width:100%;}
  .logo img{max-width:112px;max-height:50px}
  .head-actions{gap:3px;width:auto}
  .head-actions a{width:34px;height:42px;font-size:19px}
  .head-actions a:first-child{display:none}
  .head-actions em{right:-1px;top:0;min-width:16px;height:16px;font-size:8px}
  .mobile-drawer{width:min(88vw,360px);max-width:360px;padding:16px}
}
@media (max-width: 360px){
  .head-row{grid-template-columns:32px minmax(0,1fr) 70px}
  .mobile-menu{width:32px}
  .logo img{max-width:96px}
  .head-actions{width:70px}
  .head-actions a{width: 34px;font-size: 16px;margin-top: 6px;}
}

/* Hero */
@media (max-width: 767px){
  .hero .carousel-item{height:auto;min-height:420px}
  .hero img{min-height:420px;object-fit:cover}
  .hero-content{padding:25px 8%;justify-content:center;max-width:100%}
  .hero-content span{font-size:10px;letter-spacing:2px}
  .hero-content h1{font-size:clamp(28px,8vw,40px);line-height:1.1;margin:10px 0}
  .hero-content p{font-size:12px;line-height:1.55;max-width:310px}
  .btn-gold{padding:11px 17px;font-size:11px}
  .hero .carousel-control-prev,.hero .carousel-control-next{width:11%}
  .hero .carousel-indicators{margin-bottom:8px}
}
@media (max-width: 430px){
  .hero .carousel-item,.hero img{min-height:370px}
  .hero-content{padding:20px 13%}
  .hero-content h1{font-size:28px}
  .hero-content p{font-size:11px}
}

/* General sections */
@media (max-width: 991px){
  .products-section,.detail,.cart-section,.checkout{padding-top:42px;padding-bottom:42px}
  .shop-head{padding:45px 0}
  .shop-head h1{font-size:42px}
  .section-title.centered h2{font-size:38px}
}
@media (max-width: 767px){
  .section-title{margin-bottom:22px}
  .section-title.centered{margin-bottom:26px}
  .section-title.centered h2{font-size:32px;line-height:1.15}
  .section-title.centered p{font-size:13px;line-height:1.6}
  .section-title span{font-size:10px;letter-spacing:2px}
  .shop-head{padding:35px 0}
  .shop-head h1{font-size:34px;line-height:1.15}
  .shop-head p{font-size:13px}
}
@media (max-width: 420px){
  .container{padding-left:13px!important;padding-right:13px!important}
  .products-section,.detail,.cart-section,.checkout{padding-top:32px;padding-bottom:32px}
  .section-title.centered h2{font-size:28px}
}

/* Category cards */
@media (max-width: 991px){
  .category-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media (max-width: 767px){
  .category-showcase{padding:48px 0 35px}
  .category-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .category-card{border-radius:16px}
  .category-card-media{aspect-ratio:1/1.08}
  .category-card-copy{padding:11px 6px 14px}
  .category-card-copy h3{font-size:17px}
  .category-card-copy small{font-size:8px;letter-spacing:.7px}
  .category-arrow{width:31px;height:31px;right:9px;top:9px;font-size:15px}
}
@media (max-width: 380px){
  .category-cards{gap:9px}
  .category-card-copy h3{font-size:15px}
  .category-card-media{aspect-ratio:1/1}
}

/* Product grids / cards */
@media (max-width: 991px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}
@media (max-width: 767px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .p-img{aspect-ratio:1/1.18}
  .sale-badge{top:7px;left:7px;padding:5px 7px;font-size:8px}
  .p-info small{font-size:9px;letter-spacing:.7px}
  .p-info h3,.p-info h3 a{font-size:14px;line-height:1.35}
  .p-tools{position:absolute;bottom:0;transform:none;padding:7px;gap:9px;background:rgba(255,255,255,.94)}
  .p-tools button,.p-tools a{font-size:9px}
}
@media (hover:hover) and (min-width:768px){
  .p-tools{bottom:-45px}
}
@media (max-width:380px){
  .product-grid{gap:8px}
  .p-info h3,.p-info h3 a{font-size:13px}
  .p-info{padding:8px 0}
}

/* Product detail + gallery */
@media (max-width: 991px){
  .product-detail-grid{grid-template-columns:1fr;gap:30px}
  .gallery-main{aspect-ratio:1/1.05;max-height:none}
  .detail-copy{padding-top:0}
  .detail-copy h1{font-size:36px;line-height:1.15}
}
@media (max-width: 767px){
  .gallery-main{aspect-ratio:1/1.05;border-radius:8px}
  .gallery-thumbs{gap:8px;padding-top:10px;scrollbar-width:none}
  .gallery-thumbs::-webkit-scrollbar{display:none}
  .gallery-thumb{flex:0 0 64px;width:64px;height:64px}
  .detail-copy h1{font-size:30px;line-height:1.18}
  .lead-desc{font-size:13px;line-height:1.7}
  .detail-price{font-size:24px}
  .detail-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px;padding-top:20px}
  .description-block{margin-top:40px;padding-top:25px;font-size:13px;line-height:1.75}
  .description-block h2{font-size:25px}
}
@media (max-width: 430px){
  .detail-copy h1{font-size:27px}
  .detail-price{font-size:22px}
  .detail-price del{font-size:12px}
  .detail-features{grid-template-columns:1fr 1fr}
  .add-form{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
  .add-form .btn-gold{min-width:0;width:100%;padding:12px 8px;font-size:10px}
  .qty-box input{width:42px}
  .qty-box button{width:34px}
}

/* Variant selectors and table */
.option-pills{max-width:100%}
@media (max-width: 767px){
  .variant-selector{margin:18px 0 10px}
  .option-group{margin-bottom:14px}
  .option-group>label{font-size:10px;margin-bottom:7px}
  .option-pills{gap:7px}
  .option-pill{padding:8px 12px;font-size:12px}
  .variant-box{padding:12px;border-radius:9px;overflow:hidden}
  .variant-table-wrap,.variant-table{max-width:100%;overflow-x:auto}
  .variant-table{display:block;width:max-content;min-width:700px}
}

/* Video/reel section */
@media (max-width: 991px){
  .video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media (max-width: 767px){
  .video-showcase{padding:48px 0 20px}
  .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .video-frame{border-radius:10px}
  .video-play{width:38px;height:38px;right:8px;top:8px;font-size:19px}
  .video-card h3{font-size:13px;margin:9px 2px 0;line-height:1.35}
}
@media (max-width:360px){
  .video-grid{gap:8px}
  .video-play{width:34px;height:34px;font-size:17px}
  .video-card h3{font-size:12px}
}

/* Editorial banner */
@media (max-width: 991px){
  .editorial-banner{grid-template-columns:1fr 1fr;min-height:500px;padding:24px 20px}
  .editorial-copy{padding:12px;text-align:left}
  .editorial-copy.right{text-align:right}
  .editorial-copy p,.editorial-copy.right p{margin-left:0;margin-right:auto}
}
@media (max-width: 767px){
  .editorial-wrap{padding:48px 0}
  .editorial-slider{border-radius:16px}
  .editorial-banner{grid-template-columns:1fr 1fr;min-height:520px;padding:18px 8px}
  .editorial-copy{padding:8px 7px}
  .editorial-copy span{font-size:7px;letter-spacing:1.7px}
  .editorial-copy h3{font-size:21px;line-height:1.1;margin:8px 0}
  .editorial-copy p{font-size:10px;line-height:1.45}
  .editorial-btn{font-size:8px;padding:8px 9px;margin-top:8px}
  .editorial-bottle{height:205px}
  .editorial-bottle img{max-height:190px;max-width:95%}
  .bottle-glow{width:100px;height:100px}
  .editorial-slider .carousel-control-prev,.editorial-slider .carousel-control-next{width:10%}
}
@media (max-width:430px){
  .editorial-banner{min-height:480px;padding:14px 4px}
  .editorial-copy h3{font-size:18px}
  .editorial-copy p{font-size:9px}
  .editorial-bottle{height:180px}
  .editorial-bottle img{max-height:165px}
}

/* Reviews */
@media (max-width: 991px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media (max-width: 767px){
  .review-section{padding:52px 0}
  .review-grid{grid-template-columns:1fr;gap:12px}
  .review-card{min-height:0;padding:28px 20px 24px;border-radius:16px}
  .review-card p{font-size:13px;line-height:1.65}
}

/* Cart */
@media (max-width: 767px){
  .cart-item{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:9px;align-items:center}
  .cart-img{width:62px;height:62px}
  .cart-item h4{font-size:14px;margin:0 0 4px;line-height:1.3}
  .cart-item input{width:50px;padding:8px}
  .cart-item>strong{font-size:12px;white-space:nowrap}
  .summary,.checkout-box{padding:18px}
  .summary h3,.checkout-box h3{font-size:21px;margin-bottom:18px}
}
@media (max-width:400px){
  .cart-item{grid-template-columns:56px minmax(0,1fr) 52px;gap:7px}
  .cart-img{width:56px;height:56px}
  .cart-item h4{font-size:13px}
  .cart-item>strong{font-size:11px}
}

/* Checkout forms / payment */
@media (max-width: 767px){
  .checkout-box input,.checkout-box textarea{font-size:14px;padding:12px}
  .pay{padding:13px;font-size:12px}
  .wide{font-size:13px;padding:13px 12px}
}

/* Benefits */
@media (max-width: 767px){
  .benefit{padding:14px 8px!important}
  .benefit i{font-size:21px}
  .benefit h6{font-size:11px!important;line-height:1.3}
  .benefit p{font-size:10px;line-height:1.45}
}
@media (max-width:430px){
  .benefit h6{font-size:10px!important}
  .benefit p{font-size:9px}
}

/* Premium footer - final mobile layout */
.premium-footer{width:100%;overflow:hidden}
.footer-main,.footer-bottom{width:100%;max-width:100%}
.footer-brand-col,.footer-links-col,.footer-newsletter-col{overflow-wrap:anywhere}
@media (max-width: 1100px){
  .footer-main{grid-template-columns:1fr 1fr;gap:40px}
  .footer-newsletter-col{grid-column:1/-1}
  .footer-newsletter{max-width:100%}
}
@media (max-width: 767px){
  .premium-footer{padding-top:48px}
  .footer-main{display:flex;flex-direction:column;gap:34px;padding-bottom:36px}
  .footer-brand-col,.footer-links-col,.footer-newsletter-col{width:100%;min-width:0}
  .footer-logo img{max-width:min(190px,70vw);max-height:72px}
  .footer-gold-line{max-width:260px}
  .footer-kicker{font-size:9px;letter-spacing:2.5px}
  .footer-mission{font-size:13px;line-height:1.7}
  .premium-footer h6{font-size:19px}
  .footer-heading-line{margin:9px 0 18px}
  .footer-contact-list div{font-size:13px;gap:10px}
  .footer-socials{gap:9px}
  .footer-socials a{width:42px;height:42px}
  .footer-links{gap:0}
  .footer-links a{min-height:44px;padding:9px 0;font-size:14px;border-bottom:1px solid #242424}
  .newsletter-copy{font-size:13px;line-height:1.65}
  .footer-newsletter{display:flex;height:auto;min-height:52px;flex-direction:column;border-radius:4px;overflow:hidden}
  .footer-newsletter input{height:52px;width:100%;padding:0 15px;border-bottom:1px solid #3b3b3b}
  .footer-newsletter button{height:50px;width:100%;min-width:0;padding:0 15px}
  .newsletter-note{font-size:10px;line-height:1.6}
  .footer-benefits{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px;padding-top:18px}
  .footer-benefits>div{min-height:82px;padding:13px 5px;border-bottom:1px solid #333}
  .footer-benefits>div:nth-child(2){border-right:0}
  .footer-benefits>div:nth-child(3){border-bottom:0}
  .footer-benefits>div:nth-child(4){border-right:0;border-bottom:0}
  .footer-benefits i{font-size:22px}
  .footer-benefits span{font-size:8px;letter-spacing:1px}
  .footer-bottom{display:flex;flex-direction:column;min-height:0;padding:22px 0;gap:15px;text-align:center}
  .footer-copy{font-size:11px;line-height:1.5;order:3}
  .footer-motto{order:1;font-size:8px;letter-spacing:1.6px;white-space:normal;line-height:1.5}
  .footer-motto span{display:none}
  .footer-payments{order:2;justify-content:center;flex-wrap:wrap;gap:6px}
  .footer-payments span{min-width:49px;height:28px;font-size:9px}
  .footer-floral{font-size:90px;left:-42px;bottom:155px}
}
@media (max-width: 390px){
  .premium-footer{padding-top:40px}
  .footer-logo img{max-width:165px;max-height:62px}
  .footer-mission{font-size:12px}
  .footer-contact-list div{font-size:12px}
  .footer-socials a{width:40px;height:40px;font-size:15px}
  .footer-benefits>div{min-height:76px}
  .footer-copy{font-size:10px}
}

/* =========================================================
   MOBILE HEADER - SEARCH BOX HIDE, SEARCH ICON SHOW
========================================================= */

@media (max-width: 767px) {

    /* Bada search box hide */
    .header .search {
        display: none !important;
    }

    /* Header actions visible */
    .header .head-actions {
        display: flex;
        align-items: center !important;
        /* gap: 10px !important; */
    }

    /* Search icon */
    .header .head-actions > a:first-child {
        display: flex !important;
        /* flex-direction: column !important; */
        align-items: center !important;
        /* justify-content: center !important; */
        text-decoration: none !important;
        width: 38px !important;
        /* min-width: 38px !important; */
        margin: 10px 0px;
    }

    .header .head-actions > a:first-child i {
        display: block !important;
        font-size: 25px !important;
        line-height: 1 !important;
    }

    .header .head-actions > a:first-child small {
        display: none!important;
        font-size: 11px !important;
        margin-top: 4px !important;
    }

}

/* Back-to-top / safe area */
@media (max-width: 575px){
  .back-top{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px}
}

/* Prevent common long-content overflow */
.footer a,.footer p,.product-card,.p-info,.detail-copy,.lead-desc,.checkout-box,.summary,.cart-item{overflow-wrap:anywhere}
.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
