/* ==========================================================
   MOUVA WEBSITE
   STYLE.CSS

   GLOBAL + HOME
   ----------------------------------------------------------
   VISUAL BENCHMARK
   ----------------------------------------------------------
   index.html menjadi acuan utama untuk:
   - Logo
   - Header
   - Container
   - Typography
   - Button
   - Radius
   - Spacing
   - Color
   - Product Card
   - Responsive
   ========================================================== */


/* ==========================================================
   01. GOOGLE FONT
========================================================== */

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Cormorant+Garamond:wght@400;500;600;700&display=swap");


/* ==========================================================
   02. ROOT VARIABLES
   ----------------------------------------------------------
   Brand color system
   Semua warna utama website sebaiknya mengambil
   nilai dari variable di bawah ini.
========================================================== */

:root {

    /* ------------------------------------------------------
       BRAND
    ------------------------------------------------------ */

    --primary: #AF957C;
    --primary-dark: #967963;

    --brand-olive: #4B4631;
    --brand-brown: #7A6D62;
    --brand-taupe: #AE957F;
    --brand-beige: #CFAD95;

    --brand-blush: #F1D1D1;
    --brand-pink: #FFD1D1;
    --brand-soft-pink: #F1CED7;
    --brand-cream: #FFF9EF;


    /* ------------------------------------------------------
   LEGACY / COMPONENT ALIASES
   HOME = VISUAL COLOR BENCHMARK
------------------------------------------------------ */

    --brown: var(--brand-brown);
    --beige: var(--background-beige);
    --cream: var(--brand-cream);


    /* ------------------------------------------------------
       NEUTRAL
    ------------------------------------------------------ */

    --black: #222222;
    --text: #444444;
    --text-soft: #777777;
    --gray: #8A8A8A;

    --white: #FFFFFF;

    --background: #FFF9EF;
    --background-white: #FFFFFF;
    --background-soft: #F1CED7;
    --background-beige: #FBF8F5;


    /* ------------------------------------------------------
       BORDER
    ------------------------------------------------------ */

    --border: #ECE8E4;
    --border-dark: #E8E4DF;
    --border-brand: #CFAD95;


    /* ------------------------------------------------------
       RADIUS
    ------------------------------------------------------ */

    --radius-xs: 10px;
    --radius-sm: 16px;
    --radius-md: 24px;
    --radius-lg: 30px;
    --radius-xl: 32px;

    --radius-pill: 999px;


    /* ------------------------------------------------------
       SHADOW
    ------------------------------------------------------ */

    --shadow-sm:
        0 8px 18px rgba(0, 0, 0, .05);

    --shadow-md:
        0 18px 40px rgba(0, 0, 0, .08);

    --shadow-lg:
        0 25px 55px rgba(0, 0, 0, .10);


    /* ------------------------------------------------------
       TRANSITION
    ------------------------------------------------------ */

    --transition: .35s ease;

}


/* ==========================================================
   03. GLOBAL SMOOTH SCROLL
========================================================== */

html {

    scroll-behavior: smooth;

}


/* ==========================================================
   04. RESET
========================================================== */

*,
*::before,
*::after {

    margin: 0;
    padding: 0;

    box-sizing: border-box;

}

body {

    min-height: 100vh;

    font-family: "Poppins", sans-serif;

    font-size: 16px;
    font-weight: 400;

    color: var(--text);

    background: var(--background);

    overflow-x: hidden;

    /*
     * Header benchmark:
     * Desktop header = 86px
     */
    padding-top: 86px;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}

img {

    display: block;

    width: 100%;
    max-width: 100%;

}

picture {

    display: block;

}

a {

    color: inherit;

    text-decoration: none;

}

button {

    border: none;
    outline: none;

    background: none;

    cursor: pointer;

    font-family: inherit;

}

input,
textarea,
select {

    border: none;
    outline: none;

    font-family: inherit;

}

ul,
ol {

    list-style: none;

}


/* ==========================================================
   05. BASE
========================================================== */

section {

    position: relative;

}

main {

    width: 100%;

}

::selection {

    background: var(--primary);

    color: var(--white);

}


/* ==========================================================
   06. TYPOGRAPHY
   ----------------------------------------------------------
   Heading:
   Cormorant Garamond

   Body:
   Poppins
========================================================== */

h1,
h2,
h3,
h4 {

    font-family: "Cormorant Garamond", serif;

    color: var(--black);

    font-weight: 500;

    line-height: 1;

}

p {

    line-height: 1.9;

    color: var(--text);

}


/* ==========================================================
   06.1 SECTION HEAD
========================================================== */

.section-head {

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    gap: 40px;

    margin-bottom: 54px;

}

.section-head > div {

    max-width: 680px;

}


/* ==========================================================
   06.2 SECTION SUBTITLE
========================================================== */

.section-subtitle {

    display: inline-block;

    margin-bottom: 14px;

    font-size: 11px;

    font-weight: 600;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: var(--primary);

}


/* ==========================================================
   06.3 SECTION TITLE
========================================================== */

.section-title {

    font-size: 58px;

    line-height: .95;

    font-weight: 500;

    color: var(--black);

}


/* ==========================================================
   06.4 SECTION LINK
========================================================== */

.section-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    white-space: nowrap;

    font-size: 14px;

    font-weight: 500;

    color: var(--primary);

    transition: var(--transition);

}

.section-link i {

    font-size: 16px;

    transition: var(--transition);

}

.section-link:hover {

    color: var(--primary-dark);

}

.section-link:hover i {

    transform: translateX(4px);

}


/* ==========================================================
   07. CONTAINER
   ----------------------------------------------------------
   BENCHMARK INDEX.HTML
   ----------------------------------------------------------
   Desktop:
   max-width = 1440px
   horizontal padding = 70px
========================================================== */

.container {

    width: 100%;

    max-width: 1440px;

    margin: 0 auto;

    padding-left: 70px;
    padding-right: 70px;

}


/* ==========================================================
   08. COMMON SECTION FOUNDATION
========================================================== */

.hero {

    margin-top: 0;

}

.category {

    padding: 90px 0 80px;

}

.new-arrival {

    padding: 90px 0;

}

.best-seller {

    padding: 90px 0;

}

.campaign {

    padding: 20px 0 90px;

}

.lookbook {

    padding: 0 0 100px;

}

.footer {

    margin-top: 0;

}


/* ==========================================================
   09. GLOBAL UTILITY
========================================================== */

.text-center {

    text-align: center;

}

.bg-soft {

    background: var(--background-soft);

}

.shadow {

    box-shadow: var(--shadow-md);

}

.radius {

    border-radius: var(--radius-md);

}


/* ==========================================================
   10. RESPONSIVE FOUNDATION
========================================================== */

@media (max-width: 1200px) {

    .container {

        padding-left: 42px;
        padding-right: 42px;

    }

    .section-title {

        font-size: 50px;

    }

}


@media (max-width: 992px) {

    .container {

        padding-left: 30px;
        padding-right: 30px;

    }

    .section-head {

        flex-direction: column;

        align-items: flex-start;

        gap: 20px;

    }

    .section-title {

        font-size: 44px;

    }

}


@media (max-width: 768px) {

    .container {

        padding-left: 24px;
        padding-right: 24px;

    }

    .section-title {

        font-size: 38px;

    }

}


@media (max-width: 576px) {

    .container {

        padding-left: 18px;
        padding-right: 18px;

    }

    .section-title {

        font-size: 32px;

    }

}


/* ==========================================================
   PART 2
   HEADER & NAVIGATION
========================================================== */


/* ==========================================================
   11. HEADER
   ----------------------------------------------------------
   BENCHMARK:
   Header desktop mengikuti index.html
========================================================== */

.header {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    background: rgba(255, 255, 255, .96);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border-bottom: 1px solid rgba(0, 0, 0, .05);

    transition:
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;

}


/* ==========================================================
   11.1 HEADER STICKY STATE
   ----------------------------------------------------------
   Dipanggil oleh script.js:
   .header.sticky
========================================================== */

.header.sticky {

    background: rgba(255, 255, 255, .98);

    box-shadow:
        0 10px 30px rgba(0, 0, 0, .06);

}


/* ==========================================================
   11.2 HEADER HIDE STATE
   ----------------------------------------------------------
   Dipanggil oleh script.js:
   .header.hide
========================================================== */

.header.hide {

    transform: translateY(-100%);

}


/* ==========================================================
   12. NAVBAR
   ----------------------------------------------------------
   BENCHMARK INDEX.HTML
   ----------------------------------------------------------
   Desktop:
   Height = 86px
   Horizontal padding = 70px
========================================================== */

.navbar {

    height: 86px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 60px;

    width: 100%;

    max-width: 1440px;

    margin: 0 auto;

    padding: 0 70px;

}


/* ==========================================================
   13. LOGO
   ----------------------------------------------------------
   PENTING
   ----------------------------------------------------------
   Logo index.html dijadikan benchmark.

   Desktop:
   width = 175px

   Jangan mengubah ukuran logo di halaman lain
   tanpa mempertimbangkan benchmark ini.
========================================================== */

.logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;

}

.logo img {

    display: block;

    width: 175px;

    height: auto;

}


/* ==========================================================
   14. MENU
========================================================== */

.menu {

    flex: 1;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 54px;

}

.menu li {

    list-style: none;

}

.menu a {

    position: relative;

    display: inline-flex;

    align-items: center;

    height: 86px;

    font-size: 14px;

    font-weight: 500;

    color: var(--black);

    transition: var(--transition);

}


/* ==========================================================
   14.1 MENU UNDERLINE
========================================================== */

.menu a::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 24px;

    width: 0;
    height: 2px;

    background: var(--primary);

    transition: .35s ease;

}


/* ==========================================================
   14.2 MENU HOVER
========================================================== */

.menu a:hover {

    color: var(--primary);

}

.menu a:hover::after {

    width: 100%;

}


/* ==========================================================
   14.3 MENU ACTIVE
   ----------------------------------------------------------
   Dipanggil oleh script.js:
   .menu a.active
========================================================== */

.menu a.active {

    color: var(--primary);

}

.menu a.active::after {

    width: 100%;

}


/* ==========================================================
   15. RIGHT NAVIGATION
========================================================== */

.nav-right {

    display: flex;

    align-items: center;

    gap: 24px;

    flex-shrink: 0;

}


/* ==========================================================
   16. ICON BUTTON
========================================================== */

.icon-btn {

    width: 40px;
    height: 40px;

    display: flex;

    justify-content: center;
    align-items: center;

    border-radius: 50%;

    color: var(--black);

    transition: var(--transition);

}

.icon-btn i {

    font-size: 19px;

    transition: var(--transition);

}

.icon-btn:hover {

    background: var(--background-beige);

    color: var(--primary);

}

/* ==========================================================
   MOBILE TOGGLE
========================================================== */

.mobile-toggle {
    display: none;

    width: 40px;
    height: 40px;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    padding: 0;

    border: 0;

    background: transparent;

    color: var(--black);

    cursor: pointer;
}

.mobile-toggle i {
    font-size: 24px;
    line-height: 1;
}

.mobile-toggle:hover {
    color: var(--primary);
}


/* ==========================================================
   MOBILE NAVIGATION
========================================================== */

.nav-menu {
    display: none;
}

.mobile-overlay {
    display: none;
}

/* ==========================================================
   16.1 WISHLIST HEADER
   ----------------------------------------------------------
   Header wishlist menggunakan icon heart.
   Styling khusus dipisahkan dari .icon-btn
   agar tidak mempengaruhi Search dan Cart.
========================================================== */

.wishlist-header-btn {

    color: var(--black);

}

.wishlist-header-btn i {

    font-size: 20px;

}

.wishlist-header-btn:hover {

    color: var(--primary);

}


/* ==========================================================
   17. SHOP BUTTON
========================================================== */

.shop-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 0 30px;

    height: 46px;

    border-radius: var(--radius-pill);

    background: var(--primary);

    color: var(--white);

    font-size: 14px;

    font-weight: 500;

    transition: var(--transition);

}

.shop-btn:hover {

    background: var(--primary-dark);

    transform: translateY(-2px);

}


/* ==========================================================
   18. HEADER RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .navbar {
        padding: 0 42px;
    }

}


@media (max-width: 992px) {

    .navbar {
        height: 80px;
        padding: 0 30px;
    }

    body {
        padding-top: 80px;
    }

    .menu {
        display: none;
    }

    .shop-btn {
        display: none;
    }

    .mobile-toggle {
        display: flex;
    }


    /* MOBILE NAVIGATION */

    .nav-menu {
        position: fixed;

        top: 80px;
        right: 0;

        z-index: 1001;

        display: flex;
        flex-direction: column;

        width: min(360px, 88%);
        height: calc(100vh - 80px);

        padding: 28px;

        background: var(--white);

        transform: translateX(100%);
        visibility: hidden;

        transition:
            transform .35s ease,
            visibility .35s ease;
    }

    .nav-menu.show {
        transform: translateX(0);
        visibility: visible;
    }

    .nav-menu a {
        display: flex;
        align-items: center;

        min-height: 54px;

        border-bottom: 1px solid var(--border);

        font-size: 15px;
        font-weight: 500;

        color: var(--black);

        transition: var(--transition);
    }

    .nav-menu a:hover,
    .nav-menu a.active {
        color: var(--primary);
    }


    /* OVERLAY */

    .mobile-overlay {
        position: fixed;

        inset: 0;

        z-index: 1000;

        display: block;

        background: rgba(34, 34, 34, .28);

        opacity: 0;
        visibility: hidden;

        transition:
            opacity .3s ease,
            visibility .3s ease;
    }

    .mobile-overlay.show {
        opacity: 1;
        visibility: visible;
    }

    body.menu-open {
        overflow: hidden;
    }

}


@media (max-width: 768px) {

    .navbar {
        padding: 0 24px;
    }

}


@media (max-width: 576px) {

    .navbar {
        height: 74px;
        padding: 0 18px;
    }

    body {
        padding-top: 74px;
    }

    .logo img {
        width: 120px;
        height: auto;
    }

    .nav-right {
        gap: 6px;
    }

    .icon-btn,
    .mobile-toggle {
        width: 36px;
        height: 36px;
    }

    .icon-btn i {
        font-size: 18px;
    }

    .mobile-toggle i {
        font-size: 22px;
    }

    .nav-menu {
        top: 74px;

        width: min(320px, 90%);
        height: calc(100vh - 74px);

        padding: 22px;
    }

}


/* ==========================================================
   PART 3.1
   HOME
   HERO SLIDER
========================================================== */


/* ==========================================================
   19. HERO SECTION
========================================================== */

.hero {

    padding: 24px 0 40px;

    background: var(--white);

}


/* ==========================================================
   20. HERO SLIDER WRAPPER
========================================================== */

.hero-slider {

    position: relative;

    width: 100%;

    max-width: 1440px;

    margin: 0 auto;

    padding: 0 32px;

}


/* ==========================================================
   21. HERO SLIDE
========================================================== */

.hero-slide {

    position: relative;

    display: none;

    overflow: hidden;

    border-radius: 28px;

    background: var(--background-beige);

    min-height: 640px;

}

.hero-slide.active {

    display: block;

}


/* ==========================================================
   22. HERO IMAGE LAYOUT
========================================================== */

.hero-image {

    position: relative;

    display: grid;

    grid-template-columns: 42% 58%;

    min-height: 640px;

}

.hero-image img {

    position: absolute;

    inset: 0;

    z-index: 1;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

}


/* ==========================================================
   23. HERO OVERLAY
========================================================== */

.hero-overlay {

    position: absolute;

    inset: 0;

    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(255, 250, 246, .95) 0%,
            rgba(255, 250, 246, .82) 35%,
            rgba(255, 250, 246, .18) 60%,
            rgba(255, 250, 246, 0) 100%
        );

}


/* ==========================================================
   24. HERO CONTENT
========================================================== */

.hero-content {

    position: relative;

    z-index: 5;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    max-width: 470px;

    padding-left: 72px;

}

.hero-subtitle {

    margin-bottom: 18px;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: var(--primary);

}

.hero-content h1 {

    font-family: "Cormorant Garamond", serif;

    font-size: 94px;

    line-height: .92;

    letter-spacing: -1px;

    font-weight: 500;

    color: #3D2E24;

    margin-bottom: 26px;

}

.hero-content p {

    max-width: 360px;

    font-size: 16px;

    color: #6D6D6D;

    line-height: 1.9;

    margin-bottom: 36px;

}


/* ==========================================================
   25. HERO BUTTON
========================================================== */

.hero-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    height: 54px;

    padding: 0 30px;

    border-radius: var(--radius-pill);

    background: var(--primary);

    color: var(--white);

    font-size: 15px;

    font-weight: 500;

    transition: var(--transition);

}

.hero-btn i {

    font-size: 18px;

    transition: .3s ease;

}

.hero-btn:hover {

    background: var(--primary-dark);

}

.hero-btn:hover i {

    transform: translateX(4px);

}


/* ==========================================================
   26. HERO ARROW
========================================================== */

.hero-arrow {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 56px;
    height: 56px;

    display: flex;

    justify-content: center;
    align-items: center;

    border-radius: 50%;

    background: var(--white);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, .08);

    z-index: 20;

    transition: .3s ease;

}

.hero-arrow i {

    font-size: 26px;

    color: var(--text);

}

.hero-prev {

    left: 22px;

}

.hero-next {

    right: 22px;

}

.hero-arrow:hover {

    background: var(--primary);

}

.hero-arrow:hover i {

    color: var(--white);

}


/* ==========================================================
   27. HERO DOTS
========================================================== */

.hero-dots {

    position: absolute;

    left: 50%;
    bottom: 28px;

    transform: translateX(-50%);

    display: flex;

    gap: 10px;

    z-index: 25;

}

.hero-dot {

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .65);

    transition: .35s ease;

}

.hero-dot.active {

    width: 34px;

    border-radius: var(--radius-pill);

    background: var(--primary);

}


/* ==========================================================
   28. HERO RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .hero-slider {

        padding: 0 42px;

    }

    .hero-content h1 {

        font-size: 76px;

    }

}


@media (max-width: 992px) {

    .hero-slider {

        padding: 0 30px;

    }

    .hero-slide {

        min-height: 560px;

    }

    .hero-image {

        grid-template-columns: 1fr;

        min-height: 560px;

    }

    .hero-content {

        padding: 70px 50px;

        max-width: 520px;

    }

    .hero-content h1 {

        font-size: 64px;

    }

}


@media (max-width: 768px) {

    .hero-slider {

        padding: 0 24px;

    }

    .hero-slide {

        min-height: 500px;

    }

    .hero-image {

        min-height: 500px;

    }

    .hero-content {

        padding: 50px 36px;

    }

    .hero-content h1 {

        font-size: 52px;

    }

    .hero-arrow {

        display: none;

    }

}


@media (max-width: 576px) {

    .hero {

        padding: 18px 0 50px;

    }

    .hero-slider {

        padding: 0 18px;

    }

    .hero-slide {

        min-height: 430px;

        border-radius: 22px;

    }

    .hero-image {

        min-height: 430px;

    }

    .hero-content {

        padding: 36px 26px;

    }

    .hero-content h1 {

        font-size: 42px;

    }

    .hero-content p {

        font-size: 15px;

    }

    .hero-btn {

        width: 100%;

    }

}


/* ==========================================================
   PART 3.2
   HOME
   SHOP BY CATEGORY
========================================================== */


/* ==========================================================
   29. CATEGORY SECTION
========================================================== */

.category {

    position: relative;

    padding: 70px 0 90px;

    background: var(--background-beige);

    border-radius: 50px 50px 0 0;

    margin-top: -30px;

}

.category .container {

    max-width: 1440px;

}


/* ==========================================================
   30. CATEGORY HEADER
========================================================== */

.category .section-head {

    margin-bottom: 52px;

}

.category .section-subtitle {

    margin-bottom: 12px;

}

.category .section-title {

    font-size: 68px;

    line-height: .95;

}

.category .section-link {

    margin-bottom: 10px;

}


/* ==========================================================
   31. CATEGORY GRID
========================================================== */

.category-grid {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

    gap: 26px;

}


/* ==========================================================
   32. CATEGORY CARD
========================================================== */

.category-card {

    position: relative;

    display: flex;

    flex-direction: column;

    overflow: hidden;

    border-radius: var(--radius-md);

    background: var(--white);

    transition:
        transform .45s ease,
        box-shadow .45s ease;

}

.category-card img {

    width: 100%;

    aspect-ratio: 3 / 4;

    object-fit: cover;

    object-position: center;

    display: block;

    transition: transform .7s ease;

}


/* ==========================================================
   33. CATEGORY CONTENT
========================================================== */

.category-content {

    padding: 24px;

    background: var(--white);

}

.category-content h3 {

    font-family: "Cormorant Garamond", serif;

    font-size: 30px;

    font-weight: 500;

    color: var(--black);

    margin-bottom: 8px;

    line-height: 1.1;

}

.category-content span {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-size: 14px;

    font-weight: 500;

    color: var(--primary);

    transition: var(--transition);

}

.category-content span i {

    font-size: 16px;

    transition: .3s ease;

}


/* ==========================================================
   34. CATEGORY HOVER
========================================================== */

.category-card:hover {

    transform: translateY(-8px);

    box-shadow:
        0 22px 48px rgba(0, 0, 0, .10);

}

.category-card:hover img {

    transform: scale(1.03);

}

.category-card:hover .category-content span {

    color: var(--primary-dark);

}

.category-card:hover .category-content span i {

    transform: translateX(4px);

}


/* ==========================================================
   35. CATEGORY RESPONSIVE
========================================================== */

@media (max-width: 1280px) {

    .category-grid {

        grid-template-columns: repeat(4, 1fr);

    }

}


@media (max-width: 992px) {

    .category {

        padding: 80px 0;

    }

    .category .section-title {

        font-size: 54px;

    }

    .category-grid {

        grid-template-columns: repeat(3, 1fr);

    }

}


@media (max-width: 768px) {

    .category {

        padding: 70px 0;

    }

    .category-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 18px;

    }

    .category .section-title {

        font-size: 44px;

    }

    .category-content h3 {

        font-size: 28px;

    }

}


@media (max-width: 576px) {

    .category {

        padding: 60px 0;

    }

    .category-grid {

        grid-template-columns: 1fr;

    }

    .category .section-title {

        font-size: 38px;

    }

    .category-content h3 {

        font-size: 30px;

    }

}


/* ==========================================================
   PART 3.3
   HOME
   PRODUCT CARD SYSTEM
   ----------------------------------------------------------
   Reusable:
   - New Arrival
   - Best Seller
   - Shop
   - Related Product
========================================================== */


/* ==========================================================
   36. PRODUCT SECTION
========================================================== */

