/*
Theme Name: Luma Jewelry
Author: Luma Studio
Version: 1.2.0
Text Domain: luma-jewelry
*/

/* =====================================================
   PAVOI-INSPIRED DESIGN SYSTEM
   ===================================================== */

:root {
    --luma-dark: #405051;
    --luma-dark-hover: #333f40;
    --luma-black: #000000;
    --luma-white: #FFFFFF;
    --luma-gray-50: #FAFAFA;
    --luma-gray-100: #F7F7F7;
    --luma-gray-200: #E5E5E5;
    --luma-gray-300: #D4D4D4;
    --luma-gray-500: #737373;
    --luma-gray-600: #6F6F6F;
    --luma-text-dark: #262626;

    /* Gold accent — Pavoi brand color */
    --luma-gold: #C9A96E;
    --luma-gold-hover: #B8954E;
    --luma-gold-light: #FAF6F0;
    --luma-gold-bg: #FDF8F0;

    --luma-font-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --luma-font-logo: 'Cormorant Garamond', 'Times New Roman', serif;
    --luma-transition: all 0.25s ease;
    --luma-radius-sm: 4px;
    --luma-radius-md: 12px;
    --luma-radius-pill: 999px;
}

/* Reset & Base
   -------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--luma-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.42px;
    color: var(--luma-black);
    background-color: var(--luma-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Prevent body scroll when mobile menu / cart is open */
.luma-menu-open {
    overflow: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--luma-transition);
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--luma-font-body);
    font-weight: 400;
    margin: 0 0 16px;
    color: var(--luma-black);
    letter-spacing: 0.42px;
}

p {
    margin: 0 0 16px;
}

/* Utility typography
   -------------------------------------------------- */
.luma-uppercase {
    text-transform: uppercase;
    letter-spacing: 0.84px;
}

/* Container — Pavoi fluid width (matched to pavoi.com px-container-md)
   Formula: content max 1440px, min 32px padding, grows fluidly on wide screens
   -------------------------------------------------- */
.luma-container {
    width: 100%;
    padding-left: max(32px, calc((100vw - 1440px) / 2));
    padding-right: max(32px, calc((100vw - 1440px) / 2));
}

@media (max-width: 767.98px) {
    .luma-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

.luma-link {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: inherit;
    border-bottom: 1px solid currentColor;
    padding-bottom: 4px;
    line-height: 1;
}

.luma-link:hover {
    opacity: 0.75;
}

.luma-link--white {
    color: var(--luma-white);
}

.luma-link--dark {
    color: var(--luma-black);
}

/* Announcement bar
   -------------------------------------------------- */
.luma-announcement {
    background-color: var(--luma-dark);
    color: var(--luma-white);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    padding: 12px 24px;
    position: relative;
    z-index: 1001;
}

.luma-announcement__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
}

.luma-announcement__left,
.luma-announcement__right {
    display: flex;
    align-items: center;
    gap: 24px;
}

.luma-announcement__right {
    justify-content: flex-end;
}

.luma-announcement__center {
    text-align: center;
}

.luma-announcement a {
    color: var(--luma-white);
    opacity: 0.9;
}

.luma-announcement a:hover {
    opacity: 0.65;
}

.luma-announcement__close {
    display: none;
}

@media (max-width: 768px) {
    .luma-announcement__inner {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }
    .luma-announcement__left,
    .luma-announcement__right {
        display: none;
    }
}

/* Header
   -------------------------------------------------- */
.luma-header {
    background-color: var(--luma-white);
    border-bottom: 1px solid var(--luma-gray-200);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.luma-header__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 18px 24px;
    display: grid;
    grid-template-areas: "nav logo actions";
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
}

/* Logo */
.luma-header__logo {
    grid-area: logo;
}

.luma-header__logo a {
    font-family: var(--luma-font-logo);
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--luma-black);
    line-height: 1;
}

.luma-header__logo img {
    max-height: 60px;
    width: auto;
}

/* Primary Navigation */
.luma-nav {
    grid-area: nav;
}

.luma-nav__list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 28px;
}

.luma-nav__list li {
    /* No position:relative — mega-menu items rely on .luma-header
       (position:sticky) as the containing block. */
}

.luma-nav__list a {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-black);
    padding: 8px 0;
    display: inline-block;
}

.luma-nav__list a:hover {
    opacity: 0.6;
    color: var(--luma-gold);
}

/* Header actions */
.luma-header__actions {
    grid-area: actions;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 18px;
}

.luma-header__actions button,
.luma-header__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    color: var(--luma-dark);
    transition: var(--luma-transition);
}

.luma-header__actions button:hover,
.luma-header__actions a:hover {
    opacity: 1;
    color: var(--luma-gold);
}

.luma-header__actions svg {
    width: 100%;
    height: 100%;
}

.luma-header__cart {
    position: relative;
    overflow: visible;
}

.luma-header__cart-count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: var(--luma-black);
    color: var(--luma-white);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@supports not (grid-template-areas: "a") {
    .luma-header__inner {
        grid-template-areas: none;
        grid-template-columns: none;
    }
    .luma-header__logo { grid-area: auto; justify-self: center; }
    .luma-nav { grid-area: auto; }
    .luma-header__actions { grid-area: auto; }
}

/* Mobile toggle */
.luma-mobile-toggle {
    display: none;
    grid-area: toggle;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 24px;
    height: 24px;
    padding: 0;
}

.luma-mobile-toggle span {
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: var(--luma-black);
    transition: var(--luma-transition);
}

/* Hamburger → X animation */
.luma-mobile-toggle--active span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
}

.luma-mobile-toggle--active span:nth-child(2) {
    opacity: 0;
}

.luma-mobile-toggle--active span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
}

@media (max-width: 1024px) {
    .luma-header__inner {
        grid-template-areas: "toggle logo actions";
        grid-template-columns: auto 1fr auto;
    }

    .luma-header__logo {
        justify-self: start;
    }

    .luma-nav {
        display: none;
    }

    .luma-mobile-toggle {
        display: flex;
    }
}

@media (max-width: 768px) {
    .luma-header__inner {
        padding: 16px 18px;
    }

    .luma-header__logo a {
        font-size: 22px;
        letter-spacing: 3px;
    }

    .luma-header__actions {
        gap: 14px;
    }
}

/* ============================================================
   MEGA MENU — Desktop Dropdown
   ============================================================ */

/* Overlay behind open dropdown (click-to-close) */
.luma-nav__overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    z-index: 998;
    opacity: 0;
    transition: opacity .25s ease;
}
.luma-nav__overlay.is-visible {
    display: block;
    opacity: 1;
}

/* Mega panel container */
.luma-mega-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--luma-white);
    border-bottom: 1px solid var(--luma-gray-200);
    box-shadow: 0 20px 40px -12px rgba(0, 0, 0, .12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .3s ease, transform .3s ease, visibility 0s .3s;
    z-index: 999;
    pointer-events: none;
}

