/* ELFER 棣欐按鍟嗗煄 - 鑷畾涔夋牱寮?*/

/* ============ 鍏ㄥ眬 ============ */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB",
                 "WenQuanYi Micro Hei", "Noto Sans SC", system-ui, sans-serif;
}

h1, h2, h3, h4, h5, h6, .font-serif {
    font-family: "STSong", "SimSun", "FangSong", "Noto Serif SC",
                 Georgia, "Times New Roman", serif;
}

/* ============ 婊氬姩鏉?============ */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #c19a6b;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a07a4a;
}

/* ============ 璇勫垎鏄熸槦 ============ */
.rating-stars {
    color: #f5b400;
    font-size: 0.9em;
}

/* ============ 棣欐按鍗＄墖 ============ */
.perfume-card {
    transition: all 0.3s ease;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
}

.perfume-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(193, 154, 107, 0.15);
}

.perfume-card .img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: linear-gradient(135deg, #f8f5f0 0%, #ede4d3 100%);
}

.perfume-card .img-wrap img {
    transition: transform 0.5s ease;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 鍥剧墖鍔犺浇澶辫触鏃剁殑浼橀泤鑳屾櫙 */
.perfume-card .img-wrap img[data-error] {
    opacity: 0;
}

.perfume-card:hover .img-wrap img {
    transform: scale(1.05);
}

/* 鍔犺浇涓鏋跺睆 */
.perfume-card .img-wrap img:not([src]) {
    visibility: hidden;
}

/* ============ 鍝佺墝鍗＄墖 ============ */
.brand-card {
    transition: all 0.3s ease;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #f0e9dc;
}

.brand-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(193, 154, 107, 0.2);
    border-color: #c19a6b;
}

.article-card-image {
    aspect-ratio: 16 / 10;
}

.brand-hero-bg {
    background:
        radial-gradient(circle at 16% 22%, rgba(255,255,255,.36), transparent 24%),
        radial-gradient(circle at 74% 38%, rgba(193,154,107,.38), transparent 26%),
        linear-gradient(135deg, rgba(193,154,107,.42), rgba(17,24,39,.10));
}

/* ============ 鏍囩 ============ */
.tag-hot {
    background: linear-gradient(135deg, #ff6b6b, #ee5a52);
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.tag-new {
    background: linear-gradient(135deg, #4ecdc4, #44a08d);
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.tag-sale {
    background: linear-gradient(135deg, #c19a6b, #8b6f47);
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

/* ============ 鎸夐挳 ============ */
.btn-elfer {
    background: linear-gradient(135deg, #c19a6b 0%, #8b6f47 100%);
    color: #fff;
    padding: 10px 24px;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s;
    display: inline-block;
    text-align: center;
}

.btn-elfer:hover {
    background: linear-gradient(135deg, #8b6f47 0%, #6b5234 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(193, 154, 107, 0.4);
}

.btn-outline {
    background: transparent;
    color: #c19a6b;
    border: 1px solid #c19a6b;
    padding: 10px 24px;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s;
    display: inline-block;
    text-align: center;
}

.btn-outline:hover {
    background: #c19a6b;
    color: #fff;
}

.btn-gold {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #c19a6b 0%, #a07a4a 100%);
    color: #fff;
    padding: 8px 20px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.875rem;
    transition: all 0.2s;
    cursor: pointer;
    border: none;
    text-decoration: none;
    text-align: center;
}

.btn-gold:hover {
    background: linear-gradient(135deg, #a07a4a 0%, #8b6f47 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(193, 154, 107, 0.35);
    color: #fff;
}

/* ============ 鍒嗛〉 ============ */
.pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 30px 0;
}

.pagination li a, .pagination li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    color: #555;
    text-decoration: none;
    transition: all 0.2s;
}

.pagination li a:hover {
    background: #f8f5f0;
    border-color: #c19a6b;
    color: #c19a6b;
}

.pagination li.active a {
    background: #c19a6b;
    border-color: #c19a6b;
    color: #fff;
}

.pagination li.disabled span {
    color: #ccc;
    background: #fafafa;
    cursor: not-allowed;
}

/* ============ Hero Banner ============ */
.hero-banner {
    background: linear-gradient(135deg, rgba(26,26,26,0.65) 0%, rgba(193,154,107,0.45) 100%),
                url('../../uploads/perfumes/1.jpg') center/cover;
    min-height: 500px;
    display: flex;
    align-items: center;
    color: #fff;
}

/* ============ 棣欒皟鏍囩 ============ */
.note-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f8f5f0;
    color: #8b6f47;
    border-radius: 20px;
    font-size: 12px;
    margin: 2px;
    border: 1px solid #ede4d3;
}

/* ============ 鏁板瓧姝ヨ繘 ============ */
.qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    overflow: hidden;
}

.qty-control button {
    width: 36px;
    height: 36px;
    background: #f8f5f0;
    border: none;
    color: #555;
    cursor: pointer;
    transition: all 0.2s;
}

.qty-control button:hover:not(:disabled) {
    background: #c19a6b;
    color: #fff;
}

.qty-control button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.qty-control input {
    width: 50px;
    height: 36px;
    border: none;
    text-align: center;
    font-weight: 500;
    color: #333;
    background: #fff;
}

.qty-control input:focus {
    outline: none;
}

/* ============ Loading 鍔ㄧ敾 ============ */
.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #c19a6b;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ============ Toast 閫氱煡 ============ */
.toast {
    position: fixed;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(26,26,26,0.9);
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    z-index: 9999;
    animation: slideDown 0.3s ease;
    max-width: 90%;
}

@keyframes slideDown {
    from { opacity: 0; transform: translate(-50%, -20px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}

/* ============ 鏂囧瓧鐪佺暐 ============ */
.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ============ Tailwind arbitrary/opacity compatibility (local build fallback) ============ */
.aspect-\[3\/4\] { aspect-ratio: 3 / 4; }
.aspect-\[16\/10\] { aspect-ratio: 16 / 10; }
.min-h-\[500px\] { min-height: 500px; }
.max-h-\[90vh\] { max-height: 90vh; }
.max-w-\[80px\] { max-width: 80px; }
.text-\[10px\] { font-size: 10px; }
.bg-black\/20 { background-color: rgba(0, 0, 0, .20); }
.bg-black\/50 { background-color: rgba(0, 0, 0, .50); }
.bg-white\/10 { background-color: rgba(255, 255, 255, .10); }
.bg-white\/20 { background-color: rgba(255, 255, 255, .20); }
.bg-white\/80 { background-color: rgba(255, 255, 255, .80); }
.bg-gray-50\/50 { background-color: rgba(249, 250, 251, .50); }
.bg-elfer-cream\/50 { background-color: rgba(248, 245, 240, .50); }
.border-white\/30 { border-color: rgba(255, 255, 255, .30); }
.border-elfer-gold\/20 { border-color: rgba(193, 154, 107, .20); }
.border-elfer-gold\/30 { border-color: rgba(193, 154, 107, .30); }
.text-white\/10 { color: rgba(255, 255, 255, .10); }
.text-white\/70 { color: rgba(255, 255, 255, .70); }
.text-white\/80 { color: rgba(255, 255, 255, .80); }
.hover\:bg-white\/20:hover { background-color: rgba(255, 255, 255, .20); }
.hover\:bg-amber-50\/30:hover { background-color: rgba(255, 251, 235, .30); }
.hover\:bg-blue-50\/30:hover { background-color: rgba(239, 246, 255, .30); }
.hover\:text-\[\#1aad19\]:hover { color: #1aad19; }
.hover\:text-\[\#e6162d\]:hover { color: #e6162d; }
.group:hover .group-hover\:text-white\/80 { color: rgba(255, 255, 255, .80); }
.backdrop-blur,
.backdrop-blur-sm {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

/* ============ 字母索引 ============ */
.letter-index {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.letter-index a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    min-width: 36px;
    padding: 0;
    border: 1px solid var(--lux-line, #e5e5e5);
    border-radius: 8px;
    color: var(--lux-muted, #555);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s, transform .15s;
}

.letter-index-all {
    min-width: 56px;
    padding: 0 14px;
    letter-spacing: .04em;
}

.letter-index-char {
    width: 36px;
}

.letter-index a:hover:not(.is-disabled) {
    border-color: var(--lux-gold, #c19a6b);
    color: var(--lux-gold, #c19a6b);
    transform: translateY(-1px);
}

.letter-index a.active {
    background: linear-gradient(135deg, #f0d19a, #c19a6b);
    border-color: #c19a6b;
    color: #1b1008;
    box-shadow: 0 2px 8px rgba(193, 154, 107, .35);
}

.letter-index a.is-disabled {
    opacity: .28;
    pointer-events: none;
    cursor: default;
}

/* ============ 浠锋牸 ============ */
.price-current {
    color: #c19a6b;
    font-weight: 700;
    font-size: 1.2em;
}

.price-original {
    color: #999;
    text-decoration: line-through;
    font-size: 0.9em;
}

/* ============ 鍝嶅簲寮?============ */
@media (max-width: 768px) {
    .hero-banner {
        min-height: 350px;
    }
}

/* ============ Header / Nosetime-like compact navigation ============ */
.elfer-main-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #fff;
    border-bottom: 1px solid #eee7dc;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}

.elfer-nav-row {
    border-top: 1px solid #f0f0f0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.elfer-nav-row::-webkit-scrollbar {
    height: 0;
}

.elfer-nav-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    min-height: 44px;
    white-space: nowrap;
    list-style: none;
    margin: 0;
    padding: 0 10px;
}

.elfer-nav-list a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #26323f;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
    transition: color .2s ease;
}

.elfer-nav-list a:hover,
.elfer-nav-list a.active {
    color: #c19a6b;
}

/* ============ Perfume detail page fixed layout (no arbitrary Tailwind dependency) ============ */
.pd-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 22px 16px 42px;
}

.pd-card {
    background: #fff;
    border: 1px solid #e9e2d7;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(80, 60, 40, 0.04);
}

.pd-top {
    display: grid;
    grid-template-columns: 230px minmax(360px, 1fr) 230px 68px;
    gap: 26px;
    align-items: start;
    padding: 24px;
    margin-bottom: 18px;
}

.pd-image-col {
    text-align: center;
}

.pd-main-image {
    width: 210px;
    height: 268px;
    margin: 0 auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.pd-main-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.pd-title {
    font-size: 21px;
    line-height: 1.35;
    color: #5b4b40;
    margin: 0 0 18px;
    font-weight: 700;
}

.pd-title small {
    display: inline;
    color: #7c6b5b;
    font-size: 15px;
    font-weight: 400;
    margin-left: 8px;
}

.pd-meta {
    font-size: 13px;
    color: #2f3d48;
}

.pd-meta-row {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 8px;
    margin: 7px 0;
    line-height: 1.55;
}

.pd-meta-row .label {
    color: #7e8790;
    text-align: right;
}

.pd-meta-row a {
    color: #2c5c88;
    text-decoration: none;
}

.pd-meta-row a:hover {
    color: #c19a6b;
}

.pd-score-title {
    color: #6d7680;
    font-size: 12px;
    margin-bottom: 6px;
}

.pd-score-line {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 8px;
}

.pd-score-num {
    color: #c19a6b;
    font-size: 42px;
    line-height: .9;
    font-weight: 700;
}

.pd-score-sub {
    color: #8b949e;
    font-size: 11px;
    margin-top: 4px;
}

.pd-rating-bars {
    margin-top: 10px;
}

.pd-bar-row {
    display: grid;
    grid-template-columns: 24px 1fr 32px;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #76808a;
    margin: 5px 0;
}

.pd-bar {
    height: 7px;
    background: #f0eee9;
    border-radius: 10px;
    overflow: hidden;
}

.pd-bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #f3d8a1, #c19a6b);
}

.pd-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pd-action {
    min-height: 54px;
    border: 1px solid #e8ded1;
    background: #fff;
    color: #6b5b4a;
    font-size: 12px;
    line-height: 1.35;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
}

.pd-action.buy {
    background: #c19a6b;
    color: #fff;
    border-color: #c19a6b;
}

.pd-action:hover {
    border-color: #c19a6b;
    color: #c19a6b;
}

.pd-action.buy:hover {
    background: #a68256;
    color: #fff;
}

.pd-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 22px;
}

.pd-section {
    background: #fff;
    border: 1px solid #e9e2d7;
    border-radius: 4px;
    padding: 18px;
    margin-bottom: 18px;
}

.pd-section-title {
    font-size: 15px;
    color: #334155;
    font-weight: 700;
    border-bottom: 1px solid #f1ede7;
    padding-bottom: 10px;
    margin: 0 0 16px;
}

.pd-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.pd-section-heading .pd-section-title {
    margin-bottom: 8px;
}

.pd-section-subtitle {
    margin: 0;
    max-width: 680px;
    color: #8a7765;
    font-size: 12px;
    line-height: 1.7;
}

.pd-note-count {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fff8ef, #f7ead8);
    border: 1px solid #ead8bf;
    color: #9d7442;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pd-note-section {
    background: linear-gradient(180deg, #fffdf9 0%, #fff8ee 100%);
    border-color: #eddcc3;
}

.pd-note-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
}

.pd-note-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #efe2cf;
    box-shadow: 0 12px 30px rgba(136, 101, 60, 0.08);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pd-note-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(136, 101, 60, 0.14);
    border-color: #e4c79d;
}

.pd-note-media {
    position: relative;
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    background: #fff;
}

.pd-note-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    padding: 8px;
    box-sizing: border-box;
    background: #fff;
    transition: transform .35s ease;
}

.pd-note-item:hover .pd-note-media img {
    transform: scale(1.04);
}

.pd-note-item.phase-top {
    border-color: #f0d9b2;
}

.pd-note-item.phase-middle {
    border-color: #ead2dc;
}

.pd-note-item.phase-base {
    border-color: #dccdbf;
}

.pd-note-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 13px 14px 14px;
}

.pd-note-family {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fbf2e4;
    color: #a46f31;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.pd-note-item.is-fallback .pd-note-family {
    background: #f2f0fb;
    color: #7f62b3;
}

.pd-note-name {
    display: block;
    font-size: 15px;
    color: #334155;
    font-weight: 700;
    line-height: 1.3;
}

.pd-note-percent {
    display: block;
    color: #8b949e;
    font-size: 12px;
    font-weight: 600;
}

.pd-note-phases {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.pd-note-phase-card {
    border-radius: 18px;
    border: 1px solid #efe1cf;
    background: rgba(255, 255, 255, 0.92);
    padding: 16px;
    box-shadow: 0 8px 24px rgba(136, 101, 60, 0.06);
}

.pd-note-phase-card.phase-top {
    background: linear-gradient(180deg, #fffaf2 0%, #fff 100%);
}

.pd-note-phase-card.phase-middle {
    background: linear-gradient(180deg, #fff8fb 0%, #fff 100%);
}

.pd-note-phase-card.phase-base {
    background: linear-gradient(180deg, #fcfaf7 0%, #fff 100%);
}

.pd-note-phase-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.pd-note-phase-head h3 {
    margin: 3px 0 0;
    font-size: 17px;
    color: #3d332a;
}

.pd-note-phase-kicker {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ad8b63;
    font-weight: 700;
}

.pd-note-phase-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fbf2e4;
    color: #9c723e;
    font-size: 12px;
    font-weight: 700;
}

.pd-note-mini-grid {
    display: grid;
    gap: 10px;
}

.pd-note-mini {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 9px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #f2e7da;
}

.pd-note-mini.is-fallback {
    background: linear-gradient(135deg, rgba(242, 240, 251, 0.95), rgba(255, 255, 255, 0.92));
}

.pd-note-mini-media {
    width: 58px;
    height: 58px;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.pd-note-mini-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    padding: 4px;
    box-sizing: border-box;
    background: #fff;
}

.pd-note-mini-content {
    min-width: 0;
}

.pd-note-mini-name {
    display: block;
    font-size: 14px;
    line-height: 1.35;
    color: #334155;
    font-weight: 700;
}

.pd-note-mini-family {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: #8b949e;
}

.pd-intro {
    display: grid;
    grid-template-columns: 230px 1fr;
    gap: 22px;
    align-items: start;
}

.pd-intro img {
    width: 230px;
    height: 280px;
    object-fit: cover;
    background: #f8f5f0;
}

.pd-intro-text {
    font-size: 14px;
    line-height: 1.9;
    color: #3f4a54;
    text-align: justify;
}

.pd-sku-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.pd-sku {
    min-width: 78px;
    padding: 8px 10px;
    text-align: center;
    border: 1px solid #e5ddd0;
    background: #fff;
    cursor: pointer;
}

.pd-sku.active,
.pd-sku:hover {
    border-color: #c19a6b;
    background: #fbf6ee;
}

.pd-buybar {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f8f5f0;
    padding: 12px;
}

.pd-buy-btn {
    border: 0;
    background: #c19a6b;
    color: #fff;
    height: 36px;
    padding: 0 22px;
    font-size: 13px;
    cursor: pointer;
}

.pd-buy-btn:hover {
    background: #a68256;
}

.pd-review {
    display: flex;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #f2eee8;
}

.pd-avatar {
    width: 34px;
    height: 34px;
    background: #f1ede7;
    color: #8b6f47;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    font-weight: 700;
}

.pd-review-body {
    flex: 1;
    min-width: 0;
}

.pd-review-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin-bottom: 4px;
}

.pd-review-text {
    font-size: 13px;
    line-height: 1.7;
    color: #4b5563;
}

.pd-side-card {
    background: #fff;
    border: 1px solid #e9e2d7;
    border-radius: 4px;
    padding: 16px;
    margin-bottom: 18px;
}

.pd-side-title {
    font-size: 14px;
    font-weight: 700;
    color: #334155;
    margin: 0 0 14px;
}

.pd-side-link {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
    text-decoration: none;
    color: inherit;
}

.pd-side-link img {
    width: 48px;
    height: 62px;
    object-fit: cover;
    background: #f8f5f0;
    flex-shrink: 0;
}

.pd-side-link.article img {
    width: 48px;
    height: 48px;
}

.pd-side-name {
    font-size: 12px;
    line-height: 1.35;
    color: #334155;
}

.pd-side-brand {
    font-size: 11px;
    color: #8b949e;
    margin-bottom: 2px;
}

.pd-side-link:hover .pd-side-name {
    color: #c19a6b;
}

@media (max-width: 1100px) {
    .pd-top {
        grid-template-columns: 210px minmax(0, 1fr) 210px;
    }
    .pd-actions {
        grid-column: 1 / -1;
        flex-direction: row;
    }
}

@media (max-width: 900px) {
    .pd-top,
    .pd-layout,
    .pd-intro {
        grid-template-columns: 1fr;
    }
    .pd-section-heading {
        flex-direction: column;
    }
    .pd-note-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .pd-note-phases {
        grid-template-columns: 1fr;
    }
    .pd-intro img {
        width: 100%;
        height: auto;
        max-height: 320px;
    }
}

/* ============================================================
   ELFER Luxury Dark/Gold Theme 鈥?screenshot-matched storefront
   ============================================================ */
:root,
body.elfer-day {
    --lux-bg: #faf8f5;
    --lux-bg-2: #f3efe8;
    --lux-panel: #ffffff;
    --lux-panel-2: #f7f4ef;
    --lux-line: rgba(184, 145, 78, .22);
    --lux-line-strong: rgba(184, 145, 78, .42);
    --lux-gold: #b8914e;
    --lux-gold-2: #9a7538;
    --lux-muted: #6b6256;
    --lux-text: #2a241c;
    --lux-hero-bg: #f8f5f0;
    --lux-hero-fade: #faf8f5;
    --lux-strip-bg: #f3efe8;
    --lux-section-bg: #faf8f5;
    --lux-section-alt-bg: #f0ebe3;
    --lux-panel-card: #ffffff;
    --lux-row-bg: #ffffff;
    --lux-heading: #9a7538;
    --lux-link-gold: #b8914e;
    --lux-coupon-btn-bg: #2a241c;
    --lux-coupon-btn-hover: #4a3f32;
}

body.elfer-day {
    background:
        radial-gradient(circle at 50% -8%, rgba(216, 173, 106, .08), transparent 38%),
        linear-gradient(180deg, #fdfcfa 0%, #f8f5f0 48%, #f3efe8 100%) !important;
    color: var(--lux-text);
}

body.elfer-luxury {
    --lux-bg: #0b0b0a;
    --lux-bg-2: #11100e;
    --lux-panel: #151411;
    --lux-panel-2: #1b1813;
    --lux-line: rgba(210, 164, 91, .18);
    --lux-line-strong: rgba(226, 182, 111, .34);
    --lux-gold: #d8ad6a;
    --lux-gold-2: #f0d19a;
    --lux-muted: #a99a86;
    --lux-text: #f3eadb;
    --lux-hero-bg: #090908;
    --lux-hero-fade: #0b0b0a;
    --lux-strip-bg: #10100f;
    --lux-section-bg: #0b0b0a;
    --lux-section-alt-bg: #0e0e0d;
    --lux-panel-card: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022));
    --lux-row-bg: rgba(255,255,255,.035);
    --lux-heading: #d7ad6f;
    --lux-link-gold: #d7ad6f;
    --lux-coupon-btn-bg: #11100f;
    --lux-coupon-btn-hover: #2a2118;
    background:
        radial-gradient(circle at 50% -12%, rgba(216, 173, 106, .12), transparent 34%),
        linear-gradient(180deg, #090908 0%, #0d0d0c 42%, #080808 100%) !important;
    color: var(--lux-text);
}

.elfer-luxury a {
    transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease;
}

.lux-container {
    width: min(100% - 64px, 1440px);
    margin: 0 auto;
}

.lux-topbar {
    background: var(--lux-bg-2);
    color: var(--lux-gold-2);
    height: 28px;
    font-size: 12px;
    border-bottom: 1px solid var(--lux-line);
}

.lux-topbar .lux-container {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.lux-topbar i {
    margin-right: 6px;
}

.lux-top-arrows {
    position: absolute;
    right: 0;
    display: inline-flex;
    gap: 16px;
    color: rgba(240, 209, 154, .74);
}

.lux-header {
    position: sticky;
    top: 0;
    z-index: 70;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,245,.96));
    border-bottom: 1px solid var(--lux-line);
    box-shadow: 0 8px 24px rgba(42, 36, 28, .08);
    backdrop-filter: blur(14px);
}

body.elfer-luxury .lux-header {
    background: linear-gradient(180deg, rgba(13, 13, 12, .98), rgba(11, 11, 10, .94));
    box-shadow: 0 12px 32px rgba(0,0,0,.38);
}

.lux-header-row {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) auto minmax(140px, 1fr);
    column-gap: clamp(16px, 2vw, 28px);
    align-items: center;
    min-height: 72px;
}

.lux-logo {
    grid-column: 1;
    justify-self: start;
    color: var(--lux-gold-2);
    text-decoration: none;
    line-height: 1;
    display: inline-flex;
    flex-direction: column;
    letter-spacing: 3px;
}

.lux-logo-main {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 33px;
    font-weight: 500;
    letter-spacing: 4px;
    color: var(--lux-gold-2);
    text-shadow: 0 0 22px rgba(216,173,106,.22);
}

.lux-logo-sub {
    font-size: 11px;
    letter-spacing: 5px;
    color: rgba(240, 209, 154, .72);
    margin-top: 6px;
    padding-left: 3px;
}

.lux-category-btn {
    height: 42px;
    min-width: 140px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--lux-text);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(216,173,106,.13);
    border-radius: 3px;
    box-shadow: inset 0 1px rgba(255,255,255,.04);
    font-size: 13px;
}

.lux-category-btn:hover {
    color: var(--lux-gold-2);
    border-color: rgba(216,173,106,.45);
    background: rgba(216,173,106,.10);
}

.lux-nav {
    grid-column: 2;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 1.6vw, 28px);
    white-space: nowrap;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.lux-nav::-webkit-scrollbar {
    display: none;
}

.lux-nav--extended {
    gap: clamp(10px, 1.15vw, 22px);
}

.lux-nav--extended a {
    padding: 22px 6px 20px;
    font-size: clamp(11.5px, 0.82vw, 13px);
}

.lux-nav-cta {
    color: var(--lux-gold-2, var(--lux-gold)) !important;
    opacity: 1 !important;
    font-weight: 500;
    white-space: nowrap;
}

.lux-nav a {
    color: var(--lux-text);
    opacity: 0.86;
    flex-shrink: 0;
    font-size: 13px;
    text-decoration: none;
    position: relative;
    padding: 28px 0 26px;
}

.lux-nav a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 17px;
    width: 0;
    height: 1px;
    background: var(--lux-gold);
    transform: translateX(-50%);
    transition: width .24s ease;
}

.lux-nav a.active,
.lux-nav a:hover {
    color: var(--lux-gold-2);
}

.lux-nav a.active::after,
.lux-nav a:hover::after {
    width: 100%;
}

.lux-actions {
    grid-column: 3;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: clamp(10px, 1vw, 16px);
    color: var(--lux-gold-2);
}

.lux-action-group {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lux-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid var(--lux-line);
    border-radius: 50%;
    background: var(--lux-panel);
    color: var(--lux-gold);
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
    transition: color .2s, border-color .2s, background .2s;
}

.lux-action-btn:hover {
    border-color: var(--lux-gold);
    color: var(--lux-gold-2);
}

.lux-actions a,
.lux-actions button,
.lux-currency,
.lux-lang {
    color: var(--lux-gold-2);
    font-size: 19px;
    line-height: 1;
    text-decoration: none;
    background: transparent;
    border: 0;
}

.lux-actions a:hover,
.lux-actions button:hover {
    color: #fff1c7;
}

.lux-currency,
.lux-lang {
    font-size: 13px;
    color: rgba(245, 234, 218, .88);
}

.lux-cart {
    position: relative;
}

.lux-cart em {
    position: absolute;
    right: -8px;
    top: -8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--lux-gold);
    color: #15100a;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    font-style: normal;
    font-weight: 700;
}

.lux-mobile-btn {
    display: none;
}

.lux-mobile-menu {
    border-top: 1px solid var(--lux-line);
    background: var(--lux-panel);
    padding: 14px 20px 20px;
}

.lux-mobile-menu a {
    display: block;
    padding: 11px 0;
    color: var(--lux-text);
    border-bottom: 1px solid rgba(216,173,106,.08);
}

.lux-mobile-search {
    display: flex;
    border: 1px solid var(--lux-line-strong);
    margin-bottom: 10px;
}

.lux-mobile-search input {
    flex: 1;
    background: var(--lux-panel-2);
    color: var(--lux-text);
    border: 0;
    padding: 10px 12px;
}

.lux-mobile-search button {
    width: 44px;
    color: var(--lux-gold);
    background: var(--lux-bg-2);
    border: 0;
}

body.elfer-luxury .lux-mobile-search input {
    background: #11100e;
}

body.elfer-luxury .lux-mobile-search button {
    background: #16130e;
}

.lux-hero {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: var(--lux-hero-bg);
    border-bottom: 1px solid var(--lux-line);
}

.lux-hero--pure {
    min-height: 480px;
    padding: 0;
}

/* 首页 Banner 轮播 */
.lux-hero--slider {
    position: relative;
    overflow: hidden;
    direction: ltr;
}

/* Banner — پەقەت رەسىم، خەت يوق */
.lux-hero--image-only::after,
.lux-hero--image-only.lux-hero--pure::after,
.lux-hero--image-only .lux-hero::after {
    display: none !important;
}

.lux-hero--image-only .lux-hero-caption {
    display: none !important;
}

.lux-hero--image-only .lux-hero-bg {
    filter: saturate(1.06) contrast(1.03);
    background-position: center center !important;
    background-size: cover !important;
}

.lux-hero--image-only.lux-hero--pure,
.lux-hero--image-only .lux-hero-slide {
    min-height: clamp(320px, 36vw, 480px);
}

.lux-hero-track {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: inherit;
    transition: transform .65s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
    direction: ltr;
}

.lux-hero-slide {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    min-height: 480px;
    position: relative;
    box-sizing: border-box;
}

.lux-hero--slider .lux-hero-bg {
    position: absolute;
    inset: 0;
    display: block;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: saturate(1.05) contrast(1.02);
    text-decoration: none;
}

.lux-hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 4;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--lux-line-strong);
    background: rgba(255, 255, 255, .82);
    color: var(--lux-gold-2);
    font-size: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}

body.elfer-luxury .lux-hero-arrow {
    background: rgba(20, 18, 15, .72);
    color: var(--lux-gold);
}

.lux-hero-arrow:hover {
    background: var(--lux-gold);
    color: #fff;
    border-color: var(--lux-gold);
}

.lux-hero-arrow--prev { left: 20px; }
.lux-hero-arrow--next { right: 20px; }

.lux-hero-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 4;
    transform: translateX(-50%);
    display: flex;
    gap: 14px;
}

.lux-hero-dots button {
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
    letter-spacing: 2px;
    cursor: pointer;
    padding: 4px 2px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}

body.elfer-day .lux-hero-dots button {
    color: rgba(42, 36, 28, .45);
    text-shadow: none;
}

.lux-hero-dots button.active {
    color: var(--lux-gold-2);
    font-weight: 700;
}

body.elfer-luxury .lux-hero-dots button.active {
    color: #f0d19a;
}

.lux-hero--pure .lux-hero-bg {
    position: absolute;
    inset: 0;
    display: block;
    background-image: url('../images/luxury-hero.svg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: saturate(1.08) contrast(1.04);
    text-decoration: none;
}

.lux-hero--pure::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0) 70%, var(--lux-hero-fade) 100%);
}