.new-arrival {

    padding: 110px 0;

    background: var(--background-beige);

}

.best-seller {

    padding: 110px 0;

    background: var(--white);

}

.new-arrival .container,
.best-seller .container {

    max-width: 1440px;

}


/* ==========================================================
   37. PRODUCT SECTION HEADER
========================================================== */

.new-arrival .section-head,
.best-seller .section-head {

    margin-bottom: 54px;

}


/* ==========================================================
   38. PRODUCT GRID
========================================================== */

.product-grid {

    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 28px;

}


/* ==========================================================
   39. PRODUCT CARD
========================================================== */

.product-card {

    position: relative;

    display: flex;

    flex-direction: column;

    width: 100%;

    background: var(--white);

    border-radius: var(--radius-md);

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.product-card:hover {

    transform: translateY(-8px);

    box-shadow:
        0 22px 48px rgba(0, 0, 0, .10);

}


/* ==========================================================
   40. PRODUCT IMAGE
========================================================== */

.product-image {

    position: relative;

    overflow: hidden;

    border-radius:
        var(--radius-md)
        var(--radius-md)
        0
        0;

    background: #F5F5F5;

}

.product-image a {

    display: block;

}

.product-image img {

    display: block;

    width: 100%;

    aspect-ratio: 3 / 4;

    object-fit: cover;

    object-position: center;

    transition:
        transform .7s ease,
        opacity .55s ease;

}

.product-card:hover .product-image img {

    transform: scale(1.03);

}

/* ==========================================================
   40. WISHLIST BUTTON BASE
   ----------------------------------------------------------
   WISHLIST HOME + SHOP
   ----------------------------------------------------------
   DEFAULT:
   - Circle putih
   - Heart brown
   - Selalu terlihat di Home

   ACTIVE:
   - Circle beige
   - Heart brown
========================================================== */

.product-card .wishlist-btn {

    position: absolute;

    top: 15px;
    right: 15px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: none;
    border-radius: 50%;

    /* DEFAULT STATE */
    background: rgba(254, 254, 254, .94);
    color: var(--brown);

    z-index: 10;

    cursor: pointer;

    opacity: 1;
    visibility: visible;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


/* ==========================================================
   40.1 WISHLIST ICON
========================================================== */

.product-card .wishlist-btn i {

    font-size: 18px;
    line-height: 1;

    transition:
        color .3s ease,
        transform .3s ease;
}


/* ==========================================================
   40.2 WISHLIST HOVER
   ----------------------------------------------------------
   Saat cursor diarahkan:
   - Circle tetap brown
   - Heart menjadi putih
========================================================== */

.product-card .wishlist-btn:hover {

    background: var(--brown);
    color: var(--white);

    transform: scale(1.06);
}


/* ==========================================================
   40.3 WISHLIST ACTIVE
   ----------------------------------------------------------
   SETELAH DIKLIK:
   - Circle = beige
   - Heart = brown
   - Circle TIDAK menjadi transparan
   - State tetap terlihat
========================================================== */

.product-card .wishlist-btn.active {

    background: var(--brand-beige);

    color: var(--brand-brown);

    opacity: 1;

    visibility: visible;

}


/* ==========================================================
   40.4 WISHLIST ACTIVE HOVER
   ----------------------------------------------------------
   Saat wishlist aktif lalu cursor diarahkan,
   tetap gunakan warna Mouva yang elegan.
========================================================== */

.product-card .wishlist-btn.active:hover {

    background: var(--brand-beige);

    color: var(--brand-brown);

    transform: scale(1.06);

}

/* ==========================================================
   40.1 PRODUCT IMAGE POSITION
   ----------------------------------------------------------
   Membuat tombol Wishlist menempel pada area gambar,
   bukan melayang ke posisi lain.
========================================================== */

.product-card .product-image {

    position: relative;

}

/* ==========================================================
   41. WISHLIST PAGE
   ----------------------------------------------------------
   Styling khusus halaman Wishlist.

   IMPORTANT:
   - Tidak mengubah Product Card Home
   - Tidak mengubah Product Card Shop
   - Tidak mengubah .product-image global
========================================================== */


/* ==========================================================
   41.1 WISHLIST PAGE
========================================================== */

.wishlist-page {

    padding:
        25px 0
        100px;

}


.wishlist-page > .container {

    width: 92%;

    max-width: 1180px;

    margin:
        0 auto;

}


/* ==========================================================
   41.2 WISHLIST GRID
   ----------------------------------------------------------
   Card dibuat compact dan tetap berada di tengah.

   4 kolom desktop,
   tetapi card tidak dipaksa melebar.
========================================================== */

.wishlist-page .wishlist-grid {

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 250px));

    justify-content: center;

    gap: 28px;

    width: 100%;

    align-items: start;

}


/* ==========================================================
   41.3 WISHLIST ITEM
========================================================== */

.wishlist-page .wishlist-item {

    position: relative;

    width: 100%;

    min-width: 0;

    overflow: hidden;

    background: var(--white);

    border-radius: 0 0 18px 18px;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, .045);

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}


.wishlist-page .wishlist-item:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 18px 38px rgba(0, 0, 0, .075);

}


/* ==========================================================
   41.4 WISHLIST IMAGE
========================================================== */

.wishlist-page .wishlist-item-image {

    position: relative;

    width: 100%;

    aspect-ratio:
        4 / 5;

    overflow: hidden;

    background:
        var(--beige);

}


.wishlist-page .wishlist-item-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .55s ease;

}


.wishlist-page .wishlist-item:hover
.wishlist-item-image img {

    transform:
        scale(1.025);

}


/* ==========================================================
   41.5 REMOVE WISHLIST BUTTON
========================================================== */

.wishlist-page .wishlist-remove {

    position: absolute;

    top: 12px;

    right: 12px;

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid rgba(49, 38, 19, .08);

    border-radius: 50%;

    background:
        rgba(254, 254, 254, .94);

    color:
        var(--brown);

    cursor: pointer;

    z-index: 5;

    box-shadow:
        0 6px 16px rgba(0, 0, 0, .07);

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;

}


.wishlist-page .wishlist-remove i {

    font-size: 16px;

}


.wishlist-page .wishlist-remove:hover {

    background:
        var(--brown);

    color:
        var(--white);

    transform:
        scale(1.06);

}


/* ==========================================================
   41.6 WISHLIST ITEM INFO
========================================================== */

.wishlist-page .wishlist-item-info {

    padding:
        15px 16px 17px;

}


/* PRODUCT NAME */

.wishlist-page .wishlist-item-name {

    margin:
        0 0 5px;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        24px;

    font-weight:
        500;

    line-height:
        1.05;

    color:
        var(--black);

}


/* PRODUCT PRICE */

.wishlist-page .wishlist-item-price {

    margin:
        0;

    font-family:
        "Poppins",
        sans-serif;

    font-size:
        13px;

    font-weight:
        500;

    color:
        var(--brown);

}


/* ==========================================================
   41.7 WISHLIST FOOTER ACTION
========================================================== */

.wishlist-page .wishlist-item-footer {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 9px;

    margin-top:
        13px;

}


/* ==========================================================
   41.8 VIEW PRODUCT BUTTON
========================================================== */

.wishlist-page .wishlist-view {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    height:
        38px;

    min-width:
        122px;

    padding:
        0 18px;

    border:
        1px solid var(--brown);

    border-radius:
        24px;

    background:
        var(--brown);

    color:
        var(--white);

    text-decoration:
        none;

    font-family:
        "Poppins",
        sans-serif;

    font-size:
        11px;

    font-weight:
        500;

    letter-spacing:
        .15px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;

}


.wishlist-page .wishlist-view:hover {

    background:
        var(--black);

    border-color:
        var(--black);

    color:
        var(--white);

    transform:
        translateY(-1px);

}


/* ==========================================================
   41.9 WISHLIST HEART
   ----------------------------------------------------------
   Heart kecil di samping View Product.
========================================================== */

.wishlist-page .wishlist-item-footer .wishlist-btn {

    position:
        static;

    width:
        30px;

    height:
        30px;

    padding:
        0;

    border:
        none;

    border-radius:
        50%;

    background:
        transparent;

    color:
        var(--brown);

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    opacity:
        1;

    box-shadow:
        none;

    cursor:
        pointer;

}


.wishlist-page .wishlist-item-footer .wishlist-btn i {

    font-size:
        17px;

}


.wishlist-page .wishlist-item-footer .wishlist-btn:hover {

    background:
        transparent;

    color:
        var(--black);

    transform:
        scale(1.08);

}


/* ==========================================================
   41.10 EMPTY WISHLIST
========================================================== */

.wishlist-page .wishlist-empty {

    padding:
        90px 20px;

    text-align:
        center;

}


.wishlist-page .wishlist-empty i {

    display:
        block;

    margin-bottom:
        18px;

    font-size:
        40px;

    color:
        var(--brown);

}


.wishlist-page .wishlist-empty h3 {

    margin:
        0 0 10px;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        32px;

    font-weight:
        500;

    color:
        var(--black);

}


.wishlist-page .wishlist-empty p {

    max-width:
        400px;

    margin:
        0 auto 25px;

    font-family:
        "Poppins",
        sans-serif;

    font-size:
        13px;

    line-height:
        1.7;

    color:
        var(--brown);

}


/* ==========================================================
   41.11 WISHLIST HERO SPACING
========================================================== */

.wishlist-hero {

    padding:
        8px 0 0;

}


.wishlist-hero .container {

    width:
        92%;

    max-width:
        1180px;

    margin:
        0 auto;

}


.wishlist-hero .section-subtitle {

    display:
        block;

    margin-bottom:
        8px;

}


.wishlist-hero h1 {

    margin:
        0 0 3px;

}


.wishlist-hero p {

    margin:
        0;

}


/* ==========================================================
   41.12 TABLET
========================================================== */

@media (max-width: 1100px) {

    .wishlist-page .wishlist-grid {

        grid-template-columns:
            repeat(3, minmax(0, 250px));

        gap:
            24px;

    }

}


/* ==========================================================
   41.13 MOBILE
========================================================== */

@media (max-width: 768px) {

    .wishlist-page {

        padding:
            22px 0
            70px;

    }


    .wishlist-page > .container {

        width:
            90%;

    }


    .wishlist-page .wishlist-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            16px;

    }


    .wishlist-page .wishlist-item {

        border-radius:
            0 0 14px 14px;

    }


    .wishlist-page .wishlist-remove {

        top:
            9px;

        right:
            9px;

        width:
            30px;

        height:
            30px;

    }


    .wishlist-page .wishlist-remove i {

        font-size:
            14px;

    }


    .wishlist-page .wishlist-item-info {

        padding:
            12px 12px 14px;

    }


    .wishlist-page .wishlist-item-name {

        font-size:
            20px;

    }


    .wishlist-page .wishlist-item-price {

        font-size:
            12px;

    }


    .wishlist-page .wishlist-item-footer {

        margin-top:
            11px;

        gap:
            6px;

    }


    .wishlist-page .wishlist-view {

        height:
            35px;

        min-width:
            0;

        padding:
            0 14px;

        font-size:
            10px;

    }


    .wishlist-page .wishlist-item-footer .wishlist-btn {

        width:
            28px;

        height:
            28px;

    }


    .wishlist-page .wishlist-item-footer .wishlist-btn i {

        font-size:
            16px;

    }

}


/* ==========================================================
   41.14 SMALL MOBILE
========================================================== */

@media (max-width: 480px) {

    .wishlist-page .wishlist-grid {

        gap:
            12px;

    }


    .wishlist-page .wishlist-item-info {

        padding:
            10px 10px 12px;

    }


    .wishlist-page .wishlist-item-name {

        font-size:
            18px;

    }


    .wishlist-page .wishlist-item-price {

        font-size:
            11px;

    }


    .wishlist-page .wishlist-view {

        width:
            auto;

        height:
            33px;

        padding:
            0 12px;

        font-size:
            9px;

    }

}

/* ==========================================================
   42. PRODUCT INFO
========================================================== */

.product-info {

    background: var(--white);

    padding: 22px 24px 24px;

}

.product-info h3 {

    margin: 0 0 8px;

    font-family: "Cormorant Garamond", serif;

    font-size: 31px;

    font-weight: 500;

    line-height: 1.1;

}

.product-info h3 a {

    color: var(--text);

    transition: .3s ease;

}

.product-info h3 a:hover {

    color: var(--primary);

}


/* ==========================================================
   43. PRICE
========================================================== */

.price {

    font-size: 18px;

    font-weight: 600;

    color: var(--primary);

    margin-bottom: 16px;

}


/* ==========================================================
   44. PRODUCT SIZE
========================================================== */

.product-size {

    display: flex;

    gap: 10px;

    margin-top: 16px;

    margin-bottom: 20px;

}

.product-size span {

    display: inline-flex;

    justify-content: center;
    align-items: center;

    min-width: 62px;

    height: 34px;

    padding: 0 14px;

    border-radius: var(--radius-pill);

    background: #F4F0EB;

    color: var(--primary);

    font-size: 13px;

    font-weight: 500;

}


/* ==========================================================
   45. PRODUCT SECTION RESPONSIVE
========================================================== */

@media (max-width: 1280px) {

    .product-grid {

        grid-template-columns:
            repeat(4, 1fr);

    }

}


@media (max-width: 992px) {

    .new-arrival,
    .best-seller {

        padding: 90px 0;

    }

    .product-grid {

        grid-template-columns:
            repeat(3, 1fr);

        gap: 22px;

    }

}


@media (max-width: 768px) {

    .product-grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 20px;

    }

    .product-info h3 {

        font-size: 26px;

    }

    .wishlist-btn {

        width: 40px;
        height: 40px;

    }

}


@media (max-width: 576px) {

    .new-arrival,
    .best-seller {

        padding: 70px 0;

    }

    .product-grid {

        grid-template-columns: 1fr;

        gap: 28px;

    }

    .product-info {

        padding-top: 18px;

    }

    .product-info h3 {

        font-size: 28px;

    }

}


/* ==========================================================
   PART 3.3.1
   GLOBAL PRODUCT COMPONENTS
========================================================== */


/* ==========================================================
   46. PRODUCT BADGE
========================================================== */

.product-badge {

    position: absolute;

    top: 18px;
    left: 18px;

    z-index: 20;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    height: 32px;

    padding: 0 14px;

    border-radius: var(--radius-pill);

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .5px;

    text-transform: uppercase;

    color: var(--white);

}

.product-badge.new {

    background: var(--primary);

}

.product-badge.sale {

    background: #D84A4A;

}

.product-badge.sold {

    background: #555555;

}

.product-badge.hot {

    background: #E88A2D;

}


/* ==========================================================
   47. PRODUCT SECOND IMAGE
========================================================== */

.product-image .product-hover {

    position: absolute;

    inset: 0;

    opacity: 0;

    transition:
        opacity .55s ease,
        transform .75s ease;

}

.product-card:hover .product-hover {

    opacity: 1;

}

.product-card:hover .product-main {

    opacity: 0;

}


/* ==========================================================
   48. PRODUCT QUICK ACTION
========================================================== */

.product-action {

    position: absolute;

    left: 50%;
    bottom: 20px;

    transform:
        translateX(-50%)
        translateY(15px);

    display: flex;

    gap: 10px;

    opacity: 0;

    transition: .35s ease;

    z-index: 30;

}

.product-card:hover .product-action {

    opacity: 1;

    transform:
        translateX(-50%)
        translateY(0);

}


/* ==========================================================
   49. PRODUCT ACTION BUTTON
========================================================== */

.product-action button,
.product-action a {

    width: 46px;
    height: 46px;

    border: none;

    border-radius: 50%;

    background: var(--white);

    display: flex;

    align-items: center;
    justify-content: center;

    box-shadow:
        0 12px 24px rgba(0, 0, 0, .10);

    transition: .3s ease;

}

.product-action button:hover,
.product-action a:hover {

    background: var(--primary);

}

.product-action button:hover i,
.product-action a:hover i {

    color: var(--white);

}

.product-action i {

    font-size: 19px;

    color: #333333;

    transition: .3s ease;

}


/* ==========================================================
   50. PRODUCT COLORS
========================================================== */

.product-colors {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 18px;

}

.product-color {

    width: 18px;
    height: 18px;

    border-radius: 50%;

    border: 2px solid var(--white);

    box-shadow:
        0 0 0 1px #DDDDDD;

    cursor: pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}

.product-color:hover {

    transform: scale(1.18);

    box-shadow:
        0 0 0 2px var(--white),
        0 0 0 3px var(--primary);

}


/* ==========================================================
   50.1 COLOR VARIANTS
========================================================== */

.product-color.beige {

    background: #D7C2A5;

}

.product-color.brown {

    background: #8B6B56;

}

.product-color.black {

    background: #232323;

}

.product-color.white {

    background: #F8F8F8;

}

.product-color.navy {

    background: #27344C;

}

.product-color.olive {

    background: #74754D;

}

.product-color.dusty {

    background: #D6A8AA;

}

.product-color.rose {

    background: #C88E8E;

}

.product-color.mocha {

    background: #8A6A55;

}

.product-color.sage {

    background: #9AA68A;

}


/* ==========================================================
   51. PRODUCT RATING
========================================================== */

.product-rating {

    display: flex;

    align-items: center;

    gap: 4px;

    margin-bottom: 12px;

}

.product-rating i {

    color: #F4B400;

    font-size: 15px;

}

.product-rating span {

    margin-left: 6px;

    font-size: 13px;

    color: var(--text-soft);

}


/* ==========================================================
   52. PRODUCT LABEL
========================================================== */

.product-label {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    margin-top: 10px;

    font-size: 13px;

    color: var(--text-soft);

}

.product-label i {

    color: var(--primary);

}


/* ==========================================================
   53. ADD TO CART
========================================================== */

.add-cart {

    width: 100%;

    height: 52px;

    margin-top: 22px;

    border: none;

    border-radius: var(--radius-pill);

    background: var(--primary);

    color: var(--white);

    font-size: 14px;

    font-weight: 500;

    cursor: pointer;

    transition: .35s ease;

}

.add-cart:hover {

    background: var(--primary-dark);

}


/* ==========================================================
   54. OUT OF STOCK
========================================================== */

.product-card.out-stock {

    opacity: .72;

}

.product-card.out-stock img {

    filter: grayscale(.25);

}

.product-card.out-stock .add-cart {

    background: #BBBBBB;

    cursor: not-allowed;

}


/* ==========================================================
   55. PRODUCT COMPONENT RESPONSIVE
========================================================== */

@media (max-width: 768px) {

    .product-action {

        display: none;

    }

    .product-badge {

        height: 30px;

        font-size: 11px;

    }

    .add-cart {

        height: 48px;

    }

}

/* ==========================================================
   53.1 WISHLIST BUTTON
   PRODUCT CARD WISHLIST ANIMATION
========================================================== */

.wishlist-btn {

    position: absolute;

    top: 18px;
    right: 18px;

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: none;

    border-radius: 50%;

    background: var(--white);

    color: var(--primary);

    cursor: pointer;

    z-index: 40;

    opacity: 1;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, .08);

    transition:
        background-color .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease,
        opacity .3s ease;

}


/* LOVE ICON */

.wishlist-btn i {

    font-size: 20px;

    line-height: 1;

    color: var(--primary);

    transition:
        color .3s ease,
        transform .3s ease;

}


/* ==========================================================
   PRODUCT HOVER
========================================================== */

.product-card:hover .wishlist-btn {

    background: var(--white);

    color: var(--primary);

    opacity: 1;

    transform: scale(1.04);

    box-shadow:
        0 10px 24px rgba(0, 0, 0, .12);

}

.product-card:hover .wishlist-btn i {

    color: var(--primary);

    transform: scale(1.08);

}


/* ==========================================================
   WISHLIST HOVER
========================================================== */

.wishlist-btn:hover {

    background: var(--white);

    color: var(--primary);

    transform: scale(1.08);

}

.wishlist-btn:hover i {

    color: var(--primary);

    transform: scale(1.1);

}


/* ==========================================================
   ACTIVE / WISHLIST SELECTED
   ----------------------------------------------------------
   Setelah wishlist diklik:
   - Circle = tetap putih / soft beige
   - Heart = brown
========================================================== */

.wishlist-btn.active {

    background: var(--white);

    color: var(--primary);

    opacity: 1;

    box-shadow:
        0 10px 24px rgba(0, 0, 0, .12);

}

.wishlist-btn.active i {

    color: var(--primary);

}


/* ==========================================================
   ACTIVE + HOVER
   ----------------------------------------------------------
   Wishlist aktif + cursor berada di atas card:
   - Circle = tetap putih
   - Heart = tetap brown
========================================================== */

.product-card:hover .wishlist-btn.active {

    background: var(--white);

    color: var(--primary);

}

.product-card:hover .wishlist-btn.active i {

    color: var(--primary);

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px) {

    .wishlist-btn {

        width: 40px;
        height: 40px;

        top: 14px;
        right: 14px;

    }

    .wishlist-btn i {

        font-size: 18px;

    }

}


/* ==========================================================
   PART 3.4
   HOME
   FEATURED CAMPAIGN
========================================================== */


/* ==========================================================
   56. CAMPAIGN SECTION
========================================================== */

.campaign {

    position: relative;

    padding: 110px 0;

    background: var(--white);

}

.campaign .container {

    max-width: 1440px;

}


/* ==========================================================
   57. CAMPAIGN BANNER
========================================================== */

.campaign-banner {

    display: grid;

    grid-template-columns: 65% 35%;

    align-items: stretch;

    overflow: hidden;

    border-radius: var(--radius-lg);

    background: var(--background-beige);

    min-height: 420px;

}


/* ==========================================================
   58. CAMPAIGN IMAGE
========================================================== */

.campaign-image {

    position: relative;

    overflow: hidden;

    height: 100%;

}

.campaign-image img {

    display: block;

    width: 100%;
    height: 100%;

    min-height: 420px;

    object-fit: cover;

    object-position: center;

    transition: transform .9s ease;

}

.campaign-banner:hover .campaign-image img {

    transform: scale(1.03);

}


/* ==========================================================
   59. CAMPAIGN CONTENT
========================================================== */

.campaign-content {

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: flex-start;

    padding: 52px 56px;

}

.campaign-content .section-subtitle {

    margin-bottom: 16px;

}

.campaign-content h2 {

    font-family: "Cormorant Garamond", serif;

    font-size: 48px;

    font-weight: 500;

    line-height: 1.08;

    color: var(--text);

    margin-bottom: 22px;

    max-width: 320px;

}

.campaign-content p {

    max-width: 320px;

    font-size: 15px;

    line-height: 1.9;

    color: var(--gray);

    margin-bottom: 32px;

}