.luma-nav__item--mega:hover > .luma-mega-menu,
.luma-nav__item--mega:focus-within > .luma-mega-menu,
.luma-mega-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .3s ease, transform .3s ease, visibility 0s 0s;
    pointer-events: auto;
}

/* Inner container matches site max-width for alignment */
.luma-mega-menu__inner {
    padding-top: 36px;
    padding-bottom: 40px;
}

/* Grid for columns + promo cards */
.luma-mega-menu__grid {
    display: flex;
    gap: 48px;
}

/* Column */
.luma-mega-menu__col {
    flex: 1;
    min-width: 0;
}

.luma-mega-menu__col-title {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    color: var(--luma-gray-500);
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-mega-menu__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.luma-mega-menu__links a {
    display: block;
    padding: 5px 0;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .28px;
    color: var(--luma-text-dark);
    transition: color .18s ease;
}

.luma-mega-menu__links a:hover {
    color: var(--luma-gold);
}

/* Featured link ("View All") */
.luma-mega-menu__featured {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .56px;
    color: var(--luma-black);
    margin-top: 4px;
    transition: color .18s ease;
}

.luma-mega-menu__featured:hover {
    color: var(--luma-gold);
}

.luma-mega-menu__featured-desc {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: .28px;
    color: var(--luma-gray-500);
}

/* Promo image cards */
.luma-mega-menu__card {
    display: block;
    flex: 0 0 220px;
    border-radius: var(--luma-radius-md);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.luma-mega-menu__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
}

.luma-mega-menu__card-img {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--luma-gray-100);
}

.luma-mega-menu__card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.luma-mega-menu__card:hover .luma-mega-menu__card-img img {
    transform: scale(1.05);
}

.luma-mega-menu__card-body {
    padding: 12px 4px 0;
}

.luma-mega-menu__card-title {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--luma-black);
}

.luma-mega-menu__card-sub {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    color: var(--luma-gray-500);
}

/* Chevron indicator on top-level links with children */
.luma-nav__chevron {
    margin-left: 4px;
    transition: transform .25s ease;
    display: inline-block;
    vertical-align: middle;
}

.luma-nav__item--mega:hover > .luma-nav__link--mega .luma-nav__chevron {
    transform: rotate(180deg);
}

/* ---- Desktop responsiveness for mega grid ---- */
@media (max-width: 1199px) {
    .luma-mega-menu__grid {
        gap: 32px;
    }

    .luma-mega-menu__card {
        flex: 0 0 180px;
    }
}

@media (max-width: 1024px) {
    .luma-mega-menu {
        display: none !important;
    }

    .luma-nav__overlay {
        display: none !important;
    }
}

/* ============================================================
   MOBILE NAVIGATION — Accordion
   ============================================================ */

.luma-mobile-nav {
    background-color: var(--luma-white);
    border-top: 1px solid var(--luma-gray-200);
    padding: 0;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

.luma-mobile-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.luma-mobile-nav__list li {
    border-bottom: 1px solid var(--luma-gray-200);
    position: relative;
}

.luma-mobile-nav__link {
    display: block;
    padding: 16px 24px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .84px;
    color: var(--luma-black);
    transition: color .18s ease;
}

.luma-mobile-nav__link:hover {
    color: var(--luma-gold);
}

/* Parent link (has sub-menu) — slightly different styling */
.luma-mobile-nav__link--parent {
    padding-right: 56px; /* room for toggle button */
}

/* Child links — lighter */
.luma-mobile-nav__link--child {
    padding: 12px 24px 12px 40px;
    font-size: 12px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: .28px;
    color: var(--luma-text-dark);
}

/* Second-level children (level-3, inside sub-menu) */
.luma-mobile-nav__sub .luma-mobile-nav__link--child {
    padding-left: 56px;
    font-size: 11px;
}

/* Toggle button for sub-menus */
.luma-mobile-nav__toggle {
    position: absolute;
    top: 0;
    right: 8px;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--luma-black);
    transition: transform .25s ease;
    z-index: 2;
}

.luma-mobile-nav__toggle[aria-expanded="true"] {
    transform: rotate(180deg);
}

/* Sub-menu list — hidden by default, JS toggles inline style */
.luma-mobile-nav__sub {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--luma-gray-50);
    border-top: 1px solid var(--luma-gray-200);
}

.luma-mobile-nav__sub li {
    border-bottom: 1px solid var(--luma-gray-100);
}

.luma-mobile-nav__sub .luma-mobile-nav__sub {
    background: var(--luma-white);
}

/* Hero
   -------------------------------------------------- */
.luma-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    left: 0;
    right: 0;
    min-height: calc(100vh - 140px);
    max-height: 800px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: var(--luma-gray-100);
}

.luma-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.luma-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.luma-hero__content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: var(--luma-white);
    padding: 40px 24px;
    max-width: 800px;
}

.luma-hero__pretitle {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 16px;
    opacity: 0.9;
}

.luma-hero__title {
    font-size: clamp(24px, 4vw, 36px);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.25;
    margin-bottom: 24px;
    color: var(--luma-white);
}

.luma-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

@media (max-width: 768px) {
    .luma-hero {
        min-height: 500px;
    }

    .luma-hero__title {
        font-size: 24px;
        letter-spacing: 1px;
    }
}

/* Buttons
   -------------------------------------------------- */
.luma-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    line-height: 1;
    padding: 16px 28px;
    border-radius: var(--luma-radius-pill);
    border: 1px solid var(--luma-black);
    background-color: var(--luma-white);
    color: var(--luma-black);
    transition: var(--luma-transition);
    text-align: center;
}

.luma-btn:hover {
    background-color: var(--luma-black);
    color: var(--luma-white);
}

.luma-btn--dark {
    background-color: var(--luma-black);
    color: var(--luma-white);
    border-color: var(--luma-black);
}

.luma-btn--dark:hover {
    background-color: var(--luma-white);
    color: var(--luma-black);
}

.luma-btn--outline {
    background-color: transparent;
    color: var(--luma-black);
    border-color: var(--luma-black);
}

.luma-btn--outline:hover {
    background-color: var(--luma-black);
    color: var(--luma-white);
}

.luma-btn--gold {
    background-color: var(--luma-gold);
    color: var(--luma-white);
    border-color: var(--luma-gold);
}

.luma-btn--gold:hover {
    background-color: var(--luma-gold-hover);
    border-color: var(--luma-gold-hover);
    color: var(--luma-white);
}

.luma-btn--gold-outline {
    background-color: transparent;
    color: var(--luma-gold);
    border-color: var(--luma-gold);
}

.luma-btn--gold-outline:hover {
    background-color: var(--luma-gold);
    color: var(--luma-white);
}

/* Badges & Labels (Pavoi gold accent)
   -------------------------------------------------- */
.luma-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    line-height: 1.4;
    border-radius: 2px;
}

.luma-badge--gold {
    background-color: var(--luma-gold-light);
    color: var(--luma-gold-hover);
    border: 1px solid rgba(201, 169, 110, 0.25);
}

