/* =========================================================
   DECOR LED MIRROR
   MASTER WEBSITE STYLESHEET
   Luxury / Editorial / Responsive
========================================================= */

/* =========================================================
   01. DESIGN SYSTEM
========================================================= */

:root {
    --black: #15120f;
    --dark: #1c1712;
    --dark-soft: #272018;
    --gold: #d7a85d;
    --gold-light: #e7c17f;
    --cream: #f5f1e9;
    --warm-white: #faf9f6;
    --white: #ffffff;
    --text: #1c1a18;
    --muted: #77716a;
    --light-text: #aaa39a;
    --border: rgba(28, 26, 24, 0.14);
    --dark-border: rgba(255, 255, 255, 0.16);
    --container: 1400px;
    --serif:
        Georgia,
        "Times New Roman",
        serif;
    --sans:
        Arial,
        Helvetica,
        sans-serif;
    --transition: 0.35s ease;
}

/* =========================================================
   02. RESET
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--warm-white);
    color: var(--text);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.no-scroll {
    overflow: hidden;
}

img {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}

ul,
ol {
    list-style: none;
}

/* =========================================================
   03. GLOBAL CONTAINERS
========================================================= */

.container,
.section-container {
    width: min(90%, var(--container));
    margin-inline: auto;
}

section {
    position: relative;
}

::selection {
    background: var(--gold);
    color: var(--black);
}

/* =========================================================
   04. COMMON TYPOGRAPHY
========================================================= */

.section-label,
.category-eyebrow {
    display: block;
    margin-bottom: 18px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 4px;
    line-height: 1.5;
    text-transform: uppercase;
}

.section-label.light {
    color: rgba(255, 255, 255, 0.65);
}

.section-heading h2 {
    margin: 0;
    color: var(--text);
    font-family: var(--serif);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -2px;
}

.section-heading h2 span {
    display: block;
}

.section-description {
    max-width: 560px;
    margin: 20px auto 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

/* =========================================================
   05. REVEAL ANIMATION
========================================================= */

.reveal {
    opacity: 0;
    transform: translateY(35px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================================
   06. GLOBAL BUTTON STYLE
========================================================= */

.btn,
.hero-primary-btn,
.about-cta-button,
.contact-submit-btn,
.enquire-submit-btn,
.product-query-btn,
.product-query-button,
.final-cta-button {
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease,
        gap 0.3s ease;
}

/* =========================================================
   07. HEADER
========================================================= */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    transition:
        background 0.35s ease,
        border-color 0.35s ease,
        backdrop-filter 0.35s ease;
}

/*
   Inner pages do not have the full-screen hero,
   so give their header a dark luxury background.
*/

body:not(:has(.hero)) .site-header {
    background: rgba(21, 18, 15, 0.97);
    border-bottom-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(14px);
}

/* =========================================================
   HEADER CONTAINER
========================================================= */

.header-container {
    position: relative;
    width: min(1400px, 92%);
    height: 82px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

/* =========================================================
   LOGO
========================================================= */

.logo {
    flex-shrink: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    white-space: nowrap;
    transition: opacity 0.3s ease;
}

.logo:hover {
    opacity: 0.75;
}

/* =========================================================
   NAVIGATION
========================================================= */

.desktop-navigation {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.desktop-navigation > a,
.desktop-products > a {
    position: relative;
    height: 82px;
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.88);
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    transition: color 0.25s ease;
}

.desktop-navigation > a::after,
.desktop-products > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 20px;
    width: 0;
    height: 1px;
    transform: translateX(-50%);
    background: var(--gold-light);
    transition: width 0.3s ease;
}

.desktop-navigation > a:hover,
.desktop-products > a:hover {
    color: #fff;
}

.desktop-navigation > a:hover::after,
.desktop-products > a:hover::after {
    width: 22px;
}

/* =========================================================
   PRODUCTS NAVIGATION
========================================================= */

.desktop-products {
    position: relative;
    height: 82px;
    display: flex;
    align-items: center;
}

/* =========================================================
   PRODUCTS DROPDOWN
========================================================= */

.products-dropdown {
    position: absolute;
    top: 74px;
    left: 50%;
    min-width: 650px;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    transform:
        translate(-50%, -10px);
    opacity: 0;
    visibility: hidden;
    background: rgba(25, 20, 16, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.25);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;
}

.desktop-products:hover .products-dropdown {
    opacity: 1;
    visibility: visible;
    transform:
        translate(-50%, 0);
}

.products-dropdown a {
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    white-space: nowrap;
    transition:
        color 0.25s ease;
}

.products-dropdown a:hover {
    color: var(--gold-light);
}

/* =========================================================
   HEADER ACTIONS
========================================================= */

.header-actions {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* =========================================================
   HEADER ICON
========================================================= */

.header-icon {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: transparent;
    color: #fff;
}

/* =========================================================
   SEARCH ICON
========================================================= */

.search-icon {
    position: relative;
    width: 17px;
    height: 17px;
    border: 1.5px solid currentColor;
    border-radius: 50%;
}

.search-icon::after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -3px;
    width: 7px;
    height: 1.5px;
    background: currentColor;
    transform: rotate(45deg);
}

/* =========================================================
   HEART
========================================================= */

.heart-icon {
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
}

.wishlist-count {
    position: absolute;
    top: 2px;
    right: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 9px;
}

/* =========================================================
   HEADER QUERY BUTTON
========================================================= */

.header-query-btn {
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 28px;
    background: transparent;
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.header-query-btn:hover {
    background: #fff;
    color: var(--black);
    border-color: #fff;
}

/* =========================================================
   08. HOME HERO
========================================================= */

.hero {
    position: relative;
    width: 100%;
    min-height: 100svh;
    height: 100svh;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: var(--black);
    color: #fff;
}

/* =========================================================
   HERO IMAGE
========================================================= */

.hero-background {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
}

/* =========================================================
   HERO OVERLAY
========================================================= */

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(12, 9, 6, 0.74) 0%,
            rgba(12, 9, 6, 0.52) 28%,
            rgba(12, 9, 6, 0.18) 65%,
            rgba(12, 9, 6, 0.20) 100%
        );
}

/* =========================================================
   HERO CONTAINER
========================================================= */

.hero-container {
    position: relative;
    z-index: 2;
    width: min(1400px, 90%);
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 90px;
    padding-bottom: 90px;
}

/* =========================================================
   HERO CONTENT
========================================================= */

.hero-content {
    width: min(650px, 100%);
}

.hero-eyebrow {
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
}

/* =========================================================
   HERO HEADING
========================================================= */

.hero h1 {
    max-width: 700px;
    margin: 0;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(58px, 6.5vw, 96px);
    font-weight: 400;
    line-height: 0.92;
    letter-spacing: -4px;
}

.hero h1 span {
    display: block;
}

/* =========================================================
   HERO DESCRIPTION
========================================================= */

.hero-description {
    max-width: 510px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 17px;
    line-height: 1.6;
}

/* =========================================================
   HERO ACTIONS
========================================================= */

.hero-actions {
    display: flex;
    align-items: center;
    gap: 36px;
    margin-top: 38px;
}

/* =========================================================
   HERO PRIMARY BUTTON
========================================================= */

.hero-primary-btn {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 0 28px;
    border: 1px solid var(--gold-light);
    border-radius: 30px;
    background: var(--gold-light);
    color: var(--black);
    font-size: 13px;
    font-weight: 500;
}

.hero-primary-btn span {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.hero-primary-btn:hover {
    background: #f0cf91;
    transform: translateY(-2px);
}

.hero-primary-btn:hover span {
    transform: translateX(4px);
}

/* =========================================================
   HERO VIDEO BUTTON
========================================================= */

.hero-video-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 13px;
}

.hero-play-icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    font-size: 10px;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.hero-video-btn:hover .hero-play-icon {
    background: #fff;
    color: var(--black);
}

/* =========================================================
   HERO FEATURES
========================================================= */

.hero-features {
    position: absolute;
    left: 0;
    bottom: 65px;
    display: flex;
    align-items: stretch;
}

.hero-feature {
    min-width: 155px;
    padding: 0 25px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
}

.hero-feature:first-child {
    padding-left: 0;
}

.hero-feature:last-child {
    border-right: none;
}

.hero-feature-icon {
    width: 32px;
    color: #fff;
    font-size: 27px;
    line-height: 1;
    text-align: center;
}

.hero-feature div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hero-feature strong {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
}

.hero-feature div span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
}

/* =========================================================
   HERO TAGLINE
========================================================= */

.hero-tagline {
    position: absolute;
    right: 0;
    bottom: 62px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.hero-tagline > span {
    width: 60px;
    height: 1px;
    background: rgba(255, 255, 255, 0.6);
}

.hero-tagline p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 9px;
    letter-spacing: 3px;
}

/* =========================================================
   09. BRAND INTRO
========================================================= */

.brand-intro {
    padding: 150px 0;
    background: var(--cream);
}

.brand-intro-container {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 100px;
    align-items: start;
}

.brand-intro-heading h2 {
    max-width: 780px;
    margin: 0;
    color: var(--text);
    font-family: var(--serif);
    font-size: clamp(48px, 5vw, 76px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.brand-intro-heading h2 span {
    display: block;
}

.brand-intro-content {
    max-width: 470px;
    padding-top: 45px;
}

.brand-intro-content p {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.85;
}

.brand-intro-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--text);
    font-size: 12px;
    transition:
        gap 0.3s ease,
        opacity 0.3s ease;
}

.brand-intro-link span {
    font-size: 18px;
}

.brand-intro-link:hover {
    gap: 18px;
}

/* =========================================================
   10. CATEGORIES
========================================================= */

.categories-section {
    padding: 130px 0;
    background: var(--warm-white);
}

.section-heading {
    margin-bottom: 60px;
    text-align: center;
}

.section-heading .section-label {
    margin-bottom: 16px;
}

.horizontal-slider {
    position: relative;
    display: flex;
    align-items: center;
}

.slider-track {
    width: 100%;
    display: flex;
    gap: 28px;
    padding: 5px 5px 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.slider-track::-webkit-scrollbar {
    display: none;
}

.category-card {
    flex: 0 0 170px;
    text-align: center;
}

.category-image {
    width: 170px;
    height: 170px;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 50%;
    background: #e9e3d9;
}

.category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.category-card:hover .category-image img {
    transform: scale(1.07);
}

.category-card h3 {
    color: var(--text);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.2px;
}

/* =========================================================
   SLIDER BUTTONS
========================================================= */

.slider-btn {
    position: absolute;
    z-index: 5;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: var(--text);
    font-size: 17px;
    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.08);
    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.slider-btn:hover {
    background: var(--black);
    color: #fff;
    transform: scale(1.05);
}

.slider-prev {
    left: -20px;
}

.slider-next {
    right: -20px;
}

/* =========================================================
   11. FEATURED / BEST SELLERS
========================================================= */

.products-section,
.best-sellers-section {
    padding: 130px 0;

    background: var(--dark);
    color: #fff;
}

.best-sellers-section .section-heading h2,
.products-section .section-heading h2 {
    color: #fff;
}

.best-sellers-section .section-label,
.products-section .section-label {
    color: rgba(255, 255, 255, 0.6);
}

.best-sellers-section .section-description,
.products-section .section-description {
    color: rgba(255, 255, 255, 0.6);
}

.products-track,
.best-sellers-track {
    gap: 24px;
}

.products-track .product-card,
.best-sellers-track .product-card {
    flex: 0 0 300px;
}

/* =========================================================
   PRODUCT CARD
========================================================= */

.product-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #211b16;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition:
        transform 0.4s ease,
        border-color 0.4s ease;
}