/* ==========================================================
   60. CAMPAIGN BUTTON
========================================================== */

.campaign-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    height: 54px;

    padding: 0 30px;

    border-radius: var(--radius-pill);

    background: var(--primary);

    color: var(--white);

    font-size: 15px;

    font-weight: 500;

    transition: .35s ease;

}

.campaign-btn i {

    font-size: 18px;

    transition: .35s ease;

}

.campaign-btn:hover {

    background: var(--primary-dark);

}

.campaign-btn:hover i {

    transform: translateX(4px);

}


/* ==========================================================
   61. CAMPAIGN RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .campaign-content {

        padding: 50px 45px;

    }

    .campaign-content h2 {

        font-size: 46px;

    }

}


@media (max-width: 992px) {

    .campaign {

        padding: 90px 0;

    }

    .campaign-banner {

        grid-template-columns: 1fr;

    }

    .campaign-image img {

        min-height: 500px;

    }

    .campaign-content {

        padding: 55px 45px;

    }

    .campaign-content h2 {

        font-size: 54px;

    }

}


@media (max-width: 768px) {

    .campaign-image img {

        min-height: 420px;

    }

    .campaign-content {

        padding: 45px 35px;

    }

    .campaign-content h2 {

        font-size: 46px;

    }

}


@media (max-width: 576px) {

    .campaign {

        padding: 70px 0;

    }

    .campaign-banner {

        border-radius: var(--radius-md);

    }

    .campaign-image img {

        min-height: 340px;

    }

    .campaign-content {

        padding: 32px 24px;

    }

    .campaign-content h2 {

        font-size: 38px;

    }

    .campaign-content p {

        font-size: 15px;

        margin-bottom: 28px;

    }

    .campaign-btn {

        width: 100%;

    }

}


/* ==========================================================
   PART 3.5
   HOME
   LOOKBOOK
========================================================== */


/* ==========================================================
   62. LOOKBOOK SECTION
========================================================== */

.lookbook {

    position: relative;

    padding: 110px 0;

    background: var(--background-beige);

}

.lookbook .container {

    max-width: 1440px;

}


/* ==========================================================
   63. LOOKBOOK HEADER
========================================================== */

.lookbook .section-head {

    margin-bottom: 52px;

}


/* ==========================================================
   64. LOOKBOOK GRID
========================================================== */

.lookbook-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 24px;

}


/* ==========================================================
   65. LOOKBOOK IMAGE
========================================================== */

.lookbook-grid img {

    display: block;

    width: 100%;
    height: 430px;

    object-fit: cover;

    object-position: center;

    border-radius: 18px;

    transition:
        transform .45s ease,
        box-shadow .45s ease;

}


/* ==========================================================
   66. LOOKBOOK HOVER
========================================================== */

.lookbook-grid img:hover {

    transform: translateY(-8px);

    box-shadow:
        0 20px 40px rgba(0, 0, 0, .10);

}


/* ==========================================================
   67. LOOKBOOK RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .lookbook-grid {

        gap: 18px;

    }

    .lookbook-grid img {

        height: 380px;

    }

}


@media (max-width: 992px) {

    .lookbook {

        padding: 90px 0;

    }

    .lookbook-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

    .lookbook-grid img {

        height: 360px;

    }

}


@media (max-width: 768px) {

    .lookbook {

        padding: 75px 0;

    }

    .lookbook-grid {

        gap: 16px;

    }

    .lookbook-grid img {

        height: 320px;

        border-radius: 16px;

    }

}


@media (max-width: 576px) {

    .lookbook {

        padding: 65px 0;

    }

    .lookbook-grid {

        grid-template-columns: 1fr;

        gap: 16px;

    }

    .lookbook-grid img {

        height: 300px;

    }

}


/* ==========================================================
   PART 3.6
   GLOBAL FOOTER
========================================================== */


/* ==========================================================
   68. FOOTER
========================================================== */

.footer {

    background: var(--background-beige);

    border-top: 1px solid var(--border);

}

.footer > .container {

    max-width: 1440px;

    padding: 90px 32px 70px;

}


/* ==========================================================
   69. FOOTER GRID
========================================================== */

.footer-grid {

    display: grid;

    grid-template-columns:
        2fr 1fr 1fr 1fr 1.5fr;

    gap: 55px;

    align-items: flex-start;

}


/* ==========================================================
   70. FOOTER BRAND
========================================================== */

.footer-logo {

    display: block;

    width: 175px;

    height: auto;

    margin-bottom: 18px;

}

.footer-brand p {

    max-width: 320px;

    font-size: 15px;

    line-height: 1.9;

    color: var(--gray);

}


/* ==========================================================
   71. FOOTER SOCIAL
========================================================== */

.footer-social {

    display: flex;

    gap: 12px;

    margin-top: 28px;

}

.footer-social a {

    width: 40px;
    height: 40px;

    display: flex;

    justify-content: center;
    align-items: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--white);

    border: 1px solid var(--border-dark);

    transition: .35s ease;

    padding: 0;

}

.footer-social i {

    font-size: 18px;

    line-height: 1;

    display: flex;

    justify-content: center;
    align-items: center;

    color: var(--primary);

}

.footer-social a:hover {

    background: var(--primary);

    transform: translateY(-3px);

}

.footer-social a:hover i {

    color: var(--white);

}


/* ==========================================================
   72. FOOTER COLUMN
========================================================== */

.footer-col h4 {

    margin-bottom: 24px;

    font-size: 19px;

    font-weight: 600;

    color: var(--text);

}

.footer-col > a {

    display: block;

    margin-bottom: 15px;

    font-size: 15px;

    color: var(--gray);

    transition:
        color .3s ease,
        transform .3s ease;

}

.footer-col > a:hover {

    color: var(--primary);

    transform: translateX(3px);

}

.footer-col a:last-child {

    margin-bottom: 0;

}

.footer-col p {

    margin-bottom: 20px;

    font-size: 15px;

    line-height: 1.8;

    color: var(--gray);

}


/* ==========================================================
   73. NEWSLETTER
========================================================== */

.newsletter {

    display: flex;

    align-items: center;

    height: 56px;

    border: 1px solid var(--border-dark);

    border-radius: var(--radius-pill);

    overflow: hidden;

    background: var(--white);

}

.newsletter input {

    flex: 1;

    height: 100%;

    border: none;
    outline: none;

    background: transparent;

    padding: 0 22px;

    font-size: 15px;

}

.newsletter button {

    width: 56px;
    height: 56px;

    background: var(--primary);

    color: var(--white);

    transition: .35s ease;

}

.newsletter button i {

    font-size: 18px;

}

.newsletter button:hover {

    background: var(--primary-dark);

}


/* ==========================================================
   74. FOOTER BOTTOM
========================================================== */

.footer-bottom {

    border-top: 1px solid var(--border);

}

.footer-bottom .container {

    max-width: 1440px;

    height: 72px;

    display: flex;

    justify-content: center;

    align-items: center;

}

.footer-bottom p {

    font-size: 14px;

    color: #888888;

}


/* ==========================================================
   75. FOOTER RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .footer-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }

}


@media (max-width: 992px) {

    .footer > .container {

        padding: 70px 24px 55px;

    }

    .footer-grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 40px;

    }

}


@media (max-width: 576px) {

    .footer > .container {

        padding: 55px 18px 40px;

    }

    .footer-grid {

        grid-template-columns: 1fr;

        gap: 36px;

    }

    .footer-brand p {

        max-width: 100%;

    }

    .newsletter {

        width: 100%;

    }

    .footer-bottom .container {

        height: 65px;

    }

}


/* ==========================================================
   PART 8.1
   GLOBAL SCROLL ANIMATION
========================================================== */


/* ==========================================================
   76. REVEAL
========================================================== */

.reveal {

    opacity: 0;

    transform: translateY(70px);

    transition:
        opacity .9s ease,
        transform .9s ease;

    will-change:
        opacity,
        transform;

}

.reveal.active {

    opacity: 1;

    transform: translateY(0);

}


/* ==========================================================
   77. FADE LEFT
========================================================== */

.fade-left {

    transform: translateX(-50px);

}

.fade-left.active {

    transform: translateX(0);

}


/* ==========================================================
   78. FADE RIGHT
========================================================== */

.fade-right {

    transform: translateX(50px);

}

.fade-right.active {

    transform: translateX(0);

}


/* ==========================================================
   79. FADE SCALE
========================================================== */

.fade-scale {

    opacity: 0;

    transform: scale(.96);

    transition:
        opacity .8s ease,
        transform .8s ease;

}

.fade-scale.active {

    opacity: 1;

    transform: scale(1);

}


/* ==========================================================
   PART 8.3
   SCROLL REVEAL DELAY
========================================================== */


/* ==========================================================
   80. DELAY
========================================================== */

.delay-1 {

    transition-delay: .08s;

}

.delay-2 {

    transition-delay: .18s;

}

.delay-3 {

    transition-delay: .28s;

}

.delay-4 {

    transition-delay: .38s;

}

/* ==========================================================
   FINAL WISHLIST ACTIVE OVERRIDE
   ACTIVE = WHITE CIRCLE + BROWN LOVE
========================================================== */

.wishlist-btn.active,
.product-card:hover .wishlist-btn.active,
.wishlist-btn.active:hover {

    background: #FFFFFF !important;

    color: var(--primary) !important;

    opacity: 1 !important;

    box-shadow:
        0 10px 24px rgba(0, 0, 0, .10);

}

.wishlist-btn.active i,
.product-card:hover .wishlist-btn.active i,
.wishlist-btn.active:hover i {

    color: var(--primary) !important;

}

/* ==========================================================
   END OF GLOBAL + HOME CSS
========================================================== */

/* ==========================================================
   MOUVA WEBSITE
   SHOP + PRODUCT DETAIL STYLES
   ----------------------------------------------------------
   01. SHOP PAGE
   02. SHOP HERO
   03. SHOP LAYOUT
   04. SHOP SIDEBAR
   05. SHOP TOP BAR
   06. SHOP PRODUCT GRID
   07. SHOP PRODUCT CARD
   08. SHOP PRODUCT INFO
   09. SHOP PRODUCT BOTTOM
   10. SHOP PRODUCT COLOR
   11. SHOP PAGINATION
   12. SHOP RESPONSIVE

   13. PRODUCT DETAIL PAGE
   14. PRODUCT BREADCRUMB
   15. PRODUCT DETAIL LAYOUT
   16. PRODUCT GALLERY
   17. PRODUCT THUMBNAIL
   18. PRODUCT MAIN IMAGE
   19. PRODUCT INFORMATION
   20. PRODUCT REVIEW
   21. PRODUCT PRICE
   22. PRODUCT DESCRIPTION
   23. PRODUCT OPTIONS
   24. PRODUCT COLOR
   25. PRODUCT SIZE
   26. PRODUCT QUANTITY
   27. PRODUCT BUTTONS
   28. ADD TO CART
   29. BUY NOW
   30. PRODUCT META
   31. BUTTON HOVER EFFECT
   32. PRODUCT DESCRIPTION SECTION
   33. PRODUCT TABS
   34. PRODUCT CONTENT HEADING
   35. PRODUCT INFORMATION SECTION
   36. SIZE GUIDE
   37. RELATED PRODUCTS
   38. RELATED PRODUCT CARD
   39. RELATED PRODUCT IMAGE
   40. PRODUCT DETAIL RESPONSIVE
========================================================== */


/* ==========================================================
   01. SHOP PAGE
========================================================== */

.shop-page {
    padding: 80px 0 100px;
    background: var(--background-white);
}


/* ==========================================================
   02. SHOP HERO
========================================================== */

.shop-hero {
    position: relative;

    min-height: 340px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    color: var(--white);

    overflow: hidden;

    background:
        linear-gradient(
            rgba(0, 0, 0, 0.35),
            rgba(0, 0, 0, 0.35)
        ),
        url("../assets/banner/shop-banner.jpg")
        center center / cover no-repeat;
}


/* SHOP HERO CONTENT */

.shop-hero .container {
    position: relative;
    z-index: 2;
}


/* SHOP HERO TITLE */

.shop-hero h1 {
    font-family: "Cormorant Garamond", serif;

    font-size: 58px;
    font-weight: 600;

    line-height: 1;

    color: var(--white);

    margin-bottom: 14px;
}


/* SHOP HERO DESCRIPTION */

.shop-hero p {
    max-width: 620px;

    margin: 0 auto;

    font-size: 16px;
    line-height: 1.8;

    color: var(--white);

    opacity: 0.95;
}


/* ==========================================================
   03. SHOP LAYOUT
========================================================== */

.shop-wrapper {
    display: grid;

    grid-template-columns: 260px minmax(0, 1fr);

    gap: 60px;

    align-items: start;
}


/* ==========================================================
   04. SHOP SIDEBAR
========================================================== */

.shop-sidebar {
    position: sticky;

    top: 110px;

    align-self: start;
}


/* SHOP FILTER BOX */

.filter-box {
    background: var(--white);

    border: 1px solid var(--border);

    border-radius: 18px;

    padding: 30px;
}


/* SHOP FILTER TITLE */

.filter-box h3 {
    font-family: "Cormorant Garamond", serif;

    font-size: 34px;
    font-weight: 600;

    line-height: 1.1;

    color: var(--brown);

    margin-bottom: 28px;
}


/* SHOP FILTER LIST */

.filter-box ul {
    list-style: none;

    padding: 0;
    margin: 0;
}


/* SHOP FILTER LIST ITEM */

.filter-box li {
    border-bottom: 1px solid rgba(49, 38, 19, 0.10);
}


.filter-box li:last-child {
    border-bottom: none;
}


.filter-box li + li {
    margin-top: 0;
}


/* SHOP FILTER LINK */

.filter-box a {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 12px 0;

    color: var(--brown);

    text-decoration: none;

    font-size: 15px;

    transition:
        color var(--transition),
        padding-left var(--transition);
}


/* SHOP FILTER ARROW */

.filter-box a::after {
    content: "›";

    color: rgba(49, 38, 19, 0.45);

    opacity: 0;

    transition:
        opacity var(--transition),
        color var(--transition);
}


/* SHOP FILTER HOVER */

.filter-box a:hover {
    color: var(--primary);

    padding-left: 10px;
}


.filter-box a:hover::after {
    opacity: 1;

    color: var(--primary);
}


/* ==========================================================
   05. SHOP TOP BAR
========================================================== */

.shop-content {
    width: 100%;
}


/* SHOP TOP INFORMATION */

.shop-top {
    display: flex;

    justify-content: space-between;
    align-items: center;

    margin-bottom: 45px;

    padding-bottom: 22px;

    border-bottom: 1px solid var(--border);
}


/* SHOP PRODUCT COUNT */

.shop-top p {
    color: rgba(49, 38, 19, 0.65);

    font-size: 15px;

    letter-spacing: 0.3px;
}


/* SHOP SORT SELECT */

.shop-top select {
    width: 230px;
    height: 52px;

    padding: 0 18px;

    border: 1px solid rgba(49, 38, 19, 0.20);

    border-radius: 12px;

    background: var(--white);

    font-size: 14px;

    color: var(--brown);

    cursor: pointer;

    outline: none;

    transition:
        border-color var(--transition),
        box-shadow var(--transition);
}


.shop-top select:hover,
.shop-top select:focus {
    border-color: var(--brown);

    box-shadow:
        0 0 0 4px rgba(221, 210, 189, 0.45);
}


/* ==========================================================
   06. SHOP PRODUCT GRID
========================================================== */

.shop-content .product-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 42px 28px;
}


/* ==========================================================
   SHOP PRODUCT CARD
   Minimal Luxury
========================================================== */

.shop-content .product-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    background: var(--white);

    border: none;
    border-radius: var(--radius-md);

    overflow: hidden;

    box-shadow:
        0 8px 24px rgba(34, 34, 34, 0.035);

    transition:
        transform var(--transition),
        box-shadow var(--transition);
}

.shop-content .product-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 14px 34px rgba(34, 34, 34, 0.06);
}


/* ==========================================================
   SHOP PRODUCT IMAGE
========================================================== */

.shop-content .product-image {
    position: relative;

    overflow: hidden;

    background: var(--background-beige);

    border-radius:
        var(--radius-md)
        var(--radius-md)
        0
        0;
}

.shop-content .product-image img {
    display: block;

    width: 100%;

    aspect-ratio: 3 / 4;

    object-fit: cover;
    object-position: center;

    transition: transform .55s ease;
}

.shop-content .product-card:hover .product-image img {
    transform: scale(1.02);
}

.product-image-placeholder {
    width: 100%;
    aspect-ratio: 0.78;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--beige);
    color: rgba(49, 38, 19, 0.5);

    font-size: 13px;
    letter-spacing: 0.5px;
}


/* ==========================================================
   09. SHOP PRODUCT BADGE
========================================================== */

.shop-content .product-badge {
    position: absolute;

    top: 15px;
    left: 15px;

    z-index: 3;

    padding: 7px 12px;

    background: var(--brown);

    color: var(--white);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;
}


/* ==========================================================
   10. SHOP PRODUCT WISHLIST
   ----------------------------------------------------------
   DEFAULT:
   - Wishlist SELALU TERLIHAT
   - Circle putih / beige
   - Heart brown

   HOVER PRODUCT:
   - Tetap terlihat
   - Sedikit membesar

   ACTIVE:
   - Tetap terlihat
   - Circle putih / beige
   - Heart brown
========================================================== */

.shop-content .wishlist-btn {

    position: absolute;

    top: 15px;
    right: 15px;

    z-index: 4;

    width: 38px;
    height: 38px;

    display: grid;

    place-items: center;

    border: none;

    border-radius: 50%;

    /* DEFAULT CIRCLE */
    background: rgba(254, 254, 254, 0.92);

    /* DEFAULT HEART */
    color: var(--brown);

    cursor: pointer;

    /* SELALU TERLIHAT */
    opacity: 1;

    visibility: visible;

    transition:
        opacity var(--transition),
        visibility var(--transition),
        transform var(--transition),
        background var(--transition),
        color var(--transition);

}


/* ==========================================================
   10.1 SHOP WISHLIST — PRODUCT HOVER
========================================================== */

.shop-content .product-card:hover .wishlist-btn {

    opacity: 1;

    visibility: visible;

    transform: scale(1.04);

    background: rgba(254, 254, 254, 0.92);

    color: var(--brown);

}


/* ==========================================================
   10.2 SHOP WISHLIST — HOVER
   ----------------------------------------------------------
   Saat cursor diarahkan langsung ke wishlist:

   - Circle tetap putih / beige
   - Heart tetap brown
========================================================== */

.shop-content .wishlist-btn:hover {

    opacity: 1;

    visibility: visible;

    transform: scale(1.08);

    background: var(--beige);

    color: var(--brown);

}


/* ==========================================================
   10.3 SHOP WISHLIST — ACTIVE
   ----------------------------------------------------------
   SETELAH DIKLIK:

   - Wishlist tetap terlihat
   - Circle putih / beige
   - Heart brown
========================================================== */

.shop-content .wishlist-btn.active {

    opacity: 1;

    visibility: visible;

    background: var(--beige);

    color: var(--brown);

}


/* ==========================================================
   10.4 SHOP WISHLIST — ACTIVE HOVER
========================================================== */

.shop-content .wishlist-btn.active:hover {

    opacity: 1;

    visibility: visible;

    background: var(--beige);

    color: var(--brown);

    transform: scale(1.08);

}

.shop-content .wishlist-btn:focus-visible {
    outline: 2px solid var(--brown);
    outline-offset: 3px;
}


/* ==========================================================
   SHOP PRODUCT INFO
========================================================== */

.shop-content .product-info {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 18px 18px 20px;

    background: var(--white);
}


/* PRODUCT GROUP */

.shop-content .product-group-label {
    margin-bottom: 6px;

    font-family: "Poppins", sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1.4;

    letter-spacing: 1.6px;
    text-transform: uppercase;

    color: var(--primary);
}


/* PRODUCT NAME */

.shop-content .product-info h3 {
    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: 26px;
    font-weight: 500;

    line-height: 1.12;
}

.shop-content .product-info h3 a {
    color: var(--black);

    text-decoration: none;

    transition: color var(--transition);
}

.shop-content .product-info h3 a:hover {
    color: var(--primary);
}


/* PRODUCT PRICE */

.shop-content .price {
    margin: 8px 0 0;

    font-family: "Poppins", sans-serif;

    color: var(--brand-brown);

    font-size: 14px;
    font-weight: 500;

    letter-spacing: .1px;
}


/* ==========================================================
   SHOP PRODUCT ACTION
========================================================== */

.shop-content .product-bottom {
    display: flex;

    align-items: center;
    justify-content: flex-start;

    width: 100%;

    margin-top: auto;

    padding-top: 16px;
}


.shop-content .product-bottom .product-action {
    position: static;

    left: auto;
    right: auto;
    top: auto;
    bottom: auto;

    display: flex;

    width: auto;
    height: auto;

    margin: 0;

    opacity: 1;
    visibility: visible;

    transform: none;

    z-index: auto;
}


.shop-content .product-bottom .product-action a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 34px;

    padding: 8px 16px;

    border:
        1px solid
        rgba(122, 109, 98, .30);

    border-radius: var(--radius-pill);

    background: transparent;

    color: var(--brand-brown);

    text-decoration: none;

    font-family: "Poppins", sans-serif;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .3px;

    opacity: 1;
    visibility: visible;

    transition:
        background var(--transition),
        border-color var(--transition),
        color var(--transition);
}


.shop-content .product-bottom .product-action a:hover {
    background: var(--brand-brown);

    border-color: var(--brand-brown);

    color: var(--white);
}


/* ==========================================================
   PRODUCT GROUP LABEL
========================================================== */

.product-group-label {
    margin-bottom: 7px;

    font-size: 10px;
    font-weight: 600;

    letter-spacing: 1.2px;
    text-transform: uppercase;

    line-height: 1.3;
}

.product-group-series {
    color: var(--primary);
}

.product-group-signature {
    color: var(--brown);
}


/* ==========================================================
   SHOP PAGINATION
========================================================== */

.shop-content .pagination {
    display: flex;

    justify-content: center;
    align-items: center;

    gap: 8px;

    width: 100%;

    margin-top: 64px;

    padding: 0;
}


/* PAGINATION BUTTON */

.shop-content .pagination a {
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border: 1px solid var(--border);

    border-radius: 50%;

    background: transparent;

    color: var(--text-soft);

    text-decoration: none;

    font-family: "Poppins", sans-serif;

    font-size: 12px;
    font-weight: 500;

    opacity: 1;
    visibility: visible;

    transition:
        background var(--transition),
        border-color var(--transition),
        color var(--transition);
}


/* HOVER */