.luma-badge--best-seller {
    background-color: var(--luma-gold-bg);
    color: var(--luma-gold-hover);
    font-weight: 600;
}

.luma-badge--sale {
    background-color: var(--luma-black);
    color: var(--luma-white);
}

/* Gold accent text
   -------------------------------------------------- */
.luma-text-gold {
    color: var(--luma-gold);
}

.luma-highlight {
    color: var(--luma-gold);
    font-weight: 500;
}

/* Gold accent line / separator
   -------------------------------------------------- */
.luma-accent-line {
    display: inline-block;
    width: 40px;
    height: 2px;
    background-color: var(--luma-gold);
    margin: 12px 0;
}

/* WC Star Rating (Pavoi gold accent)
   -------------------------------------------------- */
.woocommerce .star-rating span::before {
    color: var(--luma-gold);
}

.woocommerce .star-rating::before {
    color: var(--luma-gray-300);
}

/* "Best Seller" label (Pavoi gold)
   -------------------------------------------------- */
.luma-best-seller-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background-color: var(--luma-gold-light);
    color: var(--luma-gold-hover);
    border-radius: 2px;
}

.luma-best-seller-tag::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: var(--luma-gold);
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

/* Collection Cards
   -------------------------------------------------- */
.luma-collection {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 16px;
    max-width: 1440px;
    margin: 0 auto;
}

.luma-collection__card {
    position: relative;
    border-radius: var(--luma-radius-md);
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background-color: var(--luma-gray-200);
}

.luma-collection__card img,
.luma-collection__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.luma-collection__card:hover img,
.luma-collection__card:hover .luma-collection__bg {
    transform: scale(1.03);
}

.luma-collection__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.18);
    z-index: 2;
}

.luma-collection__content {
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--luma-white);
    padding: 24px;
}

.luma-collection__title {
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 16px;
    color: var(--luma-white);
}

@media (max-width: 768px) {
    .luma-collection {
        grid-template-columns: 1fr;
    }

    .luma-collection__card {
        aspect-ratio: 3 / 4;
    }
}

/* Section Header
   -------------------------------------------------- */
.luma-section-header {
    text-align: center;
    padding: 56px 24px 32px;
}

.luma-section-header__title {
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.luma-section-header__subtitle {
    font-size: 14px;
    color: var(--luma-gray-600);
    margin: 0;
}

.luma-section-header__accent {
    display: inline-block;
    width: 36px;
    height: 2px;
    background-color: var(--luma-gold);
    margin: 12px auto 0;
}

/* Trust features — gold icon accent
   -------------------------------------------------- */
.luma-features__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    color: var(--luma-gold);
}

.luma-features__icon svg {
    width: 24px;
    height: 24px;
}

/* Product Grid
   -------------------------------------------------- */
.luma-products {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

.luma-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem 1rem;
}

.luma-product-card {
    position: relative;
}

.luma-product-card__media {
    position: relative;
    aspect-ratio: 4 / 5;
    background-color: rgba(185, 185, 185, 0.2);
    border-radius: var(--luma-radius-sm);
    overflow: hidden;
    margin-bottom: 12px;
}

.luma-product-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
}

.luma-product-card__badge--top-right {
    left: auto;
    right: 10px;
}

/* Featured product tag */
.luma-product-card__featured-tag {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 2;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--luma-white, #fff);
    background: var(--luma-black, #111);
    border-radius: 2px;
    opacity: 0.92;
    pointer-events: none;
}

.luma-product-card:hover .luma-product-card__featured-tag {
    opacity: 0;
}

.luma-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.luma-product-card:hover .luma-product-card__media img {
    transform: scale(1.03);
}

.luma-product-card__quick {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    opacity: 0;
    transition: var(--luma-transition);
    white-space: nowrap;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.luma-product-card:hover .luma-product-card__quick {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    box-shadow: none;
}

.luma-product-card__title {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.42px;
    line-height: 3;
    margin-bottom: 6px;
    color: var(--luma-text-dark);
}

.luma-product-card__title a:hover {
    opacity: 0.6;
}

.luma-product-card__price {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.42px;
    color: var(--luma-black);
}

.luma-product-card__price del {
    color: var(--luma-gray-500);
    margin-right: 8px;
    font-weight: 400;
}

@media (max-width: 1024px) {
    .luma-products__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .luma-products__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .luma-product-card__quick {
        display: none;
    }
}

/* Banner
   -------------------------------------------------- */
.luma-banner {
    position: relative;
    width: 100%;
    min-height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 16px;
    width: calc(100% - 32px);
    border-radius: var(--luma-radius-md);
}

.luma-banner__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.luma-banner__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
    z-index: 2;
}

.luma-banner__content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: var(--luma-white);
    padding: 40px 24px;
    max-width: 700px;
}

.luma-banner__title {
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    line-height: 1.3;
    margin-bottom: 20px;
    color: var(--luma-white);
}

/* Features / Trust
   -------------------------------------------------- */
.luma-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 64px 24px;
    text-align: center;
}

.luma-features__item h4 {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    margin-bottom: 8px;
}

.luma-features__item p {
    font-size: 13px;
    color: var(--luma-gray-600);
    margin: 0;
}

@media (max-width: 768px) {
    .luma-features {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 48px 24px;
    }
}

/* Instagram
   -------------------------------------------------- */
.luma-instagram {
    padding: 64px 24px;
    text-align: center;
}

.luma-instagram__title {
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 32px;
}

.luma-instagram__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    max-width: 1200px;
    margin: 0 auto;
}

.luma-instagram__item {
    aspect-ratio: 1;
    background-color: var(--luma-gray-200);
    overflow: hidden;
    border-radius: var(--luma-radius-sm);
}

.luma-instagram__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.luma-instagram__item:hover img {
    transform: scale(1.05);
}

@media (max-width: 768px) {
    .luma-instagram__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ── Smash Balloon Feed Overrides ──
   Strip Smash Balloon's built-in container styles so the
   feed renders seamlessly inside our .luma-instagram__grid. */
.luma-instagram__grid--sbi {
    display: block;   /* let #sb_instagram control its own grid */
}

.luma-instagram__grid--sbi #sb_instagram {
    padding: 0 !important;
}

.luma-instagram__grid--sbi #sb_instagram .sbi_item {
    overflow: hidden;
    border-radius: var(--luma-radius-sm);
}

.luma-instagram__grid--sbi #sb_instagram .sbi_photo_wrap {
    border-radius: var(--luma-radius-sm);
    overflow: hidden;
}

.luma-instagram__grid--sbi #sb_instagram .sbi_photo {
    transition: transform 0.5s ease;
}

.luma-instagram__grid--sbi #sb_instagram .sbi_photo:hover {
    transform: scale(1.05);
}

