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

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
    color: #111111;
}

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


/* ================= NAVBAR ================= */

.navbar {
    height: 80px;
    padding: 0 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
}

.logo {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 4px;
}

.navbar nav {
    display: flex;
    gap: 35px;
}

.navbar nav a {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    transition: 0.3s;
}

.navbar nav a:hover,
.navbar nav .active {
    opacity: 0.5;
}

.nav-buttons {
    display: flex;
    align-items: center;
    gap: 25px;
}

.nav-buttons a {
    font-size: 13px;
    font-weight: 600;
}

.cart {
    position: relative;
    font-size: 20px !important;
}

.cart span {
    position: absolute;
    top: -8px;
    right: -12px;
    background: #111111;
    color: white;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    font-size: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}


/* ================= HERO ================= */

.hero {
    min-height: calc(100vh - 80px);

    display: flex;
    align-items: center;

    padding: 80px 10%;

    background:
        linear-gradient(
            rgba(0,0,0,0.45),
            rgba(0,0,0,0.45)
        ),
        url("../images/hero.jpg");

    background-size: cover;
    background-position: center;

    color: white;
}

.hero-content {
    max-width: 650px;
}

.small-title {
    font-size: 12px;
    letter-spacing: 3px;
    font-weight: bold;
    margin-bottom: 25px;
}

.hero h1 {
    font-size: clamp(60px, 9vw, 125px);
    line-height: 0.85;
    letter-spacing: -5px;
    margin-bottom: 35px;
}

.hero h1 span {
    -webkit-text-stroke: 1px white;
    color: transparent;
}

.hero-text {
    max-width: 400px;
    line-height: 1.7;
    margin-bottom: 35px;
}

.shop-btn {
    display: inline-block;
    background: white;
    color: #111;
    padding: 16px 30px;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
    transition: 0.3s;
}

.shop-btn:hover {
    background: #111;
    color: white;
}


/* ================= FEATURED ================= */

.featured {
    padding: 120px 7%;
}

.section-title {
    text-align: center;
    margin-bottom: 60px;
}

.section-title p {
    font-size: 11px;
    letter-spacing: 3px;
    margin-bottom: 15px;
}

.section-title h2 {
    font-size: 45px;
}


.category-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.category {
    overflow: hidden;
}

.category-image {
    height: 500px;
    background-size: cover;
    background-position: center;
    transition: 0.5s;
}

.category:hover .category-image {
    transform: scale(1.03);
}

.t-shirt {
    background-image: url("../images/tshirt.jpg");
}

.shirts {
    background-image: url("../images/shirt.jpg");
}

.hoodies {
    background-image: url("../images/hoodie.jpg");
}

.category h3 {
    padding-top: 18px;
    font-size: 14px;
    letter-spacing: 2px;
}


/* ================= ABOUT ================= */

/* ================= ABOUT ADILOS ================= */

.about-preview {
    position: relative;
    overflow: hidden;

    min-height: 500px;

    padding: 120px 10%;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;

    background: #111111;
    color: white;
}


/* ================= GOLD WAVES ================= */

.about-waves {
    position: absolute;
    inset: 0;

    pointer-events: none;
    overflow: hidden;
}


/* Main wave lines */

.about-waves span {
    position: absolute;

    width: 150%;
    height: 220px;

    left: -25%;

    border: 1px solid rgba(212, 167, 76, 0.45);

    border-radius: 50%;

    transform: rotate(-8deg);

    animation: waveMove 10s ease-in-out infinite;
}


/* First wave */

.about-waves span:nth-child(1) {
    top: 30%;
}


/* Second wave */

.about-waves span:nth-child(2) {
    top: 42%;

    opacity: 0.55;

    animation-duration: 13s;
    animation-delay: -3s;
}


/* Third wave */

.about-waves span:nth-child(3) {
    top: 54%;

    opacity: 0.35;

    animation-duration: 16s;
    animation-delay: -6s;
}


/* ================= WAVE ANIMATION ================= */

@keyframes waveMove {

    0% {
        transform:
            translateX(-4%)
            rotate(-8deg)
            scaleY(1);
    }

    50% {
        transform:
            translateX(4%)
            rotate(-5deg)
            scaleY(1.15);
    }

    100% {
        transform:
            translateX(-4%)
            rotate(-8deg)
            scaleY(1);
    }
}


/* ================= ABOUT CONTENT ================= */

.about-content {
    position: relative;
    z-index: 2;
}


.about-preview .small-title {
    color: #d4a74c;
}


.about-preview h2 {
    font-size: 70px;
    line-height: 0.9;
}


.about-preview h2 span {
    color: #d4a74c;
}


/* ================= ABOUT TEXT ================= */

.about-text {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;

    max-width: 450px;
}


.about-text p {
    font-size: 18px;
    line-height: 1.8;

    margin-bottom: 30px;

    color: #eeeeee;
}


.about-text a {
    color: #d4a74c;

    font-size: 12px;
    font-weight: bold;

    letter-spacing: 1px;

    transition: 0.3s;
}


.about-text a:hover {
    letter-spacing: 2px;
}


/* ================= NEWSLETTER ================= */

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

.newsletter p {
    font-size: 11px;
    letter-spacing: 3px;
    margin-bottom: 15px;
}

.newsletter h2 {
    font-size: 40px;
    margin-bottom: 35px;
}

.newsletter form {
    max-width: 500px;
    margin: auto;
    display: flex;
    border-bottom: 1px solid #111;
}

.newsletter input {
    flex: 1;
    border: none;
    outline: none;
    padding: 15px;
    font-size: 14px;
}

.newsletter button {
    border: none;
    background: none;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
}


/* ================= FOOTER ================= */