body.elfer-luxury .lux-hero--pure::after {
    background: linear-gradient(180deg, rgba(0,0,0,0) 82%, var(--lux-hero-fade) 100%);
}

.lux-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url('../images/luxury-hero.svg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: saturate(1.06) contrast(1.03);
}

.lux-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(4,4,3,.35) 0%, rgba(8,7,6,.45) 45%, rgba(6,5,4,.72) 100%),
        radial-gradient(ellipse 70% 55% at 50% 40%, rgba(0,0,0,.15), rgba(0,0,0,.55) 78%);
    pointer-events: none;
}

.lux-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(255,255,255,0) 78%, var(--lux-hero-fade) 100%);
    pointer-events: none;
}

body.elfer-luxury .lux-hero::after {
    background: linear-gradient(180deg, rgba(0,0,0,0) 78%, var(--lux-hero-fade) 100%);
}

.lux-hero-inner {
    position: relative;
    z-index: 2;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lux-hero-copy {
    margin: 0 auto;
    transform: none;
    max-width: 760px;
    padding: 0 20px;
    color: #fff;
    text-shadow: 0 2px 20px rgba(0,0,0,.55);
}

.lux-hero-kicker {
    color: rgba(246, 225, 192, .86);
    font-size: 19px;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.lux-hero h1 {
    font-size: clamp(38px, 4.4vw, 66px);
    line-height: 1.12;
    color: #fff4de;
    font-weight: 400;
    letter-spacing: 3px;
    margin: 0 0 21px;
}

.lux-hero-sub {
    font-size: 21px;
    color: rgba(255,255,255,.78);
    letter-spacing: 1px;
    margin-bottom: 34px;
}

.lux-hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 52px;
    padding: 0 32px;
    border-radius: 4px;
    background: linear-gradient(135deg, #f3d49c, #c99655);
    color: #2a180c;
    font-weight: 700;
    font-size: 14px;
    box-shadow: 0 18px 35px rgba(96,52,16,.30);
    text-decoration: none;
}

.lux-hero-btn:hover {
    transform: translateY(-2px);
    color: #160d07;
    box-shadow: 0 22px 44px rgba(216,173,106,.25);
}

.lux-slider-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 42px;
    z-index: 4;
    display: flex;
    gap: 18px;
    color: rgba(255,255,255,.58);
    font-size: 13px;
    letter-spacing: 2px;
}

.lux-slider-dots .active {
    color: #f0d19a;
}

.lux-service-strip {
    background: var(--lux-strip-bg);
    border-top: 1px solid var(--lux-line);
    border-bottom: 1px solid var(--lux-line);
}

.lux-service-grid {
    min-height: 96px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.lux-service-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.lux-service-item:not(:first-child) {
    border-inline-start: 1px solid rgba(216, 173, 106, .16);
}

.lux-service-item i {
    font-size: 34px;
    color: var(--lux-gold);
}

.lux-service-item b {
    display: block;
    color: var(--lux-text);
    font-size: 15px;
}

.lux-service-item small {
    display: block;
    color: var(--lux-muted);
    font-size: 12px;
    margin-top: 3px;
}

.lux-section {
    background: var(--lux-section-bg);
    padding: 32px 0 18px;
}

.lux-section--compact {
    padding-bottom: 12px;
}

.lux-section-alt {
    background: var(--lux-section-alt-bg);
    padding-top: 22px;
}

.lux-section--compact + .lux-section-alt {
    padding-top: 18px;
}

.lux-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.lux-section-head h2 {
    margin: 0 0 8px;
    color: var(--lux-heading);
    font-size: 31px;
    font-weight: 500;
    letter-spacing: 1px;
}

.lux-section-head p {
    margin: 0;
    color: var(--lux-muted);
    font-size: 14px;
}

.lux-section-head a {
    color: var(--lux-link-gold);
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
}

.lux-cat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    align-items: start;
}

.lux-cat-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(216, 173, 106, 0.14);
    background: rgba(12, 10, 8, 0.6);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.lux-cat-card__media {
    aspect-ratio: 4 / 3;
    width: 100%;
    background: var(--cat-img, none) center/cover no-repeat, linear-gradient(135deg, #2a1b10, #0e0e0c);
    flex-shrink: 0;
}

.lux-cat-card__body {
    padding: 10px 12px 11px;
    text-align: center;
    background: linear-gradient(180deg, rgba(18, 14, 10, 0.98), rgba(10, 8, 6, 1));
    border-top: 1px solid rgba(216, 173, 106, 0.1);
    flex: 0 0 auto;
}

.lux-cat-card__title {
    display: block;
    font-family: Georgia, "STSong", serif;
    font-size: clamp(15px, 1.25vw, 19px);
    font-weight: 500;
    line-height: 1.32;
    margin: 0 0 4px;
    color: var(--lux-heading, #f0d19a);
    text-align: center;
}

.lux-cat-card__desc {
    display: block;
    font-size: clamp(10.5px, 0.9vw, 12px);
    line-height: 1.48;
    color: var(--lux-muted, rgba(245, 234, 216, 0.62));
    font-weight: 400;
    text-align: center;
    margin: 0;
}

/* Legacy selectors (keep for other pages if any) */
.lux-cat-card span:not(.lux-cat-card__title),
.lux-cat-card small:not(.lux-cat-card__desc),
.lux-cat-card em {
    display: none;
}

.lux-cat-card:hover {
    transform: translateY(-4px);
    border-color: rgba(216, 173, 106, 0.32);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}

.lux-cat-card:hover .lux-cat-card__media {
    filter: brightness(1.04);
}

.lux-coupon {
    position: relative;
    margin-top: 24px;
    min-height: 124px;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 26px 320px 26px 70px;
    color: #211409;
    background:
        radial-gradient(circle at 82% 36%, rgba(0,0,0,.10), transparent 24%),
        linear-gradient(100deg, rgba(245,218,176,.96) 0%, rgba(224,181,116,.92) 48%, rgba(248,226,188,.90) 100%);
}

.lux-coupon::after {
    content: "";
    position: absolute;
    right: 48px;
    top: 50%;
    transform: translateY(-50%);
    width: 220px;
    height: 110px;
    background: url('../images/luxury-gift.svg') center/contain no-repeat;
    opacity: .92;
    pointer-events: none;
}

.lux-coupon small {
    color: #9a6831;
    letter-spacing: 2px;
}

.lux-coupon h3 {
    margin: 6px 0 4px;
    color: #8d5b24;
    font-size: 31px;
    font-weight: 500;
}

.lux-coupon p {
    margin: 0;
    color: rgba(38,24,11,.62);
}

.lux-coupon a {
    color: #f8e7c6;
    background: var(--lux-coupon-btn-bg);
    padding: 12px 34px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

.lux-coupon a:hover {
    background: var(--lux-coupon-btn-hover);
    color: #fff4db;
}

.lux-agent-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.lux-agent-banner > div:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.lux-agent-banner .btn-secondary {
    display: inline-flex;
    align-items: center;
    padding: 12px 22px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    color: inherit;
    border: 1px solid currentColor;
    background: transparent;
    transition: background .15s, color .15s;
}

.lux-agent-banner .btn-secondary:hover {
    background: rgba(0, 0, 0, .06);
}

.lux-brand-mark {
    width: 82px;
    height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    border-radius: 50%;
    color: #171008;
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 700;
    background: linear-gradient(135deg, #f4d7a4, #b77d36);
    box-shadow: 0 16px 28px rgba(0,0,0,.22);
}

.lux-list-panel {
    background: var(--lux-panel-card);
    border: 1px solid var(--lux-line);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(42, 36, 28, .06);
}

body.elfer-luxury .lux-list-panel {
    box-shadow: 0 18px 36px rgba(0,0,0,.20);
}

.lux-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.lux-panel-head h2 {
    margin: 0;
    color: var(--lux-heading);
    font-size: 22px;
}

.lux-panel-head i {
    color: var(--lux-gold);
    margin-right: 8px;
}

.lux-panel-head a {
    color: var(--lux-gold);
    font-size: 13px;
}

.lux-row-card {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 12px;
    border: 1px solid var(--lux-line);
    border-radius: 10px;
    background: var(--lux-row-bg);
    text-decoration: none;
    color: var(--lux-text);
}

.lux-row-card:hover {
    border-color: var(--lux-line-strong);
    background: var(--lux-panel-2);
}

body.elfer-luxury .lux-row-card:hover {
    background: rgba(216,173,106,.08);
}

.lux-row-card .img-wrap {
    width: 68px;
    height: 78px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--lux-panel-2);
    flex-shrink: 0;
}

body.elfer-luxury .lux-row-card .img-wrap {
    background: #21170d;
}

.lux-row-card .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lux-row-info {
    flex: 1;
    min-width: 0;
}

.lux-row-info small,
.lux-row-info b,
.lux-row-info em {
    display: block;
}

.lux-row-info small {
    color: var(--lux-gold);
    font-size: 11px;
    text-transform: uppercase;
}

.lux-row-info b {
    color: var(--lux-text);
    font-family: Georgia, "STSong", serif;
    margin: 3px 0;
}

.lux-row-info em {
    color: var(--lux-muted);
    font-size: 12px;
    font-style: normal;
}

.lux-rank {
    width: 28px;
    color: #e6bd7b;
    font-family: Georgia, serif;
    font-size: 24px;
    text-align: center;
}

/* Public pages unified to the screenshot's dark luxury world */
.elfer-luxury .bg-white,
.elfer-luxury .bg-elfer-cream,
.elfer-luxury .bg-gray-50,
.elfer-luxury .bg-gray-100,
.elfer-luxury .bg-amber-50 {
    background-color: var(--lux-panel) !important;
}

body.elfer-luxury .text-gray-400,
body.elfer-luxury .text-gray-500,
body.elfer-luxury .text-gray-600 {
    color: rgba(245, 234, 216, 0.55) !important;
}

body.elfer-day .text-gray-400,
body.elfer-day .text-gray-500,
body.elfer-day .text-gray-600 {
    color: var(--lux-muted) !important;
}

body.elfer-luxury .bg-gradient-to-r,
body.elfer-luxury .bg-gradient-to-br {
    background-image: linear-gradient(135deg, #13110e, #25190f 54%, #0c0c0b) !important;
}

.elfer-luxury .text-elfer-dark,
.elfer-luxury .text-gray-800,
.elfer-luxury .text-gray-700 {
    color: var(--lux-text) !important;
}

.elfer-luxury .text-gray-600,
.elfer-luxury .text-gray-500,
.elfer-luxury .text-gray-400 {
    color: var(--lux-muted) !important;
}

.elfer-luxury .text-elfer-gold,
.elfer-luxury .price-current {
    color: var(--lux-gold) !important;
}

.elfer-luxury .border-gray-100,
.elfer-luxury .border-gray-200,
.elfer-luxury .border-amber-100 {
    border-color: var(--lux-line) !important;
}

.elfer-luxury .shadow-sm,
.elfer-luxury .shadow,
.elfer-luxury .shadow-md {
    box-shadow: 0 18px 38px rgba(0,0,0,.24) !important;
}

.elfer-luxury .rounded-xl,
.elfer-luxury .rounded-2xl,
.elfer-luxury .rounded-lg {
    border-color: var(--lux-line);
}

.elfer-luxury .perfume-card,
.elfer-luxury .brand-card,
.elfer-luxury .pd-card,
.elfer-luxury .pd-section,
.elfer-luxury .pd-side-card {
    background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022));
    border: 1px solid var(--lux-line);
    border-radius: 12px;
    box-shadow: 0 18px 36px rgba(0,0,0,.22);
}

.elfer-luxury .perfume-card:hover,
.elfer-luxury .brand-card:hover {
    border-color: rgba(216,173,106,.42);
    box-shadow: 0 24px 48px rgba(0,0,0,.36);
}

.elfer-luxury .perfume-card .img-wrap {
    background: radial-gradient(circle at 50% 28%, rgba(216,173,106,.20), transparent 36%), #11100e;
}

.elfer-luxury .btn-elfer,
.elfer-luxury .pd-buy-btn,
.elfer-luxury .pd-action.buy {
    background: linear-gradient(135deg, #f0d19a, #b9823f) !important;
    color: #1b1008 !important;
    border-color: transparent !important;
    font-weight: 700;
}

.elfer-luxury .btn-outline {
    color: var(--lux-gold) !important;
    border-color: var(--lux-line-strong) !important;
    background: rgba(216,173,106,.06) !important;
}

.elfer-luxury input,
.elfer-luxury select,
.elfer-luxury textarea {
    background-color: #100f0d !important;
    border-color: var(--lux-line) !important;
    color: var(--lux-text) !important;
}

.elfer-luxury input::placeholder,
.elfer-luxury textarea::placeholder {
    color: rgba(169,154,134,.72) !important;
}

.elfer-luxury .pagination li a,
.elfer-luxury .pagination li span {
    background: var(--lux-panel);
    border-color: var(--lux-line);
    color: var(--lux-muted);
}

.elfer-luxury .pagination li.active a,
.elfer-luxury .pagination li a:hover {
    background: var(--lux-gold);
    color: #171008;
    border-color: var(--lux-gold);
}

.elfer-luxury .pd-page {
    max-width: 1220px;
    color: var(--lux-text);
}

.elfer-luxury .pd-meta,
.elfer-luxury .pd-section-title,
.elfer-luxury .pd-side-title,
.elfer-luxury .pd-side-name,
.elfer-luxury .pd-review-text,
.elfer-luxury .pd-intro-text,
.elfer-luxury .pd-note-name {
    color: var(--lux-text);
}

.elfer-luxury .pd-meta-row .label,
.elfer-luxury .pd-score-sub,
.elfer-luxury .pd-side-brand,
.elfer-luxury .pd-note-percent,
.elfer-luxury .pd-section-subtitle {
    color: var(--lux-muted);
}

.elfer-luxury .pd-main-image,
.elfer-luxury .pd-intro img,
.elfer-luxury .pd-side-link img {
    background: #11100e;
}

.elfer-luxury .pd-note-section,
.elfer-luxury .pd-note-item {
    background: #141210;
    border-color: rgba(228, 188, 120, 0.16);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24);
}

.elfer-luxury .pd-note-phase-card,
.elfer-luxury .pd-note-mini {
    background: #141210;
    border-color: rgba(228, 188, 120, 0.14);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

.elfer-luxury .pd-note-phase-head h3,
.elfer-luxury .pd-note-phase-kicker,
.elfer-luxury .pd-note-mini-name {
    color: var(--lux-text);
}

.elfer-luxury .pd-note-family {
    background: rgba(228, 188, 120, 0.14);
    color: #f2d8a6;
}

.elfer-luxury .pd-note-item.is-fallback .pd-note-family {
    background: rgba(187, 134, 252, 0.14);
    color: #d8b7ff;
}

.elfer-luxury .pd-note-count {
    background: rgba(228, 188, 120, 0.1);
    border-color: rgba(228, 188, 120, 0.22);
    color: #f2d8a6;
}

.elfer-luxury .pd-note-phase-count {
    background: rgba(228, 188, 120, 0.12);
    color: #f2d8a6;
}

.elfer-luxury .pd-note-mini-family {
    color: var(--lux-muted);
}

.elfer-luxury footer {
    margin-top: 0;
    background: #080807 !important;
    border-top: 1px solid var(--lux-line);
}

#back-to-top {
    background: linear-gradient(135deg, #f0d19a, #b9823f) !important;
    color: #1b1008 !important;
}

@media (max-width: 1280px) {
    .lux-header-row {
        grid-template-columns: 1fr auto;
    }
    .lux-logo {
        grid-column: 1;
    }
    .lux-nav {
        display: none !important;
    }
    .lux-actions {
        grid-column: 2;
        justify-self: end;
    }
    .lux-category-btn {
        display: none !important;
    }
    .lux-mobile-btn {
        display: inline-flex !important;
    }
}

@media (max-width: 1180px) {
    .lux-header-row {
        column-gap: 14px;
    }
}

@media (max-width: 980px) {
    .lux-container {
        width: min(100% - 32px, 1440px);
    }
    .lux-header-row {
        grid-template-columns: 1fr auto;
        min-height: 68px;
    }
    .lux-category-btn,
    .lux-nav,
    .lux-currency,
    .lux-lang {
        display: none;
    }
    .lux-mobile-btn {
        display: inline-flex;
    }
    .lux-hero,
    .lux-hero-inner {
        min-height: 460px;
    }
    .lux-hero-copy {
        margin: 0 auto;
        max-width: 560px;
    }
    .lux-slider-dots {
        left: 50%;
        transform: translateX(-50%);
    }
    .lux-service-grid,
    .lux-cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .lux-topbar {
        font-size: 11px;
    }
    .lux-top-arrows {
        display: none;
    }
    .lux-logo-main {
        font-size: 26px;
    }
    .lux-actions {
        gap: 10px;
    }
    .lux-actions a,
    .lux-actions button {
        font-size: 18px;
    }
    .lux-hero,
    .lux-hero-inner {
        min-height: 420px;
    }
    .lux-hero h1 {
        font-size: 34px;
    }
    .lux-hero-kicker,
    .lux-hero-sub {
        font-size: 15px;
    }
    .lux-service-grid,
    .lux-cat-grid {
        grid-template-columns: 1fr;
    }
    .lux-service-item {
        min-height: 86px;
        justify-content: flex-start;
        padding-inline-start: 20px;
    }

    .lux-service-item:not(:first-child) {
        border-inline-start: 1px solid rgba(216, 173, 106, .16);
    }
    .lux-coupon {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
        padding: 24px;
    }
    .lux-coupon h3 {
        font-size: 25px;
    }
    .lux-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .lux-coupon {
        padding-right: 24px;
    }
    .lux-coupon::after {
        width: 160px;
        right: 20px;
        opacity: .7;
    }
}

/* ============================================================
   Unified Dark Luxury — all inner pages match homepage
   ============================================================ */

/* Page hero banners */
.lux-page-hero {
    position: relative;
    overflow: hidden;
    padding: 0;
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid var(--lux-line);
}

.lux-page-hero--pure {
    min-height: 240px;
    padding: 0;
}

.lux-page-hero--pure .lux-page-hero-bg {
    background-image: url('../../uploads/banners/hero-brands.jpg');
}

.lux-page-hero--pure::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,0) 75%, var(--lux-bg, #0b0b0a) 100%);
}

.lux-page-title-bar {
    margin-bottom: 28px;
    padding-top: 8px;
}

.lux-page-title {
    margin: 0 0 8px;
    color: var(--lux-heading);
    font-family: Georgia, "STSong", serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 500;
}

.lux-page-sub {
    margin: 0;
    color: var(--lux-muted);
    font-size: 14px;
}

.lux-page-hero--image {
    min-height: 320px;
    padding: 56px 0 48px;
}

.lux-page-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: saturate(1.05) contrast(1.02);
}

.lux-page-hero--brands .lux-page-hero-bg {
    background-image: url('../../uploads/banners/hero-brands.jpg');
}

.lux-page-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(4,4,3,.55) 0%, rgba(8,7,6,.62) 50%, rgba(6,5,4,.78) 100%),
        radial-gradient(ellipse 60% 80% at 50% 50%, rgba(0,0,0,.1), rgba(0,0,0,.45) 70%);
    pointer-events: none;
}