.shop-content .pagination a:hover {
    background: var(--background-beige);

    border-color: var(--brand-beige);

    color: var(--brand-brown);
}


/* ACTIVE */

.shop-content .pagination a.active {
    display: flex;

    background: var(--brand-brown);

    border-color: var(--brand-brown);

    color: var(--white);

    opacity: 1;
    visibility: visible;
}


/* DISABLED */

.shop-content .pagination a.disabled {
    opacity: .35;

    pointer-events: none;
}


/* ==========================================================
   15. SHOP RESPONSIVE
========================================================== */


/* SHOP TABLET */

@media (max-width: 1024px) {

    .shop-wrapper {
        grid-template-columns: 1fr;

        gap: 40px;
    }


    .shop-sidebar {
        position: static;
    }


    .shop-content .product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* SHOP MOBILE */

@media (max-width: 768px) {

    .shop-page {
        padding: 60px 0;
    }


    /* SHOP HERO */

    .shop-hero {
        min-height: 250px;
    }


    .shop-hero h1 {
        font-size: 42px;
    }


    .shop-hero p {
        font-size: 14px;

        max-width: 90%;
    }


    /* SHOP TOP */

    .shop-top {
        flex-direction: column;

        align-items: flex-start;

        gap: 18px;

        margin-bottom: 35px;
    }


    .shop-top select {
        width: 100%;
    }


    /* SHOP GRID */

    .shop-content .product-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    /* SHOP PRODUCT TITLE */

    .shop-content .product-info h3 {
        font-size: 27px;
    }


    /* SHOP WISHLIST */

    .shop-content .wishlist-btn {
        opacity: 1;
        visibility: visible;
    }

}


/* ==========================================================
   16. PRODUCT DETAIL PAGE
========================================================== */

.product-detail {
    padding: 64px 0 100px;

    background: var(--white);
}


/* ==========================================================
   17. PRODUCT BREADCRUMB
========================================================== */

.product-breadcrumb {
    margin-top: var(--header-height);

    padding: 20px 0;

    background: var(--white);

    border-bottom: 1px solid rgba(49, 38, 19, 0.10);
}


/* BREADCRUMB NAVIGATION */

.product-breadcrumb nav {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 9px;
}


/* BREADCRUMB LINK */

.product-breadcrumb a {
    text-decoration: none;

    color: rgba(49, 38, 19, 0.55);

    font-size: 14px;

    transition: color var(--transition);
}


.product-breadcrumb a:hover {
    color: var(--brown);
}


/* BREADCRUMB CURRENT */

.product-breadcrumb span {
    color: var(--brown);

    font-weight: 500;
}


/* BREADCRUMB ICON */

.product-breadcrumb i {
    font-size: 14px;

    color: rgba(49, 38, 19, 0.35);
}


/* ==========================================================
   18. PRODUCT DETAIL LAYOUT
========================================================== */

.product-detail-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(360px, .92fr);

    gap: 72px;

    align-items: start;
}


/* ==========================================================
   19. PRODUCT GALLERY
========================================================== */

.product-gallery {
    display: grid;

    grid-template-columns:
        76px
        minmax(0, 1fr);

    gap: 16px;

    position: sticky;

    top: 110px;

    align-items: start;
}


/* ==========================================================
   20. PRODUCT THUMBNAIL
========================================================== */

.product-thumbnail {
    display: flex;

    flex-direction: column;

    gap: 10px;
}


.product-thumbnail img {
    width: 76px;
    height: 96px;

    object-fit: cover;

    border-radius: 8px;

    cursor: pointer;

    border: 1px solid transparent;

    opacity: .72;

    transition:
        opacity var(--transition),
        border-color var(--transition);
}


.product-thumbnail img:hover {
    opacity: 1;

    border-color: var(--brand-beige);
}


.product-thumbnail img.active {
    opacity: 1;

    border-color: var(--brand-brown);
}


/* ==========================================================
   21. PRODUCT MAIN IMAGE
========================================================== */

.product-main-image {
    background: var(--background-beige);

    border-radius: 18px;

    overflow: hidden;
}


.product-main-image img {
    width: 100%;

    display: block;
}


/* ==========================================================
   22. PRODUCT INFORMATION
========================================================== */

.product-detail-info {
    display: flex;

    flex-direction: column;

    align-self: start;

    padding-top: 4px;
}


/* PRODUCT LABEL */

.product-label {
    display: inline-block;

    margin-bottom: 10px;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 2.2px;

    text-transform: uppercase;

    color: var(--primary);
}


/* PRODUCT TITLE */

.product-title {
    font-family: "Cormorant Garamond", serif;

    font-size: 50px;
    font-weight: 500;

    line-height: 1.02;

    color: var(--black);

    margin-bottom: 14px;
}


/* ==========================================================
   23. PRODUCT REVIEW
========================================================== */

.product-review {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 22px;
}


.product-stars {
    display: flex;

    gap: 2px;
}


.product-stars i {
    color: var(--primary);

    font-size: 12px;
}


.product-review span {
    color: var(--text-soft);

    font-size: 11px;

    letter-spacing: .3px;
}


/* ==========================================================
   24. PRODUCT PRICE
========================================================== */

.product-price {
    margin-bottom: 22px;

    font-family: "Poppins", sans-serif;

    font-size: 24px;
    font-weight: 500;

    color: var(--brand-brown);
}


/* ==========================================================
   25. PRODUCT SHORT DESCRIPTION
========================================================== */

.product-short-desc {
    max-width: 520px;

    margin-bottom: 32px;

    font-size: 13px;

    line-height: 1.85;

    color: var(--text-soft);
}


/* ==========================================================
   PRODUCT OPTIONS
========================================================== */

.product-option {
    margin-bottom: 26px;
}


.product-option h4 {
    margin-bottom: 12px;

    font-family: "Poppins", sans-serif;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: 1px;

    text-transform: uppercase;

    color: var(--black);
}


/* LAST PRODUCT OPTION */

.product-option:last-of-type {
    margin-bottom: 42px;
}


/* ==========================================================
   PRODUCT COLOR
========================================================== */

.color-list {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}


.color-item {
    width: 30px;
    height: 30px;

    border-radius: 50%;

    border: 1px solid var(--border);

    cursor: pointer;

    position: relative;

    transition:
        border-color var(--transition),
        transform var(--transition);
}


.color-item:hover {
    transform: scale(1.05);
}


.color-item.active {
    border-color: var(--brand-brown);

    box-shadow:
        0 0 0 3px var(--white),
        0 0 0 4px var(--brand-brown);
}

/* ==========================================================
   28. PRODUCT COLOR OPTIONS
   ----------------------------------------------------------
   These represent the actual available product colors.
========================================================== */

.color-ivory {
    background: #ddd2bd;
}


.color-mocha {
    background: #312613;
}


.color-black {
    background: #000000;
}


/* ==========================================================
   PRODUCT SIZE
========================================================== */

.size-list {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


.size-item {
    min-width: 42px;
    height: 38px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 0 12px;

    border: 1px solid var(--border);

    border-radius: 8px;

    background: var(--white);

    color: var(--text);

    font-size: 11px;
    font-weight: 500;

    cursor: pointer;

    transition:
        background var(--transition),
        border-color var(--transition),
        color var(--transition);
}


.size-item:hover {
    border-color: var(--brand-brown);
}


.size-item.active {
    background: var(--brand-brown);

    border-color: var(--brand-brown);

    color: var(--white);
}


/* ==========================================================
   PRODUCT QUANTITY
========================================================== */

.quantity-wrapper {
    display: inline-flex;

    align-items: center;

    height: 42px;

    border: 1px solid var(--border);

    border-radius: 8px;

    overflow: hidden;

    background: var(--white);
}


.qty-btn {
    width: 40px;
    height: 40px;

    border: none;

    background: transparent;

    color: var(--black);

    font-size: 16px;

    cursor: pointer;
}


.qty-input {
    width: 44px;
    height: 40px;

    border: none;

    outline: none;

    text-align: center;

    background: transparent;

    color: var(--black);

    font-size: 12px;
    font-weight: 500;
}

/* REMOVE NUMBER INPUT ARROWS */

.qty-input::-webkit-inner-spin-button,
.qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.qty-input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}


/* ==========================================================
   PRODUCT BUTTONS
========================================================== */

.product-buttons {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin:
        8px 0
        30px;
}


.add-cart-btn,
.buy-now-btn {
    position: relative;

    min-height: 48px;

    padding: 0 20px;

    border-radius: var(--radius-pill);

    font-family: "Poppins", sans-serif;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: .4px;

    cursor: pointer;

    overflow: hidden;

    transition:
        background var(--transition),
        border-color var(--transition),
        color var(--transition);
}


/* ADD TO CART */

.add-cart-btn {
    background: var(--brand-brown);

    border: 1px solid var(--brand-brown);

    color: var(--white);
}


.add-cart-btn:hover {
    background: var(--brand-brown);

    border-color: var(--brand-brown);
}


/* BUY NOW */

.buy-now-btn {
    background: transparent;

    border: 1px solid var(--brand-brown);

    color: var(--brand-brown);
}


.buy-now-btn:hover {
    background: var(--background-beige);

    color: var(--brand-brown);
}


/* ==========================================================
   32. ADD TO CART
========================================================== */

.add-cart-btn {
    background: var(--white);

    border: 1px solid var(--brown);

    color: var(--brown);
}


/* ADD TO CART HOVER */

.add-cart-btn:hover {
    background: var(--brown);

    color: var(--white);

    transform: translateY(-2px);
}


/* ==========================================================
   33. BUY NOW
========================================================== */

.buy-now-btn {
    background: var(--brown);

    color: var(--white);

    border: 1px solid var(--brown);
}


/* BUY NOW HOVER */

.buy-now-btn:hover {
    background: var(--primary);

    border-color: var(--primary);

    color: var(--white);

    transform: translateY(-2px);
}


/* ==========================================================
   34. PRODUCT BUTTON SHINE EFFECT
========================================================== */

.add-cart-btn::before,
.buy-now-btn::before {
    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 100%;
    height: 100%;

    background:
        rgba(254, 254, 254, 0.18);

    transform: skewX(-25deg);

    transition: left 0.55s ease;
}


/* BUTTON SHINE ON HOVER */

.add-cart-btn:hover::before,
.buy-now-btn:hover::before {
    left: 130%;
}


/* ==========================================================
   PRODUCT META
========================================================== */

.product-meta {
    margin-top: 4px;

    padding-top: 20px;

    border-top: 1px solid var(--border);
}


.meta-row {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 24px;

    padding: 10px 0;

    border-bottom:
        1px solid rgba(122, 109, 98, .08);
}


.meta-row:last-child {
    border-bottom: none;
}


.meta-row span {
    color: var(--text-soft);

    font-size: 11px;
}


.meta-row strong,
.meta-row a {
    color: var(--text);

    font-size: 11px;

    font-weight: 500;

    text-decoration: none;
}


/* ==========================================================
   36. PRODUCT DETAIL SMOOTH TRANSITION
========================================================== */

.product-detail a,
.product-detail button,
.product-detail img,
.product-detail input,
.product-detail .color-item,
.product-detail .size-item {
    transition:
        background var(--transition),
        border-color var(--transition),
        color var(--transition),
        transform var(--transition),
        box-shadow var(--transition);
}


/* ==========================================================
   37. PRODUCT DESCRIPTION SECTION
   Minimal Editorial
========================================================== */

.product-description {
    padding: 90px 0 100px;

    background: var(--background-beige);

    border-top:
        1px solid rgba(122, 109, 98, .08);
}


/* CONTENT BOX */

.product-content-box {
    max-width: 820px;

    margin: 0 auto;

    padding: 0;

    background: transparent;

    border: none;

    border-radius: 0;
}


/* ==========================================================
   38. PRODUCT TABS
========================================================== */

.product-tabs {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 30px;

    margin-bottom: 54px;

    border-bottom:
        1px solid rgba(122, 109, 98, .15);
}


.tab-btn {
    position: relative;

    padding:
        0 0
        15px;

    border: none;

    border-radius: 0;

    background: transparent;

    color: var(--text-soft);

    font-family: "Poppins", sans-serif;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: .5px;

    cursor: pointer;
}


.tab-btn::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -1px;

    width: 0;
    height: 1px;

    background: var(--brand-brown);

    transition: width var(--transition);
}


.tab-btn:hover {
    background: transparent;

    color: var(--brand-brown);
}


.tab-btn:hover::after {
    width: 100%;
}


.tab-btn.active {
    background: transparent;

    border-color: transparent;

    color: var(--brand-brown);
}


.tab-btn.active::after {
    width: 100%;
}


/* ==========================================================
   39. PRODUCT CONTENT HEADING
========================================================== */

.content-heading {
    text-align: center;

    margin-bottom: 28px;
}


.content-heading .section-subtitle {
    display: block;

    margin-bottom: 8px;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    font-size: 9px;

    color: var(--primary);

    font-weight: 500;
}


.content-heading .section-title {
    font-family: "Cormorant Garamond", serif;

    font-size: 34px;

    font-weight: 500;

    line-height: 1.15;

    color: var(--black);
}


/* ==========================================================
   PRODUCT DETAIL CONTENT TEXT
========================================================== */

.product-content-box p {
    max-width: 720px;

    margin:
        0 auto
        18px;

    font-size: 13px;

    line-height: 1.9;

    color: var(--text-soft);

    text-align: center;
}


.product-content-box p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   41. PRODUCT INFORMATION SECTION
========================================================== */

.product-information {
    padding: 80px 0;

    background: var(--white);
}


.product-information .section-head {
    text-align: center;

    margin-bottom: 40px;
}


.product-information .section-subtitle {
    display: block;

    margin-bottom: 8px;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    font-size: 9px;
    font-weight: 500;

    color: var(--primary);
}


.product-information .section-title {
    font-family: "Cormorant Garamond", serif;

    font-size: 38px;
    font-weight: 500;

    color: var(--black);
}


/* ==========================================================
   42. SIZE GUIDE
========================================================== */

.product-size-guide {
    padding: 80px 0;

    background: var(--background-beige);
}


.product-size-guide .section-head {
    text-align: center;

    margin-bottom: 40px;
}


.product-size-guide .section-subtitle {
    display: block;

    margin-bottom: 8px;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    font-size: 9px;
    font-weight: 500;

    color: var(--primary);
}


.product-size-guide .section-title {
    font-family: "Cormorant Garamond", serif;

    font-size: 38px;
    font-weight: 500;

    color: var(--black);
}


/* TABLE WRAPPER */

.size-guide-table {
    width: 100%;

    overflow-x: auto;
}


/* TABLE */

.size-guide-table table {
    width: 100%;

    border-collapse: collapse;

    background: transparent;
}


.size-guide-table th,
.size-guide-table td {
    padding: 14px 16px;

    border: none;

    border-bottom: 1px solid var(--border);

    text-align: center;

    font-size: 12px;
}


.size-guide-table th {
    background: transparent;

    color: var(--brand-brown);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: .7px;

    text-transform: uppercase;
}


.size-guide-table td {
    color: var(--text-soft);
}


/* ==========================================================
   43. RELATED PRODUCTS
========================================================== */

.related-product {
    padding: 100px 0;

    background: var(--white);

    border-top:
        1px solid var(--border);
}


/* RELATED SECTION HEAD */

.related-product .section-head {
    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    margin-bottom: 55px;

    gap: 30px;
}


/* RELATED SUBTITLE */

.related-product .section-subtitle {
    display: block;

    margin-bottom: 8px;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    font-size: 9px;

    font-weight: 500;

    color: var(--primary);
}


/* RELATED TITLE */

.related-product .section-title {
    font-family: "Cormorant Garamond", serif;

    font-size: 42px;

    font-weight: 500;

    color: var(--black);
}


/* ==========================================================
   44. RELATED PRODUCT VIEW ALL
========================================================== */

.related-product .view-all {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    text-decoration: none;

    color: var(--brown);

    font-size: 14px;

    font-weight: 500;

    transition: color var(--transition);
}


.related-product .view-all:hover {
    color: var(--primary);
}


/* VIEW ALL ICON */

.related-product .view-all i {
    transition: transform var(--transition);
}


.related-product .view-all:hover i {
    transform: translateX(5px);
}


/* ==========================================================
   45. RELATED PRODUCT GRID
========================================================== */

.related-product .product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 10px;
}


/* ==========================================================
   46. RELATED PRODUCT CARD
========================================================== */

.related-product .product-card {
    border: none;

    background: var(--white);

    box-shadow: none;

    transition: transform var(--transition);
}


.related-product .product-card:hover {
    border-color: transparent;

    transform: translateY(-3px);

    box-shadow: none;
}


/* ==========================================================
   47. RELATED PRODUCT IMAGE
========================================================== */

.related-product .product-image {
    background: var(--beige);

    overflow: hidden;
}


.related-product .product-image img {
    width: 100%;

    display: block;

    transition: transform 0.45s ease;
}


.related-product .product-card:hover img {
    transform: scale(1.04);
}


/* ==========================================================
   48. RELATED PRODUCT INFO
========================================================== */

.related-product .product-info {
    padding: 24px 18px 18px;
}


/* RELATED PRODUCT PRICE */

.related-product .price {
    margin-bottom: 16px;
}

/* RELATED PRODUCT BOTTOM */

.related-product .product-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 100%;

    margin-top: auto;
    padding-top: 14px;
}


/* RELATED PRODUCT ACTION */

.related-product .product-action {
    position: static;

    left: auto;
    right: auto;
    top: auto;
    bottom: auto;

    display: flex;

    width: 100%;
    height: auto;

    margin: 0;

    opacity: 1;
    visibility: visible;

    transform: none;

    transition: none;

    z-index: auto;
}


/* KEEP RELATED ACTION STATIC ON HOVER */

.related-product .product-card:hover .product-action {
    opacity: 1;
    visibility: visible;
    transform: none;
}


/* RELATED PRODUCT VIEW DETAILS */

.related-product .product-action a {
    width: auto;
    height: 38px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 18px;

    border: 1px solid var(--brand-brown);
    border-radius: var(--radius-pill);

    background: transparent;

    box-shadow: none;

    color: var(--brand-brown);

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .5px;
    text-transform: uppercase;

    transition:
        background var(--transition),
        color var(--transition);
}


/* RELATED PRODUCT VIEW DETAILS HOVER */

.related-product .product-action a:hover {
    background: var(--brand-brown);
    color: var(--white);
}

/* ==========================================================
   49. PRODUCT DETAIL RESPONSIVE
========================================================== */


/* ----------------------------------------------------------
   TABLET
---------------------------------------------------------- */

@media (max-width: 992px) {

    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .product-gallery {
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
    }

    .product-detail-info {
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
    }

    .product-title {
        font-size: 44px;
    }

    .product-price {
        font-size: 30px;
    }

    .related-product .section-head {
        flex-direction: column;
        align-items: flex-start;
    }

}


/* ----------------------------------------------------------
   MOBILE
---------------------------------------------------------- */

@media (max-width: 768px) {

    /* PRODUCT DETAIL */

    .product-detail {
        padding: 42px 0 70px;
    }


    /* PRODUCT DETAIL GRID */

    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }


    /* PRODUCT GALLERY */

    .product-gallery {
        display: flex;
        flex-direction: column-reverse;

        gap: 14px;

        position: static;

        max-width: 100%;
        margin: 0;
    }


    /* PRODUCT THUMBNAILS */

    .product-thumbnail {
        flex-direction: row;

        justify-content: flex-start;

        flex-wrap: wrap;

        gap: 8px;
    }

    .product-thumbnail img {
        width: 62px;
        height: 80px;

        border-radius: 7px;
    }


    /* PRODUCT TITLE */

    .product-title {
        font-size: 38px;
    }


    /* PRODUCT PRICE */

    .product-price {
        font-size: 26px;
    }


    /* PRODUCT BUTTONS */

    .product-buttons {
        grid-template-columns: 1fr;
    }


    /* PRODUCT DESCRIPTION SECTION */

    .product-description {
        padding: 70px 0 80px;
    }


    /* PRODUCT TABS */

    .product-tabs {
        justify-content: flex-start;

        gap: 22px;

        overflow-x: auto;

        flex-wrap: nowrap;
    }

    .tab-btn {
        flex-shrink: 0;
    }


    /* PRODUCT CONTENT TITLE */

    .content-heading .section-title {
        font-size: 30px;
    }


    /* PRODUCT FEATURES */

    .product-feature-grid {
        grid-template-columns: 1fr;
    }


    /* RELATED PRODUCT */

    .related-product .section-title {
        font-size: 36px;
    }


    /* PRODUCT META */

    .meta-row {
        gap: 20px;
    }

}


/* ----------------------------------------------------------
   SMALL MOBILE
---------------------------------------------------------- */

@media (max-width: 576px) {

    /* BREADCRUMB */

    .product-breadcrumb {
        padding: 17px 0;
    }


    /* PRODUCT DETAIL */

    .product-detail {
        padding: 36px 0 60px;
    }


    /* PRODUCT TITLE */

    .product-title {
        font-size: 32px;
    }


    /* PRODUCT DESCRIPTION */

    .product-short-desc {
        font-size: 14px;
    }


    /* PRODUCT PRICE */

    .product-price {
        font-size: 24px;
    }


    /* MAIN PRODUCT IMAGE */

    .product-main-image {
        border-radius: 14px;
    }


    /* PRODUCT THUMBNAILS */

    .product-thumbnail img {
        width: 58px;
        height: 74px;
    }


    /* PRODUCT TABS */

    .product-tabs {
        gap: 18px;
    }


    /* SIZE GUIDE TABLE */

    .size-guide-table {
        overflow-x: auto;
    }

    .size-guide-table table {
        min-width: 520px;
    }


    /* META ROW */

    .meta-row {
        align-items: flex-start;

        flex-direction: column;

        gap: 5px;
    }

}


/* ==========================================================
   END OF SHOP + PRODUCT DETAIL STYLES
========================================================== */


/* ==========================================================
   MOUVA WEBSITE
   EVENT + CONTACT PAGE STYLES
   ----------------------------------------------------------
   01. EVENT PAGE
   02. EVENT FOUNDATION
   03. EVENT HERO
   04. UPCOMING EVENTS
   05. UPCOMING EVENT GRID
   06. UPCOMING EVENT CARD
   07. UPCOMING EVENT IMAGE
   08. UPCOMING EVENT CONTENT
   09. PAST EVENTS
   10. PAST EVENT GRID
   11. PAST EVENT CARD
   12. PAST EVENT IMAGE
   13. PAST EVENT CONTENT
   14. EVENT CTA
   15. EVENT RESPONSIVE

   16. CONTACT PAGE
   17. CONTACT HERO
   18. CONTACT INFORMATION
   19. CONTACT CARDS
   20. CONTACT FORM & LOCATION
   21. CONTACT FORM
   22. CONTACT LOCATION
   23. CONTACT FAQ
   24. CONTACT RESPONSIVE

   ----------------------------------------------------------
   COLOR SYSTEM
   ----------------------------------------------------------
   Primary Black : #000000
   Dark Brown   : #312613
   Beige        : #ddd2bd
   Off White    : #fefefe
========================================================== */