footer {
    background: #111;
    color: white;

    padding: 50px 7%;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer-logo {
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 4px;
}

footer p,
.social {
    font-size: 11px;
    opacity: 0.6;
}


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

@media (max-width: 768px) {

    .navbar {
        padding: 0 20px;
    }

    .navbar nav {
        display: none;
    }

    .hero {
        padding: 50px 25px;
    }

    .hero h1 {
        font-size: 70px;
    }

    .category-container {
        grid-template-columns: 1fr;
    }

    .category-image {
        height: 400px;
    }

    .about-preview {
        grid-template-columns: 1fr;
        gap: 50px;
        padding: 80px 25px;
    }

    .about-preview h2 {
        font-size: 55px;
    }
    .about-preview {
    grid-template-columns: 1fr;
    gap: 50px;
    padding: 80px 25px;
}

.about-preview h2 {
    font-size: 55px;
}

    footer {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

}
/* =====================================
   PREMIUM SHOP PAGE
===================================== */


/* SHOP HERO */

.shop-hero {

    min-height: 360px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 100%,
            rgba(212,167,76,0.18),
            transparent 45%
        ),
        #111111;

    color: white;
}


.shop-hero::before {

    content: "";

    position: absolute;

    width: 700px;

    height: 250px;

    border: 1px solid
        rgba(212,167,76,0.35);

    border-radius: 50%;

    transform:
        rotate(-8deg);

    bottom: -130px;

    animation:
        shopWave 8s ease-in-out infinite;
}


@keyframes shopWave {

    0% {
        transform:
            translateX(-30px)
            rotate(-8deg);
    }

    50% {
        transform:
            translateX(30px)
            rotate(-5deg);
    }

    100% {
        transform:
            translateX(-30px)
            rotate(-8deg);
    }

}


.shop-hero-content {

    position: relative;

    z-index: 2;

}


.shop-hero-content p {

    color: #d4a74c;

    font-size: 12px;

    letter-spacing: 4px;

    margin-bottom: 20px;

}


.shop-hero-content h1 {

    font-size: 90px;

    letter-spacing: 8px;

    line-height: 1;

}


.shop-hero-content span {

    display: block;

    margin-top: 20px;

    color: #c8c2b8;

    font-size: 14px;

}


/* SHOP SECTION */

.shop-section {

    padding: 100px 7%;

    background: #171411;

    color: white;

}


/* SHOP HEADER */

.shop-header {

    display: flex;

    justify-content: space-between;

    align-items: end;

    margin-bottom: 60px;

}


.gold-text {

    color: #d4a74c;

    font-size: 11px;

    letter-spacing: 3px;

    margin-bottom: 12px;

}


.shop-header h2 {

    font-size: 42px;

}


/* FILTERS */

.filters {

    display: flex;

    gap: 10px;

    flex-wrap: wrap;

}


.filter {

    background: transparent;

    color: #aaa;

    border: 1px solid #39332d;

    padding: 12px 18px;

    cursor: pointer;

    font-size: 11px;

    letter-spacing: 1px;

    transition: 0.3s;

}


.filter:hover,
.filter.active {

    color: #d4a74c;

    border-color: #d4a74c;

}


/* PRODUCT GRID */

.product-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 25px;

}


/* PRODUCT CARD */

.product-card {

    background: #1f1b18;

    border: 1px solid #302a24;

    padding: 12px;

    transition: 0.4s;

}


.product-card:hover {

    transform:
        translateY(-8px);

    border-color:
        rgba(212,167,76,0.5);

}


/* PRODUCT IMAGE */

.product-image {

    height: 390px;

    position: relative;

    overflow: hidden;

    background: #29241f;

}


.product-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: 0.6s;

}


.product-card:hover
.product-image img {

    transform: scale(1.05);

}


/* BADGE */

.product-badge {

    position: absolute;

    top: 15px;

    left: 15px;

    background: #d4a74c;

    color: #111;

    padding: 7px 10px;

    font-size: 9px;

    font-weight: bold;

    letter-spacing: 1px;

}


/* QUICK VIEW */

.quick-view {

    position: absolute;

    bottom: 15px;

    left: 15px;

    right: 15px;

    padding: 12px;

    border: none;

    background: rgba(17,17,17,0.9);

    color: white;

    font-size: 10px;

    letter-spacing: 2px;

    opacity: 0;

    transform:
        translateY(10px);

    transition: 0.3s;

    cursor: pointer;

}


.product-card:hover
.quick-view {

    opacity: 1;

    transform:
        translateY(0);

}


/* PRODUCT INFO */

.product-info {

    display: flex;

    justify-content: space-between;

    align-items: start;

    padding: 20px 5px;

}


.product-info p {

    color: #9d968d;

    font-size: 9px;

    letter-spacing: 1.5px;

    margin-bottom: 8px;

}


.product-info h3 {

    font-size: 15px;

    font-weight: 500;

}


.product-info strong {

    color: #d4a74c;

    font-size: 15px;

}


/* =====================================
   PREMIUM ADD TO CART BUTTON
===================================== */

.add-cart {

    width: 100%;

    height: 52px;

    background: transparent;

    color: #d4a74c;

    border: 1px solid #d4a74c;

    position: relative;

    overflow: hidden;

    cursor: pointer;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 2px;

    transition:
        color 0.35s ease,
        border-color 0.35s ease,
        transform 0.25s ease;

}


/* GOLD SLIDE */

.add-cart::before {

    content: "";

    position: absolute;

    left: 0;

    bottom: 0;

    width: 100%;

    height: 0%;

    background: #d4a74c;

    z-index: 0;

    transition:
        height 0.35s ease;

}


/* TEXT */

.add-cart {

    isolation: isolate;

}


.add-cart:hover::before {

    height: 100%;

}


.add-cart:hover {

    color: #111;

    transform:
        translateY(-2px);

}


/* CLICK */

.add-cart:active {

    transform:
        translateY(0);

}


/* KEEP TEXT ABOVE */

.add-cart {

    text-align: center;

}


/* OPTIONAL SHADOW */

.add-cart:hover {

    box-shadow:
        0 8px 25px
        rgba(212,167,76,0.15);

}

/* SHOP BANNER */

.shop-banner {

    min-height: 300px;

    padding: 70px 10%;

    background:

        radial-gradient(
            circle at 80% 50%,
            rgba(212,167,76,0.15),
            transparent 35%
        ),

        #0f0e0d;

    color: white;

    display: flex;

    justify-content: space-between;

    align-items: center;

}


.shop-banner p {

    color: #d4a74c;

    font-size: 11px;

    letter-spacing: 3px;

    margin-bottom: 15px;

}


.shop-banner h2 {

    font-size: 55px;

}


.shop-banner a {

    color: #d4a74c;

    font-size: 11px;

    font-weight: bold;

    letter-spacing: 2px;

}


/* MOBILE */

@media (max-width: 900px) {

    .product-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

    .shop-header {

        align-items: start;

        flex-direction: column;

        gap: 30px;

    }

}


