* {
    box-sizing: border-box;
}

:root {
    --black: #0c0c0c;
    --white: #ffffff;
    --cream: #f5f2ed;
    --soft: #ece8e1;
    --text: #151515;
    --muted: #777;
    --line: #dedbd5;
    --gold: #b6975a;
    --danger: #a91d1d;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #f7f5f1;
    color: var(--text);
    font-family:
        Arial,
        Helvetica,
        sans-serif;
}

body.no-scroll {
    overflow: hidden;
}

button,
input,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

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

.hidden {
    display: none !important;
}


/* =========================================================
   HEADER
========================================================= */

.top-header {
    position: sticky;
    top: 0;
    z-index: 100;

    display: grid;

    grid-template-columns:
        220px
        minmax(250px, 1fr)
        auto;

    align-items: center;

    gap: 28px;

    padding: 17px 4vw;

    background: rgba(255, 255, 255, .97);

    backdrop-filter: blur(20px);

    border-bottom: 1px solid var(--line);
}

.brand {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.8px;
}

.brand span {
    font-weight: 400;
}

.brand small {
    margin-left: 2px;
    color: var(--gold);
    font-size: 11px;
    letter-spacing: .5px;
}

.search-box {
    position: relative;
    width: 100%;
    max-width: 700px;
    justify-self: center;
}

.search-box > i {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
}

.search-box input {
    width: 100%;
    height: 46px;

    border: 1px solid #dedbd5;
    border-radius: 4px;

    background: #faf9f7;

    padding: 0 45px;

    outline: none;
}

.search-box input:focus {
    border-color: var(--gold);
    background: #fff;
}

.search-clear {
    position: absolute;
    right: 10px;
    top: 8px;

    width: 30px;
    height: 30px;

    display: none;

    border: 0;
    background: transparent;

    font-size: 22px;
    color: #777;
}

.search-clear.show {
    display: block;
}

.search-suggestions {
    display: none;

    position: absolute;

    left: 0;
    right: 0;
    top: 55px;

    background: #fff;

    border: 1px solid var(--line);

    box-shadow:
        0 20px 60px rgba(0, 0, 0, .12);

    z-index: 110;
}

.search-suggestions.show {
    display: block;
}

.search-suggestion {
    width: 100%;

    border: 0;

    background: #fff;

    display: flex;

    gap: 12px;

    text-align: left;

    padding: 12px;
}

.search-suggestion:hover {
    background: #f7f5f1;
}

.search-suggestion img {
    width: 55px;
    height: 65px;
    object-fit: cover;
}

.header-actions {
    display: flex;
    gap: 15px;
}

.header-action {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 5px;

    border: 0;
    background: transparent;

    font-size: 11px;
    color: #333;
}

.icon-wrap {
    position: relative;
    font-size: 18px;
}

.icon-wrap span {
    position: absolute;

    top: -8px;
    right: -12px;

    min-width: 18px;
    height: 18px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #111;

    color: #fff;

    font-size: 9px;
}


/* =========================================================
   NAV
========================================================= */

.main-nav {
    position: sticky;

    top: 79px;

    z-index: 90;

    display: flex;

    justify-content: center;

    gap: 8px;

    padding: 10px 4vw;

    background:
        rgba(255,255,255,.96);

    border-bottom:
        1px solid var(--line);
}

.nav-item {
    border: 0;

    background: transparent;

    padding:
        10px 20px;

    border-radius: 2px;

    color: #555;

    font-size: 13px;

    font-weight: 700;
}

.nav-item.active,
.nav-item:hover {
    background: #111;
    color: #fff;
}

.wallet-nav {
    display: flex;
    gap: 7px;
    align-items: center;
}


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

.page {
    padding:
        0 4vw 70px;
}


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

.luxury-hero {
    display: grid;

    grid-template-columns:
        1.75fr
        .75fr;

    gap: 8px;

    min-height: 620px;
}

.luxury-hero-main {
    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            115deg,
            #1b1a18,
            #5d544b
        );

    background-image:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72),
            rgba(0,0,0,.08)
        ),
        url(
            "https://images.unsplash.com/photo-1490578474895-699cd4e2cf59?auto=format&fit=crop&w=1800&q=92"
        );

    background-size: cover;

    background-position: center;
}