/* =========================================================
   EVENT PAGE
   Mouva Event Page
   Palette:
   Black      #000000
   Dark Brown #312613
   Beige      #ddd2bd
   Off White  #fefefe
   ========================================================= */


/* ==========================================================
   EVENT PAGE
   ----------------------------------------------------------
   MOUVA EVENT — EDITORIAL / LUXURY
========================================================== */


/* ==========================================================
   01. EVENT FOUNDATION
========================================================== */

.events-section,
.event-cta {
    font-family: "Poppins", sans-serif;
}


/* ==========================================================
   02. EVENT HERO
========================================================== */

.event-hero {
    position: relative;

    width: 100%;
    height: 68vh;
    min-height: 560px;

    overflow: hidden;

    background: var(--background-beige);
}

.event-hero img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}


/* ==========================================================
   03. EVENT HERO OVERLAY
========================================================== */

.event-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 70px 24px;

    text-align: center;

    background:
    linear-gradient(
        180deg,
        rgba(34, 34, 34, .10) 0%,
        rgba(74, 59, 48, .18) 48%,
        rgba(74, 59, 48, .48) 100%
    );
}


/* HERO EYEBROW */

.event-overlay .section-subtitle {
    margin-bottom: 18px;

    color: var(--brand-cream);

    font-size: 10px;
    font-weight: 500;

    letter-spacing: 3px;

    text-transform: uppercase;
}


/* HERO TITLE */

.event-overlay h1 {
    max-width: 850px;

    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(58px, 7vw, 92px);
    font-weight: 500;

    line-height: .92;

    letter-spacing: -1.5px;

    color: var(--white);
}


/* HERO DESCRIPTION */

.event-overlay p {
    max-width: 610px;

    margin: 26px auto 0;

    font-size: 13px;
    font-weight: 300;

    line-height: 1.9;

    color: rgba(255, 255, 255, .82);
}


/* ==========================================================
   04. EVENT SECTIONS
========================================================== */

.events-section {
    padding: 105px 0;
}


/* UPCOMING */

.upcoming-events {
    background: var(--white);
}


/* PREVIOUS */

.previous-events {
    background: var(--background-beige);

    border-top: 1px solid var(--border);
}


/* ==========================================================
   05. EVENT SECTION HEADER
========================================================== */

.events-section .section-header {
    width: min(720px, calc(100% - 48px));

    margin: 0 auto 58px;

    text-align: center;
}


/* EYEBROW */

.events-section .section-eyebrow {
    display: block;

    margin-bottom: 10px;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 2.6px;

    line-height: 1.5;

    text-transform: uppercase;

    color: var(--primary);
}


/* TITLE */

.events-section .section-title {
    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: 48px;
    font-weight: 500;

    line-height: .98;

    letter-spacing: -.5px;

    color: var(--black);
}


/* DESCRIPTION */

.events-section .section-description {
    max-width: 570px;

    margin: 18px auto 0;

    font-size: 12px;
    font-weight: 400;

    line-height: 1.85;

    color: var(--text-soft);
}


/* ==========================================================
   06. EVENT GRID
========================================================== */

.events-grid {
    display: flex;

    width: min(1300px, calc(100% - 80px));

    margin: 0 auto;

    gap: 24px;

    overflow-x: auto;
    overflow-y: hidden;

    padding: 4px 2px 24px;

    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;

    -webkit-overflow-scrolling: touch;

    scrollbar-width: thin;

    scrollbar-color:
        var(--brand-beige)
        transparent;
}


/* SCROLLBAR */

.events-grid::-webkit-scrollbar {
    height: 4px;
}

.events-grid::-webkit-scrollbar-track {
    background: transparent;
}

.events-grid::-webkit-scrollbar-thumb {
    background: var(--brand-beige);

    border-radius: var(--radius-pill);
}


/* ==========================================================
   07. EVENT CARD
========================================================== */

.event-card {
    position: relative;

    flex: 0 0 350px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: var(--white);

    border:
        1px solid var(--border);

    border-radius: 18px;

    scroll-snap-align: start;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* CARD HOVER */

.event-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(174, 149, 127, .20);

    box-shadow:
        0 18px 42px rgba(75, 70, 49, .07);
}


/* ==========================================================
   08. EVENT IMAGE
========================================================== */

.event-image {
    position: relative;

    width: 100%;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: var(--background-beige);
}

.event-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    transition:
        transform .55s ease;
}

.event-card:hover .event-image img {
    transform: scale(1.025);
}


/* ==========================================================
   09. EVENT CONTENT
========================================================== */

.event-content {
    display: flex;
    flex-direction: column;

    flex: 1;

    padding: 25px 25px 27px;
}


/* ==========================================================
   10. EVENT DATE
========================================================== */

.event-date {
    display: block;

    margin-bottom: 9px;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: 1.5px;

    line-height: 1.5;

    text-transform: uppercase;

    color: var(--primary);
}


/* ==========================================================
   11. EVENT TITLE
========================================================== */

.event-title {
    margin: 0 0 17px;

    font-family: "Cormorant Garamond", serif;

    font-size: 28px;
    font-weight: 500;

    line-height: 1.05;

    color: var(--black);
}


/* ==========================================================
   12. EVENT INFORMATION
========================================================== */

.event-location,
.event-booth,
.event-time {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    margin-bottom: 8px;

    font-size: 11px;
    font-weight: 400;

    line-height: 1.65;

    color: var(--text-soft);
}

.event-time {
    margin-bottom: 0;
}


/* ICON FROM HTML */

.event-location i,
.event-booth i,
.event-time i {
    flex-shrink: 0;

    margin-top: 2px;

    font-size: 14px;

    color: var(--brand-taupe);
}


/* REMOVE OLD GENERATED ICON */

.event-location::before,
.event-booth::before,
.event-time::before {
    display: none;

    content: none;
}


/* ==========================================================
   13. PREVIOUS EVENTS
========================================================== */

.previous-events .event-card {
    background: var(--white);

    border-color: var(--border);
}

.previous-events .event-image {
    background: var(--background-beige);
}


/* PREVIOUS DATE — slightly quieter */

.previous-events .event-date {
    color: var(--primary);
}


/* ==========================================================
   14. EVENT CTA
========================================================== */

.event-cta {
    position: relative;

    overflow: hidden;

    padding: 105px 24px;

    text-align: center;

    background: var(--white);

    border-top: 1px solid var(--border);
}


/* SMALL DECORATIVE LIGHT */

.event-cta::before {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    top: -260px;
    left: 50%;

    transform: translateX(-50%);

    border-radius: 50%;

    background:
    
    rgba(207, 173, 149, .10);

    pointer-events: none;
}

.event-cta .container {
    position: relative;

    z-index: 1;
}


/* CTA EYEBROW */

.event-cta .section-subtitle {
    margin-bottom: 13px;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 2.7px;

    color: var(--primary);
}


/* CTA TITLE */

.event-cta h2 {
    max-width: 700px;

    margin: 0 auto 18px;

    font-family: "Cormorant Garamond", serif;

    font-size: 50px;
    font-weight: 500;

    line-height: .98;

    color: var(--black);
}


/* CTA DESCRIPTION */

.event-cta p {
    max-width: 540px;

    margin: 0 auto 30px;

    font-size: 12px;
    font-weight: 300;

    line-height: 1.85;

    color: 
        var(--text-soft);
}


/* ==========================================================
   15. EVENT CTA BUTTON
========================================================== */

.event-cta .campaign-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 0 25px;

    border:
        1px solid rgba(255, 249, 239, .65);

    border-radius: var(--radius-pill);

    background: var(--brand-cream);

    color: var(--brand-olive);

    font-family: "Poppins", sans-serif;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: .7px;

    text-transform: uppercase;

    transition:
        background var(--brand-brown),
        color var(--brand-brown),
        border-color var(--white);
}

.event-cta .campaign-btn:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}


/* ==========================================================
   16. EVENT RESPONSIVE — TABLET
========================================================== */

@media (max-width: 900px) {

    .event-hero {
        height: 60vh;

        min-height: 480px;
    }

    .event-overlay {
        padding:
            60px 30px;
    }

    .event-overlay h1 {
        font-size:
            clamp(54px, 9vw, 76px);
    }

    .events-section {
        padding:
            85px 0;
    }

    .events-section .section-header {
        margin-bottom:
            45px;
    }

    .events-grid {
        width:
            calc(100% - 48px);

        gap:
            20px;
    }

    .event-card {
        flex-basis:
            320px;
    }

    .event-content {
        padding:
            23px 23px 25px;
    }

    .event-cta {
        padding:
            85px 24px;
    }

}


/* ==========================================================
   17. EVENT RESPONSIVE — MOBILE
========================================================== */

@media (max-width: 600px) {

    .event-hero {
        height:
            58vh;

        min-height:
            430px;
    }

    .event-overlay {
        padding:
            40px 22px;
    }

    .event-overlay .section-subtitle {
        margin-bottom:
            14px;

        font-size:
            8px;

        letter-spacing:
            2.2px;
    }

    .event-overlay h1 {
        font-size:
            clamp(46px, 13vw, 60px);

        line-height:
            .94;
    }

    .event-overlay p {
        margin-top:
            20px;

        max-width:
            430px;

        font-size:
            11px;

        line-height:
            1.75;
    }

    .events-section {
        padding:
            68px 0;
    }

    .events-section .section-header {
        width:
            calc(100% - 40px);

        margin-bottom:
            35px;
    }

    .events-section .section-eyebrow {
        margin-bottom:
            8px;

        font-size:
            8px;

        letter-spacing:
            2px;
    }

    .events-section .section-title {
        font-size:
            39px;
    }

    .events-section .section-description {
        margin-top:
            14px;

        font-size:
            11px;

        line-height:
            1.75;
    }

    .events-grid {
        width:
            calc(100% - 32px);

        gap:
            15px;

        padding-bottom:
            18px;
    }

    .event-card {
        flex-basis:
            calc(100vw - 64px);

        max-width:
            340px;

        border-radius:
            15px;
    }

    .event-content {
        padding:
            21px 20px 23px;
    }

    .event-date {
        margin-bottom:
            8px;

        font-size:
            8px;
    }

    .event-title {
        margin-bottom:
            14px;

        font-size:
            26px;
    }

    .event-location,
    .event-booth,
    .event-time {
        gap:
            8px;

        font-size:
            10px;
    }

    .event-location i,
    .event-booth i,
    .event-time i {
        font-size:
            13px;
    }

    .event-cta {
        padding:
            70px 20px;
    }

    .event-cta h2 {
        font-size:
            40px;
    }

    .event-cta p {
        font-size:
            11px;
    }

    .event-cta .campaign-btn {
        width:
            100%;

        max-width:
            270px;
    }

}


/* ==========================================================
   18. EVENT RESPONSIVE — SMALL MOBILE
========================================================== */

@media (max-width: 380px) {

    .event-card {
        flex-basis:
            calc(100vw - 48px);
    }

    .event-content {
        padding:
            19px;
    }

    .event-title {
        font-size:
            24px;
    }

}


/* ==========================================================
   16. CONTACT PAGE
========================================================== */


/* ==========================================================
   17. CONTACT HERO
========================================================== */

.contact-hero {
    position: relative;

    width: 100%;
    height: 68vh;
    min-height: 560px;

    overflow: hidden;

    background: var(--background-beige);
}

.contact-hero img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

.contact-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px 8%;

    background:
        linear-gradient(
            90deg,
            rgba(34, 34, 34, .42) 0%,
            rgba(74, 59, 48, .22) 45%,
            rgba(74, 59, 48, 0) 75%
        );

    color: var(--white);
}

.contact-overlay .section-subtitle {
    display: block;

    margin-bottom: 16px;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: 3px;
    text-transform: uppercase;

    color: var(--brand-cream);
}

.contact-overlay h1 {
    max-width: 680px;

    margin: 0 0 20px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(58px, 7vw, 82px);
    font-weight: 500;

    line-height: .95;
    letter-spacing: -1px;

    color: var(--white);
}

.contact-overlay p {
    max-width: 560px;

    margin: 0;

    font-size: 13px;
    font-weight: 300;

    line-height: 1.85;

    color: rgba(255, 255, 255, .84);
}


/* CONTACT HERO IMAGE */

.contact-hero img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;
}


/* CONTACT HERO OVERLAY */

.contact-overlay {
    position: absolute;

    inset: 0;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 60px 8%;

    background:
        linear-gradient(
            90deg,
            rgba(49, 38, 19, 0.50) 0%,
            rgba(49, 38, 19, 0.22) 45%,
            rgba(49, 38, 19, 0) 75%
        );

    color: var(--white);
}


/* CONTACT HERO SUBTITLE */

.contact-overlay .section-subtitle {
    display: block;

    margin-bottom: 16px;

    font-family: "Poppins", sans-serif;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    color: var(--white);
}


/* CONTACT HERO TITLE */

.contact-overlay h1 {
    max-width: 680px;

    margin: 0 0 20px;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(48px, 6vw, 76px);

    font-weight: 500;

    line-height: 0.98;

    color: var(--white);
}


/* CONTACT HERO DESCRIPTION */

.contact-overlay p {
    max-width: 570px;

    margin: 0;

    font-family: "Poppins", sans-serif;

    font-size: 14px;
    font-weight: 300;

    line-height: 1.8;

    color: rgba(254, 254, 254, 0.92);
}


/* ==========================================================
   18. CONTACT INFORMATION
========================================================== */

.contact-info {
    padding: 90px 0 100px;

    background: var(--white);
}

.contact-info .container {
    width: min(1200px, calc(100% - 40px));

    margin: 0 auto;
}

.contact-info-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 0;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


/* ==========================================================
   19. CONTACT CARDS
========================================================== */

.contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;

    min-width: 0;

    padding: 48px 36px;

    text-align: center;

    background: transparent;

    border: none;
    border-right: 1px solid var(--border);
}

.contact-card:last-child {
    border-right: none;
}

.contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    margin-bottom: 22px;

    border: 1px solid var(--border-brand);
    border-radius: 50%;

    color: var(--brand-brown);
}

.contact-icon i {
    font-size: 18px;
}

.contact-card h3 {
    margin: 0 0 10px;

    font-family: "Cormorant Garamond", serif;

    font-size: 29px;
    font-weight: 500;

    line-height: 1.05;

    color: var(--black);
}

.contact-card p {
    max-width: 260px;

    margin: 0 0 18px;

    font-size: 12px;
    font-weight: 300;

    line-height: 1.75;

    color: var(--text-soft);
}

.contact-card a {
    font-size: 10px;
    font-weight: 500;

    letter-spacing: .7px;
    text-transform: uppercase;

    color: var(--brand-brown);

    text-decoration: none;

    transition: color var(--transition);
}

.contact-card a:hover {
    color: var(--primary);
}


/* ==========================================================
   20. CONTACT FORM & LOCATION
========================================================== */

.contact-section {
    padding: 110px 0 120px;

    background: var(--beige);
}


/* CONTACT SECTION CONTAINER */

.contact-section .container {
    width: min(1200px, calc(100% - 40px));

    margin: 0 auto;
}


/* CONTACT MAIN GRID */

.contact-wrapper {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(0, 0.95fr);

    gap: 60px;

    align-items: start;
}


/* CONTACT FORM BOX */

.contact-form-box,
.contact-location {
    min-width: 0;

    padding: 46px 42px;

    background: var(--white);

    border: 1px solid var(--border);

    border-radius: 18px;
}


/* CONTACT SECTION SUBTITLE */

.contact-form-box .section-subtitle,
.contact-location .section-subtitle {
    display: block;

    margin-bottom: 10px;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: var(--primary);
}


/* CONTACT SECTION TITLE */

.contact-form-box .section-title,
.contact-location .section-title {
    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(38px, 4vw, 48px);
    font-weight: 500;

    line-height: 1;

    color: var(--black);
}


/* CONTACT INTRO */

.contact-intro {
    max-width: 540px;

    margin: 18px 0 30px;

    font-family: "Poppins", sans-serif;

    font-size: 12px;
    font-weight: 300;

    line-height: 1.8;

    color: rgba(49, 38, 19, 0.66);
}


/* ==========================================================
   21. CONTACT FORM
========================================================== */

.contact-form {
    display: flex;

    flex-direction: column;

    gap: 22px;
}


/* FORM ROW */

.form-row {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}


/* FORM GROUP */

.form-group {
    display: flex;

    flex-direction: column;

    gap: 8px;
}


/* FORM LABEL */

.form-group label {
    font-family: "Poppins", sans-serif;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: 1px;

    text-transform: uppercase;

    color: var(--brown);
}


/* FORM INPUT & TEXTAREA */

.form-group input,
.form-group textarea {
    width: 100%;

    padding: 13px 14px;

    border: 1px solid var(--border);
    border-radius: 8px;

    outline: none;

    background: var(--white);

    font-family: "Poppins", sans-serif;

    font-size: 12px;
    font-weight: 300;

    color: var(--text);

    box-sizing: border-box;

    transition:
        border-color var(--transition),
        box-shadow var(--transition);
}


/* FORM TEXTAREA */

.form-group textarea {
    min-height: 150px;

    resize: vertical;
}


/* FORM PLACEHOLDER */

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--brand-beige);

    box-shadow:
        0 0 0 3px rgba(207, 173, 149, .12);
}


/* FORM FOCUS */

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--brown);

    box-shadow:
        0 0 0 3px rgba(221, 210, 189, 0.55);
}


/* CONTACT FORM BUTTON */

.contact-btn {
    align-self: flex-start;

    min-width: 170px;
    min-height: 46px;

    padding: 12px 24px;

    border: 1px solid var(--brand-brown);
    border-radius: var(--radius-pill);

    background: var(--brand-brown);

    font-family: "Poppins", sans-serif;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: 1px;
    text-transform: uppercase;

    color: var(--white);

    cursor: pointer;

    transition:
        background var(--transition),
        border-color var(--transition);
}

/* CONTACT FORM BUTTON HOVER */

.contact-btn:hover {
    background: var(--primary);
    border-color: var(--primary);
}

/* ==========================================================
   22. CONTACT LOCATION
========================================================== */


/* LOCATION INTRO */

.contact-location .contact-intro {
    margin-bottom: 26px;
}


/* MAP WRAPPER */

.map-wrapper {
    width: 100%;
    height: 350px;

    overflow: hidden;

    background: var(--background-beige);

    border-radius: 12px;
}


/* GOOGLE MAP IFRAME */

.map-wrapper iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}


/* LOCATION DETAIL */

.location-detail {
    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-top: 20px;
}


/* LOCATION ICON */

.location-detail i {
    flex: 0 0 auto;

    margin-top: 2px;

    font-size: 17px;

    color: var(--brown);
}


/* LOCATION TEXT */

.location-detail p {
    margin: 0;

    font-family: "Poppins", sans-serif;

    font-size: 11px;
    font-weight: 300;

    line-height: 1.7;

    color: rgba(49, 38, 19, 0.66);
}


/* ==========================================================
   23. CONTACT FAQ
========================================================== */

.contact-faq {
    padding: 110px 0 120px;

    background: var(--white);
}


/* FAQ CONTAINER */

.contact-faq .container {
    width: min(900px, calc(100% - 40px));

    margin: 0 auto;
}


/* FAQ SECTION HEADER */

.contact-faq .section-head {
    margin-bottom: 45px;

    text-align: center;
}


/* FAQ SUBTITLE */

.contact-faq .section-subtitle {
    display: block;

    margin-bottom: 10px;

    font-family: "Poppins", sans-serif;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    color: var(--brown);
}


/* FAQ TITLE */

.contact-faq .section-title {
    margin: 0;

    font-family: "Cormorant Garamond", serif;

    font-size: clamp(38px, 4vw, 52px);

    font-weight: 500;

    line-height: 1;

    color: var(--brown);
}


/* FAQ WRAPPER */

.faq-wrapper {
    display: flex;

    flex-direction: column;

    border-top:
        1px solid rgba(49, 38, 19, 0.18);
}


/* FAQ ITEM */

.faq-item {
    border-bottom: 1px solid var(--border);

    background: transparent;
}


/* FAQ QUESTION */

.faq-question {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 22px 24px;

    list-style: none;

    font-family: "Poppins", sans-serif;

    font-size: 12px;
    font-weight: 500;

    color: var(--black);

    cursor: pointer;
}


/* REMOVE NATIVE DETAILS MARKER */

.faq-question::-webkit-details-marker {
    display: none;
}


/* FAQ ICON */

.faq-question i {
    flex: 0 0 auto;

    font-size: 18px;

    color: var(--brand-brown);

    transition: transform var(--transition);
}


/* FAQ OPEN ICON */

.faq-item[open] .faq-question i {
    transform: rotate(45deg);
}


/* FAQ ANSWER */

.faq-answer {
    padding: 0 24px 22px;
}


/* FAQ ANSWER TEXT */

.faq-answer p {
    max-width: 760px;

    margin: 0;

    font-size: 12px;
    font-weight: 300;

    line-height: 1.85;

    color: var(--text-soft);
}


/* ==========================================================
   24. CONTACT RESPONSIVE
========================================================== */


/* ----------------------------------------------------------
   CONTACT TABLET
---------------------------------------------------------- */