@media (max-width: 600px) {

    .product-grid {

        grid-template-columns: 1fr;

    }

    .shop-hero-content h1 {

        font-size: 60px;

    }

    .shop-banner {

        flex-direction: column;

        align-items: start;

        gap: 30px;

    }

    .shop-banner h2 {

        font-size: 40px;

    }

}
/* =====================================
   PRODUCT DETAILS PAGE
===================================== */

.product-details {

    min-height: 700px;

    padding: 100px 8%;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;

    background: #171411;

    color: white;
}


/* PRODUCT IMAGE */

.product-details-image {

    height: 600px;

    overflow: hidden;

    background: #211d19;

}


.product-details-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: 0.6s;

}


.product-details-image:hover img {

    transform: scale(1.04);

}


/* PRODUCT INFORMATION */

.product-details-info {

    max-width: 550px;

}


.product-category {

    color: #d4a74c;

    font-size: 11px;

    letter-spacing: 3px;

    margin-bottom: 15px;

}


.product-details-info h1 {

    font-size: 52px;

    line-height: 1.1;

    margin-bottom: 20px;

}


.product-price {

    color: #d4a74c;

    font-size: 25px;

    font-weight: bold;

    margin-bottom: 25px;

}


.product-line {

    width: 100%;

    height: 1px;

    background: #39332d;

    margin-bottom: 25px;

}


.product-description {

    color: #b9b2a9;

    font-size: 16px;

    line-height: 1.8;

    margin-bottom: 35px;

}


/* SIZE */

.color-section h4,
.size-section h4,
.quantity-section h4 {

    font-size: 10px;

    letter-spacing: 2px;

    margin-bottom: 12px;

}


.sizes {

    display: flex;

    gap: 10px;

    margin-bottom: 30px;

}


.sizes button {

    width: 48px;

    height: 48px;

    background: transparent;

    color: white;

    border: 1px solid #514a42;

    cursor: pointer;

    transition: 0.3s;

}


.sizes button:hover,
.sizes button.selected {

    background: #d4a74c;

    color: #111;

    border-color: #d4a74c;

}