/* ── Image Load Failed Fallback ── */
.luma-instagram__grid .sbi_item .luma-ig-fallback {
    aspect-ratio: 1;
    background: var(--luma-gray-200);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--luma-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Footer
   -------------------------------------------------- */
.luma-footer {
    background-color: var(--luma-dark);
    color: var(--luma-white);
    padding: 64px 24px 32px;
    margin-top: 0;
}

.luma-footer__inner {
    max-width: 1440px;
    margin: 0 auto;
}

.luma-footer__grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.luma-footer__brand h3 {
    font-family: var(--luma-font-logo);
    font-size: 28px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--luma-white);
    margin-bottom: 16px;
}

.luma-footer__brand p {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 24px;
    max-width: 320px;
}

.luma-footer__subscribe-title {
    font-size: 18px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--luma-white);
    margin-bottom: 12px;
}

.luma-footer__subscribe-desc {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 20px;
}

.luma-footer__subscribe {
    display: flex;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    max-width: 340px;
}

.luma-footer__subscribe input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 12px 0;
    color: var(--luma-white);
    font-family: inherit;
    font-size: 13px;
    outline: none;
}
.luma-footer__subscribe .luma-footer__subscribe input:focus{
    border-color: unset;
    outline: none;
}

.luma-footer__subscribe input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.luma-footer__subscribe button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--luma-white);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    padding: 0;
    transition: var(--luma-transition);
}

.luma-footer__subscribe button:hover {
    opacity: 0.7;
    color: var(--luma-gold);
}

.luma-footer__menu h4 {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-white);
    margin-bottom: 20px;
}

.luma-footer__menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.luma-footer__menu li {
    margin-bottom: 10px;
}

.luma-footer__menu a {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
}

.luma-footer__menu a:hover {
    color: var(--luma-white);
}

.luma-footer__socials {
    display: flex;
    gap: 16px;
    margin-top: 20px;
}

.luma-footer__socials a {
    display: inline-flex;
    width: 20px;
    height: 20px;
    color: rgba(255, 255, 255, 0.75);
}

.luma-footer__socials a:hover {
    color: var(--luma-white);
}

/* Footer Contact Links */
.luma-footer__contact li {
    margin-bottom: 8px;
}

.luma-footer__contact-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
    transition: var(--luma-transition);
}

.luma-footer__contact-link:hover {
    color: var(--luma-white);
}

.luma-footer__contact-link svg {
    flex-shrink: 0;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.luma-footer__contact-link:hover svg {
    opacity: 1;
}

/* Map Modal */
.luma-map-modal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.luma-map-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.luma-map-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(4px);
}

.luma-map-modal__content {
    position: relative;
    width: 90vw;
    max-width: 900px;
    height: 70vh;
    max-height: 700px;
    background: var(--luma-white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.luma-map-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--luma-white);
    border: none;
    border-radius: 50%;
    color: var(--luma-dark);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease;
}

.luma-map-modal__close:hover {
    transform: scale(1.1);
}

.luma-map-modal__iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Mobile: full-screen map */
@media (max-width: 768px) {
    .luma-map-modal__content {
        width: 100vw;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0;
    }

    .luma-map-modal__close {
        top: 16px;
        right: 16px;
    }
}

.luma-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 24px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.luma-footer__payments {
    display: flex;
    align-items: center;
    gap: 12px;
}

@media (max-width: 1024px) {
    .luma-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px 24px;
    }
}

@media (max-width: 768px) {
    .luma-footer__grid {
        grid-template-columns: 1fr;
    }

    .luma-footer__bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
}

/* Mini Cart
   -------------------------------------------------- */
.luma-mini-cart {
    position: fixed;
    top: 0;
    right: 0;
    width: 420px;
    max-width: 100%;
    height: 100vh;
    background-color: var(--luma-white);
    z-index: 1100;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.08);
}

.luma-mini-cart.is-open {
    transform: translateX(0);
}

.luma-mini-cart__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.luma-mini-cart__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-mini-cart__header h3 {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.luma-mini-cart__close {
    font-size: 24px;
    line-height: 1;
    color: var(--luma-black);
}

.luma-mini-cart__body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}

.luma-mini-cart__empty {
    font-size: 14px;
    color: var(--luma-gray-600);
    text-align: center;
    margin-top: 40px;
}

.luma-mini-cart__item {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 16px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-mini-cart__item-image {
    background-color: var(--luma-gray-100);
    border-radius: var(--luma-radius-sm);
    overflow: hidden;
}

.luma-mini-cart__item-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.luma-mini-cart__item-info h4 {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 6px;
}

.luma-mini-cart__item-price {
    font-size: 13px;
    color: var(--luma-gray-600);
}

.luma-mini-cart__qty input {
    width: 50px;
    padding: 6px;
    border: 1px solid var(--luma-gray-300);
    border-radius: var(--luma-radius-sm);
    font-family: inherit;
    font-size: 13px;
    text-align: center;
}

.luma-mini-cart__remove {
    font-size: 20px;
    color: var(--luma-gray-600);
    align-self: flex-start;
}

.luma-mini-cart__remove:hover {
    color: var(--luma-black);
}

.luma-mini-cart__footer {
    padding: 24px;
    border-top: 1px solid var(--luma-gray-200);
}

.luma-mini-cart__total {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    margin-bottom: 16px;
}

.luma-mini-cart__overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1099;
    opacity: 0;
    visibility: hidden;
    transition: var(--luma-transition);
}

.luma-mini-cart__overlay.is-active,
.luma-mini-cart__overlay--visible {
    opacity: 1;
    visibility: visible;
}

/* Search overlay
   -------------------------------------------------- */
.luma-search-overlay {
    position: fixed;
    inset: 0;
    background: var(--luma-white);
    z-index: 1100;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding-top: 120px;
}

.luma-search-overlay.is-active {
    display: flex;
}

.luma-search-overlay__inner {
    width: 100%;
    max-width: 720px;
    padding: 0 24px;
    position: relative;
}

.luma-search-overlay__input {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--luma-black);
    font-size: 24px;
    font-family: inherit;
    padding: 16px 40px 16px 0;
    outline: none;
    background: transparent;
}

.luma-search-overlay__close {
    position: absolute;
    top: 3px;
    right: 24px;
    font-size: 28px;
    color: var(--luma-black);
}
.luma-search-result-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-bottom: 1px solid var(--luma-gray-200);
}
.luma-search-result-item .luma-search-result-item__image {
    width: 40px;
    height: 40px;
    overflow: hidden;
}
/* Scroll to top
   -------------------------------------------------- */
.luma-scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--luma-black);
    color: var(--luma-white);
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
    transition: var(--luma-transition);
}

.luma-scroll-top:hover {
    background: var(--luma-dark);
}

/* WooCommerce overrides
   -------------------------------------------------- */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

@media (max-width: 1024px) {
    .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

.woocommerce ul.products li.product {
    margin: 0 !important;
    float: none !important;
    width: auto !important;
}

.luma-product-card__image {
    position: relative;
    aspect-ratio: 4 / 5;
    background-color: rgba(185, 185, 185, 0.2);
    border-radius: var(--luma-radius-sm);
    overflow: hidden;
    margin-bottom: 12px;
}

/* Image base styles are in archive-product.css — keep them there to avoid specificity conflicts */

.luma-product-card__info {
    padding: 0 4px;
}

.luma-product-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background: var(--luma-black);
    color: var(--luma-white);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 4px 10px;
    border-radius: var(--luma-radius-sm);
}