.luxury-hero-copy {
    position: absolute;

    left: 8%;
    top: 50%;

    transform:
        translateY(-50%);

    max-width: 600px;

    color: #fff;
}

.luxury-kicker {
    margin-bottom: 18px;

    font-size: 11px;

    letter-spacing: 3px;

    color: #d6bd8c;
}

.luxury-hero-copy h1 {
    margin:
        0 0 22px;

    font-family:
        Georgia,
        serif;

    font-weight: 400;

    font-size:
        clamp(44px,6vw,82px);

    line-height: .95;

    letter-spacing: -2px;
}

.luxury-hero-copy p:not(.luxury-kicker) {
    max-width: 420px;

    color:
        rgba(255,255,255,.75);

    line-height: 1.7;
}

.luxury-button {
    margin-top: 18px;

    padding: 14px 22px;

    background: #fff;

    border: 0;

    color: #111;

    font-weight: 800;

    letter-spacing: .4px;
}

.luxury-button i {
    margin-left: 12px;
}

.luxury-hero-side {
    display: grid;

    grid-template-rows:
        1fr 1fr;

    gap: 8px;
}

.luxury-side-card {
    position: relative;

    overflow: hidden;

    border: 0;

    text-align: left;

    color: #fff;
}

.luxury-side-card::before {
    content: "";

    position: absolute;

    inset: 0;

    background-size: cover;

    background-position: center;

    transition:
        transform .7s ease;
}

.luxury-side-card:hover::before {
    transform: scale(1.06);
}

.women-hero::before {
    background-image:
        linear-gradient(
            to top,
            rgba(0,0,0,.72),
            rgba(0,0,0,.08)
        ),
        url(
            "https://images.unsplash.com/photo-1529139574466-a303027c1d8b?auto=format&fit=crop&w=1000&q=92"
        );
}

.carry-hero::before {
    background-image:
        linear-gradient(
            to top,
            rgba(0,0,0,.76),
            rgba(0,0,0,.06)
        ),
        url(
            "https://images.unsplash.com/photo-1584917865442-de89df76afd3?auto=format&fit=crop&w=1000&q=92"
        );
}

.luxury-side-card > div {
    position: absolute;

    left: 28px;
    bottom: 28px;

    z-index: 2;
}

.luxury-side-card small {
    font-size: 10px;

    letter-spacing: 2px;

    color: #d6bd8c;
}

.luxury-side-card h2 {
    margin:
        10px 0 15px;

    font-family:
        Georgia,
        serif;

    font-size: 38px;

    font-weight: 400;

    line-height: .98;
}

.luxury-side-card span {
    font-size: 11px;

    font-weight: 800;

    text-transform: uppercase;
}


/* =========================================================
   PREMIUM CATEGORY
========================================================= */

.premium-shop-section {
    padding:
        90px 0 30px;
}

.premium-section-heading {
    display: flex;

    justify-content: space-between;

    align-items: end;

    gap: 30px;

    margin-bottom: 28px;
}

.premium-section-heading span {
    font-size: 10px;

    color: var(--gold);

    letter-spacing: 3px;

    font-weight: 800;
}

.premium-section-heading h2 {
    margin:
        8px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(34px,5vw,54px);

    font-weight: 400;

    letter-spacing: -1.5px;
}

.premium-section-heading p {
    margin: 0;

    max-width: 500px;

    color: #777;
}

.premium-section-heading button {
    border: 0;

    border-bottom:
        1px solid #111;

    background: transparent;

    padding:
        8px 0;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1px;
}


/* =========================================================
   TABS
========================================================= */

.luxury-tabs {
    display: flex;

    gap: 5px;

    margin-bottom: 24px;
}

