/**
 * Luxury 02 — theme bridge penuh.
 * Menimpa hardcode CSS dikabar agar semua token editor (warna & font) diterapkan.
 */

.nk-template-luxury-02.lx2-page {
    --lx2-gold: var(--nk-color-primary-color, #c5a880) !important;
    --lx2-gold-glow: color-mix(in srgb, var(--nk-color-primary-color, #c5a880) 35%, transparent) !important;
    --lx2-gold-border: color-mix(in srgb, var(--nk-color-primary-color, #c5a880) 20%, transparent) !important;
    --lx2-gold-soft: color-mix(in srgb, var(--nk-color-primary-color, #c5a880) 8%, transparent) !important;
    --lx2-gold-medium: color-mix(in srgb, var(--nk-color-primary-color, #c5a880) 14%, transparent) !important;
    --lx2-text-light: var(--nk-color-text-color, #ffffff) !important;
    --lx2-text-muted: var(--nk-color-muted-color, #a3a3a3) !important;
    --lx2-text-dark: var(--nk-color-button-text-color, #0a0a0a) !important;
    --lx2-bg-dark: var(--nk-color-bg-color, #080808) !important;
    --lx2-bg-secondary: var(--nk-color-secondary-color, #1a1a1a) !important;
    --lx2-bg-card: var(--nk-color-card-background, rgba(15, 15, 15, .85)) !important;
    --lx2-bg-radial: radial-gradient(
        circle at center,
        var(--nk-color-bg-gradient-2, #161616) 0%,
        var(--nk-color-bg-gradient-1, #000000) 100%
    ) !important;
    --lx2-overlay: var(--nk-color-overlay-color, rgba(0, 0, 0, .55)) !important;
    --lx2-accent: var(--nk-color-accent-color, #ffffff) !important;
    --lx2-font-heading: var(--nk-font-heading, "Jura", sans-serif) !important;
    --lx2-font-body: var(--nk-font-body, "Poppins", sans-serif) !important;
    --lx2-font-script: var(--nk-font-script, "Great Vibes", cursive) !important;
    --lx2-font-ui: var(--nk-font-ui, "Poppins", sans-serif) !important;
    --lx2-font-serif: var(--nk-font-script, "Great Vibes", cursive) !important;
    --lx2-font-display: var(--nk-font-heading, "Jura", sans-serif) !important;
    background: var(--lx2-bg-dark) !important;
    color: var(--lx2-text-light) !important;
    font-family: var(--lx2-font-body) !important;
}

/* ── Shell & layout ─────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-container {
    background: var(--lx2-bg-radial) !important;
}
.nk-template-luxury-02 .lx2-main,
.nk-template-luxury-02 .lx2-slide-container,
.nk-template-luxury-02 .lx2-divider-inner {
    background: var(--lx2-bg-dark) !important;
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-cover {
    background: var(--lx2-bg-dark) !important;
}
.nk-template-luxury-02 .lx2-section {
    border-bottom-color: var(--lx2-gold-soft) !important;
}
.nk-template-luxury-02 .lx2-divider {
    background: linear-gradient(90deg, transparent, var(--lx2-gold), transparent) !important;
}
.nk-template-luxury-02 .nk-desktop-background-panel,
.nk-template-luxury-02 .nk-lux-desk-poster {
    background: var(--lx2-bg-dark) !important;
}

/* ── Overlays ───────────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-cover__overlay,
.nk-template-luxury-02 .lx2-hero__overlay,
.nk-template-luxury-02 .lx2-section-overlay,
.nk-template-luxury-02 .nk-lux-desk-poster__overlay {
    background: var(--lx2-overlay) !important;
}

/* ── Tipografi global ───────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-page [class*="lx2-"] {
    font-family: inherit;
}

/* font_script — nama panggilan mempelai, ampersand dekoratif */
.nk-template-luxury-02 .lx2-cover__couple,
.nk-template-luxury-02 .lx2-hero__title,
.nk-template-luxury-02 .lx2-closing__couple,
.nk-template-luxury-02 .lx2-couple__amp,
.nk-template-luxury-02 .lx2-mempelai-amp,
.nk-template-luxury-02 .lx2-opening__initials-amp,
.nk-template-luxury-02 .nk-lux-desk-poster__names {
    font-family: var(--lx2-font-script) !important;
}

/* font_heading — judul section, nama lengkap mempelai, angka countdown */
.nk-template-luxury-02 .lx2-section-title,
.nk-template-luxury-02 .lx2-opening__title,
.nk-template-luxury-02 .lx2-opening__source,
.nk-template-luxury-02 .lx2-opening__subtitle,
.nk-template-luxury-02 .lx2-couple__name,
.nk-template-luxury-02 .lx2-couple__parents,
.nk-template-luxury-02 .lx2-mempelai-name,
.nk-template-luxury-02 .lx2-event-card__name,
.nk-template-luxury-02 .lx2-event-card__date-text,
.nk-template-luxury-02 .lx2-event-vertical-title,
.nk-template-luxury-02 .lx2-story__date,
.nk-template-luxury-02 .lx2-story__title,
.nk-template-luxury-02 .lx2-closing__title,
.nk-template-luxury-02 .lx2-countdown__digit,
.nk-template-luxury-02 .lx2-countdown__colon,
.nk-template-luxury-02 .lx2-event-date-num-ref,
.nk-template-luxury-02 .lx2-event-location-title-ref,
.nk-template-luxury-02 .nk-qr-title,
.nk-template-luxury-02 .lx2-cover__monogram,
.nk-template-luxury-02 .lx2-cover__circle-logo text,
.nk-template-luxury-02 .lx2-bank-card__number,
.nk-template-luxury-02 .lx2-bank-card__holder,
.nk-template-luxury-02 .lx2-wish-bubble__sender,
.nk-template-luxury-02 .lx2-opening__initials-letter {
    font-family: var(--lx2-font-heading) !important;
}

/* font_body — paragraf, info, alamat, ucapan */
.nk-template-luxury-02 .lx2-section-subtitle,
.nk-template-luxury-02 .lx2-opening__ayat,
.nk-template-luxury-02 .lx2-opening__text,
.nk-template-luxury-02 .lx2-couple__info,
.nk-template-luxury-02 .lx2-event-card__time-text,
.nk-template-luxury-02 .lx2-event-card__address,
.nk-template-luxury-02 .lx2-story__desc,
.nk-template-luxury-02 .lx2-closing__text,
.nk-template-luxury-02 .lx2-wish-bubble__message,
.nk-template-luxury-02 .lx2-countdown__label,
.nk-template-luxury-02 .lx2-hero__date,
.nk-template-luxury-02 .lx2-hero__countdown-val,
.nk-template-luxury-02 .lx2-hero__countdown-label,
.nk-template-luxury-02 .lx2-event-date-day-ref,
.nk-template-luxury-02 .lx2-event-date-month-ref,
.nk-template-luxury-02 .lx2-event-date-year-ref,
.nk-template-luxury-02 .lx2-event-time-ref,
.nk-template-luxury-02 .lx2-event-venue-ref,
.nk-template-luxury-02 .lx2-event-address-ref,
.nk-template-luxury-02 .lx2-mempelai-parent-label,
.nk-template-luxury-02 .lx2-mempelai-parents,
.nk-template-luxury-02 .lx2-cover__guest,
.nk-template-luxury-02 .lx2-cover__apology,
.nk-template-luxury-02 .nk-qr-guest,
.nk-template-luxury-02 .nk-qr-hint {
    font-family: var(--lx2-font-body) !important;
}

/* font_ui — label, tombol, navigasi, form */
.nk-template-luxury-02 .lx2-cover__dear,
.nk-template-luxury-02 .lx2-hero__subtitle,
.nk-template-luxury-02 .lx2-form-group label,
.nk-template-luxury-02 .lx2-cover__btn,
.nk-template-luxury-02 .lx2-nav-menu__item,
.nk-template-luxury-02 .lx2-nav-item-text,
.nk-template-luxury-02 .lx2-form-btn,
.nk-template-luxury-02 .lx2-event-card__btn,
.nk-template-luxury-02 .lx2-event-btn-ref,
.nk-template-luxury-02 .lx2-event-card__badge,
.nk-template-luxury-02 .lx2-bank-card__copy-btn,
.nk-template-luxury-02 .nk-qr-close,
.nk-template-luxury-02 .nk-lux-desk-poster__caption p {
    font-family: var(--lx2-font-ui) !important;
}

/* ── Warna teks ─────────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-page,
.nk-template-luxury-02 .lx2-cover__couple,
.nk-template-luxury-02 .lx2-cover__dear,
.nk-template-luxury-02 .lx2-cover__guest,
.nk-template-luxury-02 .lx2-cover__monogram,
.nk-template-luxury-02 .lx2-hero__title,
.nk-template-luxury-02 .lx2-hero__subtitle,
.nk-template-luxury-02 .lx2-hero__date,
.nk-template-luxury-02 .lx2-hero__countdown-val,
.nk-template-luxury-02 .lx2-hero__countdown-label,
.nk-template-luxury-02 .lx2-hero__arrow,
.nk-template-luxury-02 .lx2-opening__initials-letter,
.nk-template-luxury-02 .lx2-event-card__name,
.nk-template-luxury-02 .lx2-event-card__date-text,
.nk-template-luxury-02 .lx2-event-date-day-ref,
.nk-template-luxury-02 .lx2-event-venue-ref,
.nk-template-luxury-02 .lx2-story__title,
.nk-template-luxury-02 .lx2-closing__text,
.nk-template-luxury-02 .lx2-wish-bubble__message,
.nk-template-luxury-02 .nk-qr-guest,
.nk-template-luxury-02 .lx2-input,
.nk-template-luxury-02 .lx2-select,
.nk-template-luxury-02 .lx2-textarea,
.nk-template-luxury-02 .lx2-bank-card,
.nk-template-luxury-02 .lx2-bank-card__number,
.nk-template-luxury-02 .lx2-bank-card__holder,
.nk-template-luxury-02 .lx2-bank-card__copy-btn,
.nk-template-luxury-02 .lx2-mempelai-name,
.nk-template-luxury-02 .lx2-mempelai-parents,
.nk-template-luxury-02 .lx2-event-right-ref,
.nk-template-luxury-02 .lx2-lightbox__close {
    color: var(--lx2-text-light) !important;
}
.nk-template-luxury-02 .lx2-section-subtitle,
.nk-template-luxury-02 .lx2-opening__title,
.nk-template-luxury-02 .lx2-opening__ayat,
.nk-template-luxury-02 .lx2-couple__info,
.nk-template-luxury-02 .lx2-event-card__time-text,
.nk-template-luxury-02 .lx2-event-card__address,
.nk-template-luxury-02 .lx2-story__desc,
.nk-template-luxury-02 .lx2-countdown__label,
.nk-template-luxury-02 .lx2-cover__apology,
.nk-template-luxury-02 .lx2-closing__title,
.nk-template-luxury-02 .nk-qr-hint,
.nk-template-luxury-02 .lx2-event-date-month-ref,
.nk-template-luxury-02 .lx2-event-date-year-ref,
.nk-template-luxury-02 .lx2-event-time-ref,
.nk-template-luxury-02 .lx2-event-address-ref,
.nk-template-luxury-02 .lx2-mempelai-parent-label,
.nk-template-luxury-02 .lx2-nav-menu__item {
    color: var(--lx2-text-muted) !important;
}
.nk-template-luxury-02 .lx2-section-title,
.nk-template-luxury-02 .lx2-opening__source,
.nk-template-luxury-02 .lx2-opening__subtitle,
.nk-template-luxury-02 .lx2-couple__name,
.nk-template-luxury-02 .lx2-couple__ig,
.nk-template-luxury-02 .lx2-couple__amp,
.nk-template-luxury-02 .lx2-mempelai-amp,
.nk-template-luxury-02 .lx2-opening__initials-amp,
.nk-template-luxury-02 .lx2-countdown__digit,
.nk-template-luxury-02 .lx2-countdown__colon,
.nk-template-luxury-02 .lx2-event-card__meta-item i,
.nk-template-luxury-02 .lx2-event-date-num-ref,
.nk-template-luxury-02 .lx2-event-location-title-ref,
.nk-template-luxury-02 .lx2-event-left-ref,
.nk-template-luxury-02 .lx2-story__date,
.nk-template-luxury-02 .lx2-form-group label,
.nk-template-luxury-02 .lx2-wish-bubble__sender,
.nk-template-luxury-02 .lx2-closing__couple,
.nk-template-luxury-02 .lx2-nav-menu__item.active,
.nk-template-luxury-02 .lx2-nav-menu__item.active i,
.nk-template-luxury-02 .nk-floating-btn,
.nk-template-luxury-02 .nk-qr-title,
.nk-template-luxury-02 .nk-qr-close,
.nk-template-luxury-02 .lx2-event-card__btn,
.nk-template-luxury-02 .lx2-event-btn-ref,
.nk-template-luxury-02 .nk-lux-desk-poster__caption p:first-child {
    color: var(--lx2-gold) !important;
}

/* ── Kartu & panel ──────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-card,
.nk-template-luxury-02 .lx2-event-card-ref,
.nk-template-luxury-02 .lx2-event-body-ref,
.nk-template-luxury-02 .lx2-story__card,
.nk-template-luxury-02 .nk-qr-modal,
.nk-template-luxury-02 .lx2-opening__quote-container {
    background: var(--lx2-bg-card) !important;
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-card::before,
.nk-template-luxury-02 .lx2-story__node--left .lx2-story__card,
.nk-template-luxury-02 .lx2-story__node--right .lx2-story__card {
    border-color: var(--lx2-gold) !important;
}
.nk-template-luxury-02 .lx2-card::before {
    background: linear-gradient(90deg, transparent, var(--lx2-gold), transparent) !important;
}
.nk-template-luxury-02 .lx2-couple__photo-wrap {
    border-color: var(--lx2-gold) !important;
    background: var(--lx2-bg-card) !important;
}
.nk-template-luxury-02 .lx2-mempelai-details {
    background: color-mix(in srgb, var(--lx2-accent) 12%, var(--lx2-bg-card)) !important;
    color: var(--lx2-text-light) !important;
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-mempelai-parent-label {
    color: var(--lx2-text-muted) !important;
}
.nk-template-luxury-02 .lx2-mempelai-photo-wrap {
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-event-left-ref {
    background: linear-gradient(180deg, var(--lx2-gold-soft), transparent) !important;
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-event-divider-ref {
    border-color: var(--lx2-gold-border) !important;
}

/* ── Form & input ───────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-input,
.nk-template-luxury-02 .lx2-select,
.nk-template-luxury-02 .lx2-textarea {
    background: color-mix(in srgb, var(--lx2-accent) 5%, var(--lx2-bg-secondary)) !important;
    border-color: var(--lx2-gold-border) !important;
    color: var(--lx2-text-light) !important;
}
.nk-template-luxury-02 .lx2-input:focus,
.nk-template-luxury-02 .lx2-select:focus,
.nk-template-luxury-02 .lx2-textarea:focus {
    border-color: var(--lx2-gold) !important;
}
.nk-template-luxury-02 .lx2-select option {
    background: var(--lx2-bg-secondary) !important;
    color: var(--lx2-text-light) !important;
}
.nk-template-luxury-02 .lx2-wish-bubble {
    background: var(--lx2-gold-soft) !important;
    border-color: var(--lx2-gold-border) !important;
}

/* ── Tombol ─────────────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-cover__btn {
    background: var(--nk-color-button-color) !important;
    background-image: none !important;
    color: var(--nk-color-button-text-color) !important;
    box-shadow: 0 4px 15px color-mix(in srgb, var(--lx2-bg-dark) 30%, transparent) !important;
}
.nk-template-luxury-02 .lx2-cover__btn:hover {
    background: color-mix(in srgb, var(--nk-color-button-color) 85%, var(--lx2-accent)) !important;
    color: var(--nk-color-button-text-color) !important;
}
.nk-template-luxury-02 .lx2-form-btn,
.nk-template-luxury-02 .lx2-event-card__badge {
    background: var(--nk-color-button-color) !important;
    color: var(--nk-color-button-text-color) !important;
    box-shadow: 0 0 15px var(--lx2-gold-glow) !important;
}
.nk-template-luxury-02 .lx2-event-card__btn,
.nk-template-luxury-02 .lx2-event-btn-ref,
.nk-template-luxury-02 .nk-floating-btn,
.nk-template-luxury-02 .nk-qr-close {
    border-color: var(--lx2-gold) !important;
    color: var(--lx2-gold) !important;
    background: color-mix(in srgb, var(--lx2-bg-secondary) 90%, transparent) !important;
}
.nk-template-luxury-02 .lx2-event-card__btn:hover,
.nk-template-luxury-02 .lx2-event-btn-ref:hover,
.nk-template-luxury-02 .nk-floating-btn:hover,
.nk-template-luxury-02 .nk-qr-close:hover,
.nk-template-luxury-02 .lx2-couple__ig:hover,
.nk-template-luxury-02 .lx2-mempelai-ig:hover {
    background: var(--lx2-gold) !important;
    color: var(--lx2-text-dark) !important;
}
.nk-template-luxury-02 .nk-floating-btn.is-playing {
    background: var(--lx2-gold) !important;
    color: var(--lx2-text-dark) !important;
    box-shadow: 0 0 14px var(--lx2-gold-glow) !important;
}
.nk-template-luxury-02 .nk-floating-btn.is-playing::before {
    border-color: var(--lx2-gold) !important;
}
.nk-template-luxury-02 .lx2-couple__ig {
    background: var(--lx2-gold-medium) !important;
    border-color: var(--lx2-gold-border) !important;
    color: var(--lx2-gold) !important;
}

/* ── Countdown ────────────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-countdown__digit {
    background: linear-gradient(180deg, var(--lx2-bg-secondary), var(--lx2-bg-dark)) !important;
    border-color: var(--lx2-gold-border) !important;
    color: var(--lx2-gold) !important;
}
.nk-template-luxury-02 .lx2-countdown__digit::after {
    background: var(--lx2-bg-dark) !important;
}

/* ── Nav & floating ───────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-nav-menu {
    background: color-mix(in srgb, var(--lx2-bg-secondary) 95%, transparent) !important;
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-nav-menu__item.active {
    background-color: var(--lx2-gold-medium) !important;
    box-shadow: inset 0 -2px 0 var(--lx2-gold) !important;
}
.nk-template-luxury-02 .nk-floating-btn {
    background: color-mix(in srgb, var(--lx2-bg-secondary) 90%, transparent) !important;
}

/* ── Galeri & lightbox ────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-gallery-grid__item,
.nk-template-luxury-02 .lx2-event-banner,
.nk-template-luxury-02 .lx2-lightbox__img {
    border-color: var(--lx2-gold-border) !important;
}
.nk-template-luxury-02 .lx2-lightbox {
    background: var(--lx2-overlay) !important;
}
.nk-template-luxury-02 .lx2-lightbox__img {
    border-color: var(--lx2-gold) !important;
}

/* ── Bank / gift card ─────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-bank-card {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--lx2-bg-secondary) 80%, var(--lx2-bg-dark)),
        var(--lx2-bg-dark) 65%,
        color-mix(in srgb, var(--lx2-bg-secondary) 60%, var(--lx2-bg-dark))
    ) !important;
    border-color: var(--lx2-gold-border) !important;
    color: var(--lx2-text-light) !important;
}
.nk-template-luxury-02 .lx2-bank-card__copy-btn {
    background-color: var(--lx2-gold-medium) !important;
    border-color: var(--lx2-gold-border) !important;
    color: var(--lx2-text-light) !important;
}
.nk-template-luxury-02 .lx2-bank-card__copy-btn:hover {
    background-color: var(--lx2-gold-soft) !important;
    border-color: var(--lx2-gold) !important;
}

/* ── Story hover ──────────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-story__node:hover .lx2-story__card,
.nk-template-luxury-02 .lx2-story__node.is-active .lx2-story__card {
    border-color: var(--lx2-gold) !important;
    box-shadow: 0 10px 25px var(--lx2-gold-glow) !important;
}

/* ── Scrollbar wishes ─────────────────────────────────────────────────────── */
.nk-template-luxury-02 .lx2-wishes-list::-webkit-scrollbar-thumb {
    background: var(--lx2-gold) !important;
}
.nk-template-luxury-02 .lx2-wishes-list-wrapper::after {
    background: linear-gradient(to bottom, transparent, var(--lx2-bg-card)) !important;
}