/* QUANTITY */
.color-section[hidden],.color-gallery[hidden]{display:none!important}
.color-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.color-options button{min-height:44px;padding:8px 15px;background:transparent;color:#fff;border:1px solid #514a42;cursor:pointer;font:inherit}
.color-options button.selected,.color-options button:hover{background:#d4a74c;color:#111;border-color:#d4a74c}
.color-options button:disabled{opacity:.35;cursor:not-allowed}
.product-details-image{position:relative}
.color-gallery{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;background:rgba(17,17,17,.72);z-index:1}
.color-gallery>button{background:transparent;border:1px solid #514a42;color:#d4a74c;font-size:25px;width:36px;height:42px;cursor:pointer}
.gallery-thumbnails{display:flex;gap:7px;overflow:auto;max-width:270px}
.gallery-thumbnails button{padding:0;border:2px solid transparent;background:transparent;cursor:pointer;flex:none}
.gallery-thumbnails button.selected{border-color:#d4a74c}
.product-details-image .gallery-thumbnails img{width:54px;height:54px;object-fit:cover;display:block;transition:none}
.product-details-image:hover .gallery-thumbnails img{transform:none}

.quantity-section {

    margin-bottom: 30px;

}


.quantity {

    display: flex;

    align-items: center;

    width: 130px;

    border: 1px solid #514a42;

}


.quantity button {

    width: 42px;

    height: 42px;

    border: none;

    background: transparent;

    color: white;

    font-size: 20px;

    cursor: pointer;

}


.quantity span {

    width: 45px;

    text-align: center;

    color: #d4a74c;

}


/* ACTION BUTTONS */

.product-actions {

    display: flex;

    gap: 12px;

    margin-bottom: 35px;

}


.add-cart-large,
.buy-now {

    flex: 1;

    padding: 17px;

    cursor: pointer;

    font-size: 10px;

    font-weight: bold;

    letter-spacing: 2px;

    transition: 0.3s;

}


.add-cart-large {

    background: transparent;

    color: #d4a74c;

    border: 1px solid #d4a74c;

}


.add-cart-large:hover {

    background: #d4a74c;

    color: #111;

}


.buy-now {

    background: #d4a74c;

    color: #111;

    border: 1px solid #d4a74c;

}


.buy-now:hover {

    background: #e8c776;

}


/* EXTRA INFORMATION */

.product-extra {

    border-top: 1px solid #39332d;

    padding-top: 25px;

    display: grid;

    gap: 18px;

}


.product-extra div {

    display: flex;

    justify-content: space-between;

}


.product-extra strong {

    font-size: 11px;

    letter-spacing: 1px;

}


.product-extra span {

    color: #999;

    font-size: 13px;

}


/* FEATURES */

.product-features {

    padding: 35px 8%;

    background: #0f0e0d;

    color: white;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

}


.product-features div {

    padding: 15px;

    border-right: 1px solid #302a24;

}


.product-features strong {

    display: block;

    color: #d4a74c;

    font-size: 11px;

    letter-spacing: 1.5px;

    margin-bottom: 8px;

}


.product-features span {

    color: #999;

    font-size: 12px;

}


/* MOBILE */

@media (max-width: 800px) {

    .product-details {

        grid-template-columns: 1fr;

        padding: 60px 25px;

        gap: 50px;

    }


    .product-details-image {

        height: 500px;

    }


    .product-details-info h1 {

        font-size: 40px;

    }


    .product-features {

        grid-template-columns: 1fr 1fr;

    }

}


@media (max-width: 500px) {

    .product-features {

        grid-template-columns: 1fr;

    }


    .product-actions {

        flex-direction: column;

    }

}
.product-info h3 a {
    color: white;
    text-decoration: none;
}

.product-info h3 a:hover {
    color: #d4a74c;
}

.product-image a {
    display: block;
    width: 100%;
    height: 100%;
}
.product-info h3 a {
    color: white;
    text-decoration: none;
}

.product-info h3 a:hover {
    color: #d4a74c;
}

.product-image a {
    display: block;
    width: 100%;
    height: 100%;
}
/* =====================================
   FIX PRODUCT QUICK VIEW POSITION
===================================== */

.product-card {
    position: relative;
    overflow: hidden;
}


/* Quick View Overlay */

.quick-view {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(15, 13, 11, 0.92);

    color: #ffffff;

    font-size: 12px;
    letter-spacing: 3px;
    font-weight: 500;

    z-index: 5;

    transform: translateY(100%);
    transition: transform 0.35s ease;
}


/* Hover করলে নিচ থেকে উঠবে */

.product-card:hover .quick-view {
    transform: translateY(0);
}
/* =========================================
   ADILOS CART PAGE
   PREMIUM CART DESIGN
========================================= */

.cart-section {
    background: #15120f;
    min-height: 70vh;
    padding: 80px 7%;
}

.cart-container {
    max-width: 1300px;
    margin: auto;

    display: grid;
    grid-template-columns: 1.7fr 0.8fr;
    gap: 60px;
}


/* =========================================
   CART TITLE
========================================= */

.cart-title {
    margin-bottom: 35px;
}

.cart-title p,
.gold-text {
    color: #d4a74c;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    margin-bottom: 12px;
}

.cart-title h2,
.cart-summary h2 {
    color: #f5f1e8;
    font-size: 32px;
    margin: 0;
}


/* =========================================
   CART ITEM
========================================= */

.cart-item {
    position: relative;

    display: grid;

    grid-template-columns: 120px 1fr auto auto 30px;

    align-items: center;

    gap: 25px;

    padding: 20px;

    margin-bottom: 18px;

    background: #1d1915;

    border: 1px solid #302a23;

    transition: 0.3s ease;
}

.cart-item:hover {
    border-color: #d4a74c;
}


/* =========================================
   CART IMAGE
========================================= */

.cart-item-image {
    width: 120px;
    height: 145px;

    overflow: hidden;

    background: #24201b;
}

.cart-item-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.4s ease;
}

.cart-item:hover .cart-item-image img {
    transform: scale(1.04);
}


/* =========================================
   PRODUCT INFORMATION
========================================= */

.cart-item-info {
    min-width: 0;
}

.cart-item-info p {
    margin: 0 0 7px;

    color: #9d917f;

    font-size: 10px;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.cart-item-info h3 {
    margin: 0 0 10px;

    color: #f5f1e8;

    font-size: 18px;

    font-weight: 500;
}

.cart-item-info strong {
    color: #d4a74c;

    font-size: 15px;

    font-weight: 600;
}


/* =========================================
   QUANTITY
========================================= */

.cart-quantity {
    display: flex;

    align-items: center;

    border: 1px solid #40372d;

    height: 40px;
}

.cart-quantity button {
    width: 38px;
    height: 38px;

    border: none;

    background: transparent;

    color: #d4a74c;

    font-size: 18px;

    cursor: pointer;

    transition: 0.25s ease;
}

.cart-quantity button:hover {
    background: #d4a74c;

    color: #15120f;
}

.cart-quantity span {
    width: 35px;

    text-align: center;

    color: #f5f1e8;

    font-size: 14px;
}


/* =========================================
   ITEM TOTAL
========================================= */

.cart-item-total {
    min-width: 80px;

    text-align: right;

    color: #f5f1e8;

    font-size: 16px;

    font-weight: 600;
}


/* =========================================
   REMOVE BUTTON
========================================= */

.remove-item {
    width: 30px;
    height: 30px;

    border: 1px solid transparent;

    background: transparent;

    color: #8e8374;

    font-size: 22px;

    cursor: pointer;

    transition: 0.25s ease;
}

.remove-item:hover {
    color: #d4a74c;

    border-color: #d4a74c;
}


/* =========================================
   CART SUMMARY
========================================= */

.cart-summary {
    align-self: start;

    padding: 35px;

    background: #1d1915;

    border: 1px solid #302a23;

    position: sticky;

    top: 30px;
}

.cart-summary h2 {
    margin-bottom: 30px;
}


/* SUMMARY ROW */

.summary-row {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin: 18px 0;

    color: #aaa093;

    font-size: 14px;
}

.summary-row strong {
    color: #f5f1e8;

    font-size: 15px;
}


/* LINE */

.summary-line {
    height: 1px;

    background: #3a322a;

    margin: 25px 0;
}


/* TOTAL */

.summary-row.total {
    margin-bottom: 30px;
}

.summary-row.total span {
    color: #f5f1e8;

    font-size: 16px;

    font-weight: 600;
}

.summary-row.total strong {
    color: #d4a74c;

    font-size: 23px;
}


/* =========================================
   CHECKOUT BUTTON
========================================= */

.checkout-btn {
    width: 100%;

    height: 52px;

    border: 1px solid #d4a74c;

    background: #d4a74c;

    color: #15120f;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

    cursor: pointer;

    transition: 0.3s ease;
}

.checkout-btn:hover {
    background: transparent;

    color: #d4a74c;

    box-shadow: 0 8px 25px rgba(212,167,76,0.12);
}


/* CONTINUE SHOPPING */

.continue-shopping {
    display: block;

    margin-top: 22px;

    text-align: center;

    color: #9d917f;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 2px;

    text-decoration: none;

    transition: 0.25s ease;
}

.continue-shopping:hover {
    color: #d4a74c;
}


/* =========================================
   EMPTY CART
========================================= */

.empty-cart {
    padding: 70px 30px;

    text-align: center;

    background: #1d1915;

    border: 1px solid #302a23;
}

.empty-icon {
    font-size: 40px;

    margin-bottom: 20px;
}

.empty-cart h3 {
    color: #f5f1e8;

    font-size: 24px;

    margin-bottom: 10px;
}

.empty-cart p {
    color: #918678;

    margin-bottom: 25px;
}

.empty-cart a {
    display: inline-block;

    padding: 14px 25px;

    border: 1px solid #d4a74c;

    color: #d4a74c;

    text-decoration: none;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 2px;

    transition: 0.3s ease;
}

.empty-cart a:hover {
    background: #d4a74c;

    color: #15120f;
}


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

@media (max-width: 900px) {

    .cart-container {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .cart-summary {
        position: static;
    }

}


@media (max-width: 650px) {

    .cart-section {
        padding: 50px 5%;
    }

    .cart-item {

        grid-template-columns: 90px 1fr;

        gap: 18px;

        padding: 15px;
    }

    .cart-item-image {
        width: 90px;
        height: 115px;
    }

    .cart-quantity {
        grid-column: 2;
        justify-self: start;
    }

    .cart-item-total {
        grid-column: 2;
        text-align: left;
    }

    .remove-item {
        position: absolute;

        top: 15px;

        right: 15px;
    }

}
/* =========================================
   ADILOS CHECKOUT PAGE
========================================= */

.checkout-hero {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;

    background:
        linear-gradient(
            rgba(165, 106, 47, 0.78),
            rgba(26, 22, 18, 0.92)
        );

    border-bottom: 1px solid #302a23;
}

.checkout-hero-content p {
    color: #d4a74c;
    font-size: 11px;
    letter-spacing: 4px;
    margin-bottom: 15px;
}

.checkout-hero-content h1 {
    color: #f5f1e8;
    font-size: 52px;
    letter-spacing: 5px;
    margin: 0 0 15px;
}

.checkout-hero-content span {
    color: #9d917f;
    font-size: 14px;
}


/* =========================================
   CHECKOUT SECTION
========================================= */

.checkout-section {
    background: #15120f;
    padding: 80px 7%;
}

.checkout-container {
    max-width: 1250px;
    margin: auto;

    display: grid;
    grid-template-columns: 1.3fr 0.8fr;

    gap: 60px;
}


/* =========================================
   FORM
========================================= */

.checkout-form {
    background: #1d1915;
    border: 1px solid #302a23;
    padding: 40px;
}

.checkout-heading p {
    color: #d4a74c;
    font-size: 11px;
    letter-spacing: 3px;
    margin-bottom: 10px;
}

.checkout-heading h2 {
    color: #f5f1e8;
    font-size: 28px;
    font-weight: 500;
    margin: 0 0 35px;
}


/* FORM GROUP */

.form-group {
    margin-bottom: 24px;
}

.form-group label {
    display: block;

    color: #a99d8e;

    font-size: 10px;

    letter-spacing: 2px;

    margin-bottom: 9px;
}

.form-group input,
.form-group textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 15px 16px;

    background: #15120f;

    border: 1px solid #40372d;

    color: #f5f1e8;

    font-family: inherit;

    font-size: 14px;

    outline: none;

    transition: 0.3s ease;
}

.form-group textarea {
    resize: vertical;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #6f665c;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: #d4a74c;

    box-shadow:
        0 0 0 2px rgba(212, 167, 76, 0.08);
}


/* =========================================
   PAYMENT
========================================= */

.payment-section {
    margin-top: 35px;
    margin-bottom: 30px;
}

.payment-title {
    color: #d4a74c;

    font-size: 11px;

    letter-spacing: 3px;

    margin-bottom: 15px;
}

.payment-option {
    display: flex;

    align-items: center;

    gap: 15px;

    padding: 17px;

    margin-bottom: 10px;

    background: #15120f;

    border: 1px solid #302a23;

    cursor: pointer;

    transition: 0.3s ease;
}

.payment-option:hover {
    border-color: #d4a74c;
}

.payment-option input {
    accent-color: #d4a74c;
}

.payment-option span {
    display: flex;

    flex-direction: column;

    gap: 5px;
}

.payment-option strong {
    color: #f5f1e8;

    font-size: 13px;

    font-weight: 500;
}

.payment-option small {
    color: #81776b;

    font-size: 11px;
}


/* =========================================
   PLACE ORDER
========================================= */

.place-order-btn {
    width: 100%;

    height: 55px;

    background: #d4a74c;

    border: 1px solid #d4a74c;

    color: #15120f;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

    cursor: pointer;

    transition: 0.3s ease;
}

.place-order-btn:hover {
    background: transparent;

    color: #d4a74c;

    box-shadow:
        0 10px 30px rgba(212,167,76,0.12);
}


/* =========================================
   CHECKOUT SUMMARY
========================================= */

.checkout-summary {
    align-self: start;

    background: #221b14;

    border: 1px solid #302a23;

    padding: 35px;

    position: sticky;

    top: 30px;
}

.checkout-summary h2 {
    color: #f5f1e8;

    font-size: 28px;

    font-weight: 500;

    margin: 8px 0 30px;
}


/* PRODUCT */

.checkout-product {
    display: grid;

    grid-template-columns: 65px 1fr auto;

    align-items: center;

    gap: 15px;

    margin-bottom: 18px;
}

.checkout-product-image {
    position: relative;

    width: 65px;

    height: 78px;

    background: #15120f;

    overflow: hidden;
}

.checkout-product-image img {
    width: 100%;

    height: 100%;

    object-fit: cover;
}

.checkout-product-image span {
    position: absolute;

    top: 4px;

    right: 4px;

    min-width: 19px;

    height: 19px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #d4a74c;

    color: #15120f;

    font-size: 10px;

    font-weight: 700;
}

.checkout-product-info h3 {
    color: #f5f1e8;

    font-size: 13px;

    font-weight: 500;

    margin: 0 0 5px;
}

.checkout-product-info p {
    color: #756c61;

    font-size: 9px;

    letter-spacing: 1px;

    margin: 0;
}

.checkout-product > strong {
    color: #d4a74c;

    font-size: 13px;
}


/* SUMMARY ROW */

.checkout-row {
    display: flex;

    justify-content: space-between;

    margin: 16px 0;

    color: #918678;

    font-size: 13px;
}

.checkout-row strong {
    color: #f5f1e8;
}


/* LINE */

.checkout-line {
    height: 1px;

    background: #393129;

    margin: 22px 0;
}


/* TOTAL */

.checkout-total {
    display: flex;

    justify-content: space-between;

    align-items: center;
}

.checkout-total span {
    color: #f5f1e8;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 1px;
}

.checkout-total strong {
    color: #d4a74c;

    font-size: 24px;
}


/* EMPTY */

.checkout-empty {
    text-align: center;

    padding: 30px 0;
}

.checkout-empty p {
    color: #918678;
}

.checkout-empty a {
    color: #d4a74c;

    font-size: 10px;

    letter-spacing: 2px;

    text-decoration: none;
}


/* =========================================
   SUCCESS PAGE
========================================= */

.success-page {
    min-height: calc(100vh - 80px);

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 70px 20px;

    background:
        radial-gradient(
            circle at center,
            #241e17 0%,
            #15120f 55%,
            #0f0d0b 100%
        );
}

.success-card {
    width: 100%;

    max-width: 720px;

    padding: 60px 50px;

    text-align: center;

    background: #1d1915;

    border: 1px solid #3b332a;

    box-shadow:
        0 30px 80px rgba(0,0,0,0.35);
}


/* CHECK */

.success-icon {
    width: 75px;

    height: 75px;

    margin: 0 auto 25px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #d4a74c;

    border-radius: 50%;

    color: #d4a74c;

    font-size: 32px;

    animation: successPop 0.6s ease;
}

@keyframes successPop {

    0% {
        transform: scale(0.5);
        opacity: 0;
    }

    70% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }

}


/* TEXT */

.success-label {
    color: #d4a74c;

    font-size: 10px;

    letter-spacing: 4px;

    margin-bottom: 12px;
}

.success-card h1 {
    color: #f5f1e8;

    font-size: 38px;

    letter-spacing: 3px;

    margin: 0 0 18px;
}

.success-message {
    color: #918678;

    font-size: 14px;

    line-height: 1.8;

    margin-bottom: 35px;
}


/* ORDER INFO */

.order-info {
    display: grid;

    grid-template-columns: 1fr 1fr;

    border-top: 1px solid #332c25;

    border-bottom: 1px solid #332c25;

    margin-bottom: 35px;
}

.order-info div {
    padding: 20px;

    border-bottom: 1px solid #332c25;
}

.order-info div:nth-child(odd) {
    border-right: 1px solid #332c25;
}

.order-info span {
    display: block;

    color: #d6c199;

    font-size: 9px;

    letter-spacing: 2px;

    margin-bottom: 7px;
}

.order-info strong {
    color: #f5f1e8;

    font-size: 13px;

    font-weight: 500;
}


/* BUTTONS */

.success-buttons {
    display: flex;

    justify-content: center;

    gap: 15px;

    flex-wrap: wrap;
}

.success-shop,
.success-home {
    padding: 15px 25px;

    text-decoration: none;

    font-size: 10px;

    font-weight: 600;

    letter-spacing: 2px;

    transition: 0.3s ease;
}

.success-shop {
    background: #d4a74c;

    color: #15120f;

    border: 1px solid #d4a74c;
}

.success-shop:hover {
    background: transparent;

    color: #d4a74c;
}

.success-home {
    background: transparent;

    color: #bb8312;

    border: 1px solid #d4a74c;
}

.success-home:hover {
    background: #d4a74c;

    color: #15120f;
}


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

@media (max-width: 850px) {

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

    .checkout-summary {
        position: static;
    }

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

}


@media (max-width: 600px) {

    .checkout-section {
        padding: 50px 5%;
    }

    .checkout-form,
    .checkout-summary {
        padding: 25px;
    }

    .success-card {
        padding: 40px 22px;
    }

    .success-card h1 {
        font-size: 28px;
    }

    .order-info {
        grid-template-columns: 1fr;
    }

    .order-info div:nth-child(odd) {
        border-right: none;
    }

}
/* =========================================
   ADILOS AUTH PAGES
   LOGIN + REGISTER
========================================= */

.auth-page {
    min-height: calc(100vh - 80px);
    padding: 70px 6%;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at 20% 50%,
            #292117 0%,
            #17130f 35%,
            #0f0d0b 100%
        );
}


/* =========================================
   AUTH CARD
========================================= */

.auth-card {
    width: 100%;
    max-width: 1050px;

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;

    background: #1d1915;

    border: 1px solid #3a3128;

    box-shadow:
        0 30px 80px rgba(0,0,0,0.45);

    overflow: hidden;
}


/* =========================================
   LEFT BRAND SIDE
========================================= */

.auth-brand {
    position: relative;

    min-height: 650px;

    padding: 60px 50px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #2a2118,
            #18130f
        );

    border-right: 1px solid #3a3128;

    overflow: hidden;
}


/* Decorative circle */

.auth-brand::before {
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    border: 1px solid rgba(212,167,76,0.16);

    border-radius: 50%;

    right: -120px;
    top: -80px;
}


/* Decorative circle */

.auth-brand::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    border: 1px solid rgba(212,167,76,0.10);

    border-radius: 50%;

    left: -90px;
    bottom: -60px;
}