.luxury-tab {
    padding:
        11px 25px;

    border:
        1px solid #d9d5ce;

    background:
        transparent;

    font-size: 12px;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.luxury-tab.active {
    background: #111;

    border-color: #111;

    color: #fff;
}


/* =========================================================
   CATEGORY GRID
========================================================= */

.luxury-category-grid {
    display: grid;

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

    grid-auto-rows:
        330px;

    gap: 8px;
}

.luxury-category-card {
    position: relative;

    overflow: hidden;

    min-width: 0;

    padding: 0;

    border: 0;

    background: #161616;

    color: #fff;

    text-align: left;
}

.luxury-category-card img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    filter:
        saturate(.94)
        contrast(1.05);

    transition:
        transform .8s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.luxury-category-card:hover img {
    transform: scale(1.07);

    filter:
        saturate(1)
        contrast(1.07);
}

.luxury-card-shade {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.5) 38%,
            rgba(0,0,0,.08) 78%,
            rgba(0,0,0,0) 100%
        );
}

.luxury-card-content {
    position: absolute;

    left: 26px;
    right: 26px;
    bottom: 24px;

    z-index: 2;
}

.luxury-card-content h3 {
    margin:
        0 0 8px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        34px;

    font-weight:
        400;

    letter-spacing:
        -.6px;
}

.luxury-card-content p {
    margin: 0;

    font-size: 12px;

    letter-spacing: .2px;

    color:
        rgba(255,255,255,.78);
}

.category-large {
    grid-row: span 2;
}

.category-wide {
    grid-column: span 2;
}


/* =========================================================
   WALLET
========================================================= */

.wallet-banner {
    margin:
        75px 0 0;

    padding:
        40px;

    background:
        #101010;

    color:
        #fff;

    display:
        grid;

    grid-template-columns:
        auto 1fr auto;

    align-items:
        center;

    gap:
        25px;
}

.wallet-symbol {
    width:
        70px;

    height:
        70px;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid #37322d;

    color:
        #d6bd8c;

    font-size:
        27px;
}

.wallet-text h2 {
    margin: 0;

    font-family:
        Georgia,
        serif;

    font-size:
        36px;

    font-weight:
        400;
}

.wallet-text p:last-child {
    max-width:
        520px;

    color:
        #aaa;
}

.wallet-open-btn {
    border:
        1px solid #c8b18a;

    background:
        transparent;

    color:
        #fff;

    padding:
        14px 20px;

    font-size:
        11px;

    letter-spacing:
        1px;

    text-transform:
        uppercase;
}


/* =========================================================
   FEATURES
========================================================= */

.features-section {
    display:
        grid;

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

    gap:
        8px;

    margin-top:
        35px;
}

.feature {
    padding:
        25px;

    background:
        #fff;

    border:
        1px solid var(--line);
}

.feature-icon {
    width:
        42px;

    height:
        42px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        15px;

    color:
        var(--gold);
}

.feature h3 {
    margin:
        0 0 7px;

    font-size:
        14px;
}

.feature p {
    margin: 0;

    color:
        #777;

    font-size:
        12px;
}


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

.footer {
    margin-top:
        30px;

    padding:
        55px 4vw 20px;

    background:
        #0d0d0d;

    color:
        #fff;
}

.footer-main {
    display:
        grid;

    grid-template-columns:
        2fr 1fr 1fr 1fr;

    gap:
        40px;
}

.footer-logo {
    font-size:
        22px;

    font-weight:
        900;
}

.footer-logo span {
    font-weight:
        400;
}

.footer-logo small {
    color:
        #c9ae78;

    font-size:
        10px;
}

.footer-brand p {
    max-width:
        390px;

    color:
        #888;

    line-height:
        1.6;
}

.contact-box {
    display:
        grid;

    gap:
        8px;

    margin-top:
        22px;
}

.contact-box a {
    color:
        #ccc;
}

.social-icons {
    display:
        flex;

    gap:
        8px;

    margin-top:
        20px;
}

.social-icons a {
    width:
        34px;

    height:
        34px;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid #333;

    color:
        #bbb;
}

.footer-column {
    display:
        grid;

    gap:
        12px;

    align-content:
        start;
}

.footer-column h4 {
    margin:
        0 0 5px;

    font-size:
        11px;

    letter-spacing:
        1.8px;

    color:
        #d6bd8c;
}