.lux-page-hero::before {
    display: none;
}

.lux-page-hero .lux-container,
.lux-page-hero .max-w-7xl {
    position: relative;
    z-index: 2;
    width: 100%;
}

.lux-page-hero-kicker {
    color: var(--lux-gold);
    font-size: 12px;
    letter-spacing: .22em;
    text-transform: uppercase;
    margin-bottom: 10px;
    text-shadow: 0 1px 10px rgba(0,0,0,.35);
}

.lux-page-hero h1 {
    margin: 0 0 12px;
    color: #f0d19a;
    font-family: Georgia, "STSong", serif;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 500;
    letter-spacing: .04em;
    text-shadow: 0 2px 18px rgba(0,0,0,.45);
}

.lux-page-hero p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    max-width: 640px;
    text-shadow: 0 1px 12px rgba(0,0,0,.4);
}

.lux-page-hero.center {
    text-align: center;
}

.lux-page-hero.center p {
    margin-left: auto;
    margin-right: auto;
}

/* Page content shell */
.lux-page-body {
    padding: 40px 0 56px;
    background: transparent;
}

.lux-page-grid {
    display: flex;
    gap: 28px;
    align-items: flex-start;
}

.lux-page-main {
    flex: 1;
    min-width: 0;
}

/* Sidebar filters */
.lux-sidebar {
    width: 260px;
    flex-shrink: 0;
    position: sticky;
    top: 96px;
}

.lux-sidebar-panel {
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
    border: 1px solid var(--lux-line);
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 18px 36px rgba(0,0,0,.22);
}

.lux-sidebar-title {
    font-family: Georgia, "STSong", serif;
    font-size: 15px;
    font-weight: 700;
    color: #f0d19a;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--lux-line);
}

.lux-sidebar-block + .lux-sidebar-block {
    margin-top: 24px;
}

.lux-filter-link {
    display: block;
    padding: 8px 12px;
    margin-bottom: 4px;
    border-radius: 6px;
    font-size: 13px;
    color: var(--lux-muted);
    text-decoration: none;
    transition: all .2s ease;
}

.lux-filter-link:hover {
    color: var(--lux-gold-2);
    background: rgba(216,173,106,.08);
}

.lux-filter-link.active {
    background: linear-gradient(135deg, #f0d19a, #b9823f);
    color: #1b1008 !important;
    font-weight: 700;
}

.lux-filter-scroll {
    max-height: 260px;
    overflow-y: auto;
}

/* Toolbar / sort bar */
.lux-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    margin-bottom: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022));
    border: 1px solid var(--lux-line);
    border-radius: 10px;
}