/* =========================================
   BRAND TEXT
========================================= */

.auth-label {
    position: relative;
    z-index: 2;

    color: #d4a74c;

    font-size: 10px;

    letter-spacing: 4px;

    margin-bottom: 25px;
}

.auth-brand h1 {
    position: relative;
    z-index: 2;

    color: #f5f1e8;

    font-size: 48px;

    line-height: 1.1;

    letter-spacing: 3px;

    font-weight: 500;

    margin: 0 0 25px;
}

.auth-brand h1 span {
    display: block;

    color: #d4a74c;
}

.auth-description {
    position: relative;
    z-index: 2;

    max-width: 390px;

    color: #918678;

    font-size: 14px;

    line-height: 1.9;

    margin: 0;
}

.auth-line {
    position: relative;
    z-index: 2;

    width: 55px;

    height: 1px;

    background: #d4a74c;

    margin: 35px 0 20px;
}

.auth-small {
    position: relative;
    z-index: 2;

    color: #756c61;

    font-size: 9px;

    letter-spacing: 3px;
}


/* =========================================
   FORM SIDE
========================================= */

.auth-form {
    padding: 55px 60px;

    background: #1b1713;
}

.auth-heading {
    margin-bottom: 30px;
}

.auth-heading p {
    color: #d4a74c;

    font-size: 10px;

    letter-spacing: 3px;

    margin: 0 0 9px;
}