.luma-product-card__badge--best {
    background: var(--luma-gold-light);
    color: var(--luma-gold-hover);
    border: 1px solid rgba(201, 169, 110, 0.3);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.42px;
    color: var(--luma-text-dark);
    padding: 0;
    margin-bottom: 6px;
}

.woocommerce ul.products li.product .price {
    font-size: 13px;
    font-weight: 500;
    color: var(--luma-black);
}

.woocommerce ul.products li.product .price del {
    color: var(--luma-gray-500);
}

.woocommerce ul.products li.product .button {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    padding: 14px 24px;
    border-radius: var(--luma-radius-sm);
    background: var(--luma-white);
    color: var(--luma-black);
    border: 1px solid var(--luma-black);
}

.woocommerce ul.products li.product .button:hover {
    background: var(--luma-black);
    color: var(--luma-white);
}

/* WooCommerce breadcrumb */
.luma-breadcrumb {
    font-size: 12px;
    letter-spacing: 0.42px;
    color: var(--luma-gray-600);
    padding: 16px 0;
}

.luma-breadcrumb a {
    color: var(--luma-black);
}

.luma-breadcrumb a:hover {
    color: var(--luma-gold);
}

/* Shipping notice */
.luma-shipping-notice {
    background: var(--luma-gray-100);
    border: 1px solid var(--luma-gray-200);
    border-radius: var(--luma-radius-md);
    padding: 16px 20px;
    font-size: 13px;
    text-align: center;
    margin-bottom: 24px;
}

.luma-shipping-notice--success {
    background: #f0f9f0;
    border-color: #c8e6c9;
}

/* Single product page */
.woocommerce div.product .product_title {
    font-family: var(--luma-font-body);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.42px;
    color: var(--luma-black);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--luma-gold);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.84px;
}

/* Generic WP alignments
   -------------------------------------------------- */
.alignleft { float: left; margin-right: 24px; }
.alignright { float: right; margin-left: 24px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* Ensure Elementor/Hello resets don't fight us
   -------------------------------------------------- */
.site-main {
    display: block;
}

/* =====================================================
   Outer .site-main — Pavoi-style layout (matched to pavoi.com)
   ===================================================== */
#main.site-main {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
    width: 100%;
    max-width: none;
    overflow-x: clip;
}

/* Floating promo button (Pavoi-style)
   -------------------------------------------------- */
.luma-promo-chip {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 998;
    background: var(--luma-white);
    color: var(--luma-black);
    border: 1px solid var(--luma-black);
    border-radius: var(--luma-radius-sm);
    padding: 12px 18px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    cursor: pointer;
    transition: var(--luma-transition);
}

.luma-promo-chip:hover {
    background: var(--luma-black);
    color: var(--luma-white);
}

/* =====================================================
   WOOCOMMERCE CART PAGE (Pavoi Style)
   ===================================================== */
.luma-cart-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 80px;
}

.woocommerce-notices-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 24px 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    font-size: 13px;
    padding: 16px 20px 16px 48px;
    border-radius: var(--luma-radius-sm);
    border: 1px solid var(--luma-gray-200);
    background-color: var(--luma-gray-50);
    margin-bottom: 24px;
    position: relative;
}

.woocommerce-message {
    border-color: #c8e6c9;
    background: #f0f9f0;
}

.woocommerce-error {
    border-color: #e0b4b4;
    background: #fdf0f0;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    float: right;
    order: 2;
    font-size: 12px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    padding: 8px 18px !important;
    background: var(--luma-black) !important;
    color: var(--luma-white) !important;
    border-radius: var(--luma-radius-sm) !important;
}

.woocommerce-message .button:hover {
    background: var(--luma-gold) !important;
}

/* Cart Table — desktop layout */
.luma-cart-table {
    margin-bottom: 32px;
}

.luma-cart-table__header {
    display: grid;
    grid-template-columns: 3fr 1fr 1fr 1fr;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 2px solid var(--luma-black);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-black);
}

.luma-cart-table__body {
    display: contents;
}

/* Cart Item Row */
.luma-cart-item {
    display: grid;
    grid-template-columns: 3fr 1fr 1fr 1fr;
    gap: 20px;
    align-items: center;
    padding: 24px 0;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-cart-item__product {
    display: flex;
    align-items: center;
    gap: 20px;
}

.luma-cart-item__thumb {
    width: 90px;
    height: 112px;
    flex-shrink: 0;
    background-color: var(--luma-gray-100);
    border-radius: var(--luma-radius-sm);
    overflow: hidden;
}

.luma-cart-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.luma-cart-item__details {
    flex: 1;
    min-width: 0;
}

.luma-cart-item__name {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.42px;
    color: var(--luma-black);
    margin-bottom: 6px;
    line-height: 1.4;
}

.luma-cart-item__name a {
    color: var(--luma-black);
}

.luma-cart-item__name a:hover {
    color: var(--luma-gold);
}

.luma-cart-item__meta {
    font-size: 12px;
    color: var(--luma-gray-600);
    margin-bottom: 6px;
}

.luma-cart-item__meta .variation {
    margin: 0;
}

.luma-cart-item__meta dt {
    font-weight: 600;
    display: inline;
}

.luma-cart-item__meta dd {
    display: inline;
    margin: 0;
}

.luma-cart-item__meta dd p {
    display: inline;
    margin: 0;
}

.luma-cart-item__price--mobile {
    display: none;
}

.luma-cart-item__price,
.luma-cart-item__subtotal {
    font-size: 14px;
    font-weight: 500;
    color: var(--luma-black);
    text-align: center;
}

.luma-cart-item__qty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.luma-cart-item__qty .quantity {
    display: inline-flex;
    border: 1px solid var(--luma-gray-300);
    border-radius: var(--luma-radius-sm);
    overflow: hidden;
}

.luma-cart-item__qty .quantity input[type="number"] {
    width: 56px;
    padding: 10px 4px;
    text-align: center;
    border: none;
    font-family: var(--luma-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--luma-black);
    -moz-appearance: textfield;
    appearance: textfield;
}

.luma-cart-item__qty .quantity input[type="number"]::-webkit-outer-spin-button,
.luma-cart-item__qty .quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.luma-cart-item__qty .quantity button {
    width: 34px;
    padding: 10px 0;
    background: var(--luma-gray-50);
    border: none;
    font-size: 14px;
    color: var(--luma-black);
    transition: var(--luma-transition);
    display: flex;
    align-items: center;
    justify-content: center;
}

.luma-cart-item__qty .quantity button:hover {
    background: var(--luma-gold);
    color: var(--luma-white);
}

.luma-cart-item__remove {
    font-size: 22px;
    color: var(--luma-gray-500);
    line-height: 1;
    transition: var(--luma-transition);
}

.luma-cart-item__remove:hover {
    color: var(--luma-gold);
}

/* Cart Actions */
.luma-cart-actions {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 48px;
    flex-wrap: wrap;
}

.luma-cart-actions__coupon {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.luma-cart-actions__coupon-input {
    width: 200px;
    padding: 14px 16px;
    font-family: var(--luma-font-body);
    font-size: 13px;
    letter-spacing: 0.28px;
    border: 1px solid var(--luma-gray-300);
    border-radius: var(--luma-radius-sm);
    color: var(--luma-text-dark);
    outline: none;
    transition: var(--luma-transition);
}

.luma-cart-actions__coupon-input:focus {
    border-color: var(--luma-gold);
    box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.12);
}

.luma-cart-actions__update .luma-btn {
    padding: 14px 24px;
}

/* Cart Totals */
.luma-cart-totals {
    max-width: 480px;
    margin-left: auto;
}

.luma-cart-totals .cart_totals {
    background: var(--luma-gray-50);
    border: 1px solid var(--luma-gray-200);
    border-radius: var(--luma-radius-md);
    padding: 32px;
}

.luma-cart-totals .cart_totals h2 {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--luma-black);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-cart-totals table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.luma-cart-totals table th,
.luma-cart-totals table td {
    padding: 10px 0;
    font-size: 13px;
    text-align: left;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-cart-totals table td {
    text-align: right;
    font-weight: 500;
}

.luma-cart-totals .order-total th,
.luma-cart-totals .order-total td {
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    border-bottom: none;
    padding-top: 16px;
}

.luma-cart-totals .shipping th {
    vertical-align: top;
}

.woocommerce-shipping-calculator {
    margin-top: 8px;
}

.woocommerce-shipping-calculator p {
    margin-bottom: 10px;
}

.luma-cart-totals .wc-proceed-to-checkout {
    margin: 0;
    padding: 0;
}

.luma-cart-totals .wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    padding: 18px 24px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    text-align: center;
    background: var(--luma-gold);
    color: var(--luma-white);
    border: none;
    border-radius: var(--luma-radius-sm);
    transition: var(--luma-transition);
}

.luma-cart-totals .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--luma-gold-hover);
}