.lux-toolbar-count {
    font-size: 13px;
    color: var(--lux-muted);
}

.lux-toolbar-count strong {
    color: var(--lux-gold);
    font-weight: 700;
}

.lux-sort-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 13px;
}

.lux-sort-links a {
    color: var(--lux-muted);
    text-decoration: none;
}

.lux-sort-links a:hover,
.lux-sort-links a.active {
    color: var(--lux-gold);
    font-weight: 700;
}

/* Empty state */
.lux-empty {
    text-align: center;
    padding: 64px 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    border: 1px solid var(--lux-line);
    border-radius: 12px;
}

.lux-empty i {
    font-size: 64px;
    color: rgba(216,173,106,.25);
    margin-bottom: 16px;
    display: block;
}

/* Auth / form cards */
.lux-auth-wrap {
    max-width: 440px;
    margin: 0 auto;
    padding: 64px 16px;
}

.lux-auth-card {
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
    border: 1px solid var(--lux-line);
    border-radius: 16px;
    padding: 40px 36px;
    box-shadow: 0 24px 48px rgba(0,0,0,.32);
}

.lux-auth-logo {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0d19a, #b9823f);
    color: #1b1008;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(216,173,106,.25);
}

.lux-auth-card h1 {
    text-align: center;
    color: #f0d19a;
    font-family: Georgia, serif;
    font-size: 28px;
    margin: 0 0 8px;
}

.lux-auth-card .subtitle {
    text-align: center;
    color: var(--lux-muted);
    font-size: 14px;
    margin-bottom: 28px;
}

/* Footer */
.lux-footer {
    background: var(--lux-bg-2) !important;
    border-top: 1px solid var(--lux-line);
    margin-top: 0 !important;
    padding: 56px 0 28px;
}

body.elfer-luxury .lux-footer {
    background: #060605 !important;
}

.lux-footer h3 {
    color: var(--lux-gold-2) !important;
    font-family: Georgia, serif;
    font-size: 16px;
    margin-bottom: 18px;
}

body.elfer-luxury .lux-footer h3 {
    color: #f0d19a !important;
}

.lux-footer a {
    color: var(--lux-muted) !important;
    text-decoration: none;
    transition: color .2s;
}

.lux-footer a:hover {
    color: var(--lux-gold) !important;
}

.lux-footer li {
    color: var(--lux-muted);
    font-size: 13px;
}

.lux-footer-bottom {
    border-top: 1px solid var(--lux-line);
    padding-top: 24px;
    margin-top: 32px;
    color: rgba(169,154,134,.6);
    font-size: 12px;
}

.lux-footer-social a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(216,173,106,.08);
    border: 1px solid var(--lux-line);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lux-gold) !important;
}

.lux-footer-social a:hover {
    background: rgba(216,173,106,.18);
    border-color: var(--lux-line-strong);
}

/* Flash messages dark */
.lux-flash {
    max-width: min(100% - 32px, 1280px);
    margin: 16px auto 0;
    padding: 14px 18px;
    border-radius: 8px;
    font-size: 14px;
}

.lux-flash.success {
    background: rgba(34,197,94,.12);
    border-left: 4px solid #22c55e;
    color: #86efac;
}

.lux-flash.error {
    background: rgba(239,68,68,.12);
    border-left: 4px solid #ef4444;
    color: #fca5a5;
}

/* HOT / NEW tags — gold luxury */
.tag-hot {
    background: linear-gradient(135deg, #f0d19a, #c99655) !important;
    color: #1b1008 !important;
    font-weight: 700;
    letter-spacing: .06em;
    border-radius: 3px;
    padding: 3px 10px;
    font-size: 10px;
}

.tag-new {
    background: linear-gradient(135deg, #4ade80, #16a34a) !important;
    color: #052e16 !important;
    font-weight: 700;
}

.tag-sale {
    background: linear-gradient(135deg, #f87171, #dc2626) !important;
    color: #fff !important;
}

/* User center sidebar */
.lux-user-sidebar a {
    display: block;
    padding: 12px 20px;
    color: var(--lux-muted);
    border-bottom: 1px solid rgba(216,173,106,.08);
    text-decoration: none;
    font-size: 14px;
    transition: all .2s;
}

.lux-user-sidebar a:hover {
    background: rgba(216,173,106,.06);
    color: var(--lux-gold);
}

.lux-user-sidebar a.active {
    background: rgba(216,173,106,.10);
    color: var(--lux-gold);
    border-left: 3px solid var(--lux-gold);
}

.lux-user-avatar {
    width: 80px;
    height: 80px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0d19a, #b9823f);
    color: #1b1008;
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 700;
}

/* Dark overrides for legacy Tailwind classes */
.elfer-luxury .hover\:bg-elfer-cream:hover {
    background-color: rgba(216,173,106,.08) !important;
}

.elfer-luxury .bg-elfer-cream,
.elfer-luxury .bg-elfer-cream\/50 {
    background-color: rgba(216,173,106,.08) !important;
}

.elfer-luxury .text-white {
    color: var(--lux-text) !important;
}

.elfer-luxury .border-purple-500,
.elfer-luxury .text-purple-600 {
    border-color: var(--lux-gold) !important;
    color: var(--lux-gold) !important;
}

.elfer-luxury .pd-title {
    color: #f0d19a !important;
}

.elfer-luxury .pd-score-num {
    color: var(--lux-gold) !important;
}

.elfer-luxury .pd-bar {
    background: rgba(216,173,106,.12) !important;
}

.elfer-luxury .pd-action {
    background: rgba(255,255,255,.04) !important;
    border-color: var(--lux-line) !important;
    color: var(--lux-muted) !important;
}

.elfer-luxury .pd-action.active,
.elfer-luxury .pd-action:hover {
    border-color: var(--lux-gold) !important;
    color: var(--lux-gold) !important;
}

.elfer-luxury .pd-sku {
    background: rgba(255,255,255,.04) !important;
    border-color: var(--lux-line) !important;
    color: var(--lux-text) !important;
}

.elfer-luxury .pd-sku.active {
    border-color: var(--lux-gold) !important;
    background: rgba(216,173,106,.12) !important;
}

.elfer-luxury .qty-control {
    border-color: var(--lux-line) !important;
}

.elfer-luxury .qty-control button {
    background: rgba(216,173,106,.08) !important;
    color: var(--lux-gold) !important;
}

.elfer-luxury .qty-control input {
    background: #100f0d !important;
    color: var(--lux-text) !important;
}

@media (max-width: 1024px) {
    .lux-sidebar {
        display: none;
    }
    .lux-page-grid {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .lux-page-hero {
        padding: 40px 0 32px;
    }
    .lux-page-body {
        padding: 24px 0 40px;
    }
    .lux-auth-card {
        padding: 28px 22px;
    }
}

/* ============ 品牌 Logo 圆形容器（完整显示、不裁切） ============ */
.brand-logo-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--lux-line);
    box-shadow: 0 2px 8px rgba(42, 36, 28, .06);
}

body.elfer-luxury .brand-logo-circle {
    background: #ffffff;
    border: 1px solid rgba(216,173,106,.38);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .18), inset 0 0 0 1px rgba(255, 255, 255, .9);
}

.brand-logo-circle img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
    padding: 6px;
    box-sizing: border-box;
}

/* 品牌列表：圆角方形容器（各类 Logo 比例统一呈现） */
.brand-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--lux-line, #ebe4d8);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);
}

.brand-logo-box img {
    display: block;
    width: auto;
    height: auto;
    max-width: 82%;
    max-height: 82%;
    object-fit: contain;
    object-position: center center;
}

.brand-logo-box--card {
    width: 88px;
    height: 88px;
    border-radius: 14px;
    margin: 0 auto 14px;
}

body.elfer-luxury .brand-logo-box {
    background: linear-gradient(145deg, #1a1816, #12100e);
    border-color: rgba(216, 173, 106, .28);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

body.elfer-luxury .brand-logo-box img {
    max-width: 88%;
    max-height: 88%;
}

/* 品牌大全卡片网格 */
.lux-brand-section {
    margin-bottom: 2.5rem;
}

.lux-brand-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 1.25rem;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--lux-line);
}

.lux-brand-section-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, #f0d19a, #c19a6b);
    color: #1b1008;
    font-family: Georgia, "STSong", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
}

.lux-brand-section-meta {
    font-size: .95rem;
    color: var(--lux-muted);
    font-weight: 500;
}

.lux-brand-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (min-width: 768px) {
    .lux-brand-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (min-width: 1024px) {
    .lux-brand-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.lux-brand-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 16px 16px;
    min-height: 200px;
    text-decoration: none;
}

.lux-brand-card__body {
    width: 100%;
    min-width: 0;
}

.lux-brand-card__name {
    margin: 0 0 4px;
    font-family: Georgia, "STSong", serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--lux-heading, #2a241c);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-brand-card__en {
    margin: 0 0 12px;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lux-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lux-brand-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--lux-line);
    font-size: 12px;
    color: var(--lux-muted);
}

.lux-brand-card__meta i {
    margin-right: 2px;
    opacity: .75;
}

.lux-brand-card:hover .brand-logo-box {
    border-color: rgba(193, 154, 107, .55);
    box-shadow: 0 4px 16px rgba(193, 154, 107, .15);
}

body.elfer-luxury .lux-brand-card__name {
    color: var(--lux-heading);
}

body.elfer-luxury .letter-index a:not(.active):not(.is-disabled) {
    border-color: var(--lux-line);
    color: rgba(243, 234, 219, .9);
    background: rgba(255, 255, 255, .05);
}

body.elfer-luxury .letter-index a:not(.active):not(.is-disabled):hover {
    color: var(--lux-gold);
    background: rgba(216, 173, 106, .12);
    border-color: rgba(216, 173, 106, .45);
}

body.elfer-luxury .letter-index a.active {
    background: linear-gradient(135deg, #f0d19a, #c19a6b) !important;
    border-color: #c19a6b !important;
    color: #1b1008 !important;
    box-shadow: 0 2px 10px rgba(193, 154, 107, .4);
}

body.elfer-luxury .letter-index a.is-disabled {
    color: rgba(243, 234, 219, .22);
    background: transparent;
}

body.elfer-day .lux-brand-card {
    background: #fff;
}

.brand-logo-circle--sm {
    width: 72px;
    height: 72px;
}

.brand-logo-circle--md {
    width: 88px;
    height: 88px;
}

.brand-logo-circle--lg {
    width: 140px;
    height: 140px;
}

.home-brand-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (min-width: 768px) {
    .home-brand-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (min-width: 1180px) {
    .home-brand-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.home-brand-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 188px;
    padding: 16px 14px 14px;
    border: 1px solid var(--lux-line);
    border-radius: 14px;
    background: var(--lux-panel-card);
    text-align: center;
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.home-brand-card:hover {
    transform: translateY(-3px);
    border-color: rgba(216, 173, 106, .55);
    box-shadow: 0 16px 32px rgba(0, 0, 0, .18);
}

.home-brand-logo {
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(216, 173, 106, .25);
}

.home-brand-logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.home-brand-info {
    width: 100%;
    min-width: 0;
    margin-top: 12px;
}

.home-brand-info h3,
.home-brand-info p,
.home-brand-info span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-brand-info h3 {
    margin: 0 0 4px;
    color: var(--lux-heading);
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
}

.home-brand-info p {
    margin: 0 0 8px;
    color: var(--lux-muted);
    font-size: 11px;
    line-height: 1.35;
}

.home-brand-info span {
    color: rgba(216, 173, 106, .78);
    font-size: 11px;
    line-height: 1.35;
}

.home-note-category {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 128px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(216, 173, 106, .24);
    background:
        linear-gradient(135deg, rgba(216, 173, 106, .18), rgba(255, 255, 255, .03)),
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .08), transparent 34%),
        #11100e;
    text-decoration: none;
}

.home-note-category::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .36));
    z-index: 1;
}

.home-note-category__mark {
    position: absolute;
    inset-inline-start: 14px;
    inset-block-start: 12px;
    color: rgba(216, 173, 106, .45);
    font-size: 28px;
}

.home-note-category span {
    position: relative;
    z-index: 2;
    max-width: 90%;
    line-height: 1.5;
}

.home-about-visual img {
    background: #11100e;
}

.home-duplicate-brands-title {
    display: none;
}

.home-duplicate-brands-section {
    display: none;
}

.home-agent-pattern {
    background:
        radial-gradient(circle at 18% 22%, rgba(232, 189, 114, .2), transparent 24%),
        radial-gradient(circle at 78% 76%, rgba(255, 255, 255, .12), transparent 22%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 18px);
}

.pd-nosetime .pd-note-row {
    align-items: stretch;
    gap: 12px;
}

.pd-nosetime .pd-note-tile {
    width: 96px;
    flex: 0 0 96px;
}

.pd-nosetime .pd-note-tile-media,
.pd-visual-note-media {
    background: #f6f0e5;
    border: 1px solid rgba(216, 173, 106, .26);
    overflow: hidden;
}

.pd-nosetime .pd-note-tile-media img,
.pd-visual-note-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.pd-nosetime .pd-note-tile-label,
.pd-visual-note-name {
    min-height: 28px;
    line-height: 1.45;
}

#back-to-top {
    width: 44px !important;
    height: 44px !important;
    right: max(18px, env(safe-area-inset-right)) !important;
    bottom: max(22px, env(safe-area-inset-bottom)) !important;
    background: linear-gradient(135deg, #e8bd72, #c8944e) !important;
    color: #17120c !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
}

.elfer-luxury .brand-card:hover .brand-logo-circle {
    border-color: rgba(216,173,106,.55);
    box-shadow: 0 0 0 1px rgba(216,173,106,.25), 0 4px 16px rgba(0, 0, 0, .22);
}

/* ============ 日间主题（elfer-day，可由导航切换） ============ */
body.elfer-day .lux-filter-panel {
    background: var(--lux-panel);
    border: 1px solid var(--lux-line);
    box-shadow: 0 6px 22px rgba(42, 36, 28, .06);
}

body.elfer-day .brand-card {
    background: #fff;
    border: 1px solid var(--lux-line);
    box-shadow: 0 4px 16px rgba(42, 36, 28, .05);
}

body.elfer-day .lux-brand-card:hover {
    border-color: var(--lux-line-strong);
    box-shadow: 0 10px 24px rgba(42, 36, 28, .1);
}

body.elfer-day .lux-footer {
    background: var(--lux-bg-2);
    border-top: 1px solid var(--lux-line);
    color: var(--lux-muted);
}

body.elfer-day .lux-footer h3 {
    color: var(--lux-gold-2);
}

body.elfer-day .lux-footer a {
    color: var(--lux-muted);
}

body.elfer-day .lux-footer a:hover {
    color: var(--lux-gold);
}

body.elfer-day .lux-category-btn {
    color: var(--lux-text);
    background: var(--lux-panel);
    border-color: var(--lux-line);
}

body.elfer-day .lux-actions a:hover,
body.elfer-day .lux-actions button:hover {
    color: var(--lux-gold);
}

body.elfer-day .lux-currency,
body.elfer-day .lux-lang {
    color: color-mix(in srgb, var(--lux-text) 78%, transparent);
}

body.elfer-day input,
body.elfer-day select,
body.elfer-day textarea {
    background-color: #fff !important;
    border-color: var(--lux-line) !important;
    color: var(--lux-text) !important;
}

body.elfer-day .lux-page-title,
body.elfer-day .lux-page-hero-kicker {
    color: var(--lux-gold-2);
}

body.elfer-day .lux-page-sub {
    color: var(--lux-muted);
}

/* 日间：首页与内页统一浅色 */
body.elfer-day main.min-h-screen {
    background: var(--lux-bg);
}

body.elfer-day .perfume-card {
    background: #fff !important;
    border: 1px solid var(--lux-line) !important;
    box-shadow: 0 6px 20px rgba(42, 36, 28, .06) !important;
}

body.elfer-day .perfume-card .img-wrap {
    background: var(--lux-panel-2) !important;
}

body.elfer-day .perfume-card:hover {
    border-color: var(--lux-line-strong) !important;
    box-shadow: 0 12px 28px rgba(42, 36, 28, .1) !important;
}

body.elfer-day .lux-sidebar-panel {
    background: #fff;
    box-shadow: 0 8px 24px rgba(42, 36, 28, .06);
}

body.elfer-day .lux-sidebar-title {
    color: var(--lux-gold-2);
}

body.elfer-day .lux-page-hero {
    background: var(--lux-bg-2);
}

body.elfer-day .lux-page-hero h1 {
    color: var(--lux-heading);
    text-shadow: none;
    font-weight: 600;
}

body.elfer-day .lux-page-hero p {
    color: var(--lux-muted);
    text-shadow: none;
}

body.elfer-day .lux-page-hero-kicker {
    text-shadow: none;
}

body.elfer-day .lux-page-hero--pure::after {
    background: linear-gradient(180deg, rgba(255,255,255,0) 75%, var(--lux-hero-fade) 100%);
}