.product-card:hover {
    transform: translateY(-6px);
    border-color: rgba(215, 168, 93, 0.5);
}

/* =========================================================
   PRODUCT IMAGE
========================================================= */

.product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #ded8ce;
}

.product-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

/* =========================================================
   PRODUCT IMAGE OVERLAY
========================================================= */

.product-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.05),
            transparent 55%
        );
}

/* =========================================================
   PRODUCT BADGE
========================================================= */

.product-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 4;
    padding: 7px 10px;
    background: var(--gold);
    color: var(--black);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* =========================================================
   WISHLIST
========================================================= */

.product-wishlist,
.wishlist-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 5;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #222;
    font-size: 20px;
    transition:
        transform 0.3s ease,
        background 0.3s ease,
        color 0.3s ease;
}

.product-wishlist:hover,
.wishlist-btn:hover {
    transform: scale(1.08);
    background: var(--black);
    color: #fff;
}

.product-wishlist.active {
    background: var(--gold);
    color: var(--black);
}

/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.product-info {
    padding: 22px;
}

.product-info h3 {
    margin: 0 0 8px;
    color: #fff;
    font-family: var(--serif);
    font-size: 21px;
    font-weight: 400;
    line-height: 1.15;
}

.product-price {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
}

/* =========================================================
   PRODUCT QUERY BUTTON
========================================================= */

.product-query-btn,
.product-query-button {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid var(--gold);
    background: transparent;
    color: var(--gold-light);
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.product-query-btn:hover,
.product-query-button:hover {
    background: var(--gold);
    color: var(--black);
    transform: translateY(-2px);
}

/* =========================================================
   12. WHY DECOR
========================================================= */

.why-us {
    padding: 150px 0;
    background: var(--warm-white);
}

.why-us-intro {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 100px;
    align-items: end;
    margin-bottom: 100px;
}

.why-us-intro h2 {
    max-width: 750px;
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(48px, 5vw, 74px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.why-us-intro h2 span {
    display: block;
}

.why-us-description {
    max-width: 420px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.85;
}

.why-us-list {
    border-top: 1px solid var(--border);
}

.why-us-item {
    display: grid;
    grid-template-columns: 80px 1fr 50px;
    gap: 30px;
    align-items: center;
    padding: 35px 0;
    border-bottom: 1px solid var(--border);
    transition:
        padding-left 0.35s ease;
}

.why-us-item:hover {
    padding-left: 12px;
}

.why-us-number {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 2px;
}

.why-us-content {
    max-width: 700px;
}

.why-us-content h3 {
    margin: 0 0 9px;
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 400;
}

.why-us-content p {
    max-width: 620px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.75;
}

.why-us-arrow {
    color: var(--gold);
    font-size: 22px;
    text-align: right;
    transition: transform 0.3s ease;
}

.why-us-item:hover .why-us-arrow {
    transform: translate(5px, -4px);
}

/* =========================================================
   13. CUSTOMIZATION
========================================================= */

.customization {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    background: var(--black);
    color: #fff;
}

.customization-image {
    position: absolute;
    inset: 0;
}

.customization-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.customization-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(10, 8, 6, 0.72),
            rgba(10, 8, 6, 0.3),
            rgba(10, 8, 6, 0.2)
        );
}

.customization-overlay {
    position: relative;
    z-index: 2;
    min-height: 720px;
    display: flex;
    align-items: flex-end;
    padding: 90px 6%;
}

.customization-content {
    max-width: 700px;
}

.customization-content .section-label {
    color: rgba(255, 255, 255, 0.65);
}

.customization-content h2 {
    margin: 0 0 28px;
    font-family: var(--serif);
    font-size: clamp(50px, 6vw, 88px);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -4px;
}

.customization-content h2 span {
    display: block;
}

.customization-content > p:not(.section-label) {
    max-width: 470px;
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
    line-height: 1.8;
}

.customization-button {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--gold-light);
    color: var(--gold-light);
    font-size: 12px;
}

.customization-button span {
    font-size: 18px;
}

.customization-button:hover {
    gap: 20px;
}

/* =========================================================
   14. GALLERY
========================================================= */

.gallery-section {
    padding: 150px 0;
    background: var(--cream);
}

.gallery-header {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 100px;
    align-items: end;
    margin-bottom: 80px;
}

.gallery-header h2 {
    max-width: 700px;
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(48px, 5vw, 74px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.gallery-header h2 span {
    display: block;
}

.gallery-description {
    max-width: 420px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    background: #ddd;
}

.gallery-large {
    height: 620px;
}

.gallery-small {
    height: 440px;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.gallery-item:hover img {
    transform: scale(1.04);
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 22px;
    background:
        linear-gradient(
            transparent 55%,
            rgba(0, 0, 0, 0.55)
        );
    color: #fff;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-overlay span {
    font-size: 12px;
}

.gallery-overlay span:last-child {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.gallery-item:hover .gallery-overlay span:last-child {
    transform: translate(4px, -4px);
}

/* =========================================================
   15. TESTIMONIALS
========================================================= */

.testimonials {
    padding: 150px 0;
    background: var(--warm-white);
}

.testimonials-header {
    margin-bottom: 90px;
}

.testimonials-header h2 {
    max-width: 850px;
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(48px, 5vw, 74px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.testimonials-header h2 span {
    display: block;
}

.featured-testimonial {
    max-width: 1000px;
    margin: 0 auto 100px;
    text-align: center;
}

.testimonial-quote-mark {
    margin-bottom: 25px;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 70px;
    line-height: 1;
}

.featured-testimonial blockquote {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(28px, 3.2vw, 48px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -1px;
}

.testimonial-author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 45px;
}

.testimonial-line {
    width: 35px;
    height: 1px;
    background: var(--gold);
}

.testimonial-author strong {
    display: block;
    font-size: 12px;
    font-weight: 500;
}

.testimonial-author p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 11px;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.testimonial-item {
    padding: 35px 30px;
    border-right: 1px solid var(--border);
}

.testimonial-item:last-child {
    border-right: none;
}

.testimonial-item p {
    margin: 0 0 28px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.75;
}

.testimonial-item span {
    font-size: 11px;
}

/* =========================================================
   16. FAQ
========================================================= */

.faq-section {
    padding: 130px 0;
    background: var(--cream);
}

.faq-heading {
    max-width: 720px;
    margin: 0 auto 60px;
    text-align: center;
}

.faq-heading h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1;
}

.faq-heading p:not(.section-label) {
    max-width: 540px;
    margin: 18px auto 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.75;
}

.faq-list {
    max-width: 900px;
    margin: 0 auto;
    border-top: 1px solid var(--border);
}

.faq-item {
    border-bottom: 1px solid var(--border);
}

.faq-question {
    width: 100%;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 20px 5px;
    border: none;
    background: transparent;
    color: var(--text);
    font-size: 14px;
    font-weight: 500;
    text-align: left;
}

.faq-icon {
    flex-shrink: 0;
    color: var(--gold);
    font-size: 23px;
    font-weight: 300;
    transition: transform 0.3s ease;
}

.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease;
}

.faq-answer p {
    overflow: hidden;
    max-width: 760px;
    margin: 0;
    padding: 0 50px 0 5px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.75;
}

.faq-item.active .faq-answer {
    grid-template-rows: 1fr;
}

.faq-item.active .faq-answer p {
    padding-bottom: 25px;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

/* =========================================================
   17. FINAL CTA
========================================================= */

.final-cta {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
}

.final-cta-image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.final-cta-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.final-cta-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(15, 11, 8, 0.72),
            rgba(15, 11, 8, 0.3)
        );
}

.final-cta-content {
    position: relative;
    z-index: 2;
    width: min(850px, 100%);
    padding: 100px 0;
}

.final-cta .section-label {
    color: rgba(255, 255, 255, 0.65);
}

.final-cta h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(50px, 6vw, 88px);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -4px;
}

.final-cta h2 span {
    display: block;
}

.final-cta-description {
    max-width: 500px;
    margin-top: 30px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    line-height: 1.8;
}

.final-cta-button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 35px;
    padding: 0 24px;
    border: 1px solid var(--gold-light);
    background: var(--gold-light);
    color: var(--black);
    font-size: 12px;
}

.final-cta-button:hover {
    gap: 20px;
    background: #f0cf91;
}

.final-cta-button span {
    font-size: 18px;
}

/* =========================================================
   18. PRODUCTS PAGE
========================================================= */

.products-page-hero,
.about-page-hero,
.contact-page-hero,
.enquire-page-hero {
    padding: 190px 0 110px;
    background:
        linear-gradient(
            135deg,
            var(--dark) 0%,
            #211a14 100%
        );
    color: #fff;
}

.products-page-heading,
.about-page-heading,
.contact-page-heading,
.enquire-page-heading {
    max-width: 950px;
}

.products-page-heading .section-label,
.about-page-heading .section-label,
.contact-page-heading .section-label,
.enquire-page-heading .section-label {
    color: rgba(255, 255, 255, 0.58);
}

.products-page-heading h1,
.about-page-heading h1,
.contact-page-heading h1,
.enquire-page-heading h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(52px, 6.5vw, 88px);
    font-weight: 400;
    line-height: 0.94;
    letter-spacing: -4px;
}

.products-page-heading > p:last-child,
.about-page-heading > p:last-child,
.contact-page-heading > p:last-child,
.enquire-page-heading > p:last-child {
    max-width: 600px;
    margin-top: 28px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 15px;
    line-height: 1.8;
}

/* =========================================================
   PRODUCT CATEGORY NAVIGATION
========================================================= */

.product-category-section {
    padding: 30px 0;
    background: var(--black);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.product-category-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.category-filter {
    padding: 10px 17px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: transparent;
    color: rgba(255, 255, 255, 0.65);
    font-size: 10px;
    cursor: pointer;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.category-filter:hover,
.category-filter.active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--black);
}

/* =========================================================
   PRODUCTS GRID
========================================================= */

.products-page-section {
    padding: 120px 0;
    background: var(--warm-white);
}

.products-page-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 20px;
}

.products-page-grid .product-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.products-page-grid .product-info h3 {
    color: var(--text);
}

.products-page-grid .product-price {
    color: var(--muted);
}

.products-page-grid .product-query-btn {
    border-color: var(--black);
    background: var(--black);
    color: #fff;
}

.products-page-grid .product-query-btn:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--black);
}

.products-page-grid .product-card.filter-hidden {
    display: none;
}

/* =========================================================
   19. CATEGORY PRODUCT PAGES
========================================================= */

.category-products-page {
    padding: 180px 0 120px;
    min-height: 80vh;
    background: var(--warm-white);
}

.category-page-heading {
    margin-bottom: 75px;
    text-align: center;
}

.category-eyebrow {
    color: var(--muted);
}

.category-page-heading h1 {
    margin: 0;
    color: var(--text);
    font-family: var(--serif);
    font-size: clamp(45px, 5.5vw, 76px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.category-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 28px;
}

.category-product-card {
    min-width: 0;
}

.category-product-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #e9e3d9;
}

.category-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.category-product-card:hover .category-product-image img {
    transform: scale(1.04);
}

.category-product-info {
    padding: 20px 2px 0;
}

