/* =========================
   MAISON LUXE DESIGN TOKENS
========================= */

:root {

    --charcoal: #121212;
    --ivory: #F6F2EA;
    --gold: #B89B68;
    --mauve: #B79AAD;

    --container: 1400px;

}

/* =========================
   RESET
========================= */

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

html {
    scroll-behavior: smooth;
    overflow-x: hidden; /* prevent horizontal scroll at document level */
    max-width: 100%;
}

body {

    background: var(--charcoal);

    color: var(--ivory);

    font-family: 'Inter', sans-serif;

    overflow-x: hidden;
    max-width: 100%;

}

/* =========================
   CONTAINER
========================= */

.container {

    width: 100%;
    max-width: var(--container);

    margin: 0 auto;

    padding-left: 40px;
    padding-right: 40px;

}

/* =========================
   LINKS
========================= */

a {

    text-decoration: none;

    color: inherit;

}

/* =========================
   IMAGES
========================= */

img {

    width: 100%;
    display: block;

}

/* =========================
   TYPOGRAPHY
========================= */

h1,
h2,
h3,
h4 {

    font-family: 'Playfair Display', serif;

    font-weight: 600;

}

.gold-text {

    color: var(--gold);

}

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

.btn-primary {

    display: inline-flex;

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

    padding: 18px 34px;

    background: var(--mauve);

    color: var(--ivory);

    border-radius: 14px;

    transition: all .3s ease;

}

.btn-primary:hover {

    transform: translateY(-2px);

}

.btn-secondary {

    display: inline-flex;

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

    padding: 18px 34px;

    border: 1px solid rgba(246,242,234,.2);

    border-radius: 14px;

    transition: all .3s ease;

}

.btn-secondary:hover {

    border-color: var(--mauve);

}

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

@media(max-width:768px){

    .container{

        padding-left:20px;
        padding-right:20px;

    }

}

.cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.cart-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background: var(--mauve);
    color: white;
    font-size: .65rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
}

/* shared breadcrumb used across pages */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
    font-size: .9rem;
}

.breadcrumb a { color: #888; transition: .3s; }
.breadcrumb a:hover { color: var(--mauve); }
.breadcrumb span { color: #888; }