.auth-heading h2 {
    color: #f5f1e8;

    font-size: 32px;

    font-weight: 500;

    margin: 0 0 9px;
}

.auth-heading span {
    color: #81776b;

    font-size: 13px;
}


/* =========================================
   INPUT
========================================= */

.auth-input {
    margin-bottom: 18px;
}

.auth-input label {
    display: block;

    color: #a99d8e;

    font-size: 9px;

    letter-spacing: 2px;

    margin-bottom: 8px;
}

.auth-input input {
    width: 100%;

    box-sizing: border-box;

    height: 48px;

    padding: 0 15px;

    background: #14110e;

    border: 1px solid #393129;

    color: #f5f1e8;

    outline: none;

    font-family: inherit;

    font-size: 13px;

    transition: 0.3s ease;
}

.auth-input input::placeholder {
    color: #655d54;
}

.auth-input input:focus {
    border-color: #d4a74c;

    box-shadow:
        0 0 0 2px rgba(212,167,76,0.07);
}


/* =========================================
   TERMS
========================================= */

.terms {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin: 20px 0 25px;

    cursor: pointer;
}

.terms input {
    margin-top: 2px;

    accent-color: #d4a74c;
}

.terms span {
    color: #81776b;

    font-size: 11px;

    line-height: 1.5;
}


/* =========================================
   SUBMIT BUTTON
========================================= */

.auth-submit {
    width: 100%;

    height: 52px;

    background: #d4a74c;

    border: 1px solid #d4a74c;

    color: #15120f;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

    cursor: pointer;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.2s ease;
}