.luma-cart-totals .cart-subtotal td {
    color: var(--luma-black);
}

/* Cart empty */
.luma-cart-empty {
    text-align: center;
    padding: 80px 24px;
}

.luma-cart-empty__icon {
    color: var(--luma-gray-300);
    margin-bottom: 24px;
}

.luma-cart-empty__title {
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--luma-black);
    margin-bottom: 12px;
}

.luma-cart-empty__text {
    font-size: 14px;
    color: var(--luma-gray-600);
    margin-bottom: 32px;
}

/* ── Cart responsive ── */
@media (max-width: 768px) {
    .luma-cart-table__header {
        display: none;
    }

    .luma-cart-item {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 20px 0;
    }

    .luma-cart-item__thumb {
        width: 80px;
        height: 100px;
    }

    .luma-cart-item__price {
        display: none;
    }

    .luma-cart-item__price--mobile {
        display: block;
        font-size: 13px;
        font-weight: 500;
        color: var(--luma-black);
    }

    .luma-cart-item__qty {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .luma-cart-item__subtotal {
        text-align: right;
        position: relative;
    }

    .luma-cart-item__subtotal::before {
        content: 'Subtotal: ';
        font-weight: 400;
        color: var(--luma-gray-600);
    }

    .luma-cart-actions {
        flex-direction: column;
    }

    .luma-cart-actions__coupon {
        flex-direction: column;
        width: 100%;
    }

    .luma-cart-actions__coupon-input {
        width: 100%;
    }

    .luma-cart-totals {
        max-width: 100%;
    }
}

/* =====================================================
   WOOCOMMERCE MY ACCOUNT PAGE (Pavoi Style)
   ===================================================== */
.luma-account {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 80px;
}

/* Login form */
.luma-account__login {
    display: flex;
    justify-content: center;
    padding: 64px 24px;
}

.luma-account__login-inner {
    width: 100%;
    max-width: 480px;
    text-align: center;
}

.luma-account__login-title {
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--luma-black);
    margin-bottom: 12px;
}

.luma-account__login-desc {
    font-size: 14px;
    color: var(--luma-gray-600);
    margin-bottom: 36px;
    line-height: 1.6;
}

.luma-account__login-inner .woocommerce-form-login,
.luma-account__login-inner .woocommerce-form-register {
    text-align: left;
    background: var(--luma-gray-50);
    border: 1px solid var(--luma-gray-200);
    border-radius: var(--luma-radius-md);
    padding: 36px 32px;
}

/* Layout for logged-in */
.luma-account__layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    padding-top: 48px;
}

/* Navigation sidebar */
.luma-account__nav {
    flex-shrink: 0;
}

.luma-account__nav-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--luma-gray-200);
}

.luma-account__avatar-img {
    border-radius: 50%;
    width: 56px;
    height: 56px;
}

.luma-account__greeting {
    display: block;
    font-size: 12px;
    color: var(--luma-gray-600);
    margin-bottom: 2px;
}

.luma-account__name {
    font-size: 16px;
    font-weight: 500;
    color: var(--luma-black);
}

.luma-account__nav .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.luma-account__nav .woocommerce-MyAccount-navigation li {
    margin-bottom: 2px;
}

.luma-account__nav .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--luma-text-dark);
    border-radius: var(--luma-radius-sm);
    transition: var(--luma-transition);
    letter-spacing: 0.28px;
}

.luma-account__nav .woocommerce-MyAccount-navigation a:hover {
    background: var(--luma-gray-50);
    color: var(--luma-black);
}

.luma-account__nav .woocommerce-MyAccount-navigation .is-active a {
    background: var(--luma-gold-light);
    color: var(--luma-gold-hover);
    font-weight: 600;
}

.luma-account__nav .woocommerce-MyAccount-navigation li {
    position: relative;
}

.luma-account__nav .woocommerce-MyAccount-navigation .is-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: var(--luma-gold);
    border-radius: 0 2px 2px 0;
}

.luma-account__logout-mobile {
    display: none;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--luma-gray-200);
}

.luma-account__logout-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--luma-gray-600);
}

.luma-account__logout-link:hover {
    color: var(--luma-gold);
}

/* Content area */
.luma-account__content {
    min-width: 0;
}

.luma-account__content > *:first-child {
    margin-top: 0;
}

/* My Account forms */
.luma-account__content .woocommerce-MyAccount-content p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--luma-text-dark);
    margin-bottom: 20px;
}

.luma-account__content .woocommerce-MyAccount-content strong {
    color: var(--luma-black);
}