.footer-column a {
    color:
        #999;

    font-size:
        12px;
}

.footer-column a:hover {
    color:
        #fff;
}

.footer-bottom {
    margin-top:
        40px;

    padding-top:
        20px;

    border-top:
        1px solid #242424;

    display:
        flex;

    justify-content:
        space-between;

    color:
        #666;

    font-size:
        11px;
}


/* =========================================================
   PRODUCT PAGE
========================================================= */

.product-grid {
    display:
        grid;

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

    gap:
        18px;
}

.product-card {
    position:
        relative;

    background:
        #fff;

    border:
        1px solid var(--line);

    overflow:
        hidden;
}

.product-image-wrap {
    position:
        relative;

    aspect-ratio:
        1 / 1.2;

    background:
        #eee;
}

.product-image {
    width:
        100%;

    height:
        100%;

    object-fit:
        cover;
}

.product-badge {
    position:
        absolute;

    top:
        12px;

    left:
        12px;

    padding:
        6px 8px;

    background:
        #111;

    color:
        #fff;

    font-size:
        10px;
}

.wishlist-button {
    position:
        absolute;

    top:
        12px;

    right:
        12px;

    width:
        35px;

    height:
        35px;

    border:
        0;

    border-radius:
        50%;

    background:
        rgba(255,255,255,.95);
}

.wishlist-button.active {
    color:
        #b51d36;
}

.product-prev,
.product-next {
    position:
        absolute;

    top:
        50%;

    width:
        30px;

    height:
        30px;

    border:
        0;

    border-radius:
        50%;

    background:
        rgba(255,255,255,.9);
}

.product-prev {
    left:
        10px;

    transform:
        translateY(-50%);
}

.product-next {
    right:
        10px;

    transform:
        translateY(-50%);
}

.product-dots {
    position:
        absolute;

    left:
        50%;

    bottom:
        48px;

    transform:
        translateX(-50%);

    display:
        flex;

    gap:
        4px;
}

.product-dots span {
    width:
        5px;

    height:
        5px;

    border-radius:
        50%;

    background:
        #aaa;
}

.product-dots span.active {
    background:
        #111;
}

.quick-add-button {
    position:
        absolute;

    left:
        12px;

    right:
        12px;

    bottom:
        12px;

    border:
        0;

    padding:
        11px;

    background:
        #111;

    color:
        #fff;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        1px;
}

.product-info {
    padding:
        16px;
}

.product-brand {
    color:
        #888;

    font-size:
        9px;

    letter-spacing:
        1.2px;
}

.product-name {
    margin:
        6px 0 10px;

    font-size:
        14px;

    font-weight:
        700;
}

.product-price-row {
    display:
        flex;

    gap:
        8px;

    align-items:
        center;
}

.product-price {
    font-weight:
        900;
}

.product-old-price {
    color:
        #999;

    text-decoration:
        line-through;

    font-size:
        12px;
}

.product-discount {
    color:
        #19733e;

    font-size:
        11px;
}


/* =========================================================
   PAGE HEADING
========================================================= */

.page-heading {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        end;

    padding:
        50px 0 25px;
}

.page-heading h2 {
    margin: 0;

    font-family:
        Georgia,
        serif;

    font-size:
        42px;

    font-weight:
        400;
}

.filter-row {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        7px;

    margin-bottom:
        20px;
}

.filter-button {
    border:
        1px solid #d9d5ce;

    background:
        transparent;

    padding:
        8px 13px;

    font-size:
        11px;
}

.filter-button.active {
    background:
        #111;

    color:
        #fff;

    border-color:
        #111;
}


/* =========================================================
   ACCOUNT
========================================================= */

.account-page-card {
    max-width:
        1000px;

    margin:
        80px auto;

    padding:
        45px;

    background:
        #fff;

    border:
        1px solid var(--line);

    display:
        grid;

    grid-template-columns:
        auto 1fr;

    gap:
        24px;
}

.account-avatar {
    width:
        80px;

    height:
        80px;

    display:
        grid;

    place-items:
        center;

    background:
        #111;

    color:
        #fff;

    font-size:
        27px;
}