.auth-submit:hover {
    background: transparent;

    color: #d4a74c;

    transform: translateY(-2px);

    box-shadow:
        0 10px 30px rgba(212,167,76,0.10);
}

.auth-submit:active {
    transform: translateY(0);
}


/* =========================================
   SWITCH LOGIN / REGISTER
========================================= */

.auth-switch {
    text-align: center;

    color: #756c61;

    font-size: 12px;

    margin: 25px 0 0;
}

.auth-switch a {
    color: #d4a74c;

    text-decoration: none;

    margin-left: 5px;

    transition: 0.25s ease;
}

.auth-switch a:hover {
    color: #f5f1e8;
}


/* =========================================
   LOGIN PAGE SUPPORT
========================================= */

.forgot-password {
    display: block;

    text-align: right;

    margin-top: -5px;

    margin-bottom: 22px;

    color: #81776b;

    font-size: 10px;

    text-decoration: none;

    transition: 0.25s ease;
}

.forgot-password:hover {
    color: #d4a74c;
}


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

@media (max-width: 850px) {

    .auth-card {
        grid-template-columns: 1fr;
    }

    .auth-brand {
        min-height: auto;

        padding: 45px 35px;

        border-right: none;

        border-bottom: 1px solid #3a3128;
    }

    .auth-brand h1 {
        font-size: 38px;
    }

    .auth-form {
        padding: 45px 35px;
    }

}


@media (max-width: 500px) {

    .auth-page {
        padding: 30px 15px;
    }

    .auth-brand {
        padding: 35px 25px;
    }

    .auth-brand h1 {
        font-size: 32px;
    }

    .auth-form {
        padding: 35px 25px;
    }

    .auth-heading h2 {
        font-size: 27px;
    }

}