.product-number {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 2px;
}

.category-product-info h2 {
    margin: 0 0 7px;
    color: var(--text);
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
}

.category-product-info p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}

.category-product-info .product-query-button {
    width: auto;
    min-width: 145px;
    background: var(--black);
    border-color: var(--black);
    color: #fff;
}

.category-product-info .product-query-button:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--black);
}

/* =========================================================
   20. ABOUT PAGE
========================================================= */

.about-story-section {
    padding: 140px 0;
    background: var(--warm-white);
}

.about-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: center;
}

.about-story-image {
    overflow: hidden;
    background: #e5dfd5;
}

.about-story-image img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.about-story-image:hover img {
    transform: scale(1.03);
}

.about-story-content {
    max-width: 570px;
}

.about-story-content h2 {
    margin: 0 0 28px;
    font-family: var(--serif);
    font-size: clamp(40px, 4.5vw, 60px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.about-story-content p:not(.section-label) {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.85;
}

/* =========================================================
   ABOUT APPROACH
========================================================= */

.about-approach-section {
    padding: 130px 0;
    background: var(--cream);
}

.about-section-heading {
    max-width: 750px;
    margin-bottom: 70px;
}

.about-section-heading h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.about-section-heading > p:last-child {
    max-width: 570px;
    margin-top: 20px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

.about-approach-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--border);
}

.about-approach-item {
    min-height: 280px;
    padding: 30px 25px 30px 0;
    border-right: 1px solid var(--border);
}

.about-approach-item:not(:first-child) {
    padding-left: 25px;
}

.about-approach-item:last-child {
    border-right: none;
}

.about-number {
    display: block;
    margin-bottom: 65px;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 2px;
}

.about-approach-item h3 {
    margin: 0 0 12px;
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 400;
}

.about-approach-item p {
    max-width: 240px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}

/* =========================================================
   ABOUT WHY
========================================================= */

.about-why-section {
    padding: 140px 0;
    background: var(--warm-white);
}

.about-why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: start;
}

.about-why-heading h2 {
    max-width: 600px;
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(44px, 5vw, 68px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.about-why-content {
    max-width: 550px;
    padding-top: 40px;
}

.about-why-content p {
    margin: 0 0 25px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.9;
}

/* =========================================================
   ABOUT CTA
========================================================= */

.about-cta-section {
    padding: 130px 0;
    background: var(--dark);
    color: #fff;
}

.about-cta {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.about-cta .section-label {
    color: rgba(255, 255, 255, 0.55);
}

.about-cta h2 {
    margin: 0 auto 35px;
    color: #fff;
    font-family: var(--serif);
    font-size: clamp(44px, 5vw, 70px);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -3px;
}

.about-cta-button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 25px;
    background: var(--gold-light);
    color: var(--black);
    font-size: 11px;
}

.about-cta-button:hover {
    background: #f0cf91;
    transform: translateY(-2px);
}

/* =========================================================
   21. CONTACT PAGE
========================================================= */

.contact-main-section {
    padding: 140px 0;
    background: var(--warm-white);
}

.contact-main-grid {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 100px;
    align-items: start;
}

.contact-information {
    max-width: 440px;
}

.contact-information-heading h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(40px, 4vw, 58px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.contact-details {
    margin-top: 55px;
    border-top: 1px solid var(--border);
}

.contact-detail {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 21px 0;
    border-bottom: 1px solid var(--border);
}

.contact-detail-label {
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.contact-detail a,
.contact-detail span:not(.contact-detail-label) {
    color: var(--text);
    font-size: 14px;
}

.contact-detail a:hover {
    color: var(--gold);
}

/* =========================================================
   CONTACT FORM
========================================================= */

.contact-form-wrapper {
    max-width: 720px;
}

.contact-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.contact-form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}

.contact-form-group label {
    margin-bottom: 9px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.contact-form-group input,
.contact-form-group textarea {
    width: 100%;
    padding: 14px 0;
    border: none;
    border-bottom: 1px solid var(--border);
    outline: none;
    background: transparent;
    color: var(--text);
    font-family: inherit;
    font-size: 14px;
    border-radius: 0;
    transition:
        border-color 0.3s ease;
}

.contact-form-group textarea {
    min-height: 150px;
    resize: vertical;
}

.contact-form-group input::placeholder,
.contact-form-group textarea::placeholder {
    color: #aaa;
}

.contact-form-group input:focus,
.contact-form-group textarea:focus {
    border-color: var(--gold);
}

.contact-submit-btn {
    min-height: 50px;
    padding: 0 28px;
    border: 1px solid var(--black);
    background: var(--black);
    color: #fff;
    font-size: 11px;
    letter-spacing: 0.5px;
}

.contact-submit-btn:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--black);
    transform: translateY(-2px);
}

/* =========================================================
   CONTACT SUCCESS
========================================================= */

.contact-success {
    display: none;
    max-width: 500px;
    padding: 50px 0;
}

.contact-success.active {
    display: block;
}

.contact-success-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--black);
    font-size: 18px;
}

.contact-success h3 {
    margin: 0 0 12px;
    font-family: var(--serif);
    font-size: 30px;
    font-weight: 400;
}

.contact-success p {
    max-width: 430px;
    margin: 0 0 25px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.contact-reset-btn {
    padding: 12px 20px;
    border: 1px solid var(--black);
    background: transparent;
    color: var(--black);
    font-size: 11px;
}

.contact-reset-btn:hover {
    background: var(--black);
    color: #fff;
}

/* =========================================================
   CONTACT LOCATION
========================================================= */

.contact-location-section {
    padding: 120px 0;
    background: var(--cream);
}

.contact-location-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 70px;
    align-items: stretch;
}

.contact-location-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 550px;
}

.contact-location-content h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.contact-location-content > p:not(.section-label) {
    max-width: 480px;
    margin: 25px 0 30px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.8;
}

.contact-location-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--text);
    font-size: 11px;
    transition:
        gap 0.3s ease,
        color 0.3s ease;
}

.contact-location-link:hover {
    gap: 18px;
    color: var(--gold);
}

.contact-location-link span {
    font-size: 17px;
}

.contact-location-placeholder {
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            135deg,
            #ddd5c8,
            #c9bba9
        );
}

.location-placeholder-content {
    text-align: center;
}

.location-placeholder-content span {
    display: block;
    margin-bottom: 10px;
    color: var(--black);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
}

.location-placeholder-content p {
    margin: 0;
    color: rgba(21, 18, 15, 0.6);
    font-size: 12px;
}

/* =========================================================
   22. ENQUIRE PAGE
========================================================= */

.enquire-form-section {
    padding: 140px 0;
    background: var(--warm-white);
}

.enquire-form-grid {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 100px;
    align-items: start;
}

.enquire-form-intro {
    max-width: 500px;
}

.enquire-form-intro h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.enquire-form-intro > p:not(.section-label) {
    margin: 25px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.85;
}

.enquire-note {
    margin-top: 45px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.enquire-note > span {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.enquire-note p {
    max-width: 420px;
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7;
}

/* =========================================================
   ENQUIRE FORM
========================================================= */

.enquire-form-wrapper {
    max-width: 720px;
}

.enquire-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.enquire-form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}

.enquire-form-group label {
    margin-bottom: 9px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.enquire-form-group input,
.enquire-form-group select,
.enquire-form-group textarea {
    width: 100%;
    padding: 14px 0;
    border: none;
    border-bottom: 1px solid var(--border);
    outline: none;
    background: transparent;
    color: var(--text);
    font-family: inherit;
    font-size: 14px;
    border-radius: 0;
    transition: border-color 0.3s ease;
}

.enquire-form-group textarea {
    min-height: 150px;
    resize: vertical;
}

.enquire-form-group select {
    cursor: pointer;
}

.enquire-form-group input::placeholder,
.enquire-form-group textarea::placeholder {
    color: #aaa;
}

.enquire-form-group input:focus,
.enquire-form-group select:focus,
.enquire-form-group textarea:focus {
    border-color: var(--gold);
}

.enquire-submit-btn {
    min-height: 50px;
    padding: 0 28px;
    border: 1px solid var(--black);
    background: var(--black);
    color: #fff;
    font-size: 11px;
}

.enquire-submit-btn:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--black);
    transform: translateY(-2px);
}

.enquire-form-disclaimer {
    margin-top: 18px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.6;
}

/* =========================================================
   ENQUIRE SUCCESS
========================================================= */

.enquire-success {
    display: none;
    max-width: 550px;
    padding: 50px 0;
}

.enquire-success.active {
    display: block;
}

.enquire-success-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--black);
    font-size: 18px;
}

.enquire-success h3 {
    margin: 0 0 12px;
    font-family: var(--serif);
    font-size: 30px;
    font-weight: 400;
}

.enquire-success p {
    max-width: 450px;
    margin: 0 0 25px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.enquire-reset-btn {
    padding: 12px 20px;
    border: 1px solid var(--black);
    background: transparent;
    color: var(--black);
    font-size: 11px;
}

.enquire-reset-btn:hover {
    background: var(--black);
    color: #fff;
}

/* =========================================================
   ENQUIRE PROCESS
========================================================= */

.enquire-process-section {
    padding: 130px 0;
    background: var(--cream);
}

.enquire-process-heading {
    max-width: 750px;
    margin-bottom: 70px;
}

.enquire-process-heading h2 {
    margin: 0;
    font-family: var(--serif);
    font-size: clamp(42px, 4.5vw, 62px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -2px;
}

.enquire-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--border);
}

.enquire-process-item {
    min-height: 270px;
    padding: 30px 35px 30px 0;
    border-right: 1px solid var(--border);
}

.enquire-process-item:not(:first-child) {
    padding-left: 35px;
}

.enquire-process-item:last-child {
    border-right: none;
}

.enquire-process-number {
    display: block;
    margin-bottom: 65px;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 2px;
}

.enquire-process-item h3 {
    margin: 0 0 12px;
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 400;
}

.enquire-process-item p {
    max-width: 290px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}

/* =========================================================
   23. QUERY MODAL
========================================================= */

.query-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    background: rgba(8, 6, 4, 0.78) !important;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.query-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* =========================================================
   MODAL BOX
========================================================= */

.query-modal {
    position: relative !important;
    width: min(620px, 100%) !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    padding: 42px !important;
    background: #f5f1e9 !important;
    color: #1c1a18 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.35) !important;
    transform: translateY(25px) scale(0.98);
    transition: transform 0.35s ease;
}

.query-modal-overlay.active .query-modal {
    transform: translateY(0) scale(1);
}

/* =========================================================
   MODAL HEADER
========================================================= */

.query-modal-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 25px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(28, 26, 24, 0.14) !important;
}

.query-modal-label {
    margin: 0 0 10px !important;
    color: #77716a !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 4px !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
}

.query-modal-header h2 {
    margin: 0 !important;
    color: #1c1a18 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 40px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -1px !important;
}

/* =========================================================
   CLOSE BUTTON
========================================================= */

.query-modal-close {
    flex-shrink: 0 !important;
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid rgba(28, 26, 24, 0.16) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #1c1a18 !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.query-modal-close:hover {
    background: #15120f !important;
    border-color: #15120f !important;
    color: #fff !important;
}

/* =========================================================
   MODAL INTRO
========================================================= */

.query-modal-intro {
    margin: 24px 0 32px !important;
    color: #77716a !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
}

/* =========================================================
   QUERY FORM
========================================================= */