.luma-account__content .woocommerce-MyAccount-content a {
    color: var(--luma-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.luma-account__content .woocommerce-MyAccount-content a:hover {
    color: var(--luma-gold);
}

/* Dashboard link to orders/addresses */
.woocommerce-MyAccount-content .woocommerce-MyAccount-dashboard-links {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    margin: 24px 0;
}

.woocommerce-MyAccount-content .woocommerce-MyAccount-dashboard-links a {
    display: block;
    padding: 20px 24px;
    background: var(--luma-gray-50);
    border: 1px solid var(--luma-gray-200);
    border-radius: var(--luma-radius-sm);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    color: var(--luma-black);
    transition: var(--luma-transition);
}

.woocommerce-MyAccount-content .woocommerce-MyAccount-dashboard-links a:hover {
    border-color: var(--luma-gold);
    background: var(--luma-gold-bg);
    text-decoration: none;
}

/* Form fields */
.luma-account__content .form-row {
    margin-bottom: 20px;
}

.luma-account__content label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-black);
    margin-bottom: 8px;
}

.luma-account__content .woocommerce-input-wrapper {
    display: block;
}

.luma-account__content input[type="text"],
.luma-account__content input[type="email"],
.luma-account__content input[type="tel"],
.luma-account__content input[type="password"],
.luma-account__content input[type="number"],
.luma-account__content textarea,
.luma-account__content select {
    width: 100%;
    padding: 14px 16px;
    font-family: var(--luma-font-body);
    font-size: 14px;
    letter-spacing: 0.28px;
    color: var(--luma-text-dark);
    background: var(--luma-white);
    border: 1px solid var(--luma-gray-300);
    border-radius: var(--luma-radius-sm);
    outline: none;
    transition: var(--luma-transition);
}

.luma-account__content input:focus,
.luma-account__content textarea:focus,
.luma-account__content select:focus {
    border-color: var(--luma-gold);
    box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.12);
}

.luma-account__content .woocommerce-Button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 36px;
    font-family: var(--luma-font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-white);
    background: var(--luma-black);
    border: 1px solid var(--luma-black);
    border-radius: var(--luma-radius-sm);
    cursor: pointer;
    transition: var(--luma-transition);
}

.luma-account__content .woocommerce-Button:hover {
    background: var(--luma-gold);
    border-color: var(--luma-gold);
}

/* Orders table */
.luma-account__content .woocommerce-orders-table,
.luma-account__content .woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin: 24px 0;
}

.luma-account__content .woocommerce-orders-table thead th,
.luma-account__content .woocommerce-table--order-downloads thead th {
    padding: 14px 16px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-black);
    background: var(--luma-gray-50);
    border-bottom: 2px solid var(--luma-gray-200);
    text-align: left;
}

.luma-account__content .woocommerce-orders-table tbody td,
.luma-account__content .woocommerce-table--order-downloads tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--luma-gray-200);
    color: var(--luma-text-dark);
}

.luma-account__content .woocommerce-orders-table tbody tr:hover td {
    background: var(--luma-gold-bg);
}

.luma-account__content .woocommerce-orders-table .woocommerce-button {
    display: inline-flex;
    padding: 8px 18px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-black);
    background: transparent;
    border: 1px solid var(--luma-gray-300);
    border-radius: var(--luma-radius-sm);
    transition: var(--luma-transition);
}

.luma-account__content .woocommerce-orders-table .woocommerce-button:hover {
    background: var(--luma-black);
    color: var(--luma-white);
    border-color: var(--luma-black);
}

/* Address cards */
.luma-account__content .woocommerce-Address {
    background: var(--luma-gray-50);
    border: 1px solid var(--luma-gray-200);
    border-radius: var(--luma-radius-md);
    padding: 28px;
    margin-bottom: 24px;
}

.luma-account__content .woocommerce-Address-title h3 {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    color: var(--luma-black);
    margin-bottom: 12px;
}

.luma-account__content .woocommerce-Address-title .edit {
    font-size: 12px;
    font-weight: 600;
    color: var(--luma-dark);
}

.luma-account__content .woocommerce-Address-title .edit:hover {
    color: var(--luma-gold);
}

.luma-account__content .woocommerce-EditAccountForm fieldset {
    border: 1px solid var(--luma-gray-200);
    border-radius: var(--luma-radius-sm);
    padding: 28px;
    margin-bottom: 28px;
}

.luma-account__content .woocommerce-EditAccountForm legend {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.84px;
    padding: 0 12px;
    color: var(--luma-black);
}

/* Login form inputs inside account area */
.luma-account__login-inner input[type="text"],
.luma-account__login-inner input[type="email"],
.luma-account__login-inner input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    font-family: var(--luma-font-body);
    font-size: 14px;
    letter-spacing: 0.28px;
    color: var(--luma-text-dark);
    background: var(--luma-white);
    border: 1px solid var(--luma-gray-300);
    border-radius: var(--luma-radius-sm);
    outline: none;
    transition: var(--luma-transition);
}

.luma-account__login-inner input:focus {
    border-color: var(--luma-gold);
    box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.12);
}

.luma-account__login-inner .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
}

.luma-account__login-inner .woocommerce-form-login__rememberme input {
    width: auto;
}

.luma-account__login-inner .woocommerce-form-login__rememberme span {
    font-size: 13px;
    color: var(--luma-text-dark);
}

.luma-account__login-inner .woocommerce-LostPassword {
    font-size: 13px;
    margin-top: 16px;
}

.luma-account__login-inner .woocommerce-LostPassword a {
    color: var(--luma-dark);
}

.luma-account__login-inner .woocommerce-LostPassword a:hover {
    color: var(--luma-gold);
}

/* ── Account responsive ── */
@media (max-width: 768px) {
    .luma-account__layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .luma-account__nav-header {
        display: none;
    }

    .luma-account__nav .woocommerce-MyAccount-navigation .is-active::before {
        display: none;
    }

    .luma-account__logout-mobile {
        display: block;
    }

    .luma-account {
        padding: 0 20px 64px;
    }

    .luma-account__login {
        padding: 40px 16px;
    }

    .luma-account__login-inner .woocommerce-form-login,
    .luma-account__login-inner .woocommerce-form-register {
        padding: 24px 20px;
    }
}

/* =====================================================
   GLOBAL INTERACTION ENHANCEMENTS (Pavoi-inspired)
   ===================================================== */

/* ── Body overflow lock ── */
body.luma-cart-open,
body.luma-search-overflow {
    overflow: hidden !important;
    touch-action: none;
}

body.luma-menu-open {
    overflow: hidden !important;
}