@media (max-width: 1000px) {

    /* CONTACT HERO */

    .contact-hero {
        height: 520px;
    }


    .contact-overlay {
        padding: 50px 6%;
    }


    /* CONTACT INFORMATION */

    .contact-info {
        padding: 80px 0 90px;
    }


    /* CONTACT MAIN SECTION */

    .contact-section {
        padding: 90px 0 100px;
    }


    .contact-wrapper {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .contact-form-box,
    .contact-location {
        padding: 38px 34px;
    }


    /* FAQ */

    .contact-faq {
        padding: 90px 0 100px;
    }

}


/* ----------------------------------------------------------
   CONTACT MOBILE
---------------------------------------------------------- */

@media (max-width: 650px) {

    /* CONTACT HERO */

    .contact-hero {
        height: 500px;
    }


    .contact-overlay {
        justify-content: flex-end;

        padding: 40px 24px 45px;

        background:
            linear-gradient(
                0deg,
                rgba(49, 38, 19, 0.60) 0%,
                rgba(49, 38, 19, 0.28) 50%,
                rgba(49, 38, 19, 0.04) 100%
            );
    }


    .contact-overlay .section-subtitle {
        margin-bottom: 12px;

        font-size: 10px;

        letter-spacing: 2px;
    }


    .contact-overlay h1 {
        margin-bottom: 16px;

        font-size: 46px;

        line-height: 0.98;
    }


    .contact-overlay p {
        font-size: 12px;

        line-height: 1.7;
    }


    /* ======================================================
       CONTACT INFORMATION MOBILE
    ====================================================== */

    .contact-info {
        padding: 70px 0 75px;
    }


    .contact-info .container,
    .contact-section .container,
    .contact-faq .container {
        width: min(100% - 32px, 1200px);
    }


    .contact-info-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    .contact-card {
        padding: 32px 24px 30px;
    }


    /* ======================================================
       CONTACT FORM MOBILE
    ====================================================== */

    .contact-section {
        padding: 75px 0 85px;
    }


    .contact-wrapper {
        gap: 22px;
    }


    .contact-form-box,
    .contact-location {
        padding: 30px 22px;
    }


    .contact-form-box .section-title,
    .contact-location .section-title {
        font-size: 40px;
    }


    /* FORM ROW */

    .form-row {
        grid-template-columns: 1fr;

        gap: 22px;
    }


    /* FORM BUTTON */

    .contact-btn {
        width: 100%;
    }


    /* ======================================================
       CONTACT LOCATION MOBILE
    ====================================================== */

    .map-wrapper {
        height: 300px;
    }


    /* ======================================================
       CONTACT FAQ MOBILE
    ====================================================== */

    .contact-faq {
        padding: 75px 0 85px;
    }


    .contact-faq .section-head {
        margin-bottom: 32px;
    }


    .contact-faq .section-title {
        font-size: 40px;
    }


    .faq-question {
        padding: 20px 18px;
    }


    .faq-answer {
        padding: 0 18px 20px;
    }

}


/* ==========================================================
   END OF EVENT + CONTACT PAGE STYLES
========================================================== */

/* ==========================================================
   MOUVA FAQ PAGE
   ========================================================== */


/* ==========================================================
   01. FAQ CATEGORY
   ========================================================== */

.faq-category {
    padding: 90px 0 100px;

    background: var(--background-beige);
}

.faq-category .container {
    max-width: 1180px;
}

.faq-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 20px;
}

.faq-category-card {
    min-width: 0;

    padding: 34px 28px;

    background: var(--white);

    border: 1px solid var(--border);
    border-radius: 18px;

    transition:
        transform var(--transition),
        border-color var(--transition),
        box-shadow var(--transition);
}

.faq-category-card > i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    margin-bottom: 22px;

    border: 1px solid rgba(122, 109, 98, .22);
    border-radius: 50%;

    font-size: 19px;

    color: var(--brand-brown);
}

.faq-category-card h3 {
    margin: 0 0 8px;

    font-family: "Cormorant Garamond", serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1;

    color: var(--brand-olive);
}

.faq-category-card p {
    margin: 0;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 300;
    line-height: 1.7;

    color: var(--text-soft);
}

.faq-category-card:hover {
    transform: translateY(-4px);

    border-color: rgba(122, 109, 98, .22);

    box-shadow:
        0 16px 34px rgba(0, 0, 0, .05);
}


/* ==========================================================
   02. FAQ CATEGORY RESPONSIVE
   ========================================================== */

@media (max-width: 992px) {

    .faq-category {
        padding: 80px 0 90px;
    }

    .faq-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 576px) {

    .faq-category {
        padding: 60px 0 65px;
    }

    .faq-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 12px;
    }

    .faq-category-card {
        padding: 24px 18px;
    }

    .faq-category-card > i {
        width: 38px;
        height: 38px;

        margin-bottom: 17px;

        font-size: 17px;
    }

    .faq-category-card h3 {
        font-size: 23px;
    }

    .faq-category-card p {
        font-size: 10px;
        line-height: 1.6;
    }

}

/* ==========================================================
   04. FAQ CTA
   ========================================================== */

.faq-page .about-cta {
    padding: 70px 0;

    background: var(--background-beige);

    border-top: 1px solid var(--border);
}

.faq-page .about-cta .container {
    max-width: 900px;
}

.faq-page .about-cta-box {
    text-align: center;
}

.faq-page .about-cta-box .section-subtitle {
    display: block;

    margin-bottom: 12px;
}

.faq-page .about-cta-box h2 {
    max-width: 680px;

    margin: 0 auto 14px;

    font-family: "Cormorant Garamond", serif;
    font-size: 44px;
    font-weight: 400;
    line-height: 1.05;

    color: var(--brand-olive);
}

.faq-page .about-cta-box p {
    width: 100%;
    max-width: 760px;

    margin: 0 auto 28px;

    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    text-align: center;

    color: var(--text-soft);
}

.faq-page .about-cta-buttons {
    display: flex;
    justify-content: center;
}

.faq-page .about-cta-buttons .campaign-btn {
    min-width: 170px;

    padding: 15px 28px;
}


/* ==========================================================
   MOUVA SHIPPING PAGE — FINAL RESPONSIVE SYSTEM
   Mengikuti standar About + global Mouva
   ========================================================== */

/* 01. SHARED LAYOUT */

.shipping-page .shipping-method,
.shipping-page .shipping-timeline,
.shipping-page .shipping-policy {
    padding: 90px 0;
}

.shipping-page .shipping-method,
.shipping-page .shipping-policy {
    background: var(--background-beige);
}

.shipping-page .shipping-timeline {
    background: var(--white);
}

.shipping-page .shipping-method > .container,
.shipping-page .shipping-timeline > .container,
.shipping-page .shipping-policy > .container {
    width: 100%;
    max-width: 1440px;
}

.shipping-page .section-head {
    margin-bottom: 42px;
}

.shipping-page .shipping-card,
.shipping-page .timeline-item,
.shipping-page .policy-content {
    min-width: 0;
}

/* 02. SHIPPING METHODS */

.shipping-page .shipping-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.shipping-page .shipping-card {
    padding: 34px 28px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
}

.shipping-page .shipping-card > i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 22px;
    border: 1px solid var(--border-brand);
    border-radius: 50%;
    font-size: 19px;
    color: var(--brand-brown);
}

.shipping-page .shipping-card h3 {
    margin-bottom: 10px;
    font-size: 28px;
    line-height: 1.1;
    color: var(--brand-olive);
}

.shipping-page .shipping-card p {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--text-soft);
}

/* 03. DELIVERY PROCESS */

.shipping-page .timeline-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.shipping-page .timeline-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.shipping-page .timeline-day {
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--brand-beige);
    border-radius: 50%;
    font-size: 12px;
    color: var(--brand-brown);
}

.shipping-page .timeline-item h3 {
    margin: 3px 0 8px;
    font-size: 25px;
    line-height: 1.1;
    color: var(--brand-olive);
}

.shipping-page .timeline-item p {
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--text-soft);
}

/* 04. SHIPPING POLICY */

.shipping-page .policy-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 65px;
}

.shipping-page .policy-image {
    width: 100%;
    min-width: 0;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: #eee9e4;
}

.shipping-page .policy-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shipping-page .policy-content .section-title {
    margin-bottom: 22px;
}

.shipping-page .policy-content > p {
    margin-bottom: 25px;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--text-soft);
}

.shipping-page .policy-content ul {
    display: grid;
    gap: 16px;
    padding: 0;
    list-style: none;
}

.shipping-page .policy-content li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 12px;
    line-height: 1.8;
    color: var(--text);
}

.shipping-page .policy-content li i {
    flex-shrink: 0;
    margin-top: 3px;
    font-size: 16px;
    color: var(--brand-brown);
}

/* 05. HERO — SAME DIMENSIONS AS ABOUT */

.shipping-page .about-hero {
    position: relative;
    width: 100%;
    height: 620px;
    min-height: 0;
    overflow: hidden;
    background: #f4eee9;
}

.shipping-page .about-hero > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.shipping-page .about-hero .about-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 60px 8%;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,.48) 0%,
        rgba(0,0,0,.22) 45%,
        transparent 75%
    );
    text-align: left;
}

.shipping-page .about-overlay h1 {
    max-width: 680px;
    margin: 0 0 22px;
    font-size: clamp(48px, 6vw, 78px);
    line-height: .98;
    color: var(--white);
}

.shipping-page .about-overlay p {
    max-width: 560px;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255,255,255,.92);
}

/* 06. CTA — SAME ALIGNMENT AS ABOUT */

.shipping-page .shipping-cta {
    width: 100%;
    min-height: 0;
    padding: 90px 0;
    background: var(--white);
    border-top: 1px solid var(--border);
    text-align: center;
}

.shipping-page .shipping-cta .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}

.shipping-page .shipping-cta h2 {
    max-width: 700px;
    margin: 0 0 18px;
    font-size: clamp(40px, 5vw, 58px);
    line-height: 1;
    color: var(--brand-olive);
}

.shipping-page .shipping-cta p {
    width: 100%;
    max-width: 520px;
    margin: 0 auto 28px;
    font-size: 13px;
    line-height: 1.8;
    text-align: center;
    color: var(--text-soft);
}

/* 07. TABLET */

@media (max-width: 992px) {

    .shipping-page .shipping-method,
    .shipping-page .shipping-timeline,
    .shipping-page .shipping-policy {
        padding: 75px 0;
    }

    .shipping-page .shipping-grid,
    .shipping-page .timeline-list {
        gap: 18px;
    }

    .shipping-page .policy-wrapper {
        gap: 35px;
    }

    .shipping-page .shipping-card {
        padding: 26px 20px;
    }

}

/* 08. MOBILE — SAME STANDARD AS ABOUT */

@media (max-width: 650px) {

    .shipping-page .about-hero {
        height: 480px;
        min-height: 0;
    }

    .shipping-page .about-hero > img {
        object-position: center;
    }

    .shipping-page .about-hero .about-overlay {
        align-items: flex-start;
        justify-content: flex-end;
        padding: 36px 20px 42px;
        background: linear-gradient(
            0deg,
            rgba(0,0,0,.62) 0%,
            rgba(0,0,0,.30) 48%,
            rgba(0,0,0,.05) 100%
        );
    }

    .shipping-page .about-overlay h1 {
        max-width: 100%;
        margin-bottom: 16px;
        font-size: 42px;
        line-height: .95;
    }

    .shipping-page .about-overlay p {
        max-width: 100%;
        font-size: 12px;
        line-height: 1.7;
    }

    .shipping-page .shipping-method,
    .shipping-page .shipping-timeline,
    .shipping-page .shipping-policy {
        padding: 68px 0 74px;
    }

    .shipping-page .section-head {
        margin-bottom: 30px;
    }

    .shipping-page .shipping-grid,
    .shipping-page .timeline-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .shipping-page .shipping-card {
        padding: 26px 22px;
    }

    .shipping-page .shipping-card h3 {
        font-size: 26px;
    }

    .shipping-page .timeline-item {
        gap: 16px;
    }

    .shipping-page .timeline-item h3 {
        font-size: 24px;
    }

    .shipping-page .policy-wrapper {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .shipping-page .policy-image {
        width: 100%;
        aspect-ratio: auto;
        height: 390px;
    }

    .shipping-page .policy-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .shipping-page .policy-content .section-title {
        font-size: 36px;
        line-height: 1;
    }

    .shipping-page .policy-content > p,
    .shipping-page .policy-content li {
        font-size: 12px;
    }

    .shipping-page .shipping-cta {
        padding: 70px 0;
    }

    .shipping-page .shipping-cta h2 {
        max-width: 100%;
        font-size: 38px;
    }

    .shipping-page .shipping-cta p {
        max-width: 100%;
        font-size: 12px;
    }

}

/* 09. SMALL MOBILE */

@media (max-width: 375px) {

    .shipping-page .about-overlay h1 {
        font-size: 38px;
    }

    .shipping-page .policy-image {
        height: 350px;
    }

    .shipping-page .shipping-cta h2 {
        font-size: 34px;
    }

}

/* ==========================================================
   MOUVA RETURN PAGE — FINAL
   Desktop + Tablet + Mobile
   ========================================================== */


/* ==========================================================
   01. HERO
   ========================================================== */

.return-page .return-hero {
    position: relative;

    width: 100%;
    height: 620px;

    overflow: hidden;

    background: #f4eee9;
}

.return-page .return-hero > img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

.return-page .return-hero-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    padding: 60px 8%;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .48) 0%,
            rgba(0, 0, 0, .22) 45%,
            transparent 75%
        );

    text-align: left;
}

.return-page .return-hero-overlay .section-subtitle {
    margin-bottom: 14px;

    color: var(--white);
}

.return-page .return-hero-overlay h1 {
    max-width: 680px;

    margin: 0 0 22px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 500;
    line-height: .98;

    color: var(--white);
}

.return-page .return-hero-overlay p {
    max-width: 560px;

    margin: 0;

    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;

    color: rgba(255, 255, 255, .92);
}


/* ==========================================================
   02. RETURN CONDITIONS
   ========================================================== */

.return-page .return-conditions {
    padding: 95px 0;

    background: var(--background-beige);
}

.return-page .return-conditions > .container {
    width: 100%;
    max-width: 1440px;
}

.return-page .return-conditions .section-head {
    margin-bottom: 42px;
}

.return-page .conditions-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;
}

.return-page .condition-item {
    min-width: 0;

    padding: 30px 26px;

    background: var(--white);

    border: 1px solid var(--border);
    border-radius: 16px;
}

.return-page .condition-item > i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    margin-bottom: 22px;

    border: 1px solid var(--border-brand);
    border-radius: 50%;

    font-size: 18px;

    color: var(--brand-brown);
}

.return-page .condition-item h3 {
    margin: 0 0 10px;

    font-size: 27px;
    line-height: 1.1;

    color: var(--brand-olive);
}

.return-page .condition-item p {
    margin: 0;

    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;

    color: var(--text-soft);
}


/* ==========================================================
   03. HOW TO RETURN
   ========================================================== */

.return-page .return-steps {
    padding: 95px 0;

    background: var(--white);
}

.return-page .return-steps > .container {
    width: 100%;
    max-width: 1440px;
}

.return-page .return-steps .section-head {
    margin-bottom: 42px;
}

.return-page .return-steps .timeline-list {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 28px;
}

.return-page .return-steps .timeline-item {
    min-width: 0;

    display: flex;
    align-items: flex-start;

    gap: 16px;
}

.return-page .return-steps .timeline-day {
    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid var(--brand-beige);
    border-radius: 50%;

    font-size: 12px;
    font-weight: 500;

    color: var(--brand-brown);
}

.return-page .return-steps .timeline-item > div:last-child {
    min-width: 0;
}

.return-page .return-steps .timeline-item h3 {
    margin: 3px 0 8px;

    font-size: 25px;
    line-height: 1.1;

    color: var(--brand-olive);
}

.return-page .return-steps .timeline-item p {
    margin: 0;

    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;

    color: var(--text-soft);
}


/* ==========================================================
   04. CTA
   ========================================================== */

.return-page .shipping-cta {
    width: 100%;

    padding: 90px 0;

    background: var(--background-beige);

    border-top: 1px solid var(--border);

    text-align: center;
}

.return-page .shipping-cta > .container {
    width: 100%;
    max-width: 1440px;
}

.return-page .shipping-cta-box {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
    max-width: 700px;

    margin: 0 auto;
}

.return-page .shipping-cta-box .section-subtitle {
    margin-bottom: 12px;
}

.return-page .shipping-cta-box h2 {
    margin: 0 0 18px;

    font-size: clamp(40px, 5vw, 58px);
    line-height: 1;

    color: var(--brand-olive);
}

.return-page .shipping-cta-box p {
    width: 100%;
    max-width: 520px;

    margin: 0 auto 28px;

    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;

    text-align: center;

    color: var(--text-soft);
}


/* ==========================================================
   05. TABLET
   ========================================================== */

@media (max-width: 992px) {

    .return-page .return-conditions,
    .return-page .return-steps {
        padding: 75px 0;
    }

    .return-page .conditions-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }

    .return-page .return-steps .timeline-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 28px 22px;
    }

}


/* ==========================================================
   06. MOBILE
   Sama dengan standar mobile halaman pendukung Mouva
   ========================================================== */

@media (max-width: 650px) {

    /* HERO */

    .return-page .return-hero {
        height: 480px;
    }

    .return-page .return-hero > img {
        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center;
    }

    .return-page .return-hero-overlay {
        align-items: flex-start;
        justify-content: flex-end;

        padding:
            36px 20px
            42px;

        background:
            linear-gradient(
                0deg,
                rgba(0, 0, 0, .62) 0%,
                rgba(0, 0, 0, .30) 48%,
                rgba(0, 0, 0, .05) 100%
            );
    }

    .return-page .return-hero-overlay h1 {
        max-width: 100%;

        margin-bottom: 16px;

        font-size: 42px;
        line-height: .95;
    }

    .return-page .return-hero-overlay p {
        max-width: 100%;

        font-size: 12px;
        line-height: 1.7;
    }


    /* CONDITIONS */

    .return-page .return-conditions {
        padding: 68px 0 74px;
    }

    .return-page .return-conditions .section-head {
        margin-bottom: 30px;
    }

    .return-page .conditions-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 14px;
    }

    .return-page .condition-item {
        padding: 25px 22px;
    }

    .return-page .condition-item > i {
        width: 40px;
        height: 40px;

        margin-bottom: 18px;

        font-size: 17px;
    }

    .return-page .condition-item h3 {
        font-size: 25px;
    }

    .return-page .condition-item p {
        font-size: 12px;
    }


    /* HOW TO RETURN */

    .return-page .return-steps {
        padding: 68px 0 74px;
    }

    .return-page .return-steps .section-head {
        margin-bottom: 30px;
    }

    .return-page .return-steps .timeline-list {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 26px;
    }

    .return-page .return-steps .timeline-item {
        gap: 16px;
    }

    .return-page .return-steps .timeline-day {
        flex-basis: 40px;

        width: 40px;
        height: 40px;
    }

    .return-page .return-steps .timeline-item h3 {
        font-size: 24px;
    }

    .return-page .return-steps .timeline-item p {
        font-size: 12px;
    }


    /* CTA */

    .return-page .shipping-cta {
        padding: 70px 0;
    }

    .return-page .shipping-cta-box {
        max-width: 100%;
    }

    .return-page .shipping-cta-box h2 {
        max-width: 100%;

        font-size: 38px;
    }

    .return-page .shipping-cta-box p {
        max-width: 100%;

        font-size: 12px;
    }

}


/* ==========================================================
   07. SMALL MOBILE
   ========================================================== */

@media (max-width: 375px) {

    .return-page .return-hero-overlay h1 {
        font-size: 38px;
    }

    .return-page .shipping-cta-box h2 {
        font-size: 34px;
    }

}


/* ==========================================================
   MOUVA ABOUT PAGE
   ========================================================== */


/* ==========================================================
   01. ABOUT HERO
   ========================================================== */

.about-hero {
    position: relative;
    width: 100%;
    height: 620px;
    overflow: hidden;
    background: #f4eee9;
}

.about-hero > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.about-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 60px 8%;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.48) 0%,
            rgba(0, 0, 0, 0.22) 45%,
            rgba(0, 0, 0, 0) 75%
        );

    color: #ffffff;
}

.about-overlay .section-subtitle {
    margin-bottom: 18px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #ffffff;
}

.about-overlay h1 {
    max-width: 680px;

    margin: 0 0 22px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(48px, 6vw, 78px);
    font-weight: 500;
    line-height: 0.98;

    letter-spacing: -1px;

    color: #ffffff;
}

.about-overlay p {
    max-width: 560px;

    margin: 0;

    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;

    color: rgba(255, 255, 255, 0.92);
}


/* ==========================================================
   02. ABOUT STORY
   ========================================================== */

.about-story {
    width: 100%;
    padding: 110px 0 120px;

    background: #fffaf7;
}

.about-story .container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.about-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    align-items: center;

    gap: 80px;
}

.about-story-image {
    width: 100%;
    overflow: hidden;
}

.about-story-image img {
    display: block;

    width: 100%;
    height: 560px;

    object-fit: cover;
    object-position: center;
}

.about-story-content {
    max-width: 520px;
}

.about-story-content .section-subtitle {
    display: block;

    margin-bottom: 12px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #9a7968;
}

.about-story-content .section-title {
    margin: 0 0 24px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4vw, 54px);
    font-weight: 500;
    line-height: 1.02;

    color: #4b4039;
}

.about-story-content p {
    margin: 0 0 18px;

    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.9;

    color: #766b64;
}

.about-story-content p:last-of-type {
    margin-bottom: 30px;
}

.about-story-content .campaign-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 12px 24px;

    border: 1px solid #7a6d62;

    background: #7a6d62;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 1.1px;
    text-transform: uppercase;

    color: #ffffff;
    text-decoration: none;
}


/* ==========================================================
   03. ABOUT VALUES
   ========================================================== */

.about-values {
    width: 100%;
    padding: 110px 0 120px;

    background: #f7f1ed;
}

.about-values > .container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.about-values .section-head {
    margin-bottom: 50px;
}

.about-values .section-subtitle {
    display: block;

    margin-bottom: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #9a7968;
}

.about-values .section-title {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 500;
    line-height: 1;

    color: #4b4039;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 24px;
}

.value-card {
    min-width: 0;

    padding: 34px 28px 32px;

    background: #ffffff;

    border: 1px solid rgba(122, 109, 98, 0.10);
}

.value-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin-bottom: 22px;

    border: 1px solid rgba(122, 109, 98, 0.25);

    color: #7a6d62;
}

.value-icon i {
    font-size: 20px;
}

.value-card h3 {
    margin: 0 0 12px;

    font-family: "Cormorant Garamond", serif;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.05;

    color: #4b4039;
}

.value-card p {
    margin: 0;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 300;
    line-height: 1.75;

    color: #766b64;
}


/* ==========================================================
   04. WHY MOUVA
   ========================================================== */

.why-mouva {
    width: 100%;
    padding: 110px 0 120px;

    background: #fffaf7;
}

.why-mouva .container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.why-mouva-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    align-items: center;

    gap: 80px;
}

.why-mouva-image {
    width: 100%;
    overflow: hidden;
}

.why-mouva-image img {
    display: block;

    width: 100%;
    height: 560px;

    object-fit: cover;
    object-position: center;
}

.why-mouva-content {
    max-width: 520px;
}

.why-mouva-content .section-subtitle {
    display: block;

    margin-bottom: 12px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #9a7968;
}

.why-mouva-content .section-title {
    margin: 0 0 24px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(40px, 4vw, 54px);
    font-weight: 500;
    line-height: 1.02;

    color: #4b4039;
}

.why-mouva-content > p {
    margin: 0 0 28px;

    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.9;

    color: #766b64;
}