.query-form {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 21px !important;
}

/* =========================================================
   QUERY FIELD
========================================================= */

.query-form .query-field {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    margin: 0 !important;
}

/* =========================================================
   QUERY LABEL
========================================================= */

.query-form .query-field label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #77716a !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
}

/* =========================================================
   INPUTS / SELECT / TEXTAREA
========================================================= */

.query-form .query-field input,
.query-form .query-field select,
.query-form .query-field textarea {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    border: 1px solid rgba(28, 26, 24, 0.18) !important;
    border-radius: 0 !important;
    outline: none !important;
    background: rgba(255, 255, 255, 0.55) !important;
    color: #1c1a18 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    appearance: auto;
    transition:
        border-color 0.25s ease,
        background 0.25s ease;
}

.query-form .query-field input:focus,
.query-form .query-field select:focus,
.query-form .query-field textarea:focus {
    border-color: #d7a85d !important;
    background: #fff !important;
}

.query-form .query-field input::placeholder,
.query-form .query-field textarea::placeholder {
    color: #aaa !important;
    opacity: 1 !important;
}

/* =========================================================
   TEXTAREA
========================================================= */

.query-form .query-field textarea {
    min-height: 105px !important;
    resize: vertical !important;
}

/* =========================================================
   SUBMIT BUTTON
========================================================= */

.query-form .query-submit {
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 13px !important;
    margin-top: 5px !important;
    padding: 0 22px !important;
    border: 1px solid #15120f !important;
    border-radius: 0 !important;
    background: #15120f !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        gap 0.3s ease;
}

.query-form .query-submit span {
    font-size: 18px !important;
    line-height: 1 !important;
}

.query-form .query-submit:hover {
    gap: 19px !important;
    border-color: #d7a85d !important;
    background: #d7a85d !important;
    color: #15120f !important;
}

/* =========================================================
   QUERY SUCCESS
========================================================= */

.query-success {
    display: none;
    padding: 55px 20px 25px;
    text-align: center;
}

.query-success.active {
    display: block;
}

.query-success-icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    border-radius: 50%;
    background: #d7a85d;
    color: #15120f;
    font-size: 19px;
}

.query-success h3 {
    margin: 0 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
}

.query-success p {
    max-width: 400px;
    margin: 0 auto 30px;
    color: #77716a;
    font-size: 13px;
    line-height: 1.75;
}

.query-success-close {
    padding: 12px 22px;
    border: 1px solid #15120f;
    background: transparent;
    color: #15120f;
    font-size: 11px;
}

.query-success-close:hover {
    background: #15120f;
    color: #fff;
}

/* =========================================================
   QUERY MODAL — MOBILE
========================================================= */

@media (max-width: 700px) {

    .query-modal-overlay {
        padding: 14px !important;
    }

    .query-modal {
        width: 100% !important;
        max-height: 94vh !important;
        padding: 30px 22px !important;
    }

    .query-modal-header {
        gap: 15px !important;
    }

    .query-modal-header h2 {
        font-size: 32px !important;
    }

    .query-modal-close {
        width: 38px !important;
        height: 38px !important;
    }

    .query-modal-intro {
        margin: 20px 0 27px !important;
        font-size: 12px !important;
    }

    .query-form {
        gap: 18px !important;
    }
}

/* =========================================================
   24. FOOTER
========================================================= */

.site-footer {
    padding: 100px 0 30px;
    background: #100d0a;
    color: #fff;
}

.footer-main {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 1fr 1fr;
    gap: 70px;
    padding-bottom: 75px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

/* =========================================================
   FOOTER BRAND
========================================================= */

.footer-logo {
    display: inline-block;
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 2px;
}

.footer-brand p {
    max-width: 330px;
    margin-top: 22px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
    line-height: 1.8;
}

/* =========================================================
   FOOTER COLUMNS
========================================================= */

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-column h3 {
    margin: 0 0 24px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.footer-column a,
.footer-column p {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    line-height: 1.5;
}

.footer-column a {
    transition:
        color 0.3s ease;
}

.footer-column a:hover {
    color: var(--gold-light);
}

/* =========================================================
   FOOTER CTA
========================================================= */

.footer-cta p {
    max-width: 260px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.5);
}

.footer-query-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--gold);
    color: var(--gold-light) !important;
    font-size: 12px !important;
}

.footer-query-link span {
    font-size: 18px;
    transition: transform 0.3s ease;
}

.footer-query-link:hover span {
    transform: translateX(5px);
}

/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 25px;
}

.footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.35);
    font-size: 10px;
}

.footer-legal {
    display: flex;
    gap: 22px;
}

.footer-legal a {
    color: rgba(255, 255, 255, 0.35);
    font-size: 10px;
    transition: color 0.3s ease;
}

.footer-legal a:hover {
    color: var(--gold-light);
}

/* =========================================================
   25. RESPONSIVE — LARGE LAPTOP
========================================================= */

@media (max-width: 1200px) {

    .desktop-navigation {
        gap: 22px;
    }

    .header-container {
        width: 94%;
    }

    .hero-container,
    .container,
    .section-container {
        width: 90%;
    }

    .hero h1 {
        font-size: clamp(55px, 6.5vw, 82px);
    }

    .hero-feature {
        min-width: 135px;
        padding-inline: 18px;
    }

    .hero-tagline {
        display: none;
    }

    .brand-intro-container,
    .why-us-intro,
    .gallery-header {
        gap: 60px;
    }

    .footer-main {
        grid-template-columns:
            1.3fr
            0.8fr
            1fr
            1fr;
        gap: 45px;
    }
}