.account-page-card h2 {
    margin:
        0 0 8px;

    font-family:
        Georgia,
        serif;

    font-size:
        32px;

    font-weight:
        400;
}

.account-page-card p {
    color:
        #777;
}

.account-actions {
    grid-column:
        1 / -1;

    display:
        grid;

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

    gap:
        8px;
}

.account-actions button {
    padding:
        13px;

    border:
        1px solid var(--line);

    background:
        #fff;
}

.account-actions .danger-btn {
    color:
        var(--danger);
}


/* =========================================================
   MODALS
========================================================= */

.modal {
    position:
        fixed;

    inset:
        0;

    z-index:
        300;

    display:
        none;

    justify-content:
        center;

    align-items:
        center;

    padding:
        20px;

    background:
        rgba(0,0,0,.58);
}

.modal.show {
    display:
        flex;
}

.modal-box {
    position:
        relative;

    width:
        min(560px,100%);

    max-height:
        90vh;

    overflow:
        auto;

    padding:
        32px;

    background:
        #fff;
}

.auth-modal {
    width:
        min(440px,100%);
}

.modal-close {
    position:
        absolute;

    top:
        10px;

    right:
        15px;

    border:
        0;

    background:
        transparent;

    font-size:
        27px;

    color:
        #777;
}

.modal-box input,
.modal-box textarea {
    width:
        100%;

    padding:
        12px;

    border:
        1px solid #d8d5ce;

    outline:
        none;
}

.modal-box input:focus,
.modal-box textarea:focus {
    border-color:
        var(--gold);
}

.otp-container {
    display:
        flex;

    gap:
        8px;

    margin:
        20px 0;
}

.otp-container input {
    width:
        48px;

    height:
        52px;

    text-align:
        center;

    font-size:
        22px;

    font-weight:
        800;
}

.full-btn {
    width:
        100%;
}

.link-btn {
    margin-top:
        12px;

    border:
        0;

    background:
        transparent;

    font-size:
        12px;
}

.form-grid {
    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        12px;
}

.form-grid label {
    display:
        grid;

    gap:
        6px;

    font-size:
        12px;

    font-weight:
        700;
}

.form-grid .full-width {
    grid-column:
        1 / -1;
}

.modal-actions {
    display:
        flex;

    justify-content:
        flex-end;

    gap:
        8px;

    margin-top:
        15px;
}

.map-placeholder {
    min-height:
        120px;

    margin-top:
        15px;

    background:
        #f4f2ef;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    color:
        #777;
}

.wallet-balance {
    font-family:
        Georgia,
        serif;

    font-size:
        42px;

    color:
        #111;

    margin:
        20px 0;
}


/* =========================================================
   DRAWERS
========================================================= */

.side-drawer {
    position:
        fixed;

    right:
        0;

    top:
        0;

    bottom:
        0;

    z-index:
        250;

    width:
        min(460px,100%);

    background:
        #fff;

    transform:
        translateX(110%);

    transition:
        .3s ease;

    display:
        grid;

    grid-template-rows:
        auto 1fr auto;
}

.side-drawer.show {
    transform:
        translateX(0);
}

.drawer-header {
    display:
        flex;

    justify-content:
        space-between;

    padding:
        20px;

    border-bottom:
        1px solid var(--line);
}

.drawer-header h3 {
    margin: 0;
}

.drawer-header button {
    border:
        0;

    background:
        transparent;

    font-size:
        27px;
}

.drawer-body {
    padding:
        18px;

    overflow:
        auto;
}

.drawer-footer {
    padding:
        18px;

    border-top:
        1px solid var(--line);
}

.total-row {
    display:
        flex;

    justify-content:
        space-between;

    margin-bottom:
        12px;
}

.cart-item,
.wishlist-item {
    display:
        grid;

    grid-template-columns:
        90px 1fr;

    gap:
        12px;

    padding:
        12px 0;

    border-bottom:
        1px solid var(--line);
}