body.elfer-day .lux-page-title {
    color: var(--lux-gold-2);
}

body.elfer-day .lux-page-title-bar .lux-page-sub {
    color: var(--lux-muted);
}

body.elfer-day .lux-service-item:not(:first-child) {
    border-inline-start-color: var(--lux-line);
}

/* 夜间：完整深色（避免混入浅色） */
body.elfer-luxury main.min-h-screen {
    background: var(--lux-bg);
}

body.elfer-luxury .lux-page-hero {
    background: #090908;
}

body.elfer-luxury .lux-page-hero--pure::after {
    background: linear-gradient(180deg, rgba(0,0,0,0) 82%, #0b0b0a 100%);
}

/* 主题切换按钮 */
.lux-theme-toggle {
    padding: 0;
}

body.elfer-luxury .lux-theme-toggle .bi-sun-fill {
    display: inline;
}

body.elfer-luxury .lux-theme-toggle .bi-moon-stars-fill {
    display: none;
}

body.elfer-day .lux-theme-toggle .bi-sun-fill {
    display: none;
}

body.elfer-day .lux-theme-toggle .bi-moon-stars-fill {
    display: inline;
}

/* ============ 语言切换 ============ */
.lux-lang-switch {
    position: relative;
}

.lux-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border: 1px solid var(--lux-line, rgba(216, 173, 106, .35));
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}

.lux-lang-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 120px;
    background: #1a1816;
    border: 1px solid rgba(216, 173, 106, .35);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
    z-index: 200;
    overflow: hidden;
}

body.elfer-day .lux-lang-menu {
    background: #fff;
    border-color: var(--lux-line);
    box-shadow: 0 10px 28px rgba(42, 36, 28, .12);
}