/* ── Mobile nav — spring animation ── */
.luma-mobile-nav.is-active {
    animation: lumaNavSlideIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes lumaNavSlideIn {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Mobile nav submenu ── */
.luma-mobile-nav .menu-item-has-children > a::after {
    content: '+';
    display: inline-block;
    margin-left: 6px;
    font-size: 16px;
    transition: transform 0.3s ease;
}

.luma-mobile-nav .menu-item-has-children.is-sub-open > a::after {
    transform: rotate(45deg);
}

/* ── Back to Top button (animation already in interactions.js) ── */
.luma-back-to-top:hover {
    background: var(--luma-gray-50) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}

/* ── Legacy scroll-top button fallback ── */
button.luma-scroll-top {
    display: none;
    position: fixed;
    bottom: 28px;
    left: 28px;
    z-index: 1000;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--luma-white);
    border: 1px solid var(--luma-gray-200);
    cursor: pointer;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    color: var(--luma-black);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

button.luma-scroll-top:hover {
    background: var(--luma-gray-50);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

/* ── Search overlay enhanced ── */
.luma-search-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(0, 0, 0, 0.75);
    flex-direction: column;
    align-items: center;
    padding-top: 100px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.luma-search-overlay.luma-search-overlay--open {
    opacity: 1;
}

.luma-search-overlay__top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.luma-search-overlay__input {
    flex: 1;
    padding: 16px 20px;
    font-size: 16px;
    font-family: var(--luma-font-body);
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    outline: none;
    background: transparent;
    color: var(--luma-white);
    transition: border-color 0.3s ease;
}

.luma-search-overlay__input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.luma-search-overlay__input:focus {
    border-bottom-color: var(--luma-gold);
}

.luma-search-overlay__close {
    background: none;
    border: none;
    color: var(--luma-white);
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, opacity 0.25s ease;
    border-radius: 50%;
}

.luma-search-overlay__close:hover {
    transform: rotate(90deg);
    opacity: 0.7;
}

.luma-search-overlay__suggestions {
    text-align: center;
    padding: 0;
}

.luma-search-overlay__suggestions-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 16px;
}

.luma-search-overlay__suggestion-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.luma-search-overlay__suggestion-tag {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: var(--luma-white);
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-family: var(--luma-font-body);
    cursor: pointer;
    transition: all 0.25s ease;
}

.luma-search-overlay__suggestion-tag:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-1px);
}

/* Search loading dots */
.luma-search-overlay__loading {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 40px 0;
}

.luma-search-overlay__loading span {
    width: 6px;
    height: 6px;
    background: var(--luma-gold);
    border-radius: 50%;
    animation: lumaSearchLoading 1.2s ease-in-out infinite;
}

.luma-search-overlay__loading span:nth-child(2) {
    animation-delay: 0.2s;
}

.luma-search-overlay__loading span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes lumaSearchLoading {
    0%, 80%, 100% { opacity: 0.3; transform: scale(0.8); }
    40% { opacity: 1; transform: scale(1); }
}

/* ──────────────────────────────────────────────────
   Search Results — Card-style layout
   ────────────────────────────────────────────────── */
.luma-search-overlay__results {
    max-width: 520px;
    margin: 0 auto;
    padding: 8px 0;
    min-height: 60px;
}

/* ── Result Item Card ── */
.luma-search-result-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    margin-bottom: 8px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: var(--luma-radius-md);
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.luma-search-result-item:last-child {
    margin-bottom: 0;
}

.luma-search-result-item:hover,
.luma-search-result-item:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    transform: translateX(4px);
    outline: none;
}

.luma-search-result-item__image {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
}

.luma-search-result-item__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.luma-search-result-item__info {
    flex: 1;
    min-width: 0;
}

.luma-search-result-item__info h4 {
    font-size: 14px;
    font-weight: 500;
    color: var(--luma-white);
    margin: 0 0 4px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.luma-search-result-item__info .price {
    display: block;
    font-size: 13px;
    color: var(--luma-gold);
    font-weight: 500;
    line-height: 1;
}

/* ── Keyword Highlight ── */
.luma-search-result-item__info mark {
    background: rgba(201, 169, 110, 0.25);
    color: var(--luma-gold);
    padding: 0 2px;
    border-radius: 2px;
    font-weight: 600;
}

/* ── No Results State ── */
.luma-search-no-results {
    text-align: center;
    padding: 48px 24px 40px;
}

.luma-search-no-results__icon {
    display: block;
    margin: 0 auto 20px;
    color: rgba(255, 255, 255, 0.3);
    animation: lumaFadeInUp 0.4s ease both;
}

.luma-search-no-results__text {
    font-size: 16px;
    color: var(--luma-white);
    margin: 0 0 8px;
    line-height: 1.5;
}

.luma-search-no-results__query {
    color: var(--luma-gold);
    font-weight: 500;
}

.luma-search-no-results__hint {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 28px;
    line-height: 1.5;
}

.luma-search-no-results__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

/* ── Loading Skeleton ── */
.luma-search-loading {
    padding: 2px 0;
}

.luma-search-loading__skeleton {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    margin-bottom: 8px;
    border-radius: var(--luma-radius-md);
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.luma-search-loading__skeleton:last-child {
    margin-bottom: 0;
}

.luma-search-loading__image {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    flex-shrink: 0;
}

.luma-search-loading__lines {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.luma-search-loading__line {
    height: 14px;
    border-radius: 4px;
    width: 100%;
}

.luma-search-loading__line.skeleton-shimmer--short {
    width: 40%;
}

/* Shimmer animation */
.skeleton-shimmer {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.04) 0%,
        rgba(255, 255, 255, 0.1) 50%,
        rgba(255, 255, 255, 0.04) 100%
    );
    background-size: 200% 100%;
    animation: skeletonShimmer 1.6s ease-in-out infinite;
}

@keyframes skeletonShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ──────────────────────────────────────────────────
   Search — Responsive
   ────────────────────────────────────────────────── */

/* Tablet */
@media (max-width: 1024px) {
    .luma-search-overlay__results {
        max-width: 480px;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .luma-search-overlay__inner {
        max-width: 100%;
        padding: 0 20px;
    }

    .luma-search-overlay__results {
        max-width: 100%;
        padding: 4px 0;
    }

    .luma-search-result-item {
        padding: 12px 12px;
        gap: 12px;
        border-radius: 10px;
    }

    .luma-search-result-item__image {
        width: 52px;
        height: 52px;
        border-radius: 6px;
    }

    .luma-search-result-item__info h4 {
        font-size: 13px;
    }

    .luma-search-result-item__info .price {
        font-size: 12px;
    }

    .luma-search-no-results {
        padding: 36px 16px 32px;
    }

    .luma-search-no-results__text {
        font-size: 15px;
    }

    .luma-search-no-results__hint {
        font-size: 12px;
        margin-bottom: 22px;
    }

    .luma-search-loading__skeleton {
        padding: 12px 12px;
        gap: 12px;
    }

    .luma-search-loading__image {
        width: 52px;
        height: 52px;
        border-radius: 6px;
    }
}

/* ── Product card image swap indicator (desktop hover hint) ── */
@media (hover: hover) {
    .luma-product-card__link::after {
        content: '';
        position: absolute;
        inset: 0;
        opacity: 0;
        background: rgba(0, 0, 0, 0.03);
        transition: opacity 0.35s ease;
        pointer-events: none;
        z-index: 1;
    }

    .luma-product-card__link:hover::after {
        opacity: 1;
    }
}

/* ── Reduced-motion global support ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    html { scroll-behavior: auto; }
}