.newsletter .newsletter-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.newsletter .newsletter-consent{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 0;font-size:12px;color:#555}
.newsletter .newsletter-consent input{width:auto;flex:none;accent-color:#ae8543}
.newsletter .newsletter-message{min-height:18px;margin:12px 0 0;font-size:12px;letter-spacing:0}
.newsletter .newsletter-message[data-state="success"]{color:#16713a}
.newsletter .newsletter-message[data-state="error"]{color:#a32c28}

/* Keep the existing navigation reachable on small screens. */
@media(max-width:768px){
  .navbar{height:auto;min-height:80px;display:flex;flex-wrap:wrap;gap:12px;padding:15px 20px}
  .navbar .logo{font-size:23px}
  .navbar .nav-buttons{margin-left:auto;gap:14px}
  .navbar nav{display:flex;order:3;width:100%;gap:22px;overflow-x:auto;white-space:nowrap;padding:10px 0 3px;scrollbar-width:thin}
  .navbar nav a{flex:none}
  .hero h1{font-size:clamp(42px,13vw,70px)}
}
@media(max-width:400px){
  .newsletter form{width:100%;min-width:0}
  .newsletter input[type=email]{min-width:0;width:100%}
  .newsletter button{flex:none}
}
.card-sizes{padding:0 18px 10px}.card-sizes select{width:100%;padding:9px;border:1px solid #ddd;background:#fff;font:inherit}
.product-sold{margin:18px 0;color:#a67c32;font-size:14px;font-weight:700}.product-reviews{padding:65px max(6%,20px);background:#f7f5f1;color:#191919}.review-heading p{letter-spacing:.2em;color:#9d7a3c}.review-heading h2{font-size:clamp(30px,4vw,50px)}.review-card{padding:20px 0;border-bottom:1px solid #d7d2c8;max-width:760px}.review-card span{color:#b5893a;margin-left:14px}.review-card p{white-space:pre-wrap}.review-card small{color:#777}.product-reviews form{max-width:640px;display:grid;gap:15px;margin-top:35px}.product-reviews form[hidden],.product-reviews [hidden]{display:none}.product-reviews label{display:grid;gap:8px}.product-reviews select,.product-reviews textarea{padding:12px;border:1px solid #c9c3b8;background:#fff;font:inherit}.product-reviews button{background:#191919;color:#fff;border:0;padding:15px;cursor:pointer}.selfcare-info a{color:inherit;text-decoration:none}.selfcare-image a{display:block;width:100%;height:100%}.selfcare-image a img{pointer-events:none}
.home-toys-banner{display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;min-height:230px;text-decoration:none;background:radial-gradient(circle at 50% 50%,#342d26,#151310 70%);color:#fff;position:relative;overflow:hidden}.home-toys-banner:before{content:"";position:absolute;width:250px;height:250px;border:1px solid #c99e514e;border-radius:50%;animation:toysFloat 7s ease-in-out infinite}.home-toys-banner span{font-size:11px;letter-spacing:.25em;color:#d4a74c;z-index:1}.home-toys-banner strong{font-size:clamp(50px,8vw,90px);letter-spacing:-.05em;line-height:1;z-index:1}.home-toys-banner em{color:#d4a74c;font-style:normal}@keyframes toysFloat{50%{transform:scale(1.14);opacity:.45}}@media(prefers-reduced-motion:reduce){.home-toys-banner:before{animation:none}}
.product-extra[hidden],.size-section[hidden]{display:none!important}
.shop-audience{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:10px 0 30px}.shop-audience button{background:transparent;border:1px solid #b5945f;padding:10px 18px;cursor:pointer;color:inherit}.shop-audience button.active,.shop-audience button:hover{background:#b5945f;color:#161616}.product-info del,.selfcare-info del,.product-price del{color:#8d8881;font-size:.8em}.product-info small,.selfcare-info small,.product-price small{display:block;color:#b59055;font-size:10px}.sizes button:disabled{opacity:.35;cursor:not-allowed}
.notification-bell{position:relative}.notification-bell button{border:1px solid #ad8750;background:#1a1712;color:#fff;border-radius:8px;padding:8px 11px;cursor:pointer}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:100;width:min(330px,86vw);max-height:350px;overflow:auto;padding:15px;background:#211e19;color:#f6f0e6;border:1px solid #ac8750;box-shadow:0 18px 50px #0008;border-radius:12px;text-align:left}.notification-panel[hidden]{display:none}.notification-panel p{padding:8px 0;border-bottom:1px solid #5a4b37;font-size:12px}.notification-panel small{display:block;color:#c7a16a;font-size:10px}
.shop-audience{margin:0 0 28px;justify-content:flex-start}.shop-audience button{min-width:105px;font-weight:700;letter-spacing:.12em}
.hero,.category-image{position:relative;overflow:hidden}.hero-content,.category h3{position:relative;z-index:2}.home-media-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}.hero .home-media-video{filter:brightness(.55)}.notification-new button{animation:bellPulse .6s ease 2}@keyframes bellPulse{50%{transform:scale(1.14);box-shadow:0 0 18px #d8ae66}}
@media(prefers-reduced-motion:reduce){.home-media-video{display:none}}
/* Homepage media: only the Newsletter and Toys banner backgrounds change. */
.newsletter.has-home-media,.home-toys-banner.has-home-media{position:relative;isolation:isolate;background-size:cover;background-position:center;overflow:hidden}
.newsletter.has-home-media::before,.home-toys-banner.has-home-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.44))}
.newsletter.has-home-media>.home-media-video,.home-toys-banner.has-home-media>.home-media-video{z-index:0}
.newsletter.has-home-media>*:not(.home-media-video){position:relative;z-index:2}
.newsletter.has-home-media{color:#fff}
.newsletter.has-home-media form{border-bottom-color:#fff}
.newsletter.has-home-media input[type=email]{color:#fff;background:transparent}
.newsletter.has-home-media input[type=email]::placeholder{color:#f0eee9}
.newsletter.has-home-media button,.newsletter.has-home-media .newsletter-consent{color:#fff}
.newsletter.has-home-media .newsletter-message[data-state="success"]{color:#c3f5d2}
.newsletter.has-home-media .newsletter-message[data-state="error"]{color:#ffdbd9}
.home-toys-banner.has-home-media>span,.home-toys-banner.has-home-media>strong{position:relative;z-index:3}
.home-toys-banner.has-home-media::before{z-index:2;pointer-events:none}
@media(prefers-reduced-motion:reduce){.newsletter.has-home-media>.home-media-video,.home-toys-banner.has-home-media>.home-media-video{display:block}}

.navbar .logo{color:inherit;text-decoration:none;display:inline-block}.navbar .logo:hover{text-decoration:none}

/* Login password recovery link */
.login-forgot {text-align:right;margin:9px 0 17px;font-size:13px;line-height:1.4}
.login-forgot a {color:#d4a74c;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.login-forgot a:hover,.login-forgot a:focus-visible {color:#f5f1e8}

/* Footer navigation and social icons */
footer .footer-info{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
footer .footer-info p{margin:0}
footer .footer-order-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
footer .footer-order-links a{color:#e8d9bc;font-size:12px;text-decoration:none}
footer .footer-order-links a:hover,footer .footer-order-links a:focus-visible{color:#d4a74c;text-decoration:underline}
footer .footer-social{display:flex;gap:12px;align-items:center;justify-content:center;opacity:1}
footer .footer-social a{color:#f5f1e8;text-decoration:none}
footer .footer-social .footer-contact{font-size:12px;margin-right:5px}
footer .footer-social .footer-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #625546;border-radius:50%;transition:color .2s,border-color .2s,transform .2s}
footer .footer-social .footer-icon:hover,footer .footer-social .footer-icon:focus-visible{color:#d4a74c;border-color:#d4a74c;transform:translateY(-2px)}
footer .footer-social .footer-icon svg{display:block}
@media(max-width:768px){footer .footer-info{order:2}footer .footer-social{order:3}}

/* Signed-in customer profile in the header */
.nav-buttons .nav-profile{display:inline-flex;align-items:center;gap:9px;max-width:190px;color:#171411;font-size:13px;font-weight:700;white-space:nowrap}
.nav-buttons .nav-profile span:last-child{overflow:hidden;text-overflow:ellipsis}
.nav-profile-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;background:#d4a74c;color:#171411;display:grid;place-items:center;font-size:14px}
.nav-profile:hover,.nav-profile:focus-visible{color:#a77b2d}
@media(max-width:520px){.nav-buttons{gap:12px}.nav-buttons .nav-profile{max-width:125px;font-size:11px}.nav-profile-avatar{width:28px;height:28px;min-width:28px}}

/* Phone layouts: keep complete product photos visible in compact cards. */
@media (max-width: 600px) {
    .hero { min-height: min(58svh, 520px); padding: 32px 6%; }
    .hero h1 { font-size: clamp(32px, 9vw, 42px); letter-spacing: -2px; line-height: 1; margin-bottom: 18px; overflow-wrap: anywhere; }
    .hero .small-title { margin-bottom: 15px; font-size: 10px; }
    .hero-text { font-size: 14px; }
    .hero .shop-btn { padding: 12px 22px; }
    .featured { padding: 64px 5%; }
    .section-title { margin-bottom: 32px; }
    .section-title h2 { font-size: clamp(26px, 8vw, 34px); }
    .category-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .category-image { height: auto; aspect-ratio: 4 / 5; background-size: contain; background-repeat: no-repeat; background-color: #eeeae4; }
    .category h3 { font-size: 12px; letter-spacing: 1px; }
    .shop-hero { min-height: 240px; padding: 45px 6%; }
    .shop-hero-content h1 { font-size: clamp(32px, 10vw, 48px); letter-spacing: 2px; overflow-wrap: anywhere; }
    .shop-hero-content span { font-size: 12px; }
    .shop-section { padding: 55px 5%; }
    .shop-header { margin-bottom: 28px; gap: 20px; }
    .shop-header h2 { font-size: clamp(26px, 7vw, 34px); }
    .filters { gap: 6px; }
    .filter { padding: 9px 11px; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .product-card { min-width: 0; padding: 7px; }
    .product-image { height: auto; aspect-ratio: 4 / 5; }
    .product-image img { display: block; object-fit: contain; }
    .product-badge { top: 7px; left: 7px; padding: 5px; font-size: 8px; }
    .product-info { gap: 6px; padding: 12px 2px; flex-wrap: wrap; }
    .product-info h3, .product-info strong { font-size: 13px; }
    .product-info h3 { overflow-wrap: anywhere; }
    .add-cart { height: 44px; font-size: 10px; letter-spacing: .5px; }
    .product-details { min-height: 0; padding: 38px 5%; gap: 28px; }
    .product-details-image { height: auto; aspect-ratio: 4 / 5; max-height: 390px; }
    .product-details-image > img { object-fit: contain; }
    .product-details-info h1 { font-size: clamp(28px, 8vw, 36px); overflow-wrap: anywhere; }
}