.lux-lang-menu a {
    display: block;
    padding: 10px 14px;
    font-size: 13px;
    color: var(--lux-text, #f3eadb);
    text-decoration: none;
}

.lux-lang-menu a:hover {
    background: rgba(216, 173, 106, .12);
    color: var(--lux-gold, #d8ad6a);
}

.lux-lang-menu a.active {
    color: var(--lux-gold, #d8ad6a);
    font-weight: 600;
}

.lux-mobile-lang {
    display: flex;
    gap: 8px;
    padding: 12px 0 4px;
    border-top: 1px solid var(--lux-line);
    margin-top: 8px;
}

.lux-mobile-lang a {
    flex: 1;
    text-align: center;
    padding: 8px;
    border-radius: 8px;
    font-size: 13px;
}

.lux-mobile-lang a.active {
    background: rgba(216, 173, 106, .2);
    color: var(--lux-gold);
}

/* ============ 维吾尔语 RTL（布局细节见 ug-rtl.css） ============ */
[dir="rtl"] .lux-brand-card__meta,
[dir="rtl"] .letter-index {
    direction: rtl;
}

[dir="rtl"] .lux-filter-panel form .relative .bi-search {
    left: auto;
    right: 1rem;
}

[dir="rtl"] .lux-filter-panel input.pl-12 {
    padding-left: 1rem;
    padding-right: 3rem;
}

[dir="rtl"] .font-serif {
    font-family: var(--elfer-font-ug, "ALKATIP Basma Tom"), Georgia, serif;
}

/* ============ Unified multilingual typography and layout polish ============ */
:root {
    --elfer-font-latin: "Inter", "Segoe UI", Arial, system-ui, sans-serif;
    --elfer-font-zh: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;
    --elfer-font-ug: "ALKATIP Basma Tom", "UKIJ Tuz Tom", "Segoe UI", Arial, system-ui, sans-serif;
    --elfer-serif-latin: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --elfer-serif-zh: "Noto Serif SC", "STSong", "SimSun", Georgia, serif;
}

html {
    text-rendering: geometricPrecision;
    -webkit-text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
    font-family: var(--elfer-font-latin);
    font-size-adjust: 0.52;
}

body.lang-zh,
body.lang-zh button,
body.lang-zh input,
body.lang-zh select,
body.lang-zh textarea {
    font-family: var(--elfer-font-zh);
    letter-spacing: .01em;
}

body.lang-ug,
body.lang-ug button,
body.lang-ug input,
body.lang-ug select,
body.lang-ug textarea {
    font-family: var(--elfer-font-ug);
    letter-spacing: 0;
    line-height: 1.72;
}

body.lang-en {
    letter-spacing: .005em;
}

h1, h2, h3, h4, h5, h6, .font-serif,
.pd-title,
.pd-section-title,
.lux-page-title,
.lux-cat-card span {
    font-weight: 500;
    letter-spacing: .015em;
}

body.lang-en h1,
body.lang-en h2,
body.lang-en h3,
body.lang-en h4,
body.lang-en h5,
body.lang-en h6,
body.lang-en .font-serif {
    font-family: var(--elfer-serif-latin);
}

body.lang-zh h1,
body.lang-zh h2,
body.lang-zh h3,
body.lang-zh h4,
body.lang-zh h5,
body.lang-zh h6,
body.lang-zh .font-serif {
    font-family: var(--elfer-serif-zh);
}

body.lang-ug h1,
body.lang-ug h2,
body.lang-ug h3,
body.lang-ug h4,
body.lang-ug h5,
body.lang-ug h6,
body.lang-ug .font-serif {
    font-family: var(--elfer-font-ug);
    font-weight: 500;
    letter-spacing: 0;
}

/* Header: keep all languages compact and aligned */
.lux-header-row {
    grid-template-columns: minmax(140px, 1fr) auto minmax(140px, 1fr);
    column-gap: clamp(16px, 2vw, 28px);
}

.lux-nav {
    gap: clamp(12px, 1.55vw, 30px);
}

.lux-nav a,
.lux-category-btn,
.lux-lang-btn,
.lux-currency {
    font-size: clamp(11px, .74vw, 13px);
    line-height: 1.35;
    font-weight: 400;
}

.lux-actions {
    gap: clamp(9px, .95vw, 14px);
}

.lux-actions a,
.lux-actions button {
    font-size: 17px;
}

.lux-lang-btn {
    min-width: 92px;
    justify-content: center;
}

body.lang-ug .lux-nav {
    justify-content: center !important;
    gap: clamp(12px, 1.25vw, 22px) !important;
}

body.lang-ug .lux-nav a,
body.lang-ug .lux-category-btn,
body.lang-ug .lux-lang-btn {
    font-size: clamp(11px, .72vw, 11.8px) !important;
    line-height: 1.38 !important;
    font-weight: 400 !important;
    padding: 26px 0 24px !important;
}

/* Perfume detail: stable dimensions in day/night and every language */
.pd-page {
    width: min(100% - 32px, 1180px);
}

.pd-top {
    grid-template-columns: minmax(190px, 230px) minmax(300px, 1fr) minmax(210px, 240px) 74px;
    gap: clamp(16px, 2vw, 26px);
}

.pd-title {
    font-size: clamp(20px, 1.55vw, 25px);
}

.pd-meta,
.pd-intro-text,
.pd-review-text,
.pd-side-card,
.pd-note-content,
.pd-note-mini-content {
    overflow-wrap: anywhere;
    word-break: normal;
}

.pd-meta-row {
    grid-template-columns: minmax(68px, max-content) minmax(0, 1fr);
}

[dir="rtl"] .pd-meta-row {
    grid-template-columns: minmax(0, 1fr) minmax(74px, max-content);
}

[dir="rtl"] .pd-meta-row .label {
    text-align: left;
    order: 2;
}

[dir="rtl"] .pd-meta-row span:not(.label) {
    order: 1;
}

.pd-layout {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 270px);
    gap: clamp(16px, 2vw, 24px);
}

.pd-note-grid {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.pd-note-family {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
    letter-spacing: .015em;
}

body.lang-ug .pd-note-family,
body.lang-ug .pd-note-phase-kicker {
    letter-spacing: 0;
}

.pd-note-name,
.pd-note-mini-name {
    font-size: clamp(13px, .95vw, 15px);
}

.pd-note-media img,
.pd-note-mini-media img,
.perfume-card .img-wrap img,
.brand-logo-circle img,
.pd-main-image img {
    image-rendering: auto;
}

body.elfer-luxury .pd-card,
body.elfer-luxury .pd-section,
body.elfer-luxury .pd-side-card,
body.elfer-day .pd-card,
body.elfer-day .pd-section,
body.elfer-day .pd-side-card {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

@media (max-width: 1180px) {
    .pd-top {
        grid-template-columns: 210px minmax(280px, 1fr) 220px;
    }
    .pd-actions {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: center;
    }
}

@media (max-width: 900px) {
    .pd-top,
    body.lang-ug .pd-top {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .pd-meta-row,
    [dir="rtl"] .pd-meta-row {
        grid-template-columns: 1fr;
        gap: 2px;
    }
    .pd-meta-row .label,
    [dir="rtl"] .pd-meta-row .label {
        text-align: inherit;
        order: initial;
    }
    [dir="rtl"] .pd-meta-row span:not(.label) {
        order: initial;
    }
    .pd-note-phases {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pd-page {
        width: min(100% - 20px, 1180px);
        padding-left: 0;
        padding-right: 0;
    }
    .pd-note-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}


/* Uyghur typography — RTL layout handled in ug-rtl.css */
body.lang-ug {
    font-size: 15.5px;
}

body.lang-ug .lux-topbar {
    font-size: 12.5px;
    line-height: 1.55;
}

body.lang-ug .lux-nav a,
body.lang-ug .lux-category-btn,
body.lang-ug .lux-lang-btn,
body.lang-ug .lux-currency {
    font-size: clamp(13px, .86vw, 14.5px) !important;
    line-height: 1.55 !important;
    font-weight: 500;
}

body.lang-ug .lux-actions a,
body.lang-ug .lux-actions button {
    font-size: 18px !important;
}

body.lang-ug .lux-logo-main {
    font-size: 33px;
}

body.lang-ug .lux-logo-sub {
    font-size: 11px;
}

body.lang-ug .lux-feature-title,
body.lang-ug .lux-feature-sub,
body.lang-ug .lux-cat-card,
body.lang-ug .perfume-card,
body.lang-ug .pd-meta,
body.lang-ug .pd-note-name,
body.lang-ug .pd-note-mini-name,
body.lang-ug .pd-side-card {
    font-size: 1.04em;
    line-height: 1.7;
}

body.lang-ug .lux-section-title,
body.lang-ug .pd-title,
body.lang-ug .pd-section-title {
    letter-spacing: 0;
    line-height: 1.55;
}

/* Final Uyghur typography normalization: refined, consistent, not oversized */
body.lang-ug {
    font-size: 15px !important;
    line-height: 1.66 !important;
    font-weight: 400;
}

body.lang-ug .lux-topbar {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body.lang-ug .lux-nav a,
body.lang-ug .lux-category-btn,
body.lang-ug .lux-lang-btn,
body.lang-ug .lux-currency {
    font-size: 12.8px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
}

body.lang-ug .lux-feature-title,
body.lang-ug .lux-feature-sub,
body.lang-ug .lux-cat-card,
body.lang-ug .perfume-card,
body.lang-ug .pd-meta,
body.lang-ug .pd-note-name,
body.lang-ug .pd-note-mini-name,
body.lang-ug .pd-side-card {
    font-size: 1em !important;
    line-height: 1.62 !important;
}

body.lang-ug h1,
body.lang-ug h2,
body.lang-ug h3,
body.lang-ug .font-serif,
body.lang-ug .lux-section-title,
body.lang-ug .pd-title,
body.lang-ug .pd-section-title {
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.48 !important;
}

body.lang-ug .lux-section-title { font-size: clamp(22px, 2vw, 30px) !important; }
body.lang-ug .pd-title { font-size: clamp(20px, 1.6vw, 24px) !important; }
body.lang-ug .pd-section-title { font-size: clamp(18px, 1.3vw, 22px) !important; }

/* Multilingual hero banner caption */
.lux-hero-caption {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(6,5,4,.72) 0%, rgba(6,5,4,.28) 42%, rgba(6,5,4,0) 68%);
}

.lux-hero-caption-inner {
    width: min(100% - 48px, 520px);
    max-width: min(520px, 48vw);
    margin-inline-start: clamp(24px, 5vw, 80px);
    margin-inline-end: auto;
    color: #fff3dc;
    text-shadow: 0 2px 16px rgba(0,0,0,.45);
    pointer-events: auto;
    padding: clamp(18px, 2.4vw, 32px);
    background: rgba(8, 6, 4, 0.58);
    border: 1px solid rgba(216, 173, 106, 0.28);
    border-radius: 14px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.lux-hero-caption .lux-hero-kicker {
    display: inline-block;
    margin-bottom: 14px;
    font-size: clamp(13px, 1vw, 16px);
    color: #f0d19a;
    letter-spacing: .08em;
}

.lux-hero-caption h1 {
    max-width: 560px;
    margin: 0 0 16px;
    font-size: clamp(34px, 4vw, 62px);
    line-height: 1.12;
    font-weight: 500;
    color: #fff0d2;
}

.lux-hero-caption p {
    max-width: 500px;
    margin: 0 0 26px;
    font-size: clamp(15px, 1.25vw, 20px);
    line-height: 1.75;
    color: rgba(255,245,226,.86);
}

.lux-hero-caption-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border: 1px solid rgba(240,209,154,.55);
    border-radius: 999px;
    background: rgba(20,16,10,.36);
    color: #f0d19a;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
    backdrop-filter: blur(8px);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.lux-hero-caption-btn:hover {
    transform: translateY(-2px);
    background: rgba(240,209,154,.16);
    border-color: #f0d19a;
    color: #fff4de;
}

body.lang-ug .lux-hero-caption {
    direction: ltr;
}

.lux-hero-caption-inner {
    margin-inline-start: clamp(24px, 5vw, 80px);
    margin-inline-end: auto;
}

body.lang-ug .lux-hero-caption h1 {
    font-size: clamp(26px, 2.6vw, 40px) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    max-width: 100%;
}

body.lang-ug .lux-hero-caption p {
    font-size: clamp(13px, 1vw, 16px) !important;
    line-height: 1.9 !important;
    max-width: 100%;
}

body.lang-ug .lux-hero-caption-btn {
    line-height: 1.5 !important;
    padding: 11px 20px !important;
    gap: 8px;
}

body.lang-ug .lux-hero-caption .lux-hero-kicker,
body.lang-ug .lux-hero-caption-btn {
    font-size: 14px !important;
    letter-spacing: 0 !important;
}

body.lang-ug .lux-hero-caption-btn .bi {
    transform: rotate(180deg);
}

@media (max-width: 768px) {
    .lux-hero-caption-inner { width: min(100% - 32px, 680px); }
    .lux-hero-caption h1 { max-width: 440px; }
    .lux-hero-caption p { max-width: 420px; }
    .lux-hero-caption { background: linear-gradient(90deg, rgba(0,0,0,.66), rgba(0,0,0,.22)); }
}

/* =========================================================
   Local premium font system
   English UI: Inter
   English display/banner: Cormorant Garamond
   Chinese UI: Noto Sans SC
   Chinese display/banner: Noto Serif SC
   Uyghur: ALKATIP Basma Tom
   ========================================================= */
@font-face {
    font-family: "ELFER Inter";
    src: url("/assets/fonts/Inter-400.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Inter";
    src: url("/assets/fonts/Inter-500.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Inter";
    src: url("/assets/fonts/Inter-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Cormorant";
    src: url("/assets/fonts/CormorantGaramond-400.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Cormorant";
    src: url("/assets/fonts/CormorantGaramond-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Noto Sans SC";
    src: url("/assets/fonts/NotoSansSC-400.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Noto Sans SC";
    src: url("/assets/fonts/NotoSansSC-500.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Noto Serif SC";
    src: url("/assets/fonts/NotoSerifSC-400.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "ELFER Noto Serif SC";
    src: url("/assets/fonts/NotoSerifSC-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
    --elfer-font-latin: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    --elfer-font-zh: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;
    --elfer-font-ug: "ALKATIP Basma Tom", "UKIJ Tuz Tom", "Segoe UI", Arial, system-ui, sans-serif;
    --elfer-display-latin: Georgia, "Times New Roman", "Songti SC", serif;
    --elfer-display-zh: "Noto Serif SC", "STSong", "SimSun", Georgia, serif;
    --elfer-display-ug: "ALKATIP Basma Tom", "UKIJ Tuz Tom", serif;
}

/* UI text */
body.lang-en,
body.lang-en button,
body.lang-en input,
body.lang-en select,
body.lang-en textarea {
    font-family: var(--elfer-font-latin) !important;
}

body.lang-zh,
body.lang-zh button,
body.lang-zh input,
body.lang-zh select,
body.lang-zh textarea {
    font-family: var(--elfer-font-zh) !important;
    font-weight: 400;
}

body.lang-ug,
body.lang-ug button,
body.lang-ug input,
body.lang-ug select,
body.lang-ug textarea {
    font-family: var(--elfer-font-ug) !important;
    font-weight: 400;
}

/* Display / banner / premium headings */
body.lang-en h1,
body.lang-en h2,
body.lang-en h3,
body.lang-en .font-serif,
body.lang-en .lux-hero-caption h1,
body.lang-en .lux-section-title,
body.lang-en .lux-page-title,
body.lang-en .pd-title,
body.lang-en .pd-section-title {
    font-family: var(--elfer-display-latin) !important;
    font-weight: 600;
    letter-spacing: .018em;
}

body.lang-zh h1,
body.lang-zh h2,
body.lang-zh h3,
body.lang-zh .font-serif,
body.lang-zh .lux-hero-caption h1,
body.lang-zh .lux-section-title,
body.lang-zh .lux-page-title,
body.lang-zh .pd-title,
body.lang-zh .pd-section-title {
    font-family: var(--elfer-display-zh) !important;
    font-weight: 600;
    letter-spacing: .035em;
}

body.lang-ug h1,
body.lang-ug h2,
body.lang-ug h3,
body.lang-ug .font-serif,
body.lang-ug .lux-hero-caption h1,
body.lang-ug .lux-section-title,
body.lang-ug .lux-page-title,
body.lang-ug .pd-title,
body.lang-ug .pd-section-title {
    font-family: var(--elfer-display-ug) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* Fine luxury typography tuning */
body.lang-en .lux-hero-caption h1 {
    font-size: clamp(42px, 4.8vw, 74px) !important;
    line-height: 1.02 !important;
}
body.lang-zh .lux-hero-caption h1 {
    font-size: clamp(38px, 4.2vw, 66px) !important;
    line-height: 1.18 !important;
}
body.lang-ug .lux-hero-caption h1 {
    font-size: clamp(30px, 3.1vw, 48px) !important;
    line-height: 1.42 !important;
}

body.lang-en .lux-hero-caption p,
body.lang-en .lux-nav a,
body.lang-en .lux-category-btn,
body.lang-en .lux-lang-btn {
    font-family: var(--elfer-font-latin) !important;
}
body.lang-zh .lux-hero-caption p,
body.lang-zh .lux-nav a,
body.lang-zh .lux-category-btn,
body.lang-zh .lux-lang-btn {
    font-family: var(--elfer-font-zh) !important;
}
body.lang-ug .lux-hero-caption p,
body.lang-ug .lux-nav a,
body.lang-ug .lux-category-btn,
body.lang-ug .lux-lang-btn {
    font-family: var(--elfer-font-ug) !important;
}

/* =========================================================
   FINAL visual quality pass: spacing, sizes, cards, banner
   ========================================================= */
.lux-header-row { max-width: 1440px; }
.lux-logo-main { font-size: 31px !important; letter-spacing: 4.2px; }
.lux-logo-sub { font-size: 10px !important; letter-spacing: 4.8px; }
.lux-nav a { font-size: 12px !important; font-weight: 500; opacity: .96; }
.lux-category-btn { height: 38px !important; min-width: 124px !important; }
.lux-lang-btn { min-width: 86px !important; padding: 5px 9px !important; font-weight: 500; }
.lux-currency { font-size: 12px !important; opacity: .9; }
.lux-actions { gap: 12px !important; }
.lux-actions a, .lux-actions button { font-size: 16px !important; }

.lux-hero--pure, .lux-hero-slide { min-height: 430px !important; }
.lux-hero-caption h1 { max-width: 520px; }
body.lang-en .lux-hero-caption h1 { font-size: clamp(38px, 4.15vw, 64px) !important; line-height: .98 !important; }
body.lang-zh .lux-hero-caption h1 { font-size: clamp(34px, 3.8vw, 58px) !important; line-height: 1.16 !important; }
body.lang-ug .lux-hero-caption h1 { font-size: clamp(29px, 3vw, 46px) !important; line-height: 1.42 !important; }
.lux-hero-caption p { max-width: 470px; font-size: clamp(14px, 1vw, 17px) !important; line-height: 1.68 !important; }
.lux-hero-caption-btn { padding: 10px 19px !important; font-size: 13px !important; }
.lux-hero-dots { bottom: 28px !important; }

.lux-service-grid { min-height: 74px; }
.lux-feature-title { font-size: 13px !important; font-weight: 600; }
.lux-feature-sub { font-size: 11px !important; opacity: .78; }
.lux-section-title { font-size: clamp(25px, 2.2vw, 34px) !important; line-height: 1.25 !important; }
.lux-section-sub, .lux-section-head p { font-size: 13px !important; line-height: 1.65; }

.perfume-card h3, .perfume-card .font-serif { line-height: 1.35 !important; }
.perfume-card p, .perfume-card span { line-height: 1.45; }
.perfume-card .img-wrap { background-color: #15120e; }

.pd-page { padding-top: 20px !important; }
.pd-top { align-items: center !important; }
.pd-main-image { width: 205px !important; height: 260px !important; }
.pd-title { margin-bottom: 14px !important; }
.pd-title small { opacity: .58; font-size: .62em !important; }
.pd-meta { font-size: 12.5px !important; line-height: 1.55; }
.pd-meta-row { margin: 6px 0 !important; }
.pd-score-num { font-size: 39px !important; }
.pd-side-card { padding: 15px !important; }
.pd-side-title { font-size: 15px !important; margin-bottom: 12px !important; }
.pd-side-link { gap: 10px !important; padding: 7px 0 !important; }
.pd-side-link .img-wrap { width: 48px !important; height: 58px !important; flex: 0 0 48px; }
.pd-side-brand { font-size: 10.5px !important; }
.pd-side-name { font-size: 12px !important; line-height: 1.35 !important; }

.pd-section { padding: 18px !important; }
.pd-section-title { font-size: 20px !important; }
.pd-section-subtitle { font-size: 12px !important; line-height: 1.65; }
.pd-note-grid:not(.pd-note-grid--grid) { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important; gap: 14px !important; }
.pd-note-item { border-radius: 14px !important; }
.pd-note-content { padding: 11px 12px 12px !important; gap: 6px !important; }
.pd-note-family { font-size: 9.5px !important; padding: 4px 8px !important; }
.pd-note-name { font-size: 13.5px !important; line-height: 1.35 !important; }
.pd-note-percent { font-size: 11px !important; }
.pd-note-phases { gap: 14px !important; }
.pd-note-phase-card { padding: 14px !important; }
.pd-note-mini { grid-template-columns: 50px minmax(0, 1fr) !important; gap: 10px !important; padding: 8px !important; }
.pd-note-mini-media { width: 50px !important; height: 50px !important; }
.pd-note-mini-name { font-size: 12.5px !important; line-height: 1.35 !important; }
.pd-note-mini-family { font-size: 10px !important; }

body.lang-ug .lux-nav a,
body.lang-ug .lux-category-btn,
body.lang-ug .lux-lang-btn { font-size: 12.6px !important; line-height: 1.45 !important; }
body.lang-ug .lux-feature-title { font-size: 12.8px !important; }
body.lang-ug .lux-feature-sub { font-size: 11px !important; }
body.lang-ug .pd-meta { font-size: 13px !important; }
body.lang-ug .pd-note-name { font-size: 13.2px !important; }
body.lang-ug .pd-note-mini-name { font-size: 12.6px !important; }
body.lang-ug .pd-side-name { font-size: 12.4px !important; }
body.lang-ug .pd-side-brand { font-size: 10.8px !important; }

/* Hide empty unknown note names in Uyghur if no safe translation exists */
body.lang-ug .pd-note-name:empty,
body.lang-ug .pd-note-mini-name:empty { display: none; }

@media (max-width: 1024px) {
    .lux-hero--pure, .lux-hero-slide { min-height: 390px !important; }
    .lux-hero-caption h1 { max-width: 440px; }
    .pd-top { grid-template-columns: 190px minmax(260px,1fr) 210px !important; }
    .pd-main-image { width: 180px !important; height: 230px !important; }
}

/* =========================================================
   FINAL UNIVERSAL TYPOGRAPHY SCALE
   Balanced, delicate, consistent sizes for zh / en / ug.
   Keep layout compact; avoid oversized headings and tiny UI.
   ========================================================= */
:root {
    --type-body: 14px;
    --type-body-ug: 14.5px;
    --type-mini: 10.5px;
    --type-xs: 11.5px;
    --type-sm: 12.5px;
    --type-md: 13.5px;
    --type-lg: 15px;
    --type-card-title: 14px;
    --type-section-title: clamp(22px, 1.85vw, 30px);
    --type-page-title: clamp(25px, 2.35vw, 38px);
    --type-hero-title-en: clamp(32px, 3.65vw, 56px);
    --type-hero-title-zh: clamp(30px, 3.35vw, 52px);
    --type-hero-title-ug: clamp(26px, 2.65vw, 40px);
}

body.lang-en,
body.lang-zh {
    font-size: var(--type-body) !important;
    line-height: 1.62 !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body.lang-ug {
    font-size: var(--type-body-ug) !important;
    line-height: 1.72 !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

/* Header / nav: readable but not heavy */
.lux-topbar {
    font-size: var(--type-mini) !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

.lux-nav a,
.lux-category-btn,
.lux-lang-btn,
.lux-currency {
    font-size: var(--type-xs) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: .01em;
}

body.lang-zh .lux-nav a,
body.lang-zh .lux-category-btn,
body.lang-zh .lux-lang-btn,
body.lang-zh .lux-currency {
    font-size: 11.8px !important;
    letter-spacing: .02em;
}

body.lang-ug .lux-nav a,
body.lang-ug .lux-category-btn,
body.lang-ug .lux-lang-btn,
body.lang-ug .lux-currency {
    font-size: 12px !important;
    line-height: 1.52 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.lux-actions a,
.lux-actions button {
    font-size: 15px !important;
}

.lux-logo-main { font-size: 28px !important; letter-spacing: 3.8px !important; }
.lux-logo-sub { font-size: 8.5px !important; letter-spacing: 4.2px !important; }

/* Hero banner: elegant and proportional across scripts */
.lux-hero--pure,
.lux-hero-slide {
    min-height: 410px !important;
}

.lux-hero-caption .lux-hero-kicker {
    font-size: var(--type-sm) !important;
    line-height: 1.4 !important;
    letter-spacing: .06em !important;
    margin-bottom: 10px !important;
}

body.lang-en .lux-hero-caption h1 {
    font-size: var(--type-hero-title-en) !important;
    line-height: 1.04 !important;
    font-weight: 600 !important;
}

body.lang-zh .lux-hero-caption h1 {
    font-size: var(--type-hero-title-zh) !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
    letter-spacing: .025em !important;
}

body.lang-ug .lux-hero-caption h1 {
    font-size: var(--type-hero-title-ug) !important;
    line-height: 1.48 !important;
    font-weight: 500 !important;
}

.lux-hero-caption p {
    font-size: var(--type-md) !important;
    line-height: 1.75 !important;
    max-width: 455px !important;
    margin-bottom: 20px !important;
}

body.lang-ug .lux-hero-caption p {
    font-size: 13.8px !important;
    line-height: 1.9 !important;
}

.lux-hero-caption-btn,
.btn-elfer,
.btn-gold,
button,
input,
select,
textarea {
    font-size: var(--type-sm) !important;
}

/* Sections, cards, lists */
.lux-section-title,
.pd-section-title {
    font-size: var(--type-section-title) !important;
    line-height: 1.28 !important;
    font-weight: 600 !important;
}

.lux-page-title,
.font-serif.text-4xl,
.font-serif.text-5xl {
    font-size: var(--type-page-title) !important;
    line-height: 1.24 !important;
}

.lux-section-sub,
.lux-section-head p,
.text-gray-500,
.text-gray-600 {
    font-size: var(--type-sm);
    line-height: 1.68;
}

.lux-feature-title { font-size: 12px !important; line-height: 1.42 !important; font-weight: 600 !important; }
.lux-feature-sub { font-size: 10.8px !important; line-height: 1.45 !important; }

.perfume-card h3,
.brand-card h3,
.article-card h2,
.lux-cat-card span {
    font-size: var(--type-card-title) !important;
    line-height: 1.42 !important;
    font-weight: 600 !important;
}

.perfume-card p,
.perfume-card span,
.brand-card p,
.article-card p,
.lux-cat-card small,
.lux-cat-card em {
    font-size: var(--type-xs) !important;
    line-height: 1.55 !important;
}

.text-xs { font-size: 10.8px !important; line-height: 1.45 !important; }
.text-sm { font-size: 12px !important; line-height: 1.55 !important; }
.text-base { font-size: 13.5px !important; line-height: 1.62 !important; }
.text-lg { font-size: 15px !important; line-height: 1.58 !important; }
.text-xl { font-size: 17px !important; line-height: 1.42 !important; }
.text-2xl { font-size: 21px !important; line-height: 1.34 !important; }
.text-3xl { font-size: 26px !important; line-height: 1.26 !important; }
.text-4xl { font-size: 31px !important; line-height: 1.22 !important; }
.text-5xl { font-size: 38px !important; line-height: 1.16 !important; }

/* Uyghur Tailwind scale: slightly taller line-height, no bulky letters */
body.lang-ug .text-xs { font-size: 11px !important; line-height: 1.65 !important; }
body.lang-ug .text-sm { font-size: 12.2px !important; line-height: 1.72 !important; }
body.lang-ug .text-base { font-size: 13.6px !important; line-height: 1.78 !important; }
body.lang-ug .text-lg { font-size: 15px !important; line-height: 1.72 !important; }
body.lang-ug .text-xl { font-size: 16.5px !important; line-height: 1.58 !important; }
body.lang-ug .text-2xl { font-size: 20px !important; line-height: 1.5 !important; }
body.lang-ug .text-3xl { font-size: 24px !important; line-height: 1.45 !important; }
body.lang-ug .text-4xl { font-size: 29px !important; line-height: 1.38 !important; }
body.lang-ug .text-5xl { font-size: 34px !important; line-height: 1.34 !important; }

body.lang-ug .lux-section-title,
body.lang-ug .pd-section-title {
    font-size: clamp(20px, 1.7vw, 27px) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

body.lang-ug .perfume-card h3,
body.lang-ug .brand-card h3,
body.lang-ug .article-card h2,
body.lang-ug .lux-cat-card span {
    font-size: 13.8px !important;
    line-height: 1.62 !important;
    font-weight: 500 !important;
}

body.lang-ug .perfume-card p,
body.lang-ug .perfume-card span,
body.lang-ug .brand-card p,
body.lang-ug .article-card p,
body.lang-ug .lux-cat-card small,
body.lang-ug .lux-cat-card em {
    font-size: 11.8px !important;
    line-height: 1.72 !important;
}

/* Perfume detail: refined information density */
.pd-title { font-size: clamp(21px, 1.55vw, 27px) !important; line-height: 1.3 !important; }
body.lang-ug .pd-title { font-size: clamp(19px, 1.42vw, 24px) !important; line-height: 1.55 !important; }
.pd-meta { font-size: 12px !important; line-height: 1.58 !important; }
body.lang-ug .pd-meta { font-size: 12.6px !important; line-height: 1.78 !important; }
.pd-intro-text,
.pd-review-text { font-size: 13.5px !important; line-height: 1.78 !important; }
body.lang-ug .pd-intro-text,
body.lang-ug .pd-review-text { font-size: 13.8px !important; line-height: 1.92 !important; }
.pd-note-name { font-size: 13px !important; line-height: 1.45 !important; }
body.lang-ug .pd-note-name { font-size: 12.8px !important; line-height: 1.72 !important; }

/* =========================================================
   ELFER ADVANCED QUALITY & DESIGN STABILITY PASS
   Targets every corner of public pages and admin sections.
   Standardizes layouts, cards, buttons, alignments and spacing.
   ========================================================= */

/* Global / Containers */
.lux-container,
.container,
.max-w-7xl,
.max-w-6xl,
.max-w-5xl,
.max-w-4xl {
    padding-left: clamp(16px, 3.2vw, 32px) !important;
    padding-right: clamp(16px, 3.2vw, 32px) !important;
}

/* Typography & Rhythm adjustments */
body:not(.elfer-admin-ug) p,
body:not(.elfer-admin-ug) li,
body:not(.elfer-admin-ug) span,
body:not(.elfer-admin-ug) td {
    letter-spacing: 0.015em;
}

/* Category Grid Cards: Stable sizes and absolute alignment */
.lux-cat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: clamp(12px, 1.8vw, 24px) !important;
    align-items: start !important;
}

.lux-cat-card {
    min-height: 0 !important;
    padding: 0 !important;
    background: rgba(12, 10, 8, 0.65) !important;
    border: 1px solid rgba(216, 173, 106, 0.15) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28) !important;
}

.lux-cat-card__media {
    aspect-ratio: 4 / 3 !important;
}

.lux-cat-card__title {
    font-size: clamp(14px, 1.2vw, 18px) !important;
    line-height: 1.32 !important;
    margin-bottom: 3px !important;
    color: #fff2d8 !important;
    text-align: center !important;
}

.lux-cat-card__desc {
    font-size: clamp(10.5px, 0.9vw, 12px) !important;
    line-height: 1.48 !important;
    color: rgba(245, 234, 216, 0.58) !important;
    text-align: center !important;
    margin-bottom: 0 !important;
}

/* Service strip details */
.lux-service-strip {
    border-top: 1px solid rgba(216, 173, 106, 0.14) !important;
    border-bottom: 1px solid rgba(216, 173, 106, 0.14) !important;
    background: rgba(14, 12, 10, 0.6) !important;
}

.lux-service-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
}

.lux-service-item {
    border-left: none !important;
    border-right: none !important;
    padding: 20px 24px !important;
    min-height: 90px !important;
}

.lux-service-item:not(:first-child) {
    border-inline-start: 1px solid rgba(216, 173, 106, 0.12) !important;
}

/* Section Headings */
.lux-section-head {
    padding-bottom: 16px !important;
    border-bottom: 1px solid rgba(216, 173, 106, 0.12) !important;
    margin-bottom: 30px !important;
}

/* Product Grid Cards Alignment */
.grid-cols-2.md\:grid-cols-4 {
    gap: clamp(14px, 2vw, 24px) !important;
}

.perfume-card .p-4 {
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
}

.perfume-card h3 {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    margin-bottom: 12px !important;
    min-height: 20px;
}

/* Perfume detail - Specific page layouts */
.pd-section {
    padding: 28px !important;
    border-radius: var(--ui-radius) !important;
    background: rgba(18, 16, 13, 0.95) !important;
    border: 1px solid rgba(216, 173, 106, 0.12) !important;
    margin-bottom: 24px !important;
    box-shadow: var(--ui-shadow-card) !important;
}

/* Buy bar spacing and size tuning */
.pd-buybar {
    margin-top: 20px !important;
    border-radius: var(--ui-radius-sm) !important;
    min-height: 60px !important;
    padding: 12px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

/* Highlighted Note Card fixes (The dark gray grid blocks) */
.pd-note-grid {
    gap: 14px !important;
}

.pd-note-item {
    background: rgba(22, 19, 15, 0.98) !important;
    border: 1px solid rgba(216, 173, 106, 0.14) !important;
    border-radius: 8px !important;
    padding: 12px !important;
}

.pd-note-family {
    color: rgba(216, 173, 106, 0.8) !important;
    font-size: 11px !important;
    margin-bottom: 4px !important;
}

.pd-note-name {
    color: #fff0d4 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

/* Admin Login - Elegant Center Grid Card */
.elfer-admin-ug .lux-auth-card,
.lux-auth-card {
    background: rgba(20, 17, 14, 0.98) !important;
    border: 1px solid rgba(216, 173, 106, 0.18) !important;
    border-radius: 12px !important;
    padding: 40px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6) !important;
}

.lux-auth-card input {
    background: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid rgba(216, 173, 106, 0.16) !important;
    color: #fff0d4 !important;
    padding: 10px 14px !important;
    border-radius: 6px !important;
}

.lux-auth-card input:focus {
    border-color: #d8ad6a !important;
    outline: none !important;
    box-shadow: 0 0 8px rgba(216, 173, 106, 0.2) !important;
}

/* Admin Dashboard Layout fixes */
.elfer-admin-ug .grid,
.elfer-admin-ug .grid-cols-4 {
    gap: 16px !important;
}

.elfer-admin-ug .bg-white,
.elfer-admin-ug .bg-gray-800 {
    background: rgba(24, 21, 18, 0.95) !important;
    border: 1px solid rgba(216, 173, 106, 0.14) !important;
    border-radius: 10px !important;
    padding: 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}

.elfer-admin-ug h1,
.elfer-admin-ug h2,
.elfer-admin-ug h3,
.elfer-admin-ug th {
    color: #d8ad6a !important;
}

.elfer-admin-ug td,
.elfer-admin-ug p,
.elfer-admin-ug span {
    color: rgba(255, 245, 230, 0.8) !important;
}

/* Dashboard table padding and line stability */
.elfer-admin-ug table {
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.elfer-admin-ug table tr {
    background: rgba(0, 0, 0, 0.18) !important;
}

.elfer-admin-ug table td,
.elfer-admin-ug table th {
    padding: 12px 16px !important;
    border: none !important;
    line-height: 1.5 !important;
}

.elfer-admin-ug table tr td:first-child {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.elfer-admin-ug table tr td:last-child {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

/* System Status Badges in Tables */
.elfer-admin-ug .badge,
.elfer-admin-ug [class*="badge-"] {
    padding: 4px 10px !important;
    font-size: 11px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(216, 173, 106, 0.2) !important;
    background: rgba(216, 173, 106, 0.08) !important;
    color: #d8ad6a !important;
}

/* Multilingual fine styling for Uyghur */
body.lang-ug:not(.elfer-admin-ug) .lux-cat-card span {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-cat-card small {
    font-size: 11px !important;
    line-height: 1.6 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-cat-card em {
    font-size: 11px !important;
}

body.lang-ug:not(.elfer-admin-ug) .pd-note-family {
    font-size: 11px !important;
    line-height: 1.6 !important;
}

body.lang-ug:not(.elfer-admin-ug) .pd-note-name {
    font-size: 12px !important;
    line-height: 1.55 !important;
}

/* =========================================================
   ELFER FINAL UI QUALITY BASELINE — SAFE PASS
   Scope: public frontend only. Does NOT change page structure,
   grid order, admin, backend, routes, or data. It standardizes
   typography, rhythm, cards, controls and small visual details.
   ========================================================= */
:root {
    --ui-gold: #d8ad6a;
    --ui-gold-soft: rgba(216, 173, 106, .18);
    --ui-gold-line: rgba(216, 173, 106, .14);
    --ui-panel: rgba(17, 15, 12, .92);
    --ui-panel-2: rgba(22, 19, 15, .96);
    --ui-radius-sm: 6px;
    --ui-radius: 10px;
    --ui-radius-lg: 14px;
    --ui-shadow-soft: 0 10px 28px rgba(0, 0, 0, .18);
    --ui-shadow-card: 0 14px 34px rgba(0, 0, 0, .24);
    --ui-text-soft: rgba(246, 232, 207, .78);
    --ui-text-muted: rgba(229, 211, 184, .58);
}

body:not(.elfer-admin-ug) {
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

body:not(.elfer-admin-ug) img {
    max-width: 100%;
}

body:not(.elfer-admin-ug) a,
body:not(.elfer-admin-ug) button,
body:not(.elfer-admin-ug) .perfume-card,
body:not(.elfer-admin-ug) .brand-card,
body:not(.elfer-admin-ug) .article-card,
body:not(.elfer-admin-ug) .lux-cat-card,
body:not(.elfer-admin-ug) .lux-row-card {
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        opacity .18s ease;
}

/* Typography scale: close to the provided premium UI screenshot */
body.lang-zh:not(.elfer-admin-ug) {
    font-size: 13.5px;
    line-height: 1.66;
}

body.lang-en:not(.elfer-admin-ug) {
    font-size: 13.2px;
    line-height: 1.62;
}

body.lang-ug:not(.elfer-admin-ug) {
    font-size: 13.4px !important;
    line-height: 1.78 !important;
}

body.lang-zh:not(.elfer-admin-ug) h1,
body.lang-zh:not(.elfer-admin-ug) h2,
body.lang-zh:not(.elfer-admin-ug) h3,
body.lang-en:not(.elfer-admin-ug) h1,
body.lang-en:not(.elfer-admin-ug) h2,
body.lang-en:not(.elfer-admin-ug) h3 {
    font-weight: 500;
}

body.lang-ug:not(.elfer-admin-ug) h1,
body.lang-ug:not(.elfer-admin-ug) h2,
body.lang-ug:not(.elfer-admin-ug) h3,
body.lang-ug:not(.elfer-admin-ug) h4,
body.lang-ug:not(.elfer-admin-ug) .font-serif,
body.lang-ug:not(.elfer-admin-ug) .font-bold,
body.lang-ug:not(.elfer-admin-ug) .font-semibold,
body.lang-ug:not(.elfer-admin-ug) .font-medium {
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

/* Header precision */
body:not(.elfer-admin-ug) .lux-topbar {
    min-height: 24px;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    color: rgba(234, 199, 137, .82);
}

body:not(.elfer-admin-ug) .lux-header-row {
    min-height: 72px;
}

body:not(.elfer-admin-ug) .lux-logo-main {
    letter-spacing: .16em;
}

body:not(.elfer-admin-ug) .lux-logo-sub {
    letter-spacing: .26em;
}

body:not(.elfer-admin-ug) .lux-nav a,
body:not(.elfer-admin-ug) .lux-category-btn,
body:not(.elfer-admin-ug) .lux-lang-btn,
body:not(.elfer-admin-ug) .lux-currency {
    font-size: 11.2px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-nav a,
body.lang-ug:not(.elfer-admin-ug) .lux-category-btn,
body.lang-ug:not(.elfer-admin-ug) .lux-lang-btn,
body.lang-ug:not(.elfer-admin-ug) .lux-currency {
    font-size: 11.8px !important;
    line-height: 1.38 !important;
    font-weight: 400 !important;
}

body:not(.elfer-admin-ug) .lux-actions a,
body:not(.elfer-admin-ug) .lux-actions button {
    font-size: 15px !important;
    opacity: .9;
}

/* Hero: stable premium text size and button detail */
body:not(.elfer-admin-ug) .lux-hero--pure,
body:not(.elfer-admin-ug) .lux-hero-slide {
    min-height: clamp(390px, 43vw, 520px);
}

body:not(.elfer-admin-ug) .lux-hero-caption h1 {
    font-size: clamp(28px, 3.15vw, 48px) !important;
    line-height: 1.16 !important;
    margin-bottom: 14px !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-hero-caption h1 {
    font-size: clamp(22px, 2.25vw, 34px) !important;
    line-height: 1.58 !important;
}

body:not(.elfer-admin-ug) .lux-hero-caption p {
    font-size: clamp(12.5px, .98vw, 16px) !important;
    line-height: 1.78 !important;
    max-width: 500px;
}

body.lang-ug:not(.elfer-admin-ug) .lux-hero-caption p {
    font-size: 11.8px !important;
    line-height: 1.9 !important;
    max-width: 460px !important;
}

body:not(.elfer-admin-ug) .lux-hero-caption-btn,
body:not(.elfer-admin-ug) .btn-elfer,
body:not(.elfer-admin-ug) .btn-outline,
body:not(.elfer-admin-ug) .btn-gold {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    font-size: 11.5px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

body:not(.elfer-admin-ug) .lux-hero-caption-btn {
    padding: 10px 18px !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-hero-caption-btn,
body.lang-ug:not(.elfer-admin-ug) .btn-elfer,
body.lang-ug:not(.elfer-admin-ug) .btn-outline,
body.lang-ug:not(.elfer-admin-ug) .btn-gold {
    font-size: 10.6px !important;
    line-height: 1.45 !important;
}

/* Service strip: equal optical weight */
body:not(.elfer-admin-ug) .lux-service-grid {
    min-height: 82px;
}

body:not(.elfer-admin-ug) .lux-service-item {
    gap: 14px;
    padding: 14px 16px;
}

body:not(.elfer-admin-ug) .lux-service-item i {
    font-size: 25px !important;
}

body:not(.elfer-admin-ug) .lux-service-item b {
    font-size: 12.5px !important;
    line-height: 1.32 !important;
    font-weight: 500 !important;
}

body:not(.elfer-admin-ug) .lux-service-item small {
    font-size: 10.8px !important;
    line-height: 1.42 !important;
    margin-top: 2px !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-service-item b {
    font-size: 12px !important;
    line-height: 1.34 !important;
    font-weight: 400 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-service-item small {
    font-size: 10.5px !important;
    line-height: 1.44 !important;
}

/* Section rhythm and headings: no forced layout changes */
body:not(.elfer-admin-ug) .lux-section {
    padding-top: 28px;
    padding-bottom: 16px;
}

body:not(.elfer-admin-ug) .lux-section--compact {
    padding-bottom: 10px;
}

body:not(.elfer-admin-ug) .lux-section-alt {
    padding-top: 20px;
}

body:not(.elfer-admin-ug) .lux-section--compact + .lux-section-alt {
    padding-top: 16px;
}

body:not(.elfer-admin-ug) .lux-section-head {
    margin-bottom: 22px;
    align-items: flex-end;
}

body:not(.elfer-admin-ug) .lux-section-head h2,
body:not(.elfer-admin-ug) .lux-page-title,
body:not(.elfer-admin-ug) .pd-section-title {
    color: var(--lux-heading);
    font-size: clamp(19px, 1.58vw, 26px) !important;
    line-height: 1.32 !important;
    margin-bottom: 6px;
}

body.lang-ug:not(.elfer-admin-ug) .lux-section-head h2,
body.lang-ug:not(.elfer-admin-ug) .lux-page-title,
body.lang-ug:not(.elfer-admin-ug) .pd-section-title {
    font-size: clamp(16.5px, 1.22vw, 21px) !important;
    line-height: 1.62 !important;
}

body:not(.elfer-admin-ug) .lux-section-head p,
body:not(.elfer-admin-ug) .lux-page-sub {
    font-size: 12px !important;
    line-height: 1.62 !important;
    color: var(--lux-muted);
}

body.lang-ug:not(.elfer-admin-ug) .lux-section-head p,
body.lang-ug:not(.elfer-admin-ug) .lux-page-sub {
    font-size: 10.8px !important;
    line-height: 1.72 !important;
}

body:not(.elfer-admin-ug) .lux-section-head a {
    font-size: 11.5px !important;
    color: var(--lux-link-gold);
}

/* Cards: refined without changing grid */
body:not(.elfer-admin-ug) .perfume-card,
body:not(.elfer-admin-ug) .brand-card,
body:not(.elfer-admin-ug) .article-card,
body:not(.elfer-admin-ug) .lux-filter-panel,
body:not(.elfer-admin-ug) .lux-list-panel,
body:not(.elfer-admin-ug) .pd-card,
body:not(.elfer-admin-ug) .pd-section,
body:not(.elfer-admin-ug) .pd-side-card {
    border-radius: var(--ui-radius) !important;
    border-color: var(--ui-gold-line) !important;
}

body:not(.elfer-admin-ug) .perfume-card,
body:not(.elfer-admin-ug) .brand-card,
body:not(.elfer-admin-ug) .article-card {
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

body:not(.elfer-admin-ug) .perfume-card:hover,
body:not(.elfer-admin-ug) .brand-card:hover,
body:not(.elfer-admin-ug) .article-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ui-shadow-card);
}

body:not(.elfer-admin-ug) .perfume-card .img-wrap {
    background: linear-gradient(135deg, #1b1711, #0c0b09);
}

body:not(.elfer-admin-ug) .perfume-card h3,
body:not(.elfer-admin-ug) .brand-card h3,
body:not(.elfer-admin-ug) .article-card h2 {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

body.lang-ug:not(.elfer-admin-ug) .perfume-card h3,
body.lang-ug:not(.elfer-admin-ug) .brand-card h3,
body.lang-ug:not(.elfer-admin-ug) .article-card h2 {
    font-size: 11.4px !important;
    line-height: 1.62 !important;
    font-weight: 400 !important;
}

body:not(.elfer-admin-ug) .perfume-card p,
body:not(.elfer-admin-ug) .brand-card p,
body:not(.elfer-admin-ug) .article-card p,
body:not(.elfer-admin-ug) .text-gray-400,
body:not(.elfer-admin-ug) .text-gray-500,
body:not(.elfer-admin-ug) .text-gray-600 {
    font-size: 11px !important;
    line-height: 1.58 !important;
}

body.lang-ug:not(.elfer-admin-ug) .perfume-card p,
body.lang-ug:not(.elfer-admin-ug) .brand-card p,
body.lang-ug:not(.elfer-admin-ug) .article-card p,
body.lang-ug:not(.elfer-admin-ug) .text-gray-400,
body.lang-ug:not(.elfer-admin-ug) .text-gray-500,
body.lang-ug:not(.elfer-admin-ug) .text-gray-600 {
    font-size: 9.8px !important;
    line-height: 1.65 !important;
}

/* Category cards: image top, caption below */
body:not(.elfer-admin-ug) .lux-cat-card {
    min-height: 0;
    border-radius: var(--ui-radius) !important;
    border: 1px solid rgba(216,173,106,.12);
}

body:not(.elfer-admin-ug) .lux-cat-card__title {
    font-size: clamp(14px, 1.2vw, 18px) !important;
    line-height: 1.32 !important;
    margin-bottom: 3px !important;
    text-align: center !important;
}

body:not(.elfer-admin-ug) .lux-cat-card__desc {
    font-size: 11px !important;
    line-height: 1.48 !important;
    margin-bottom: 0 !important;
    text-align: center !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-cat-card__title {
    font-size: 12.8px !important;
    line-height: 1.62 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-cat-card__desc {
    font-size: 10.2px !important;
    line-height: 1.62 !important;
}

/* Coupon: keep existing structure but clean optical rhythm */
body:not(.elfer-admin-ug) .lux-coupon {
    border-radius: var(--ui-radius) !important;
}

body:not(.elfer-admin-ug) .lux-coupon small {
    font-size: 10px !important;
    line-height: 1.25 !important;
}

body:not(.elfer-admin-ug) .lux-coupon h3 {
    font-size: clamp(18px, 1.75vw, 26px) !important;
    line-height: 1.28 !important;
}

body:not(.elfer-admin-ug) .lux-coupon p {
    font-size: 11.5px !important;
    line-height: 1.55 !important;
}

body:not(.elfer-admin-ug) .lux-coupon a {
    min-height: 36px;
    font-size: 11.5px !important;
    font-weight: 500 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-coupon h3 {
    font-size: clamp(14px, 1.15vw, 18px) !important;
    line-height: 1.65 !important;
}

/* Filter panels, inputs and sort bars */
body:not(.elfer-admin-ug) .lux-page-body {
    padding-top: 34px;
}

body:not(.elfer-admin-ug) .lux-page-title-bar {
    margin-bottom: 30px;
}

body:not(.elfer-admin-ug) .lux-page-hero-kicker {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    letter-spacing: .12em;
}

body:not(.elfer-admin-ug) input,
body:not(.elfer-admin-ug) select,
body:not(.elfer-admin-ug) textarea {
    border-radius: var(--ui-radius-sm) !important;
    min-height: 36px;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body.lang-ug:not(.elfer-admin-ug) input,
body.lang-ug:not(.elfer-admin-ug) select,
body.lang-ug:not(.elfer-admin-ug) textarea {
    font-size: 10.8px !important;
    line-height: 1.65 !important;
}

body:not(.elfer-admin-ug) .lux-filter-panel h3 {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-filter-panel h3 {
    font-size: 11.4px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
}

body:not(.elfer-admin-ug) .lux-filter-panel a,
body:not(.elfer-admin-ug) .lux-filter-panel button {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}

body.lang-ug:not(.elfer-admin-ug) .lux-filter-panel a,
body.lang-ug:not(.elfer-admin-ug) .lux-filter-panel button {
    font-size: 10.2px !important;
    line-height: 1.62 !important;
}

/* Micro details: rating, price, labels */
body:not(.elfer-admin-ug) .rating-stars {
    display: inline-flex;
    gap: 1px;
    font-size: 10.5px !important;
    line-height: 1 !important;
    color: #d9a849 !important;
}

body:not(.elfer-admin-ug) .price-current {
    color: var(--ui-gold) !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    white-space: nowrap;
}

body:not(.elfer-admin-ug) .tag-hot,
body:not(.elfer-admin-ug) .tag-new {
    min-width: 32px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px !important;
    border-radius: 3px !important;
    background: linear-gradient(135deg, #efd39c, #c59046) !important;
    color: #33200d !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
}

@media (max-width: 768px) {
    body:not(.elfer-admin-ug) .lux-section {
        padding-top: 34px;
        padding-bottom: 28px;
    }
    body:not(.elfer-admin-ug) .lux-service-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    body:not(.elfer-admin-ug) .lux-service-item {
        min-height: 76px;
    }
}

/* Night theme fix: perfume detail buy/quantity bar must not turn white */
body.elfer-luxury:not(.elfer-admin-ug) .pd-buybar {
    background: linear-gradient(180deg, rgba(20, 18, 14, .98), rgba(13, 12, 10, .98)) !important;
    border: 1px solid rgba(216, 173, 106, .14) !important;
    border-radius: 8px !important;
    padding: 12px !important;
    color: rgba(246, 232, 207, .76) !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .pd-buybar > span {
    color: rgba(246, 232, 207, .68) !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .qty-control {
    border-color: rgba(216, 173, 106, .22) !important;
    background: rgba(0, 0, 0, .28) !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .qty-control button {
    background: rgba(216, 173, 106, .10) !important;
    color: #d8ad6a !important;
    border: 0 !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .qty-control button:hover:not(:disabled) {
    background: rgba(216, 173, 106, .25) !important;
    color: #fff0d2 !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .qty-control input {
    background: #080706 !important;
    color: #f2ddb6 !important;
    border-left: 1px solid rgba(216, 173, 106, .18) !important;
    border-right: 1px solid rgba(216, 173, 106, .18) !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .pd-buy-btn {
    background: linear-gradient(135deg, #d6a45b, #b68037) !important;
    color: #17100a !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
}

/* Agent public leaderboard */
.agent-rank-board {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
    max-width: 960px;
    margin-inline: auto;
    width: 100%;
}

/* Agents public page — centered layout */
.lux-agents-page .lux-agents-wrap {
    max-width: 820px;
    margin-inline: auto;
}

.lux-agents-page .lux-page-title-bar--center {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
    margin-bottom: 24px;
}

.lux-agents-page .lux-page-title-bar--center > div {
    width: 100%;
    text-align: center;
}

.lux-agents-page .lux-page-title-bar--center .lux-page-sub {
    margin-inline: auto;
    max-width: 520px;
}

.lux-agents-page .agents-empty-panel {
    max-width: 100%;
    width: 100%;
    margin-inline: auto;
}

.lux-agents-page .agent-rank-board {
    max-width: 100%;
}

.agent-rank-head,
.agent-rank-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1.5fr) minmax(100px, 0.85fr) minmax(110px, 0.75fr);
    align-items: center;
    gap: 12px;
}

.agent-rank-head {
    padding: 0 18px 8px;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lux-muted);
    opacity: 0.85;
}

.agent-rank-row {
    padding: 14px 18px;
    border: 1px solid var(--lux-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.02);
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.agent-rank-row:hover {
    border-color: rgba(216, 173, 106, 0.35);
    transform: translateY(-1px);
}

.agent-rank-row.is-gold {
    border-color: rgba(255, 215, 120, 0.45);
    background: linear-gradient(90deg, rgba(255, 215, 120, 0.08), rgba(255, 255, 255, 0.02));
}

.agent-rank-row.is-silver {
    border-color: rgba(192, 192, 192, 0.35);
    background: linear-gradient(90deg, rgba(192, 192, 192, 0.07), rgba(255, 255, 255, 0.02));
}

.agent-rank-row.is-bronze {
    border-color: rgba(205, 127, 50, 0.35);
    background: linear-gradient(90deg, rgba(205, 127, 50, 0.08), rgba(255, 255, 255, 0.02));
}

.agent-rank-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(216, 173, 106, 0.28);
    color: var(--lux-gold);
    font-weight: 600;
    font-size: 15px;
}

.agent-rank-row.is-gold .agent-rank-num { color: #ffd878; border-color: rgba(255, 215, 120, 0.55); }
.agent-rank-row.is-silver .agent-rank-num { color: #d8d8d8; border-color: rgba(192, 192, 192, 0.45); }
.agent-rank-row.is-bronze .agent-rank-num { color: #d4956a; border-color: rgba(205, 127, 50, 0.45); }

.agent-rank-user {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.agent-rank-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(216, 173, 106, 0.25);
    flex-shrink: 0;
}

.agent-rank-meta {
    min-width: 0;
}

.agent-rank-meta b {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--lux-text);
    line-height: 1.35;
}

.agent-rank-meta small {
    display: block;
    font-size: 11px;
    color: var(--lux-muted);
    margin-top: 2px;
}

.agent-rank-meta code {
    display: inline-block;
    margin-top: 4px;
    font-size: 10px;
    color: rgba(216, 173, 106, 0.85);
    background: rgba(216, 173, 106, 0.08);
    padding: 2px 6px;
    border-radius: 4px;
}

.agent-rank-level-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(216, 173, 106, 0.28);
    font-size: 12px;
    color: var(--lux-gold);
}

.agent-rank-level small {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    color: var(--lux-muted);
}

.agent-rank-total strong {
    display: block;
    font-size: 15px;
    color: var(--lux-gold-2, var(--lux-gold));
    font-weight: 600;
}

.agent-rank-total small {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    color: var(--lux-muted);
}

.agents-empty-panel {
    max-width: 520px;
    margin-inline: auto;
    padding: clamp(32px, 6vw, 48px) 24px !important;
}

@media (max-width: 768px) {
    .agent-rank-head { display: none !important; }
    .agent-rank-board {
        max-width: 100%;
        gap: 8px;
    }
    .agent-rank-row {
        grid-template-columns: 40px 1fr auto;
        grid-template-areas:
            "rank user total"
            "rank level total";
        gap: 6px 10px;
        padding: 12px 14px;
    }
    .agent-rank-num { grid-area: rank; width: 36px; height: 36px; font-size: 12px; align-self: start; }
    .agent-rank-user { grid-area: user; }
    .agent-rank-level { grid-area: level; padding-left: 0; }
    .agent-rank-total { grid-area: total; text-align: end; align-self: center; }
    .agent-rank-avatar { width: 42px; height: 42px; }
    .lux-page-title-bar .btn-elfer.hidden.md\:inline-flex { display: none !important; }
}

body.lang-zh:not(.elfer-admin-ug) .lux-nav--extended,
body.lang-en:not(.elfer-admin-ug) .lux-nav--extended {
    gap: clamp(12px, 1.25vw, 24px);
}

body.lang-zh:not(.elfer-admin-ug) .lux-nav--extended a,
body.lang-en:not(.elfer-admin-ug) .lux-nav--extended a {
    font-size: clamp(12px, 0.86vw, 13px) !important;
}

@media (min-width: 1281px) and (max-width: 1440px) {
    body.lang-zh:not(.elfer-admin-ug) .lux-nav--extended,
    body.lang-en:not(.elfer-admin-ug) .lux-nav--extended {
        gap: clamp(10px, 1vw, 18px);
    }
}

/* Final homepage polish: note categories, agent banner and about section */
.home-note-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (min-width: 768px) {
    .home-note-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }
}

@media (min-width: 1180px) {
    .home-note-category-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.home-note-category {
    min-height: 148px;
    padding: 18px;
    align-items: flex-end;
    border-radius: 10px;
    border-color: rgba(216, 173, 106, .34);
    box-shadow: 0 18px 34px rgba(0, 0, 0, .24);
    background:
        linear-gradient(180deg, rgba(8, 8, 7, .08), rgba(8, 8, 7, .82)),
        radial-gradient(circle at 24% 20%, rgba(255, 255, 255, .16), transparent 28%),
        linear-gradient(135deg, #3a2a18, #14100c 62%, #0b0a08) !important;
}

.home-note-category::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 8px;
    z-index: 1;
    pointer-events: none;
}

.home-note-category::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .7));
}

.home-note-category__mark {
    inset-inline: auto 16px;
    inset-block-start: 14px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(216, 173, 106, .28);
    border-radius: 50%;
    color: rgba(232, 189, 114, .72);
    background: rgba(0, 0, 0, .22);
    z-index: 2;
}

.home-note-category__body {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 6px;
    width: 100%;
    text-align: center;
}

.home-note-category__body span {
    max-width: 100%;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}

.home-note-category__body small {
    color: rgba(232, 189, 114, .84);
    font-size: 11px;
    line-height: 1.25;
}

.home-note-category--1 {
    background:
        linear-gradient(180deg, rgba(8, 8, 7, .04), rgba(8, 8, 7, .82)),
        radial-gradient(circle at 30% 18%, rgba(240, 221, 186, .2), transparent 28%),
        linear-gradient(135deg, #40372b, #15120d 64%, #090807) !important;
}

.home-note-category--2 {
    background:
        linear-gradient(180deg, rgba(8, 8, 7, .04), rgba(8, 8, 7, .82)),
        radial-gradient(circle at 28% 20%, rgba(140, 173, 130, .22), transparent 30%),
        linear-gradient(135deg, #283722, #13120d 64%, #090807) !important;
}

.home-note-category--3 {
    background:
        linear-gradient(180deg, rgba(8, 8, 7, .04), rgba(8, 8, 7, .82)),
        radial-gradient(circle at 28% 20%, rgba(176, 138, 196, .22), transparent 30%),
        linear-gradient(135deg, #30273b, #12100d 64%, #090807) !important;
}

.home-note-category--4 {
    background:
        linear-gradient(180deg, rgba(8, 8, 7, .04), rgba(8, 8, 7, .82)),
        radial-gradient(circle at 28% 20%, rgba(214, 138, 96, .2), transparent 30%),
        linear-gradient(135deg, #3d281f, #13100d 64%, #090807) !important;
}

.home-note-category--5 {
    background:
        linear-gradient(180deg, rgba(8, 8, 7, .04), rgba(8, 8, 7, .82)),
        radial-gradient(circle at 28% 20%, rgba(120, 163, 190, .2), transparent 30%),
        linear-gradient(135deg, #21313b, #11100d 64%, #090807) !important;
}

.home-agent-cta,
.home-agent-cta * {
    text-align: center;
}

.home-agent-cta {
    max-width: 1180px;
    margin: 0 auto;
    border: 1px solid rgba(216, 173, 106, .16);
    border-radius: 10px !important;
    padding: clamp(46px, 5.2vw, 70px) clamp(24px, 6vw, 72px) !important;
}

.home-agent-cta .relative.z-10 {
    max-width: 720px !important;
}

.home-agent-cta span.inline-block {
    margin-bottom: 14px !important;
    background: rgba(216, 173, 106, .92) !important;
    color: #17110a !important;
}

.home-agent-cta h2 {
    margin-bottom: 14px !important;
    color: #fff4dd !important;
    font-size: clamp(24px, 2vw, 32px) !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    max-width: 620px;
    margin-inline: auto !important;
}

.home-agent-cta p {
    max-width: 560px;
    margin: 0 auto 28px !important;
    color: rgba(246, 232, 207, .78) !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.home-agent-cta .btn-elfer,
.home-agent-cta a {
    min-width: 190px;
    justify-content: center;
    min-height: 46px;
    border-radius: 999px !important;
}

.home-about-section .lux-container > .grid {
    display: block !important;
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(38px, 4.6vw, 56px) clamp(24px, 5vw, 54px);
    border: 1px solid rgba(216, 173, 106, .24);
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 0%, rgba(216, 173, 106, .14), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .01)),
        #0f0e0c;
    text-align: center;
    box-shadow: 0 24px 50px rgba(0, 0, 0, .22);
}

.home-about-section .home-about-visual {
    display: none !important;
}

.home-about-section h2 {
    margin-bottom: 18px !important;
    color: var(--lux-heading);
    font-size: clamp(24px, 2.1vw, 34px) !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

.home-about-section .text-gray-600 {
    max-width: 620px;
    margin: 0 auto;
    color: var(--lux-muted) !important;
    text-align: center !important;
}

.home-about-section .text-gray-600 p {
    margin: 0 auto 14px;
    color: rgba(246, 232, 207, .72) !important;
    line-height: 2.05;
    font-size: 14.5px;
    text-wrap: balance;
}

.home-about-section .grid.grid-cols-2 {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px !important;
    margin-top: 28px !important;
}

.home-about-section .grid.grid-cols-2 > div {
    min-width: 220px;
    justify-content: center;
    padding: 13px 18px;
    border: 1px solid rgba(216, 173, 106, .22);
    border-radius: 999px;
    background: rgba(216, 173, 106, .055);
}

/* Perfume detail local purchase panel must stay inside the product card */
body.elfer-luxury:not(.elfer-admin-ug) .pd-nosetime .pd-top-buy-panel .pd-buybar {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
    box-shadow: none !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .pd-nosetime .pd-top-buy-panel .pd-buybar .pd-buy-btn {
    width: 100% !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .pd-nosetime .pd-layout #buy-section {
    display: none !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .pd-nosetime {
    padding-bottom: 32px;
}

body.elfer-luxury:not(.elfer-admin-ug) .lux-footer {
    clear: both;
}

body:not(.elfer-mobile) .elfer-m-footer-mini {
    display: none !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .lux-footer {
    position: relative;
    z-index: 1;
    margin-top: 42px !important;
    padding-top: 48px !important;
}

body.elfer-luxury:not(.elfer-admin-ug) .lux-footer-bottom {
    justify-content: center !important;
    text-align: center;
    gap: 18px !important;
}

body.elfer-luxury:not(.elfer-admin-ug) #back-to-top {
    right: 22px !important;
    bottom: 22px !important;
    z-index: 30 !important;
}

/* User requested these homepage promo/about blocks removed. */
.elfer-desktop-home .home-agent-cta,
.elfer-desktop-home .home-about-section {
    display: none !important;
}

@media (min-width: 769px) {
    .elfer-tabbar,
    #elfer-tabbar,
    .elfer-m-footer-mini {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (max-width: 768px) {
    body.elfer-luxury:not(.elfer-admin-ug) #back-to-top {
        bottom: 82px !important;
    }
}

/* Final product listing quality pass */
body:not(.elfer-admin-ug) .perfume-card {
    border-radius: 10px !important;
    overflow: hidden !important;
}

body:not(.elfer-admin-ug) .perfume-card .img-wrap {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
    background:
        radial-gradient(circle at 50% 12%, rgba(216, 173, 106, .08), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.2)),
        #11100e !important;
}

body:not(.elfer-admin-ug) .perfume-card .img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 18px !important;
    box-sizing: border-box !important;
}

body:not(.elfer-admin-ug) .perfume-card-body {
    min-height: 138px;
}

body:not(.elfer-admin-ug) .perfume-card-title {
    min-height: 38px;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.lux-filter-panel {
    border-color: rgba(216, 173, 106, .18) !important;
    background: linear-gradient(180deg, rgba(20,18,14,.96), rgba(11,10,8,.98)) !important;
}