.why-list {
    display: flex;
    flex-direction: column;

    gap: 14px;

    margin-bottom: 32px;
}

.why-item {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;

    color: #665c56;
}

.why-item i {
    flex: 0 0 auto;

    margin-top: 2px;

    font-size: 15px;

    color: #7a6d62;
}

.why-mouva-content .campaign-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 12px 24px;

    border: 1px solid #7a6d62;

    background: #7a6d62;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 1.1px;
    text-transform: uppercase;

    color: #ffffff;
    text-decoration: none;
}


/* ==========================================================
   05. ABOUT GALLERY
   ========================================================== */

.about-gallery {
    width: 100%;
    padding: 110px 0 120px;

    background: #f7f1ed;
}

.about-gallery .container {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.about-gallery .section-head {
    margin-bottom: 50px;
}

.about-gallery .section-subtitle {
    display: block;

    margin-bottom: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #9a7968;
}

.about-gallery .section-title {
    margin: 0;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 500;
    line-height: 1;

    color: #4b4039;
}

.gallery-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.gallery-grid img {
    display: block;

    width: 100%;
    height: 360px;

    object-fit: cover;
    object-position: center;
}


/* ==========================================================
   06. ABOUT CTA
   ========================================================== */

.about-cta {
    width: 100%;
    padding: 120px 0;

    text-align: center;

    background: #fffaf7;
}

.about-cta .container {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.about-cta .section-subtitle {
    display: block;

    margin-bottom: 14px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #9a7968;
}

.about-cta h2 {
    margin: 0 0 20px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(44px, 5vw, 62px);
    font-weight: 500;
    line-height: 1;

    color: #4b4039;
}

.about-cta p {
    max-width: 580px;

    margin: 0 0 32px;

    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.8;

    color: #766b64;
}

.about-cta .campaign-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 180px;
    min-height: 46px;

    padding: 12px 24px;

    border: 1px solid #7a6d62;

    background: #7a6d62;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;

    letter-spacing: 1.1px;
    text-transform: uppercase;

    color: #ffffff;
    text-decoration: none;
}


/* ==========================================================
   07. TABLET
   ========================================================== */

@media (max-width: 1000px) {

    .about-hero {
        height: 540px;
    }

    .about-overlay {
        padding: 50px 6%;
    }

    .about-overlay h1 {
        font-size: clamp(44px, 8vw, 64px);
    }

    .about-story,
    .about-values,
    .why-mouva,
    .about-gallery {
        padding: 90px 0 100px;
    }

    .about-story-grid,
    .why-mouva-grid {
        gap: 50px;
    }

    .about-story-image img,
    .why-mouva-image img {
        height: 500px;
    }

    .values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-grid img {
        height: 300px;
    }

    .about-cta {
        padding: 90px 0;
    }

}


/* ==========================================================
   08. ABOUT MOBILE
   ========================================================== */

@media (max-width: 650px) {

    /* ------------------------------------------------------
       HERO
    ------------------------------------------------------ */

    .about-hero {
        height: 480px;
    }

    .about-hero > img {
        object-position: center;
    }

    .about-overlay {
        justify-content: flex-end;

        padding: 36px 20px 42px;

        background:
            linear-gradient(
                0deg,
                rgba(0, 0, 0, .62) 0%,
                rgba(0, 0, 0, .30) 48%,
                rgba(0, 0, 0, .05) 100%
            );
    }

    .about-overlay .section-subtitle {
        margin-bottom: 10px;

        font-size: 10px;
        letter-spacing: 2px;
    }

    .about-overlay h1 {
        max-width: 100%;

        margin-bottom: 16px;

        font-size: 42px;
        line-height: .95;
        letter-spacing: -.5px;
    }

    .about-overlay p {
        max-width: 100%;

        font-size: 12px;
        line-height: 1.7;
    }


    /* ------------------------------------------------------
       STORY + WHY MOUVA
    ------------------------------------------------------ */

    .about-story,
    .why-mouva {
        padding: 68px 0 74px;
    }

    .about-story .container,
    .why-mouva .container {
        width: 100%;
        max-width: none;

        padding-left: 20px;
        padding-right: 20px;
    }

    .about-story-grid,
    .why-mouva-grid {
        grid-template-columns: minmax(0, 1fr);

        gap: 34px;

        width: 100%;
    }

    .about-story-image,
    .why-mouva-image {
        width: 100%;
        min-width: 0;
    }

    .about-story-image img,
    .why-mouva-image img {
        width: 100%;
        height: 390px;

        object-fit: cover;
    }

    .about-story-content,
    .why-mouva-content {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .about-story-content .section-subtitle,
    .why-mouva-content .section-subtitle {
        margin-bottom: 10px;

        font-size: 10px;
        letter-spacing: 2px;
    }

    .about-story-content .section-title,
    .why-mouva-content .section-title {
        max-width: 100%;

        margin-bottom: 20px;

        font-size: 36px;
        line-height: 1;
        overflow-wrap: break-word;
    }

    .about-story-content p,
    .why-mouva-content > p {
        max-width: 100%;

        font-size: 12px;
        line-height: 1.8;
    }


    /* ------------------------------------------------------
       WHY LIST
    ------------------------------------------------------ */

    .why-list {
        width: 100%;

        gap: 12px;

        margin-bottom: 28px;
    }

    .why-item {
        width: 100%;

        font-size: 12px;
        line-height: 1.6;
    }


    /* ------------------------------------------------------
       BUTTONS
    ------------------------------------------------------ */

    .about-story-content .campaign-btn,
    .why-mouva-content .campaign-btn {
        width: auto;
        max-width: 100%;

        padding: 12px 22px;
    }


    /* ------------------------------------------------------
       CTA
    ------------------------------------------------------ */

    .about-cta {
        padding: 72px 20px 76px;
    }

    .about-cta .container {
        width: 100%;
        max-width: 520px;

        padding-left: 0;
        padding-right: 0;
    }

    .about-cta .section-subtitle {
        margin-bottom: 12px;

        font-size: 10px;
        letter-spacing: 2px;
    }

    .about-cta h2 {
        max-width: 340px;

        margin-bottom: 18px;

        font-size: 38px;
        line-height: 1;
    }

    .about-cta p {
        max-width: 330px;

        margin-bottom: 28px;

        font-size: 12px;
        line-height: 1.75;
    }

    .about-cta .campaign-btn {
        width: auto;
        min-width: 190px;
        max-width: 100%;
    }

}

/* =========================================================
   CART PAGE
========================================================= */

.cart-hero {
    padding: 160px 0 80px;
    text-align: center;
    background: #f8f5f1;
}

.cart-hero .section-subtitle {
    display: inline-block;
    margin-bottom: 14px;
}

.cart-hero h1 {
    margin: 0 0 16px;
    font-family: "Cormorant Garamond", serif;
    font-size: 52px;
    font-weight: 600;
    line-height: 1.1;
    color: #2f2a26;
}

.cart-hero p {
    max-width: 560px;
    margin: 0 auto;
    color: #7b746d;
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   CART PAGE
========================================================= */

.cart-page {
    padding: 100px 0;
}

.cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.8fr);
    gap: 60px;
    align-items: start;
}

.cart-content {
    min-width: 0;
}

.cart-heading {
    margin-bottom: 35px;
}

.cart-heading .section-subtitle {
    display: inline-block;
    margin-bottom: 10px;
}

.cart-heading .section-title {
    margin: 0;
}


/* =========================================================
   CART LIST
========================================================= */

.cart-list {
    width: 100%;
    border-top: 1px solid #e7e1db;
}


/* =========================================================
   CART ITEM
========================================================= */

.cart-item {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(250px, 1.8fr)
        minmax(100px, 0.7fr)
        minmax(130px, 0.8fr)
        minmax(100px, 0.7fr)
        40px;

    gap: 25px;

    align-items: center;

    padding: 30px 0;

    border-bottom: 1px solid #e7e1db;
}


/* =========================================================
   CART PRODUCT
========================================================= */

.cart-product {
    display: flex;
    align-items: center;

    gap: 20px;

    min-width: 0;
}

.cart-product-image {
    display: block;

    flex: 0 0 105px;

    width: 105px;
    height: 140px;

    overflow: hidden;

    background: #f3efea;
}

.cart-product-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.4s ease;
}

.cart-product-image:hover img {
    transform: scale(1.04);
}

.cart-product-info {
    display: flex;
    flex-direction: column;

    gap: 6px;

    min-width: 0;
}

.cart-product-info h3 {
    margin: 0 0 4px;

    font-family: "Cormorant Garamond", serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;

    color: #2f2a26;
}

.cart-product-info span {
    font-size: 13px;
    line-height: 1.5;

    color: #837b73;
}


/* =========================================================
   CART LABEL
========================================================= */

.cart-label {
    display: block;

    margin-bottom: 8px;

    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;

    text-transform: uppercase;

    color: #a39a91;
}


/* =========================================================
   PRICE & TOTAL
========================================================= */

.cart-item-price strong,
.cart-item-total strong {
    display: block;

    font-size: 14px;
    font-weight: 500;

    color: #2f2a26;

    white-space: nowrap;
}


/* =========================================================
   QUANTITY CONTROL
========================================================= */

.quantity-control {
    display: flex;
    align-items: center;

    width: fit-content;

    border: 1px solid #ddd5cd;

    background: #ffffff;
}

.quantity-control button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 36px;

    padding: 0;

    border: none;

    background: transparent;

    color: #514a44;

    cursor: pointer;

    transition:
        background 0.25s ease,
        color 0.25s ease;
}

.quantity-control button:hover {
    background: #f3efea;
    color: #2f2a26;
}

.quantity-control button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.quantity-control button i {
    font-size: 16px;
}

.quantity-control input {
    width: 40px;
    height: 36px;

    padding: 0;

    border: none;
    border-left: 1px solid #ddd5cd;
    border-right: 1px solid #ddd5cd;

    background: #ffffff;

    text-align: center;

    font-family: inherit;
    font-size: 13px;

    color: #2f2a26;

    outline: none;
}

.quantity-control input::-webkit-outer-spin-button,
.quantity-control input::-webkit-inner-spin-button {
    margin: 0;

    -webkit-appearance: none;
}

.quantity-control input[type="number"] {
    appearance: textfield;
    width: 60px;
    border: none;
    outline: none;
    background: transparent;
    text-align: center;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    color: #4b4631;
}

.quantity-control input[type="number"]::-webkit-inner-spin-button,
.quantity-control input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


/* =========================================================
   REMOVE BUTTON
========================================================= */

.remove-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    padding: 0;

    border: none;

    background: transparent;

    color: #a69d95;

    cursor: pointer;

    transition:
        color 0.25s ease,
        background 0.25s ease;
}

.remove-btn:hover {
    background: #f7f2ef;
    color: #8a5d58;
}

.remove-btn i {
    font-size: 19px;
}


/* =========================================================
   CART ACTIONS
========================================================= */

.cart-actions {
    display: flex;
    flex-wrap: wrap;

    align-items: center;
    justify-content: space-between;

    gap: 25px;

    padding-top: 35px;
}


/* =========================================================
   COUPON
========================================================= */

.coupon-box {
    display: flex;
    align-items: stretch;

    width: 100%;
    max-width: 430px;
}

.coupon-box input {
    flex: 1;

    min-width: 0;
    height: 48px;

    padding: 0 16px;

    border: 1px solid #ddd5cd;
    border-right: none;

    background: #ffffff;

    font-family: inherit;
    font-size: 13px;

    color: #2f2a26;

    outline: none;
}

.coupon-box input::placeholder {
    color: #aaa29b;
}

.coupon-box input:focus {
    border-color: #ae957f;
}

.coupon-box button {
    height: 48px;

    padding: 0 22px;

    border: none;

    background: #7a6d62;

    color: #ffffff;

    font-family: inherit;
    font-size: 12px;
    font-weight: 500;

    cursor: pointer;

    transition: background 0.25s ease;
}

.coupon-box button:hover {
    background: #5f554d;
}


/* =========================================================
   CONTINUE SHOPPING
========================================================= */

.continue-shopping {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    font-size: 13px;
    font-weight: 500;

    color: #514a44;

    text-decoration: none;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}

.continue-shopping:hover {
    color: #ae957f;
    transform: translateX(-3px);
}

.continue-shopping i {
    font-size: 17px;
}


/* =========================================================
   CART SUMMARY
========================================================= */

.cart-summary {
    position: sticky;
    top: 110px;

    padding: 35px;

    background: #f8f5f1;

    border: 1px solid #eee8e2;
}

.cart-summary > .section-subtitle {
    display: inline-block;
    margin-bottom: 10px;
}

.cart-summary .section-title {
    margin: 0 0 30px;
}


/* =========================================================
   SUMMARY
========================================================= */

.summary-content {
    display: flex;
    flex-direction: column;

    gap: 20px;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    gap: 20px;

    font-size: 13px;

    color: #756d66;
}

.summary-row strong {
    max-width: 180px;

    text-align: right;

    font-weight: 500;

    color: #2f2a26;
}

.summary-divider {
    width: 100%;
    height: 1px;

    background: #ddd5cd;
}


/* =========================================================
   SUMMARY TOTAL
========================================================= */

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding-top: 4px;

    color: #2f2a26;
}

.summary-total span {
    font-size: 15px;
    font-weight: 500;
}

.summary-total strong {
    font-family: "Cormorant Garamond", serif;

    font-size: 30px;
    font-weight: 600;
}


/* =========================================================
   CHECKOUT BUTTON
========================================================= */

.checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 54px;

    margin-top: 5px;
    padding: 0 25px;

    background: #7a6d62;

    color: #ffffff;

    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;

    text-align: center;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        background 0.3s ease,
        transform 0.3s ease;
}

.checkout-btn:hover {
    background: #5f554d;
    transform: translateY(-2px);
}

.checkout-btn.disabled {
    opacity: 0.45;
    pointer-events: none;
}


/* =========================================================
   SECURE CHECKOUT
========================================================= */

.secure-checkout {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding-top: 5px;

    font-size: 12px;

    color: #928980;
}

.secure-checkout i {
    font-size: 17px;
    color: #7a6d62;
}


/* =========================================================
   PAYMENT METHODS
========================================================= */

.payment-methods {
    display: flex;
    justify-content: center;

    padding-top: 10px;
}

.payment-methods img {
    display: block;

    width: 100%;
    max-width: 260px;
    height: auto;

    object-fit: contain;

    opacity: 0.85;
}


/* =========================================================
   EMPTY CART
========================================================= */

.empty-cart-message {
    display: block;

    padding: 80px 20px;

    text-align: center;

    background: #ffffff;
}

.empty-cart-message[hidden] {
    display: none;
}

.empty-cart-message i {
    display: block;

    margin-bottom: 18px;

    font-size: 46px;

    color: #b5aba2;
}

.empty-cart-message h2 {
    margin: 0 0 10px;

    font-family: "Cormorant Garamond", serif;
    font-size: 34px;
    font-weight: 600;

    color: #2f2a26;
}

.empty-cart-message p {
    max-width: 480px;

    margin: 0 auto 25px;

    font-size: 14px;
    line-height: 1.8;

    color: #837b73;
}

.empty-cart-message .shop-btn {
    display: inline-flex;
}


/* =========================================================
   CART ERROR MESSAGE
========================================================= */

.cart-error {
    padding: 60px 20px;

    text-align: center;

    color: #8a5d58;
}

.cart-error i {
    display: block;

    margin-bottom: 15px;

    font-size: 38px;
}