/* =========================================================
   26. RESPONSIVE — TABLET
========================================================= */
@media (max-width: 900px) {

    /* HEADER */
    .desktop-navigation {
        gap: 17px;
    }

    .desktop-navigation > a,
    .desktop-products > a {
        font-size: 10px;
    }

    .header-query-btn {
        padding: 0 16px;
        font-size: 10px;
    }

    .header-icon {
        width: 34px;
    }

    /* HERO */
    .hero-container {
        width: 88%;
    }

    .hero h1 {
        font-size: clamp(52px, 8vw, 72px);
    }

    .hero-description {
        font-size: 16px;
    }

    .hero-features {
        bottom: 45px;
    }

    .hero-feature {
        min-width: 120px;
        padding-inline: 14px;
        gap: 9px;
    }

    .hero-feature-icon {
        width: 26px;
        font-size: 23px;
    }
    .hero-feature strong {
        font-size: 11px;
    }
    .hero-feature div span {
        font-size: 9px;
    }

    /* INTRO */
    .brand-intro,
    .why-us,
    .gallery-section,
    .testimonials,
    .faq-section,
    .products-page-section,
    .about-story-section,
    .about-why-section,
    .contact-main-section,
    .enquire-form-section {
        padding: 100px 0;
    }

    .brand-intro-container,
    .why-us-intro,
    .gallery-header {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .brand-intro-content,
    .about-why-content {
        padding-top: 0;
    }

    /* PRODUCTS */
    .products-page-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .category-products-grid {
        gap: 45px 20px;
    }

    /* ABOUT */
    .about-story-grid,
    .about-why-grid {
        gap: 55px;
    }

    .about-approach-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-approach-item:nth-child(2) {
        border-right: none;
    }

    /* CONTACT */
    .contact-main-grid,
    .contact-location-grid,
    .enquire-form-grid {
        gap: 60px;
    }

    /* FOOTER */
    .footer-main {
        grid-template-columns: repeat(2, 1fr);
        gap: 55px;
    }
}

/* =========================================================
   27. RESPONSIVE — MOBILE
========================================================= */
@media (max-width: 700px) {

    /* =====================================================
       MOBILE HEADER
    ===================================================== */
    .site-header {
        background: rgba(15, 12, 9, 0.94);
        border-bottom-color:
            rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(12px);
    }

    .header-container {
        width: 92%;
        height: auto;
        min-height: 70px;
        padding: 10px 0;
        flex-wrap: wrap;
        row-gap: 8px;
    }

    .logo {
        font-size: 14px;
        letter-spacing: 1.5px;
    }

    .header-actions {
        gap: 4px;
    }

    .header-icon {
        width: 34px;
        height: 34px;
    }

    .header-query-btn {
        min-height: 38px;
        padding: 0 13px;
        font-size: 9px;
    }

/* =========================================================
   MOBILE MENU — RESPONSIVE NAVIGATION
========================================================= */

/* Hidden on desktop */
.mobile-menu-toggle {
    display: none;
}

.mobile-menu {
    display: none;
}

.mobile-navigation {
    display: none;
}

.mobile-menu-actions {
    display: none;
}

/* =========================================================
   MOBILE
========================================================= */
@media (max-width: 700px) {

    /* -----------------------------------------------------
       HEADER
    ----------------------------------------------------- */
    .header-container {
        width: 92%;
        height: 70px;
        min-height: 70px;
        padding: 10px 0;
        flex-wrap: nowrap;
        gap: 15px;
    }

    .logo {
        font-size: 14px;
        letter-spacing: 1.5px;
    }

    /* Hide desktop navigation */
    .desktop-navigation {
        display: none !important;
    }

    /* Header actions */
    .header-actions {
        margin-left: auto;
        gap: 6px;
    }

    /* Hide desktop actions */

    .header-actions > .header-icon,
    .header-actions > .header-query-btn {
        display: none !important;
    }

    /* -----------------------------------------------------
       HAMBURGER
    ----------------------------------------------------- */
    .mobile-menu-toggle {
        width: 40px;
        height: 40px;
        display: flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 5px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, 0.45);
        border-radius: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
        transition:
            background 0.3s ease,
            border-color 0.3s ease;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 17px;
        height: 1px;
        background: currentColor;
        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }

    /* Hamburger → X */
    .mobile-menu-toggle.active
    span:nth-child(1) {
        transform:
            translateY(6px)
            rotate(45deg);
    }

    .mobile-menu-toggle.active
    span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active
    span:nth-child(3) {
        transform:
            translateY(-6px)
            rotate(-45deg);
    }

    .mobile-menu-toggle:focus,
    .mobile-menu-toggle:focus-visible {
        outline: none;
        box-shadow: none;
    }

    /* -----------------------------------------------------
       MOBILE MENU PANEL
    ----------------------------------------------------- */

    .mobile-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 1001;
        display: block;
        max-height:
            calc(100svh - 70px);
        overflow-y: auto;
        padding:
            18px 6% 30px;
        background:
            rgba(21, 18, 15, 0.98);
        border-top:
            1px solid rgba(255, 255, 255, 0.1);
        box-shadow:
            0 25px 50px rgba(0, 0, 0, 0.25);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform:
            translateY(-12px);
        transition:
            opacity 0.3s ease,
            transform 0.3s ease,
            visibility 0.3s ease;
    }

    .mobile-menu.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform:
            translateY(0);
    }

    /* -----------------------------------------------------
       MOBILE NAVIGATION
    ----------------------------------------------------- */

    .mobile-navigation {
        display: flex;
        flex-direction: column;
        border-top:
            1px solid rgba(255, 255, 255, 0.1);
    }

    .mobile-navigation > a,
    .mobile-products-toggle {
        width: 100%;
        min-height: 54px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        border: none;
        border-bottom:
            1px solid rgba(255, 255, 255, 0.1);
        border-radius: 0;
        background: transparent;
        color:
            rgba(255, 255, 255, 0.9);
        font-family: inherit;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.4;
        text-align: left;
        text-decoration: none;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
        box-shadow: none;
    }

    .mobile-navigation > a:hover,
    .mobile-products-toggle:hover {
        color:
            var(--gold-light);
    }

    .mobile-navigation > a:focus,
    .mobile-navigation > a:focus-visible,
    .mobile-products-toggle:focus,
    .mobile-products-toggle:focus-visible {
        outline: none;
        box-shadow: none;
    }

    /* -----------------------------------------------------
       PRODUCTS
    ----------------------------------------------------- */

    .mobile-products {
        width: 100%;
    }

    .mobile-products-toggle {
        margin: 0;
    }

    .mobile-products-arrow {
        display: flex;
        width: 20px;
        height: 20px;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color:
            var(--gold-light);
        font-size: 20px;
        font-weight: 300;
        line-height: 1;
        transition:
            transform 0.3s ease;
    }

    .mobile-products-toggle.active
    .mobile-products-arrow {
        transform:
            rotate(45deg);
    }

    /* -----------------------------------------------------
       PRODUCTS SUBMENU
    ----------------------------------------------------- */

    .mobile-products-submenu {
        width: 100%;
        display: flex;
        flex-direction: column;
        max-height: 0;
        overflow: hidden;
        padding: 0 0 0 16px;
        background:
            rgba(255, 255, 255, 0.015);
        transition:
            max-height 0.35s ease,
            padding 0.35s ease;
    }

    .mobile-products.active
    .mobile-products-submenu {
        max-height: 420px;
        padding:
            4px 0 8px 16px;
    }

    /* Product links */

    .mobile-products-submenu a {
        width: 100%;
        min-height: 0;
        display: flex;
        align-items: center;
        padding: 0;
        color:
            rgba(255, 255, 255, 0.62);
        font-size: 12px;
        line-height: 1.4;
        text-decoration: none;
        opacity: 0;
        transform:
            translateY(-4px);
        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            color 0.25s ease,
            min-height 0.35s ease;
    }

    .mobile-products.active
    .mobile-products-submenu a {
        min-height: 40px;
        opacity: 1;
        transform:
            translateY(0);
    }

    .mobile-products-submenu a:hover {
        color:
            var(--gold-light);
    }

    /* -----------------------------------------------------
       SEARCH / WISHLIST / QUERY
    ----------------------------------------------------- */

    .mobile-menu-actions {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding-top: 20px;
    }

    .mobile-menu-action {
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        border: none;
        border-bottom:
            1px solid rgba(255, 255, 255, 0.1);
        border-radius: 0;
        background: transparent;
        color:
            rgba(255, 255, 255, 0.82);
        font-family: inherit;
        font-size: 12px;
        text-align: left;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
    }

    .mobile-menu-action:hover {
        color:
            var(--gold-light);
    }

    .mobile-menu-action:focus,
    .mobile-menu-action:focus-visible {
        outline: none;
        box-shadow: none;
    }

    .mobile-menu-action small {
        margin-left: 3px;
        color:
            var(--gold-light);
        font-size: 9px;
    }

    /* Query */
    .mobile-menu-query {
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 8px;
        padding: 0 20px;
        border:
            1px solid var(--gold-light);
        border-radius: 0;
        background:
            var(--gold-light);
        color:
            var(--black);
        font-family: inherit;
        font-size: 11px;
        font-weight: 500;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
    }

    .mobile-menu-query:hover {
        background:
            transparent;
        color:
            var(--gold-light);
    }

    .mobile-menu-query:focus,
    .mobile-menu-query:focus-visible {
        outline: none;
        box-shadow: none;
    }

    /* -----------------------------------------------------
       MOBILE HEADER BACKGROUND
    ----------------------------------------------------- */

    .site-header,
    .site-header.scrolled {
        background:
            rgba(15, 12, 9, 0.97);
        border-bottom-color:
            rgba(255, 255, 255, 0.1);
        backdrop-filter:
            blur(14px);
    }

    .site-header.scrolled .logo {
        color: #fff;
    }

    .site-header.scrolled
    .mobile-menu-toggle {
        color: #fff;
        border-color:
            rgba(255, 255, 255, 0.45);
    }

    /* Prevent page scrolling while menu is open */
    body.mobile-menu-open {
        overflow: hidden;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .mobile-menu-toggle {
        width: 38px;
        height: 38px;
    }

    .mobile-menu {
        padding:
            16px 6% 25px;
    }

    .mobile-navigation > a,
    .mobile-products-toggle {
        min-height: 52px;
        font-size: 12px;
    }

    .mobile-products-submenu a {
        font-size: 11px;
    }

    .mobile-menu-query {
        min-height: 46px;
    }
}

    /* =====================================================
       MOBILE HERO
    ===================================================== */

    .hero {
        min-height: 100svh;
        height: auto;
        padding-top: 115px;
    }

    .hero-background img {
        object-position: 60% center;
    }

    .hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(12, 9, 6, 0.45) 0%,
                rgba(12, 9, 6, 0.52) 42%,
                rgba(12, 9, 6, 0.78) 100%
            );
    }

    .hero-container {
        width: 90%;
        min-height: calc(100svh - 115px);
        padding-top: 55px;
        padding-bottom: 35px;
        justify-content: flex-start;
    }

    .hero-content {
        width: 100%;
    }

    .hero-eyebrow {
        margin-bottom: 20px;
        font-size: 8px;
        letter-spacing: 3px;
    }

    .hero h1 {
        max-width: 500px;
        font-size: clamp(46px, 13vw, 65px);
        line-height: 0.95;
        letter-spacing: -2px;
    }

    .hero-description {
        max-width: 390px;
        margin-top: 22px;
        font-size: 14px;
        line-height: 1.6;
    }

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
        margin-top: 28px;
    }

    .hero-primary-btn {
        min-height: 50px;
        padding: 0 23px;
        font-size: 11px;
    }

    .hero-video-btn {
        font-size: 11px;
    }

    .hero-play-icon {
        width: 40px;
        height: 40px;
    }

    .hero-features {
        position: static;
        width: 100%;
        margin-top: auto;
        padding-top: 35px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-feature {
        min-width: 0;
        padding: 13px 8px;
        border-top:
            1px solid rgba(255, 255, 255, 0.18);
        border-right:
            1px solid rgba(255, 255, 255, 0.18);
    }

    .hero-feature:nth-child(2),
    .hero-feature:nth-child(4) {
        border-right: none;
    }

    .hero-feature-icon {
        width: 24px;

        font-size: 20px;
    }

    .hero-feature strong {
        font-size: 10px;
    }

    .hero-feature div span {
        font-size: 8px;
    }

    .hero-tagline {
        display: none;
    }

    /* =====================================================
       MOBILE GENERAL
    ===================================================== */

    .container,
    .section-container {
        width: 90%;
    }

    .section-heading {
        margin-bottom: 45px;
    }

    .section-heading h2 {
        font-size: clamp(38px, 11vw, 55px);
    }

    /* =====================================================
       MOBILE CATEGORIES
    ===================================================== */

    .categories-section {
        padding: 90px 0;
    }

    .category-card {
        flex-basis: 145px;
    }

    .category-image {
        width: 145px;
        height: 145px;
    }

    .slider-btn {
        display: none;
    }

    /* =====================================================
       MOBILE PRODUCTS
    ===================================================== */

    .products-section,
    .best-sellers-section {
        padding: 90px 0;
    }

    .products-track .product-card,
    .best-sellers-track .product-card {
        flex-basis: 255px;
    }

    .products-page-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 14px;
    }

    .product-info {
        padding: 16px;
    }

    .product-info h3 {
        font-size: 18px;
    }

    /* =====================================================
       MOBILE CATEGORY PAGES
    ===================================================== */

    .products-page-hero,
    .about-page-hero,
    .contact-page-hero,
    .enquire-page-hero {
        padding: 145px 0 80px;
    }

    .products-page-heading h1,
    .about-page-heading h1,
    .contact-page-heading h1,
    .enquire-page-heading h1 {
        font-size: clamp(48px, 13vw, 65px);
        letter-spacing: -2px;
    }

    .category-products-page {
        padding: 120px 0 80px;
    }

    .category-page-heading {
        margin-bottom: 50px;
    }

    .category-page-heading h1 {
        font-size: clamp(42px, 11vw, 58px);
    }

    .category-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 16px;
    }

    .category-product-info {
        padding-top: 15px;
    }

    .category-product-info h2 {
        font-size: 19px;
    }

    /* =====================================================
       MOBILE ABOUT
    ===================================================== */

    .about-story-grid,
    .about-why-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .about-approach-grid {
        grid-template-columns: 1fr;
    }

    .about-approach-item,
    .about-approach-item:not(:first-child) {
        min-height: auto;
        padding: 25px 0;
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .about-approach-item:last-child {
        border-bottom: none;
    }

    .about-number {
        margin-bottom: 30px;
    }

    /* =====================================================
       MOBILE GALLERY
    ===================================================== */

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-large,
    .gallery-small {
        height: 380px;
    }

    .gallery-overlay {
        opacity: 1;
    }

    /* ====================================================
       MOBILE TESTIMONIALS
    ===================================================== */

    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .testimonial-item {
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .testimonial-item:last-child {
        border-bottom: none;
    }

    /* =====================================================
       MOBILE WHY
    ===================================================== */

    .why-us-intro {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .why-us-item {
        grid-template-columns: 45px 1fr 25px;
        gap: 15px;
        padding: 25px 0;
    }

    .why-us-content h3 {
        font-size: 20px;
    }

    .why-us-content p {
        font-size: 12px;
    }

    /* =====================================================
       MOBILE CUSTOMIZATION
    ===================================================== */

    .customization,
    .customization-overlay {
        min-height: 620px;
    }

    .customization-overlay {
        padding: 55px 5%;
    }

    .customization-content h2 {
        font-size: clamp(45px, 12vw, 65px);
        letter-spacing: -2px;
    }

    /* =====================================================
       MOBILE CONTACT
    ===================================================== */

    .contact-main-grid,
    .contact-location-grid,
    .enquire-form-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .contact-form-row,
    .enquire-form-row {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .contact-location-placeholder {
        min-height: 300px;
    }

    /* =====================================================
       MOBILE ENQUIRE PROCESS
    ===================================================== */

    .enquire-process-grid {
        grid-template-columns: 1fr;
    }

    .enquire-process-item,
    .enquire-process-item:not(:first-child) {
        min-height: auto;
        padding: 28px 0;
        border-right: none;
        border-bottom: 1px solid var(--border);
    }

    .enquire-process-item:last-child {
        border-bottom: none;
    }

    .enquire-process-number {
        margin-bottom: 30px;
    }

    /* =====================================================
       MOBILE FOOTER
    ===================================================== */

    .site-footer {
        padding: 75px 0 25px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 45px;
        padding-bottom: 50px;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    /* =====================================================
       MOBILE QUERY MODAL
    ===================================================== */

    .query-modal-overlay {
        padding: 15px;
    }

    .query-modal {
        max-height: 92vh;
        padding: 30px 22px;
    }

    .query-modal-header {
        gap: 15px;
    }

    .query-modal-header h2 {
        font-size: 32px;
    }
}

/* =========================================================
   28. SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .header-container {
        width: 94%;
    }

    .logo {
        font-size: 12px;
    }

    .header-query-btn {
        padding: 0 11px;
        font-size: 8px;
    }

    .hero {
        padding-top: 110px;
    }

    .hero-container {
        width: 90%;
        min-height: calc(100svh - 110px);
        padding-top: 45px;
    }

    .hero-background img {
        object-position: 62% center;
    }

    .hero h1 {
        font-size: clamp(43px, 12.5vw, 58px);
    }

    .hero-description {
        max-width: 330px;
        font-size: 13px;
    }

    .hero-primary-btn {
        min-height: 48px;
        padding: 0 20px;
    }

    .hero-features {
        padding-top: 28px;
    }

    .hero-feature {
        padding: 12px 5px;
        gap: 6px;
    }

    .hero-feature-icon {
        width: 21px;
        font-size: 18px;
    }

    .hero-feature strong {
        font-size: 9px;
    }

    .hero-feature div span {
        font-size: 7px;
    }

    /* PRODUCTS */
    .products-page-grid {
        grid-template-columns: 1fr;
    }

    .category-products-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .category-product-info h2 {
        font-size: 21px;
    }

    /* PAGE HEADINGS */
    .products-page-heading h1,
    .about-page-heading h1,
    .contact-page-heading h1,
    .enquire-page-heading h1 {
        font-size: 45px;
        letter-spacing: -1.5px;
    }

    /* MODAL */
    .query-modal {
        padding: 25px 18px;
    }
    .query-modal-header h2 {
        font-size: 29px;
    }
}

/* =========================================================
   SCROLLED HEADER
========================================================= */

.site-header {
    transition:
        background 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        backdrop-filter 0.35s ease;
}

.site-header.scrolled {
    background: rgba(250, 249, 246, 0.97);
    border-bottom-color: rgba(21, 18, 15, 0.10);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(14px);
}

/* Logo */
.site-header.scrolled .logo {
    color: var(--black);
}

/* Navigation */
.site-header.scrolled .desktop-navigation > a,
.site-header.scrolled .desktop-products > a {
    color: var(--text);
}

.site-header.scrolled .desktop-navigation > a:hover,
.site-header.scrolled .desktop-products > a:hover {
    color: var(--black);
}

/* Navigation underline */
.site-header.scrolled .desktop-navigation > a::after,
.site-header.scrolled .desktop-products > a::after {
    background: var(--gold);
}

/* Search */
.site-header.scrolled .header-icon {
    color: var(--black);
}

/* Wishlist */
.site-header.scrolled .wishlist-count {
    color: var(--muted);
}

/* Query button */
.site-header.scrolled .header-query-btn {
    border-color: var(--black);
    background: var(--black);
    color: #fff;
}

.site-header.scrolled .header-query-btn:hover {
    border-color: var(--gold);
    background: var(--gold);
    color: var(--black);
}

.footer-bottom {
    width: min(1400px, 90%);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom p,
.footer-bottom a {
    margin: 0;
    color: rgba(255, 255, 255, 0.45);
    font-size: 11px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.developer-credit {
    color: rgba(255, 255, 255, 0.7) !important;
}

.developer-credit:hover {
    color: var(--gold-light) !important;
}

.footer-privacy:hover {
    color: #fff;
}

/* Mobile */

@media (max-width: 700px) {
    .footer-bottom {
        width: 90%;
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
}

/* =========================================================
   MOBILE MENU — RESPONSIVE NAVIGATION
========================================================= */

.mobile-menu-toggle { display:none; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.45); background:transparent; color:#fff; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.mobile-menu-toggle span { display:block; width:17px; height:1px; background:currentColor; transition:transform .3s ease, opacity .3s ease; }
.mobile-menu-toggle.active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.mobile-menu-toggle.active span:nth-child(2) { opacity:0; }
.mobile-menu-toggle.active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.mobile-menu { display:none; }
.mobile-navigation,.mobile-menu-actions { display:none; }
.site-header.scrolled .mobile-menu-toggle { border-color:rgba(21,18,15,.28); color:var(--black); }

@media (max-width:700px) {
    .header-container { flex-wrap:nowrap; min-height:70px; padding:10px 0; }
    .desktop-navigation { display:none; }
    .header-actions { margin-left:auto; gap:6px; }
    .header-actions > .header-icon, .header-actions > .header-query-btn { display:none; }
    .mobile-menu-toggle { display:flex; }
    .mobile-menu { position:absolute; top:100%; left:0; right:0; max-height:calc(100svh - 70px); overflow-y:auto; padding:22px 6% 30px; background:rgba(21,18,15,.98); border-top:1px solid rgba(255,255,255,.1); box-shadow:0 25px 50px rgba(0,0,0,.22); opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .3s ease,transform .3s ease,visibility .3s ease; display:block; }
    .mobile-menu.active { opacity:1; visibility:visible; transform:translateY(0); }
    .mobile-navigation { display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.1); }
    .mobile-navigation > a, .mobile-products-toggle { width:100%; min-height:55px; display:flex; align-items:center; justify-content:space-between; padding:0; border:none; border-bottom:1px solid rgba(255,255,255,.1); background:transparent; color:rgba(255,255,255,.9); font-size:13px; font-weight:400; text-align:left; }
    .mobile-navigation > a:hover,.mobile-products-toggle:hover { color:var(--gold-light); }
    .mobile-products-toggle { cursor:pointer; }
    .mobile-products-arrow { color:var(--gold-light); font-size:20px; font-weight:300; line-height:1; transition:transform .3s ease; }
    .mobile-products-toggle.active .mobile-products-arrow { transform:rotate(45deg); }
    .mobile-products-submenu { display:grid; grid-template-rows:0fr; padding-left:16px; border-bottom:1px solid rgba(255,255,255,.1); transition:grid-template-rows .35s ease; }
    .mobile-products-submenu a { min-height:0; display:flex; align-items:center; padding:0; color:rgba(255,255,255,.62); font-size:12px; overflow:hidden; transition:color .25s ease,min-height .35s ease; }
    .mobile-products.active .mobile-products-submenu { grid-template-rows:1fr; }
    .mobile-products.active .mobile-products-submenu a { min-height:43px; }
    .mobile-products-submenu a:hover { color:var(--gold-light); }
    .mobile-menu-actions { display:flex; flex-direction:column; gap:10px; padding-top:22px; }
    .mobile-menu-action { width:100%; min-height:50px; display:flex; align-items:center; justify-content:space-between; padding:0; border:none; border-bottom:1px solid rgba(255,255,255,.1); background:transparent; color:rgba(255,255,255,.82); font-size:12px; text-align:left; }
    .mobile-menu-action:hover { color:var(--gold-light); }
    .mobile-menu-action small { margin-left:3px; color:var(--gold-light); font-size:9px; }
    .mobile-menu-query { width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; margin-top:8px; padding:0 20px; border:1px solid var(--gold-light); background:var(--gold-light); color:var(--black); font-size:11px; font-weight:500; }
    body.mobile-menu-open { overflow:hidden; }
    .site-header,.site-header.scrolled { background:rgba(15,12,9,.97); border-bottom-color:rgba(255,255,255,.1); backdrop-filter:blur(14px); }
    .site-header.scrolled .logo { color:#fff; }
    .site-header.scrolled .mobile-menu-toggle { border-color:rgba(255,255,255,.45); color:#fff; }
}

@media (max-width:480px) {
    .mobile-menu-toggle { width:38px; height:38px; }
    .mobile-menu { padding-inline:6%; }
    .mobile-navigation > a,.mobile-products-toggle { min-height:52px; font-size:12px; }
    .mobile-products-submenu a { font-size:11px; }
    .mobile-menu-query { min-height:46px; }
}

/* =========================================================
   SEARCH OVERLAY
========================================================= */

.search-overlay {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding:
        90px 30px 30px;
    background:
        rgba(12, 10, 8, 0.72);
    backdrop-filter:
        blur(12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* =========================================================
   SEARCH PANEL
========================================================= */

.search-panel {
    width: min(
        900px,
        100%
    );
    max-height:
        calc(100vh - 120px);
    overflow: hidden;
    background:
        var(--warm-white);
    color:
        var(--text);
    box-shadow:
        0 30px 80px
        rgba(0, 0, 0, 0.25);
    transform:
        translateY(-20px);
    transition:
        transform 0.35s ease;
}

.search-overlay.active
.search-panel {
    transform:
        translateY(0);
}

/* =========================================================
   SEARCH HEADER
========================================================= */

.search-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding:
        30px 34px 24px;
    border-bottom:
        1px solid var(--border);
}

.search-label {
    margin: 0 0 7px;
    color:
        var(--gold-dark);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.search-panel-header h2 {
    margin: 0;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.1;
    color:
        var(--black);
}

/* Close */
.search-close {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border:
        1px solid rgba(
            21,
            18,
            15,
            0.18
        );
    border-radius: 50%;
    background:
        transparent;
    color:
        var(--black);
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}

.search-close:hover {
    background:
        var(--black);
    color:
        #fff;
    border-color:
        var(--black);
}

/* =========================================================
   SEARCH INPUT
========================================================= */

.search-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    margin:
        22px 34px 0;
    border-bottom:
        1px solid
        rgba(21, 18, 15, 0.22);
}

.search-input-icon {
    width: 30px;
    flex-shrink: 0;
    color:
        var(--gold-dark);
    font-size: 20px;
    line-height: 1;
}

.search-input-wrap input {
    width: 100%;
    height: 58px;
    padding:
        0 42px 0 0;
    border: none;
    outline: none;
    background:
        transparent;
    color:
        var(--black);
    font-family:
        inherit;
    font-size: 17px;
    font-weight: 400;
}

.search-input-wrap input::placeholder {
    color:
        rgba(
            21,
            18,
            15,
            0.42
        );
}

.search-input-clear {
    position: absolute;
    right: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: transparent;
    color:
        var(--muted);
    font-size: 18px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.2s ease;
}

.search-input-clear.active {
    opacity: 1;
    visibility: visible;
}

/* =========================================================
   SEARCH RESULTS
========================================================= */

.search-results {
    max-height:
        calc(100vh - 280px);
    overflow-y: auto;
    padding:
        22px 34px 30px;
}

.search-section {
    margin-bottom: 26px;
}

.search-section:last-child {
    margin-bottom: 0;
}

.search-section-title {
    margin:
        0 0 10px;
    color:
        var(--gold-dark);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

/* =========================================================
   RESULT ITEM
========================================================= */

.search-result-item {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding:
        10px 4px;
    border-bottom:
        1px solid var(--border);
    color:
        var(--text);
    text-decoration: none;
    transition:
        color 0.25s ease,
        padding-left 0.25s ease;
}

.search-result-item:hover {
    padding-left: 10px;
    color:
        var(--gold-dark);
}

.search-result-type {
    display: block;
    margin-bottom: 4px;
    color:
        var(--muted);
    font-size: 7px;
    font-weight: 600;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.search-result-name {
    display: block;
    color:
        inherit;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 17px;
    line-height: 1.3;
}

.search-result-arrow {
    flex-shrink: 0;
    color:
        var(--gold-dark);
    font-size: 18px;
    transition:
        transform 0.25s ease;
}

.search-result-item:hover
.search-result-arrow {
    transform:
        translateX(5px);
}

/* =========================================================
   EMPTY / LOADING STATE
========================================================= */

.search-empty {
    min-height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.search-empty-icon {
    display: block;
    margin-bottom: 14px;
    color:
        var(--gold-dark);
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
}

.search-empty p {
    margin: 0;
    color:
        var(--black);
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 19px;
}

.search-empty small {
    margin-top: 7px;
    color:
        var(--muted);
    font-size: 11px;
}

.search-loading {
    display: block;
    margin-bottom: 14px;
    color:
        var(--gold-dark);
    font-size: 24px;
    letter-spacing: 4px;
}

/* =========================================================
   BODY LOCK
========================================================= */

body.search-open {
    overflow: hidden;
}

/* =========================================================
   SEARCH — MOBILE
========================================================= */

@media (max-width: 700px) {
    .search-overlay {
        align-items: flex-start;
        padding:
            70px 0 0;
        background:
            rgba(12, 10, 8, 0.78);
    }

    .search-panel {
        width: 100%;
        max-height:
            calc(100svh - 70px);
        min-height:
            calc(100svh - 70px);
        box-shadow: none;
    }

    .search-panel-header {
        padding:
            24px 6% 20px;
    }

    .search-panel-header h2 {
        font-size: 30px;
    }

    .search-close {
        width: 36px;
        height: 36px;
        font-size: 22px;
    }

    .search-input-wrap {
        margin:
            18px 6% 0;
    }

    .search-input-wrap input {
        height: 54px;
        font-size: 15px;
    }

    .search-results {
        max-height:
            calc(100svh - 220px);
        padding:
            20px 6% 30px;
    }

    .search-result-item {
        min-height: 58px;
        padding:
            9px 0;
    }

    .search-result-name {
        font-size: 15px;
    }

    .search-result-arrow {
        font-size: 16px;
    }

    .search-empty {
        min-height: 200px;
    }
}

/* =========================================================
   SEARCH — SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
    .search-panel-header {
        padding:
            20px 6% 18px;
    }

    .search-panel-header h2 {
        font-size: 27px;
    }

    .search-input-wrap {
        margin-top: 15px;
    }

    .search-input-wrap input {
        height: 50px;
        font-size: 14px;
    }

    .search-result-name {
        font-size: 14px;
    }
}

/* =========================================================
   MOBILE HEADER — LUXURY LAYOUT
   ========================================================= */

.mobile-header-left,
.mobile-header-actions {
    display: none;
}

@media (max-width: 700px) {

    /* -----------------------------------------------------
       HEADER LAYOUT
    ----------------------------------------------------- */

        .header-container {
            position: relative;
            width: 92%;
            height: 70px;
            display: flex;
            align-items: center;
            gap: 0;
            flex-wrap: nowrap;
        }

    /* -----------------------------------------------------
       MOBILE MENU — LEFT
    ----------------------------------------------------- */

    .mobile-header-left {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        width: 40px;
        z-index: 5;
    }

    .mobile-menu-toggle {
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 5px;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 18px;
        height: 1px;
        background: currentColor;
        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }

    /* HAMBURGER → X */
    .mobile-menu-toggle.active span:nth-child(1) {
        transform:
            translateY(6px)
            rotate(45deg);
    }

    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.active span:nth-child(3) {
        transform:
            translateY(-6px)
            rotate(-45deg);
    }

    /* -----------------------------------------------------
       LOGO
    ----------------------------------------------------- */

    .logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        font-size: 14px;
        letter-spacing: 1.5px;
        white-space: nowrap;
    }

    /* -----------------------------------------------------
       RIGHT SIDE ACTIONS
       SEARCH + WISHLIST
    ----------------------------------------------------- */

    .mobile-header-actions {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 18px;
        width: auto;
        z-index: 5;
    }

    /* -----------------------------------------------------
       SEARCH
    ----------------------------------------------------- */

    .mobile-search-button {
        position: relative;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
    }

    .mobile-search-icon {
        position: relative;
        width: 15px;
        height: 15px;
        display: block;
        border: 1.4px solid currentColor;
        border-radius: 50%;
    }

    .mobile-search-icon::after {
        content: "";
        position: absolute;
        width: 6px;
        height: 1.4px;
        right: -5px;
        bottom: -3px;
        background: currentColor;
        transform: rotate(45deg);
        transform-origin: left center;
    }

    /* -----------------------------------------------------
       WISHLIST
    ----------------------------------------------------- */

    .mobile-wishlist-button {
        position: relative;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        outline: none;
    }

    .mobile-heart-icon {
        font-size: 23px;
        font-weight: 300;
        line-height: 1;
    }

    .mobile-wishlist-button .wishlist-count {
        position: absolute;
        top: -5px;
        right: -7px;
        min-width: 13px;
        height: 13px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 2px;
        border-radius: 50%;
        background: var(--gold);
        color: var(--black);
        font-size: 8px;
        line-height: 1;
        font-weight: 600;
    }

    /* -----------------------------------------------------
       HIDE DESKTOP HEADER ACTIONS
    ----------------------------------------------------- */

    .header-actions > .header-icon,
    .header-actions > .header-query-btn {
        display: none !important;
    }

    /* -----------------------------------------------------
       HEADER ACTION CONTAINER
    ----------------------------------------------------- */

    .header-actions {
        display: flex;
        align-items: center;
        margin-left: 0;
        gap: 0;
    }
}

@media (max-width: 480px) {

    .header-container {
        width: 90%;
    }

    .mobile-header-actions {
        gap: 15px;
    }

    .logo {
        font-size: 12px;
        letter-spacing: 1.2px;
    }

    .mobile-search-button,
    .mobile-wishlist-button {
        width: 23px;
        height: 23px;
    }

    .mobile-menu-toggle {
        width: 26px;
        height: 26px;
    }
}

/* =========================================================
   WISHLIST PANEL
   ========================================================= */

.wishlist-panel-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.35s ease,
        visibility 0.35s ease;
    backdrop-filter: blur(5px);
}

.wishlist-panel-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* ---------------------------------------------------------
   PANEL
--------------------------------------------------------- */

.wishlist-panel {
    width: min(520px, 100%);
    height: 100%;
    overflow-y: auto;
    padding: 42px 38px;
    background: var(--warm-white);
    color: var(--black);
    transform: translateX(100%);
    transition:
        transform 0.45s cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );
    box-shadow:
        -20px 0 60px rgba(0, 0, 0, 0.2);
}

.wishlist-panel-overlay.active
.wishlist-panel {
    transform: translateX(0);
}

/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */

.wishlist-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    padding-bottom: 28px;
    border-bottom:
        1px solid rgba(0, 0, 0, 0.12);
}

.wishlist-panel-label {
    margin: 0 0 8px;
    color: var(--gold-dark);
    font-size: 9px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.wishlist-panel-header h2 {
    margin: 0;
    color: var(--black);
    font-family: var(--serif);
    font-size: 38px;
    font-weight: 400;
    line-height: 1.05;
}

.wishlist-panel-close {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 50%;
    background: transparent;
    color: var(--black);
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.wishlist-panel-close:hover {
    background: var(--black);
    border-color: var(--black);
    color: #fff;
}

/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.wishlist-panel-content {
    padding-top: 25px;
}

.wishlist-summary {
    margin-bottom: 24px;
    color: var(--muted);
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ---------------------------------------------------------
   WISHLIST ITEMS
--------------------------------------------------------- */

.wishlist-items {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.wishlist-item {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 20px;
    padding-bottom: 22px;
    border-bottom:
        1px solid rgba(0, 0, 0, 0.1);
}

.wishlist-item-image {
    width: 145px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #e9e3d9;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.wishlist-no-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold-dark);
    font-size: 35px;
}

/* ---------------------------------------------------------
   ITEM DETAILS
--------------------------------------------------------- */

.wishlist-item-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.wishlist-item-label {
    margin: 0 0 7px;
    color: var(--gold-dark);
    font-size: 8px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.wishlist-item-details h3 {
    margin: 0;
    color: var(--black);
    font-family: var(--serif);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.2;
}

/* ---------------------------------------------------------
   ITEM ACTIONS
--------------------------------------------------------- */

.wishlist-item-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.wishlist-view-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    background: var(--black);
    color: #fff;
    font-size: 9px;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.wishlist-view-button:hover {
    background: var(--gold);
    color: var(--black);
}

.wishlist-remove-button {
    min-height: 34px;
    padding: 0 5px;
    border: none;
    border-bottom:
        1px solid rgba(0, 0, 0, 0.35);
    background: transparent;
    color: var(--muted);
    font-size: 9px;
    cursor: pointer;
    transition:
        color 0.3s ease,
        border-color 0.3s ease;
}

.wishlist-remove-button:hover {
    color: var(--black);
    border-color: var(--black);
}

/* ---------------------------------------------------------
   EMPTY WISHLIST
--------------------------------------------------------- */

.wishlist-empty {
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding: 40px 20px;
}

.wishlist-empty-icon {
    margin-bottom: 18px;
    color: var(--gold-dark);
    font-size: 48px;
    font-weight: 300;
    line-height: 1;
}

.wishlist-empty h3 {
    margin: 0 0 10px;
    color: var(--black);
    font-family: var(--serif);
    font-size: 27px;
    font-weight: 400;
}

.wishlist-empty p {
    max-width: 310px;
    margin: 0 0 25px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.7;
}

.wishlist-empty-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 22px;
    background: var(--gold);
    color: var(--black);
    font-size: 10px;
    text-decoration: none;
    transition:
        background 0.3s ease;
}

.wishlist-empty-button:hover {
    background: var(--gold-dark);
    color: #fff;
}

/* ---------------------------------------------------------
   BODY LOCK
--------------------------------------------------------- */

body.wishlist-panel-open {
    overflow: hidden;
}

/* =========================================================
   WISHLIST PANEL — MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .wishlist-panel {
        width: 100%;
        padding: 28px 22px;
    }

    .wishlist-panel-header {
        padding-bottom: 22px;
    }

    .wishlist-panel-header h2 {
        font-size: 32px;
    }

    .wishlist-item {
        grid-template-columns: 105px 1fr;
        gap: 15px;
    }

    .wishlist-item-image {
        width: 105px;
    }

    .wishlist-item-details h3 {
        font-size: 19px;
    }

    .wishlist-item-actions {
        gap: 9px;
        margin-top: 13px;
    }
}

/* =========================================================
   WISHLIST PANEL — SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wishlist-panel {
        padding: 24px 18px;
    }

    .wishlist-panel-header h2 {
        font-size: 29px;
    }

    .wishlist-item {
        grid-template-columns: 92px 1fr;
        gap: 13px;
    }

    .wishlist-item-image {
        width: 92px;
    }

    .wishlist-item-details h3 {
        font-size: 17px;
    }

    .wishlist-view-button {
        min-height: 31px;
        padding: 0 11px;
        font-size: 8px;
    }

    .wishlist-remove-button {
        min-height: 31px;
        font-size: 8px;
    }
}

/* ---------------------------------------------------------
   WISHLIST — PLACE A QUERY
--------------------------------------------------------- */

.wishlist-query-button {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid var(--gold);
    background: var(--gold);
    color: var(--black);
    font-size: 9px;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

.wishlist-query-button:hover {
    background: var(--black);
    border-color: var(--black);
    color: #fff;
}

@media (max-width: 480px) {

    .wishlist-query-button {
        min-height: 31px;
        padding: 0 11px;
        font-size: 8px;
    }
}

/* =========================================================
   PRODUCT DETAIL PAGE
   DEMO TEMPLATE
========================================================= */


/* =========================================================
   PRODUCT HERO
========================================================= */

.product-detail-section {
    padding: 150px 0 110px;
    background: var(--warm-white);
}


.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap: 90px;
    align-items: start;
}


/* =========================================================
   PRODUCT GALLERY
========================================================= */

.product-gallery {
    min-width: 0;
}


.product-gallery-main {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #e8e2d8;
}


.product-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.product-gallery-thumbnails {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 14px;
}


.product-thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 1px solid transparent;
    background: #e8e2d8;
    cursor: pointer;
    overflow: hidden;
    transition:
        border-color 0.3s ease,
        opacity 0.3s ease;
}


.product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.product-thumbnail:hover {
    opacity: 0.82;
}


.product-thumbnail.active {
    border-color: var(--gold);
}


/* =========================================================
   PRODUCT INFORMATION
========================================================= */

.product-detail-info {
    padding-top: 8px;
}


.product-detail-category {
    display: block;
    margin-bottom: 20px;

    color: var(--gold);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 2.5px;
    text-transform: uppercase;
}


.product-detail-info h1 {
    margin: 0 0 26px;

    color: var(--text);

    font-family: var(--font-serif);
    font-size: clamp(42px, 4vw, 64px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.5px;
}


.product-detail-summary {
    max-width: 560px;
    margin: 0 0 42px;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.9;
}


/* =========================================================
   SPECIFICATIONS
========================================================= */

.product-specifications {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.product-specifications-heading {
    padding: 20px 0;

    color: var(--text);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 2px;
}


.product-specification-list {
    border-top: 1px solid var(--border);
}


.product-specification-item {
    display: flex;
    justify-content: space-between;
    gap: 30px;

    padding: 15px 0;

    border-bottom: 1px solid var(--border);
}


.product-specification-item:last-child {
    border-bottom: 0;
}


.product-specification-item span {
    color: var(--muted);

    font-size: 13px;
}


.product-specification-item strong {
    color: var(--text);

    font-size: 13px;
    font-weight: 500;

    text-align: right;
}


/* =========================================================
   PRODUCT ACTIONS
========================================================= */

.product-detail-actions {
    display: flex;
    gap: 14px;

    margin-top: 36px;
}


.product-detail-wishlist,
.product-detail-query {
    min-height: 54px;

    padding: 0 24px;

    border: 1px solid var(--border);

    font-family: inherit;
    font-size: 12px;
    font-weight: 600;

    letter-spacing: 1px;
    text-transform: uppercase;

    cursor: pointer;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}


.product-detail-wishlist {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    background: transparent;
    color: var(--text);
}


.product-detail-wishlist span:first-child {
    font-size: 20px;
    line-height: 1;
}


.product-detail-wishlist:hover,
.product-detail-wishlist.active {
    border-color: var(--gold);
    color: var(--gold);
}


.product-detail-query {
    flex: 1;

    background: var(--dark);
    color: var(--cream);

    border-color: var(--dark);
}


.product-detail-query:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--dark);
}


.product-detail-note {
    margin-top: 18px;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.7;
}


/* =========================================================
   GENERAL PRODUCT SECTION HEADINGS
========================================================= */

.product-section-heading {
    max-width: 720px;
    margin-bottom: 55px;
}


.product-section-heading .section-eyebrow {
    display: block;
    margin-bottom: 18px;
}


.product-section-heading h2 {
    margin: 0;

    color: var(--text);

    font-family: var(--font-serif);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 400;
    line-height: 1.1;
}


/* =========================================================
   APPLICATIONS
========================================================= */

.product-applications-section {
    padding: 110px 0;
    background: var(--dark);
}


.product-applications-section .product-section-heading h2 {
    color: var(--cream);
}


.product-applications-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}


.product-application-item {
    min-height: 260px;

    padding: 30px 30px 30px 0;

    border-top: 1px solid rgba(255,255,255,0.15);
    border-right: 1px solid rgba(255,255,255,0.15);
}


.product-application-item:not(:first-child) {
    padding-left: 30px;
}


.product-application-item:last-child {
    border-right: 0;
}


.product-application-number {
    display: block;
    margin-bottom: 65px;

    color: var(--gold);

    font-size: 11px;
    letter-spacing: 2px;
}


.product-application-item h3 {
    margin: 0 0 14px;

    color: var(--cream);

    font-family: var(--font-serif);
    font-size: 25px;
    font-weight: 400;
}


.product-application-item p {
    margin: 0;

    color: rgba(245,240,231,0.62);

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.product-description-section {
    padding: 130px 0;
    background: var(--warm-white);
}


.product-description-layout {
    display: grid;
    grid-template-columns: 0.35fr 0.65fr;
    gap: 80px;
}


.product-description-label {
    padding-top: 10px;
}


.product-description-content {
    max-width: 760px;
}


.product-description-content h2 {
    margin: 0 0 35px;

    color: var(--text);

    font-family: var(--font-serif);
    font-size: clamp(36px, 4vw, 54px);
    font-weight: 400;
    line-height: 1.1;
}


.product-description-content p {
    margin: 0 0 22px;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.95;
}


.product-description-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   RELATED PRODUCTS
========================================================= */

.related-products-section {
    padding: 120px 0;
    background: var(--cream);
}


.related-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}


.related-product-card {
    min-width: 0;
}


.related-product-image {
    display: block;

    width: 100%;
    aspect-ratio: 1 / 1;

    overflow: hidden;

    background: #e4ddd2;
}


.related-product-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 0.7s ease;
}


.related-product-card:hover .related-product-image img {
    transform: scale(1.04);
}


.related-product-info {
    padding-top: 20px;
}


.related-product-info > span {
    display: block;
    margin-bottom: 9px;

    color: var(--gold);

    font-size: 9px;
    font-weight: 600;

    letter-spacing: 1.8px;
}


.related-product-info h3 {
    margin: 0 0 17px;

    color: var(--text);

    font-family: var(--font-serif);
    font-size: 23px;
    font-weight: 400;
    line-height: 1.2;
}


.related-product-query {
    padding: 0;

    border: 0;

    background: transparent;

    color: var(--text);

    font-family: inherit;
    font-size: 10px;
    font-weight: 600;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    cursor: pointer;

    transition: color 0.3s ease;
}


.related-product-query:hover {
    color: var(--gold);
}


/* =========================================================
   RELATED CATEGORY
========================================================= */

.related-category-section {
    padding: 90px 0;

    background: var(--dark);
}


.related-category-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
}


.related-category-inner .section-eyebrow {
    display: block;
    margin-bottom: 15px;
}


.related-category-inner h2 {
    margin: 0 0 12px;

    color: var(--cream);

    font-family: var(--font-serif);
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 400;
}


.related-category-inner p {
    margin: 0;

    color: rgba(245,240,231,0.6);

    font-size: 14px;
}


.related-category-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;

    flex-shrink: 0;

    color: var(--cream);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    transition: color 0.3s ease;
}


.related-category-link span {
    font-size: 20px;
    transition: transform 0.3s ease;
}


.related-category-link:hover {
    color: var(--gold);
}


.related-category-link:hover span {
    transform: translateX(6px);
}


/* =========================================================
   ARTICLES
========================================================= */

.product-articles-section {
    padding: 120px 0;
    background: var(--warm-white);
}


.product-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}


.product-article-card {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 25px;

    min-height: 250px;

    padding: 30px;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.product-article-number {
    color: var(--gold);

    font-size: 11px;
    letter-spacing: 1.5px;
}


.product-article-card span {
    display: block;
    margin-bottom: 18px;

    color: var(--gold);

    font-size: 9px;
    font-weight: 600;

    letter-spacing: 1.7px;
}


.product-article-card h3 {
    margin: 0 0 30px;

    color: var(--text);

    font-family: var(--font-serif);
    font-size: 25px;
    font-weight: 400;
    line-height: 1.25;
}


.product-article-card a {
    color: var(--text);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: 1.3px;
    text-transform: uppercase;

    transition: color 0.3s ease;
}


.product-article-card a:hover {
    color: var(--gold);
}


/* =========================================================
   PRODUCT PAGE RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .product-detail-grid {
        gap: 55px;
    }


    .product-applications-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .product-application-item:nth-child(2) {
        border-right: 0;
    }


    .product-application-item:nth-child(3),
    .product-application-item:nth-child(4) {
        border-top: 1px solid rgba(255,255,255,0.15);
    }


    .related-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 45px 20px;
    }

}


@media (max-width: 900px) {

    .product-detail-section {
        padding: 120px 0 80px;
    }


    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }


    .product-detail-info {
        max-width: 700px;
    }


    .product-description-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }


    .product-description-label {
        padding-top: 0;
    }


    .product-articles-grid {
        grid-template-columns: 1fr;
    }


    .product-article-card {
        min-height: auto;
    }

}


@media (max-width: 700px) {

    .product-detail-section {
        padding: 105px 0 65px;
    }


    .product-detail-info h1 {
        font-size: 42px;
    }


    .product-detail-summary {
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 32px;
    }


    .product-detail-actions {
        flex-direction: column;
    }


    .product-detail-wishlist,
    .product-detail-query {
        width: 100%;
    }


    .product-applications-section,
    .product-description-section,
    .related-products-section,
    .product-articles-section {
        padding: 80px 0;
    }


    .product-applications-grid {
        grid-template-columns: 1fr;
    }


    .product-application-item,
    .product-application-item:not(:first-child) {
        min-height: auto;

        padding: 25px 0;

        border-right: 0;
        border-top: 1px solid rgba(255,255,255,0.15);
    }


    .product-application-item:first-child {
        border-top: 1px solid rgba(255,255,255,0.15);
    }


    .product-application-number {
        margin-bottom: 35px;
    }


    .related-products-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }


    .related-category-inner {
        flex-direction: column;
        align-items: flex-start;
    }


    .product-specification-item {
        gap: 15px;
    }


    .product-specification-item span,
    .product-specification-item strong {
        font-size: 12px;
    }

}


@media (max-width: 480px) {

    .product-gallery-thumbnails {
        gap: 8px;
    }


    .product-detail-info h1 {
        font-size: 36px;
    }


    .product-detail-category {
        font-size: 9px;
        letter-spacing: 2px;
    }


    .product-detail-actions {
        margin-top: 28px;
    }


    .product-article-card {
        grid-template-columns: 35px 1fr;
        gap: 15px;

        padding: 25px 0;
    }

}

/* =========================================================
   PRODUCT IMAGE FULLSCREEN VIEWER
========================================================= */

.product-image-open {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.product-image-open img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* FULLSCREEN OVERLAY */

.product-image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: rgba(0, 0, 0, 0.94);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.product-image-lightbox.active {
    opacity: 1;
    visibility: visible;
}


/* FULLSCREEN IMAGE */

.product-image-lightbox img {
    display: block;

    max-width: 96vw;
    max-height: 94vh;

    width: auto;
    height: auto;

    object-fit: contain;

    cursor: zoom-out;
}


/* CLOSE BUTTON */

.product-image-lightbox-close {
    position: absolute;
    top: 24px;
    right: 28px;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.3);
    background: transparent;

    color: #ffffff;

    font-family: inherit;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        background 0.3s ease,
        border-color 0.3s ease;
}

.product-image-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.7);
}


@media (max-width: 700px) {

    .product-image-lightbox {
        padding: 15px;
    }

    .product-image-lightbox img {
        max-width: 96vw;
        max-height: 90vh;
    }

    .product-image-lightbox-close {
        top: 15px;
        right: 15px;

        width: 40px;
        height: 40px;

        font-size: 22px;
    }
}