.cart-item img,
.wishlist-item img {
    width:
        90px;

    height:
        105px;

    object-fit:
        cover;
}

.cart-quantity {
    display:
        flex;

    gap:
        8px;

    align-items:
        center;

    margin:
        10px 0;
}

.cart-quantity button {
    width:
        28px;

    height:
        28px;

    border:
        1px solid var(--line);

    background:
        #fff;
}

.remove-cart-item,
.wishlist-actions button {
    border:
        0;

    background:
        transparent;

    font-size:
        11px;
}


/* =========================================================
   OVERLAY
========================================================= */

.page-overlay {
    position:
        fixed;

    inset:
        0;

    z-index:
        200;

    display:
        none;

    background:
        rgba(0,0,0,.35);
}

.page-overlay.show {
    display:
        block;
}


/* =========================================================
   PRODUCT MODAL
========================================================= */

.product-modal {
    width:
        min(1000px,100%);
}

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

    max-height:
        500px;

    object-fit:
        contain;

    background:
        #f5f2ed;
}

.detail-price {
    font-size:
        30px;

    font-weight:
        900;

    margin:
        10px 0;
}

.detail-old-price {
    color:
        #888;

    text-decoration:
        line-through;
}

.option-pill {
    display:
        inline-block;

    padding:
        7px 10px;

    margin:
        5px;

    background:
        #f1efeb;
}


/* =========================================================
   TOAST
========================================================= */

.searchkart-toast {
    position:
        fixed;

    left:
        50%;

    bottom:
        25px;

    transform:
        translate(-50%,20px);

    padding:
        13px 18px;

    background:
        #111;

    color:
        #fff;

    opacity:
        0;

    transition:
        .25s;

    z-index:
        500;

    pointer-events:
        none;
}

.searchkart-toast.show {
    opacity:
        1;

    transform:
        translate(-50%,0);
}


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

@media (max-width:1100px) {

    .luxury-hero {
        grid-template-columns:
            1fr;
    }

    .luxury-hero-main {
        min-height:
            560px;
    }

    .luxury-hero-side {
        grid-template-columns:
            1fr 1fr;

        grid-template-rows:
            360px;
    }

    .luxury-category-grid {
        grid-template-columns:
            repeat(3,1fr);
    }

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

    .product-grid {
        grid-template-columns:
            repeat(3,1fr);
    }
}


@media (max-width:760px) {

    .top-header {
        grid-template-columns:
            1fr;

        gap:
            15px;
    }

    .header-actions {
        justify-content:
            center;
    }

    .main-nav {
        position:
            static;

        overflow:
            auto;

        justify-content:
            flex-start;
    }

    .luxury-hero-side {
        grid-template-columns:
            1fr;

        grid-template-rows:
            330px 330px;
    }

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

    .category-large,
    .category-wide {
        grid-column:
            span 2;

        grid-row:
            span 1;
    }

    .luxury-category-card {
        min-height:
            330px;
    }

    .wallet-banner {
        grid-template-columns:
            1fr;
    }

    .features-section {
        grid-template-columns:
            1fr;
    }

    .footer-main {
        grid-template-columns:
            1fr 1fr;
    }

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


@media (max-width:520px) {

    .page {
        padding:
            0 14px 50px;
    }

    .premium-shop-section {
        padding-top:
            60px;
    }

    .premium-section-heading {
        display:
            block;
    }

    .premium-section-heading > button {
        margin-top:
            15px;
    }

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

    .category-large,
    .category-wide {
        grid-column:
            span 1;
    }

    .luxury-category-card {
        min-height:
            400px;
    }

    .luxury-hero-copy {
        left:
            25px;

        right:
            20px;
    }

    .luxury-hero-copy h1 {
        font-size:
            45px;
    }

    .form-grid {
        grid-template-columns:
            1fr;
    }

    .form-grid .full-width {
        grid-column:
            auto;
    }

    .footer-main {
        grid-template-columns:
            1fr;
    }

    .footer-bottom {
        flex-direction:
            column;

        gap:
            8px;
    }

    .account-page-card {
        grid-template-columns:
            1fr;

        margin-top:
            35px;
    }
}