.cart-error p {
    margin: 0;
    font-size: 14px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .cart-layout {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .cart-summary {
        position: static;
    }

}


@media (max-width: 900px) {

    .cart-hero {
        padding: 140px 0 65px;
    }

    .cart-hero h1 {
        font-size: 45px;
    }

    .cart-page {
        padding: 75px 0;
    }

    .cart-item {
        grid-template-columns:
            minmax(220px, 1.6fr)
            minmax(100px, 0.7fr)
            minmax(120px, 0.8fr)
            40px;

        gap: 20px;
    }

    .cart-item-total {
        display: none;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .cart-hero {
        padding: 120px 0 55px;
    }

    .cart-hero h1 {
        font-size: 40px;
    }

    .cart-hero p {
        font-size: 14px;
    }

    .cart-page {
        padding: 60px 0;
    }

    .cart-heading {
        margin-bottom: 25px;
    }

    .cart-item {
        grid-template-columns:
            minmax(0, 1fr)
            40px;

        gap: 18px;

        padding: 25px 0;
    }

    .cart-product {
        grid-column: 1 / -1;
    }

    .cart-item-price,
    .cart-quantity {
        grid-column: 1 / -1;

        display: flex;
        align-items: center;
        justify-content: space-between;

        padding-left: 120px;
    }

    .cart-item-price {
        margin-top: -5px;
    }

    .cart-quantity {
        margin-top: -5px;
    }

    .cart-label {
        margin: 0;
    }

    .remove-btn {
        position: absolute;

        top: 22px;
        right: 0;
    }

    .cart-product-image {
        width: 100px;
        height: 133px;
    }

    .cart-product-info {
        padding-right: 35px;
    }

    .cart-product-info h3 {
        font-size: 23px;
    }

    .cart-actions {
        flex-direction: column;
        align-items: stretch;

        gap: 25px;
    }

    .coupon-box {
        max-width: none;
    }

    .continue-shopping {
        justify-content: center;
    }

    .cart-summary {
        padding: 28px 22px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .cart-hero {
        padding-top: 110px;
    }

    .cart-hero h1 {
        font-size: 36px;
    }

    .cart-product-image {
        width: 85px;
        height: 113px;
    }

    .cart-product {
        gap: 15px;
    }

    .cart-product-info h3 {
        font-size: 21px;
    }

    .cart-product-info span {
        font-size: 12px;
    }

    .cart-item-price,
    .cart-quantity {
        padding-left: 100px;
    }

    .coupon-box {
        flex-direction: column;
    }

    .coupon-box input {
        border-right: 1px solid #ddd5cd;
        border-bottom: none;
    }

    .coupon-box button {
        width: 100%;
    }

    .summary-total strong {
        font-size: 26px;
    }

}

/* =========================================================
   CHECKOUT PAGE
   ========================================================= */

.checkout-page {
    padding: 100px 0;
}

.checkout-wrapper {
    display: grid;
    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(360px, 0.8fr);
    gap: 60px;
    align-items: start;
}

.checkout-left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.checkout-box {
    padding: 35px;
    background: #ffffff;
    border: 1px solid #eee8e2;
}

.checkout-box h2 {
    margin: 0 0 30px;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 32px;
    font-weight: 600;
    color: #2f2a26;
}

.checkout-box .section-subtitle {
    display: inline-block;
    margin-bottom: 10px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.form-group:last-child {
    margin-bottom: 0;
}

.form-group label {
    font-size: 12px;
    font-weight: 500;
    color: #514a44;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 14px 15px;

    border: 1px solid #ddd5cd;

    background: #ffffff;

    font-family:
        "Poppins",
        sans-serif;

    font-size: 13px;
    color: #2f2a26;

    outline: none;

    transition:
        border-color 0.25s ease;
}

.form-group textarea {
    resize: vertical;
    min-height: 130px;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: #ae957f;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #aaa29b;
}


/* =========================================================
   CHECKOUT RIGHT
   ========================================================= */

.checkout-right {
    min-width: 0;
}

.checkout-summary {
    position: sticky;
    top: 110px;

    padding: 35px;

    background: #f8f5f1;

    border: 1px solid #eee8e2;
}

.checkout-summary > .section-subtitle {
    display: inline-block;
    margin-bottom: 10px;
}

.checkout-summary h2 {
    margin: 0 0 30px;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 32px;
    font-weight: 600;
    color: #2f2a26;
}


/* =========================================================
   SUMMARY PRODUCTS
   ========================================================= */

.summary-products {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.summary-product {
    display: grid;
    grid-template-columns:
        70px
        minmax(0, 1fr)
        auto;

    gap: 15px;
    align-items: center;
}

.summary-product img,
.summary-product-image-placeholder {
    display: block;

    width: 70px;
    height: 90px;

    object-fit: cover;

    background: #f3efea;
}

.summary-product-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.summary-product-info h4 {
    margin: 0;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 20px;
    font-weight: 600;
    color: #2f2a26;
}

.summary-product-info span {
    font-size: 11px;
    color: #837b73;
}

.summary-product > strong {
    font-size: 13px;
    font-weight: 500;
    color: #2f2a26;
    white-space: nowrap;
}


/* =========================================================
   CHECKOUT DIVIDER
   ========================================================= */

.checkout-divider {
    width: 100%;
    height: 1px;
    margin: 25px 0;

    background: #ddd5cd;
}


/* =========================================================
   SUMMARY ROW
   ========================================================= */

.checkout-summary .summary-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    gap: 20px;

    margin-bottom: 16px;

    font-size: 13px;
    color: #756d66;
}

.checkout-summary .summary-row strong {
    font-weight: 500;
    color: #2f2a26;
    text-align: right;
}

.checkout-summary .summary-row.total {
    margin-bottom: 30px;
}

.checkout-summary .summary-row.total span {
    font-size: 15px;
    font-weight: 500;
    color: #2f2a26;
}

.checkout-summary .summary-row.total strong {
    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 30px;
    font-weight: 600;
}


/* =========================================================
   PAYMENT METHOD
   ========================================================= */

.payment-method {
    padding-top: 5px;
}

.payment-method h3 {
    margin: 0 0 15px;

    font-size: 13px;
    font-weight: 600;

    color: #2f2a26;
}

.payment-option {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 13px 0;

    border-bottom: 1px solid #e4ddd6;

    font-size: 13px;
    color: #514a44;

    cursor: pointer;
}

.payment-option:last-child {
    border-bottom: none;
}

.payment-option input {
    accent-color: #7a6d62;
}


/* =========================================================
   CHECKOUT MESSAGE
   ========================================================= */

.checkout-form-message {
    display: none;

    margin-top: 20px;
    padding: 13px 15px;

    background: #f7efed;

    border: 1px solid #eadbd7;

    font-size: 12px;
    line-height: 1.6;

    color: #8a5d58;
}

.checkout-form-message.show {
    display: block;
}


/* =========================================================
   CHECKOUT BUTTON
   ========================================================= */

.checkout-summary .checkout-btn {
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    border: none;
}

.checkout-summary .checkout-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}


/* =========================================================
   SECURE CHECKOUT
   ========================================================= */

.checkout-summary .secure-checkout {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 15px;

    font-size: 11px;
    color: #928980;
}

.checkout-summary .secure-checkout i {
    font-size: 16px;
    color: #7a6d62;
}

/* =========================================================
   CHECKOUT RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .checkout-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .checkout-summary {
        position: static;
    }

}


@media (max-width: 700px) {

    .checkout-page {
        padding: 60px 0;
    }

    .checkout-box {
        padding: 25px 20px;
    }

    .checkout-summary {
        padding: 25px 20px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .checkout-box h2,
    .checkout-summary h2 {
        font-size: 28px;
    }

    .summary-product {
        grid-template-columns:
            60px
            minmax(0, 1fr);

        align-items: start;
    }

    .summary-product img,
    .summary-product-image-placeholder {
        width: 60px;
        height: 78px;
    }

    .summary-product > strong {
        grid-column: 2;
        margin-top: 4px;
    }

}

/* ==========================================================
   SHOP — PRODUCT ACTION FIX
   View Details selalu tampil
========================================================== */

.shop-content .product-bottom .product-action {
    position: static;

    left: auto;
    right: auto;
    top: auto;
    bottom: auto;

    display: flex;

    width: auto;
    height: auto;

    margin-left: auto;

    opacity: 1;
    visibility: visible;

    transform: none;

    z-index: auto;
}


.shop-content .product-bottom .product-action a {
    width: auto;
    height: auto;

    min-width: 0;
    min-height: 36px;

    padding: 9px 18px;

    border: 1px solid var(--beige);
    border-radius: 999px;

    background: var(--white);
    color: var(--brown);

    box-shadow: none;

    opacity: 1;
    visibility: visible;

    transform: none;
}


.shop-content .product-bottom .product-action a:hover {
    background: var(--brown);
    border-color: var(--brown);
    color: var(--white);

    opacity: 1;
    visibility: visible;

    transform: translateY(-1px);
}

/* ==========================================================
   MOUVA SEARCH PAGE
========================================================== */


/* ==========================================================
   01. SEARCH HERO
========================================================== */

.search-hero {
    padding: 80px 0 35px;
    background: var(--background-beige);
}

.search-hero h1 {
    margin: 0 0 12px;

    font-family: "Cormorant Garamond", serif;
    font-size: 54px;
    font-weight: 500;
    line-height: 1;

    color: var(--black);
}

.search-hero p {
    max-width: 620px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: var(--text-soft);
}


/* ==========================================================
   02. SEARCH BAR
========================================================== */

.search-section {
    padding: 0 0 65px;

    background: var(--background-beige);
}

.search-box {
    width: 100%;
    max-width: 720px;
    min-height: 58px;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 7px 8px 7px 20px;

    background: var(--white);

    border: 1px solid var(--border);
    border-radius: var(--radius-pill);

    box-shadow: var(--shadow-sm);
}

.search-box > i {
    flex-shrink: 0;

    font-size: 20px;

    color: var(--text-soft);
}

.search-box input {
    flex: 1;
    min-width: 0;

    background: transparent;

    font-size: 14px;

    color: var(--text);
}

.search-box input::placeholder {
    color: var(--gray);
}

.search-box button {
    flex-shrink: 0;

    min-height: 44px;

    padding: 0 28px;

    border-radius: var(--radius-pill);

    background: var(--primary);

    color: var(--white);

    font-size: 14px;
    font-weight: 500;

    transition: var(--transition);
}

.search-box button:hover {
    background: var(--primary-dark);
}


/* ==========================================================
   03. SEARCH RESULT INFO
========================================================== */

.search-result-info {
    margin-top: 16px;

    font-size: 14px;

    color: var(--text-soft);
}


/* ==========================================================
   04. SEARCH RESULT
========================================================== */

.search-result {
    padding: 75px 0 110px;

    background: var(--background);
}

.search-top {
    display: flex;

    justify-content: space-between;
    align-items: flex-end;

    gap: 40px;

    margin-bottom: 45px;
}

.search-top > div:first-child {
    max-width: 850px;
}

.search-top .section-title {
    margin: 0;

    font-size: 52px;
    line-height: 1;

    color: var(--black);
}


/* ==========================================================
   05. SEARCH SORT
========================================================== */

.search-filter {
    flex-shrink: 0;
}

.search-filter select {
    width: 220px;
    height: 50px;

    padding: 0 18px;

    border: 1px solid var(--border);
    border-radius: 12px;

    background: var(--white);

    font-size: 14px;

    color: var(--text);

    cursor: pointer;

    transition: var(--transition);
}

.search-filter select:hover,
.search-filter select:focus {
    border-color: var(--primary);

    box-shadow:
        0 0 0 4px rgba(175, 149, 124, .10);
}


/* ==========================================================
   06. SEARCH PRODUCT GRID
========================================================== */

.search-result .product-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 40px 28px;

    align-items: start;
}

.search-result .product-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.search-result .product-action {
    flex-shrink: 0;
}

/* ==========================================================
   07. EMPTY SEARCH
========================================================== */

.search-empty {
    padding: 100px 0;

    background: var(--background);
}

.search-empty .empty-box {
    max-width: 600px;

    margin: 0 auto;

    text-align: center;
}

.search-empty .empty-box > i {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 70px;
    height: 70px;

    margin-bottom: 24px;

    border-radius: 50%;

    background: var(--background-beige);

    font-size: 30px;

    color: var(--primary);
}

.search-empty h2 {
    margin-bottom: 14px;

    font-size: 42px;
}

.search-empty p {
    margin-bottom: 28px;

    color: var(--text-soft);
}


/* ==========================================================
   08. SEARCH RESPONSIVE
========================================================== */

@media (max-width: 1200px) {

    .search-result .product-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 992px) {

    .search-hero {
        padding: 65px 0 30px;
    }

    .search-top {
        align-items: flex-start;

        flex-direction: column;

        gap: 24px;
    }

    .search-top .section-title {
        font-size: 46px;
    }

}


@media (max-width: 768px) {

    .search-hero {
        padding: 55px 0 28px;
    }

    .search-hero h1 {
        font-size: 46px;
    }

    .search-section {
        padding-bottom: 50px;
    }

    .search-result {
        padding: 60px 0 80px;
    }

    .search-result .product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 24px 18px;
    }

    .search-filter {
        width: 100%;
    }

    .search-filter select {
        width: 100%;
    }

}


@media (max-width: 576px) {

    .search-hero {
        padding: 45px 0 24px;
    }

    .search-hero h1 {
        font-size: 40px;
    }

    .search-box {
        min-height: 54px;

        padding-left: 16px;
    }

    .search-box button {
        min-height: 40px;

        padding: 0 20px;

        font-size: 13px;
    }

    .search-top .section-title {
        font-size: 38px;
    }

    .search-result .product-grid {
        grid-template-columns: 1fr;

        gap: 28px;
    }

}

/* ==========================================================
   MOUVA PRIVACY PAGE
   Minimal Editorial Layout
   Desktop + Tablet + Mobile
   ========================================================== */

/* PAGE HEADING */

.privacy-page .privacy-heading {
    padding: 95px 0 90px;
    background: var(--background-beige);
    text-align: center;
}

.privacy-page .privacy-heading .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.privacy-page .privacy-heading h1 {
    margin: 0 0 18px;
    font-size: clamp(52px, 6vw, 82px);
    line-height: 1;
    color: var(--brand-olive);
}

.privacy-page .privacy-heading p {
    max-width: 540px;
    margin: 0;
    font-size: 13px;
    line-height: 1.9;
    color: var(--text-soft);
}


/* CONTENT */

.privacy-page .privacy-content {
    padding: 90px 0 110px;
    background: var(--white);
}

.privacy-page .privacy-document {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.privacy-page .privacy-section {
    padding: 0 0 38px;
    margin-bottom: 38px;
    border-bottom: 1px solid var(--border);
}

.privacy-page .privacy-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.privacy-page .privacy-number {
    display: block;
    margin-bottom: 14px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.8px;
    color: var(--primary);
}

.privacy-page .privacy-section h2 {
    margin: 0 0 18px;
    font-size: clamp(32px, 3vw, 42px);
    line-height: 1.1;
    color: var(--brand-olive);
}

.privacy-page .privacy-section p,
.privacy-page .privacy-section li {
    font-size: 13px;
    font-weight: 300;
    line-height: 2;
    color: var(--text-soft);
}

.privacy-page .privacy-section ul {
    margin-top: 14px;
    padding-left: 20px;
    list-style: disc;
}

.privacy-page .privacy-section li {
    padding-left: 5px;
    margin-bottom: 6px;
}


/* CTA */

.privacy-page .privacy-cta {
    padding: 90px 0;
    background: var(--background-beige);
    text-align: center;
}

.privacy-page .privacy-cta .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.privacy-page .privacy-cta h2 {
    margin: 0 0 18px;
    font-size: clamp(38px, 5vw, 56px);
    line-height: 1.05;
    color: var(--brand-olive);
}

.privacy-page .privacy-cta p {
    max-width: 480px;
    margin: 0 auto 28px;
    font-size: 13px;
    line-height: 1.8;
    color: var(--text-soft);
}


/* TABLET */

@media (max-width: 992px) {
    .privacy-page .privacy-heading {
        padding: 75px 0;
    }

    .privacy-page .privacy-content {
        padding: 75px 0 85px;
    }
}


/* MOBILE */

@media (max-width: 650px) {
    .privacy-page .privacy-heading {
        padding: 52px 0 56px;
    }

    .privacy-page .privacy-heading h1 {
        font-size: 48px;
        margin-bottom: 14px;
    }

    .privacy-page .privacy-heading p {
        font-size: 12px;
        line-height: 1.8;
    }

    .privacy-page .privacy-content {
        padding: 58px 0 70px;
    }

    .privacy-page .privacy-section {
        padding-bottom: 30px;
        margin-bottom: 30px;
    }

    .privacy-page .privacy-section h2 {
        font-size: 32px;
        margin-bottom: 14px;
    }

    .privacy-page .privacy-section p,
    .privacy-page .privacy-section li {
        font-size: 12px;
        line-height: 1.9;
    }

    .privacy-page .privacy-cta {
        padding: 65px 0;
    }

    .privacy-page .privacy-cta h2 {
        font-size: 38px;
    }

    .privacy-page .privacy-cta p {
        font-size: 12px;
    }
}

/* ==========================================================
   MOUVA TERMS & CONDITIONS
   Minimal Editorial Layout
   ========================================================== */

/* HEADING */

.terms-page .terms-heading {
    padding: 95px 0 90px;
    background: var(--background-beige);
    text-align: center;
}

.terms-page .terms-heading .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.terms-page .terms-heading h1 {
    margin: 0 0 18px;
    font-size: clamp(48px, 6vw, 82px);
    line-height: 1;
    color: var(--brand-olive);
}

.terms-page .terms-heading p {
    max-width: 540px;
    margin: 0;
    font-size: 13px;
    line-height: 1.9;
    color: var(--text-soft);
}

/* CONTENT */

.terms-page .terms-content {
    padding: 90px 0 110px;
    background: var(--white);
}

.terms-page .terms-document {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.terms-page .terms-section {
    padding: 0 0 38px;
    margin: 0 0 38px;
    border-bottom: 1px solid var(--border);
}

.terms-page .terms-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.terms-page .terms-number {
    display: block;
    margin-bottom: 14px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.8px;
    color: var(--primary);
}

.terms-page .terms-section h2 {
    margin: 0 0 18px;
    font-size: clamp(32px, 3vw, 42px);
    line-height: 1.1;
    color: var(--brand-olive);
}

.terms-page .terms-section p {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 300;
    line-height: 2;
    color: var(--text-soft);
}

.terms-page .terms-section p:last-child {
    margin-bottom: 0;
}

.terms-page .terms-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 500;
    color: var(--primary);
    transition: var(--transition);
}

.terms-page .terms-text-link:hover {
    color: var(--primary-dark);
}

.terms-page .terms-text-link i {
    font-size: 16px;
}

/* CTA */

.terms-page .terms-cta {
    padding: 90px 0;
    background: var(--background-beige);
    text-align: center;
}

.terms-page .terms-cta .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.terms-page .terms-cta h2 {
    margin: 0 0 18px;
    font-size: clamp(38px, 5vw, 56px);
    line-height: 1.05;
    color: var(--brand-olive);
}

.terms-page .terms-cta p {
    max-width: 480px;
    margin: 0 auto 28px;
    font-size: 13px;
    line-height: 1.8;
    color: var(--text-soft);
}

/* TABLET */

@media (max-width: 992px) {
    .terms-page .terms-heading {
        padding: 75px 0;
    }

    .terms-page .terms-content {
        padding: 75px 0 85px;
    }
}

/* MOBILE */

@media (max-width: 650px) {
    .terms-page .terms-heading {
        padding: 52px 0 56px;
    }

    .terms-page .terms-heading h1 {
        font-size: 46px;
        margin-bottom: 14px;
    }

    .terms-page .terms-heading p {
        font-size: 12px;
        line-height: 1.8;
    }

    .terms-page .terms-content {
        padding: 58px 0 70px;
    }

    .terms-page .terms-section {
        padding-bottom: 30px;
        margin-bottom: 30px;
    }

    .terms-page .terms-section h2 {
        font-size: 32px;
        margin-bottom: 14px;
    }

    .terms-page .terms-section p {
        font-size: 12px;
        line-height: 1.9;
    }

    .terms-page .terms-cta {
        padding: 65px 0;
    }

    .terms-page .terms-cta h2 {
        font-size: 38px;
    }

    .terms-page .terms-cta p {
        font-size: 12px;
    }
}

@media (max-width: 375px) {
    .terms-page .terms-heading h1 {
        font-size: 40px;
    }

    .terms-page .terms-section h2 {
        font-size: 29px;
    }
}

/* ==========================================================
   MOUVA — 404 PAGE
   Minimal Editorial Design
========================================================== */

.error-404-page .error-page {
    min-height: calc(100vh - 86px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 90px 0 110px;
    background: var(--background-beige);
}

.error-404-page .error-wrapper {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.error-404-page .error-wrapper .section-subtitle {
    margin-bottom: 20px;
    letter-spacing: 2.5px;
}

.error-404-page .error-code {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(140px, 21vw, 260px);
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: -8px;
    color: var(--brand-beige);
    margin-bottom: 32px;
}

.error-404-page .error-wrapper h1 {
    margin-bottom: 20px;
    font-size: clamp(42px, 5vw, 66px);
    line-height: 1.05;
    color: var(--brand-olive);
}

.error-404-page .error-wrapper > p {
    max-width: 460px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.9;
    color: var(--text-soft);
}

/* ACTION BUTTONS */

.error-404-page .error-action {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.error-404-page .error-primary-btn,
.error-404-page .error-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 25px;
    border: 1px solid var(--primary);
    border-radius: var(--radius-pill);
    font-size: 13px;
    font-weight: 500;
    transition: var(--transition);
}

.error-404-page .error-primary-btn {
    background: var(--primary);
    color: var(--white);
}

.error-404-page .error-primary-btn:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    transform: translateY(-2px);
}

.error-404-page .error-secondary-btn {
    background: transparent;
    color: var(--primary);
}

.error-404-page .error-secondary-btn:hover {
    background: var(--primary);
    color: var(--white);
    transform: translateY(-2px);
}

.error-404-page .error-action i {
    font-size: 17px;
}

/* BOTTOM SEARCH LINK */

.error-404-page .error-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    margin-top: 56px;
}

.error-404-page .error-bottom > span {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.5px;
    color: var(--text-soft);
}

.error-404-page .error-bottom a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 500;
    color: var(--primary);
    transition: var(--transition);
}

.error-404-page .error-bottom a:hover {
    color: var(--primary-dark);
}

/* TABLET */

@media (max-width: 992px) {
    .error-404-page .error-page {
        min-height: calc(100vh - 80px);
        padding: 80px 0;
    }
}

/* MOBILE */

@media (max-width: 576px) {
    .error-404-page .error-page {
        min-height: calc(100vh - 74px);
        padding: 75px 0 85px;
    }

    .error-404-page .error-code {
        font-size: clamp(130px, 34vw, 180px);
        letter-spacing: -5px;
        margin-bottom: 28px;
    }

    .error-404-page .error-wrapper h1 {
        font-size: 40px;
        line-height: 1.05;
    }

    .error-404-page .error-wrapper > p {
        font-size: 12px;
        line-height: 1.85;
    }

    .error-404-page .error-action {
        flex-direction: column;
        gap: 12px;
        margin-top: 28px;
    }

    .error-404-page .error-primary-btn,
    .error-404-page .error-secondary-btn {
        width: 100%;
        max-width: 290px;
    }

    .error-404-page .error-bottom {
        margin-top: 42px;
    }
}

@media (max-width: 375px) {
    .error-404-page .error-wrapper h1 {
        font-size: 35px;
    }

    .error-404-page .error-code {
        font-size: 125px;
    }
}


/* =========================================================
   MOUVA PRODUCT GALLERY — SLIDER CONTROLS
   ========================================================= */

.mouva-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;
    padding: 0;

    border: 1px solid rgba(122, 109, 98, 0.18);
    border-radius: 50%;

    background: rgba(255, 249, 239, 0.92);
    color: #4B4631;

    font-family: Arial, sans-serif;
    font-size: 29px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;
    box-shadow: 0 3px 14px rgba(75, 70, 49, 0.08);

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.mouva-gallery-prev {
    left: 14px;
}

.mouva-gallery-next {
    right: 14px;
}

.mouva-gallery-arrow:hover {
    background: #FFF9EF;
    box-shadow: 0 5px 18px rgba(75, 70, 49, 0.14);
    transform: translateY(-50%) scale(1.06);
}

.mouva-gallery-arrow:focus-visible {
    outline: 2px solid #7A6D62;
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .mouva-gallery-arrow {
        width: 34px;
        height: 34px;
        font-size: 25px;
    }

    .mouva-gallery-prev {
        left: 8px;
    }

    .mouva-gallery-next {
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mouva-gallery-arrow {
        transition: none;
    }
}

/* =========================================================
   PRODUCT DETAIL WISHLIST
========================================================= */

.product-buttons .product-detail-wishlist-btn {
    width: 52px;
    min-width: 52px;
    height: 52px;
    padding: 0;
    border: 1px solid #d8c8b9;
    border-radius: 4px;
    background: #fff9ef;
    color: #7a6d62;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
}

.product-detail-wishlist-btn i {
    font-size: 22px;
}

.product-detail-wishlist-btn:hover {
    background: #f1d1d1;
    border-color: #cfad95;
}

.product-detail-wishlist-btn.active {
    color: #b46b76;
    background: #fbe8eb;
    border-color: #b46b76;
}

@media (max-width: 600px) {
    .product-buttons .product-detail-wishlist-btn {
        width: 48px;
        min-width: 48px;
        height: 48px;
    }
}


/* =========================================================
   MOUVA ORDER SUCCESS PAGE
   REVISI LENGKAP — TAHAP 16.12
   Scope: success.html only
========================================================= */

/* 1. PAGE & CONTAINER */

.success-page {
    background: var(--brand-cream);
    padding: 90px 20px 110px;
    min-height: 70vh;
}

.success-page .container {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}

/* 2. SUCCESS CARD */

.success-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 55px 60px;
    text-align: center;
    box-shadow: var(--shadow-sm);
}

/* 3. SUCCESS ICON */

.success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: var(--background-beige);
    color: var(--primary);
    font-size: 30px;
}

/* 4. LABEL & TYPOGRAPHY */

.success-label {
    display: block;
    margin-bottom: 15px;
    color: var(--primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.success-card h1 {
    margin-bottom: 15px;
    font-family: "Cormorant Garamond", serif;
    font-size: 46px;
    font-weight: 500;
    line-height: 1.1;
    color: var(--brand-olive);
}

.success-description {
    margin-bottom: 35px;
    color: var(--brand-brown);
    font-size: 14px;
    line-height: 1.8;
}

/* 5. ORDER INFORMATION */

.success-info {
    margin-bottom: 30px;
    padding: 25px;
    background: var(--brand-cream);
    border: 1px solid var(--border);
    border-radius: var(--radius-xs);
    text-align: left;
}

.success-item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 0;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
}

.success-item:last-child {
    border-bottom: none;
}

.success-item span {
    color: var(--brand-brown);
}

.success-item strong {
    color: var(--brand-olive);
    text-align: right;
    overflow-wrap: anywhere;
}

/* 6. ORDER DETAILS */

.success-order-details {
    margin-bottom: 35px;
    text-align: left;
}

.success-detail-section {
    padding: 22px 0;
    border-bottom: 1px solid var(--border);
}

.success-detail-section h3 {
    margin-bottom: 15px;
    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--brand-olive);
}

/* 7. PRODUCT DETAILS */

.success-product {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    font-size: 13px;
}

.success-product-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    color: var(--brand-brown);
}

.success-product-info strong,
.success-product > strong {
    color: var(--brand-olive);
    overflow-wrap: anywhere;
}

.success-product > strong {
    text-align: right;
}

/* 8. DELIVERY ADDRESS */

.success-detail-address {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--brand-brown);
    overflow-wrap: anywhere;
}

.success-detail-address strong {
    color: var(--brand-olive);
}

/* 9. ACTION BUTTONS */

.success-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
}

.success-btn,
.success-outline-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 25px;
    border-radius: var(--radius-pill);
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition);
}

.success-btn {
    background: var(--primary);
    color: var(--white);
    border: 1px solid var(--primary);
}

.success-outline-btn {
    background: transparent;
    color: var(--brand-brown);
    border: 1px solid var(--primary);
}

.success-btn:hover {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: var(--white);
}

.success-outline-btn:hover {
    background: var(--brand-cream);
    color: var(--brand-olive);
}

.success-btn:focus-visible,
.success-outline-btn:focus-visible {
    outline: 2px solid var(--primary-dark);
    outline-offset: 3px;
}

/* 10. RESPONSIVE — TABLET */

@media (max-width: 768px) {
    .success-page {
        padding: 45px 24px 65px;
    }

    .success-card {
        padding: 35px 22px;
    }

    .success-card h1 {
        font-size: 36px;
    }

    .success-item {
        gap: 12px;
    }

    .success-buttons {
        flex-direction: column;
    }

    .success-btn,
    .success-outline-btn {
        width: 100%;
    }
}

/* RESPONSIVE — MOBILE */

@media (max-width: 576px) {
    .success-page {
        padding: 45px 18px 65px;
    }

    .success-card {
        padding: 30px 18px;
    }

    .success-card h1 {
        font-size: 32px;
    }

    .success-info {
        padding: 18px;
    }

    .success-detail-section h3 {
        font-size: 24px;
    }

    .success-product {
        gap: 12px;
    }
}

/* RESPONSIVE — SMALL MOBILE */

@media (max-width: 360px) {
    .success-card {
        padding: 25px 14px;
    }

    .success-card h1 {
        font-size: 29px;
    }

    .success-item,
    .success-product {
        font-size: 12px;
    }
}
