* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, sans-serif; margin: 0; background: #f4f6f8; color: #1a1a1a; }
.container { max-width: 1200px; margin: 0 auto; padding: 1rem; }
@media (max-width: 700px) {
    .container { padding: 0.55rem; }
}
.site-header { background: #111827; color: #fff; padding: 0.4rem 0; }
.site-header .container { display: flex; align-items: center; }
.site-header a { color: #fff; text-decoration: none; margin-right: 1rem; }
.brand { display: inline-flex; align-items: center; margin: 0; color: inherit; }
.brand-logo { height: 52px; width: auto; display: block; }
.admin-header nav { display: inline-block; margin-left: 2rem; }
@media (max-width: 700px) {
    .brand-logo { height: 38px; }
}
.card { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin: 1rem 0; }
label { display: block; margin-bottom: 0.75rem; }
input[type=text], input[type=password], input[type=url], input[type=search], input[type=email], select, textarea { padding: 0.5rem; min-width: 220px; }
button, .button { background: #2563eb; color: #fff; border: 0; padding: 0.5rem 1rem; border-radius: 6px; cursor: pointer; text-decoration: none; display: inline-block; }
.search-select { display: inline-block; vertical-align: top; }
button.search-select-toggle {
    appearance: none; -webkit-appearance: none;
    min-width: 220px; max-width: 18rem; width: 18rem;
    padding: 0.45rem 1.85rem 0.45rem 0.6rem;
    border: 1px solid #d1d5db; border-radius: 6px; background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.4 0 6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 0.7rem center; background-size: 0.7rem;
    color: #111827; font: inherit; font-size: 0.88rem; line-height: 1.2; text-align: left;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer;
}
.search-select.is-open button.search-select-toggle { outline: 2px solid #2563eb; outline-offset: 1px; }
#search-select-panel {
    position: fixed; z-index: 80; box-sizing: border-box;
    padding: 0.45rem; background: #fff; border: 1px solid #d1d5db; border-radius: 8px;
    box-shadow: 0 10px 28px rgba(17, 24, 39, 0.16);
}
#search-select-panel .search-select-filter {
    display: block; width: 100%; min-width: 0; margin: 0 0 0.35rem; box-sizing: border-box;
}
.search-select-list { max-height: 12rem; overflow: auto; }
button.search-select-option {
    display: block; width: 100%; text-align: left; background: #fff; color: #111827;
    border: 0; border-radius: 4px; padding: 0.4rem 0.55rem; font: inherit; font-size: 0.88rem;
}
button.search-select-option:hover, button.search-select-option.is-active { background: #eef2ff; color: #111827; }
.search-select-empty { padding: 0.45rem 0.55rem; color: #6b7280; font-size: 0.85rem; }
.data-table { width: 100%; border-collapse: collapse; background: #fff; }
.data-table th, .data-table td { border: 1px solid #e5e7eb; padding: 0.5rem; vertical-align: top; font-size: 0.9rem; }
.data-table th { background: #eef2ff; position: sticky; top: 0; }
.data-table .check-col { width: 2.25rem; text-align: center; vertical-align: middle; }
.table-scroll { overflow-x: auto; border: 1px solid #e5e7eb; background: #fff; }
.comparison-table .option-col { writing-mode: vertical-rl; text-orientation: mixed; max-width: 40px; white-space: nowrap; font-size: 0.75rem; }
.comparison-table .option-cell { text-align: center; font-weight: 700; }
.thumb { width: 80px; height: 60px; object-fit: cover; border-radius: 4px; }
.flash { background: #ecfdf5; border: 1px solid #6ee7b7; padding: 0.75rem; border-radius: 6px; margin-bottom: 1rem; }
.error { color: #b91c1c; }
.scrape-catalog-warning { color: #b91c1c; font-weight: 700; margin: 0 0 0.75rem; }
.page-header { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.45rem 1rem; margin: 0 0 0.65rem; }
.page-header-main { display: flex; flex-direction: column; align-items: flex-start; gap: 0.12rem; min-width: 0; }
.page-header h1 { margin: 0; white-space: nowrap; }
.picker-form { max-width: 36rem; }
.picker-form select { min-width: 16rem; }
.picker-form-header { display: block; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; max-width: none; width: auto; }
.car-switch { display: inline-flex; align-items: center; gap: 0.55rem; margin: 0; }
.car-switch-label { font-size: 0.68rem; font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; color: #6b7280; }
.picker-form-header select {
    appearance: none;
    -webkit-appearance: none;
    min-width: 11.5rem;
    max-width: 18rem;
    padding: 0.38rem 2rem 0.38rem 0.85rem;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.4 0 6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.7rem;
    color: #111827;
    font: inherit;
    font-size: 0.88rem;
    line-height: 1.2;
    box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04);
    cursor: pointer;
}
.picker-form-header select:hover { border-color: #cbd5e1; }
.picker-form-header select:focus { outline: 2px solid #2563eb; outline-offset: 1px; }
.page-subtitle { margin: 0.35rem 0 0; color: #4b5563; max-width: 72ch; font-size: 0.98rem; line-height: 1.4; }
.help-list { margin: 0; padding-left: 1.15rem; color: #4b5563; max-width: 62ch; font-size: 0.88rem; line-height: 1.4; }
.help-list li { margin: 0.15rem 0; }
.page-help { margin: 0.85rem 0 0; padding-top: 0.65rem; border-top: 1px solid #e5e7eb; }
.beta-badge { display: inline-block; margin-left: 0.45rem; padding: 0.12rem 0.5rem; border-radius: 999px; background: #fff7ed; color: #9a3412; border: 1px solid #fdba74; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; vertical-align: middle; }
.inline-form label { display: inline-block; margin-right: 1rem; }
.errors-cell { max-width: 300px; font-size: 0.8rem; white-space: pre-wrap; }
.help-text { color: #4b5563; max-width: 70ch; }
.option-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0; }
.option-filters a { background: #fff; border: 1px solid #d1d5db; border-radius: 999px; padding: 0.35rem 0.75rem; text-decoration: none; color: #111827; font-size: 0.9rem; }
.option-filters a.active { background: #111827; color: #fff; border-color: #111827; }
.option-web-filters { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; }
.option-web-filters button {
    background: #fff; color: #111827; border: 1px solid #d1d5db;
    border-radius: 999px; padding: 0.35rem 0.75rem; font-size: 0.9rem;
}
.option-web-filters button.active { background: #111827; color: #fff; border-color: #111827; }
.classify-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.classify-toolbar label { margin-bottom: 0; }
.classify-toolbar input[type=search] { min-width: 200px; flex: 1; }
.inline-check { display: inline-flex; align-items: center; gap: 0.4rem; }
.kind-select, .kind-badge { font-size: 0.85rem; }
.kind-badge { display: inline-block; margin-left: 0.4rem; padding: 0.1rem 0.45rem; border-radius: 999px; background: #e5e7eb; color: #374151; }
.kind-unclassified { border-color: #f59e0b; }
select.kind-unclassified, .kind-badge.kind-unclassified { background: #fffbeb; color: #92400e; }
select.kind-addon, .kind-badge.kind-addon { background: #ecfdf5; color: #065f46; }
select.kind-default, .kind-badge.kind-default { background: #eff6ff; color: #1e40af; }
select.kind-ignored, .kind-badge.kind-ignored { background: #f3f4f6; color: #6b7280; }
select.kind-manually_removed, .kind-badge.kind-manually_removed { background: #fdf2f8; color: #9d174d; }

.hidden { display: none !important; }
.muted { color: #6b7280; }
.button-secondary { background: #e5e7eb; color: #111827; }
.filter-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.55rem 0.75rem; margin: 0 0 0.55rem; }
.filter-toolbar input[type=search] { min-width: 160px; flex: 1; max-width: 18rem; }
.listing-count { color: #4b5563; font-size: 0.86rem; }
.data-updated { color: #6b7280; font-size: 0.8rem; }
.match-mode { display: inline-flex; flex-wrap: wrap; gap: 0.65rem; align-items: center; margin: 0; padding: 0; border: 0; }
.match-mode label { margin: 0; }
.matrix-scroll { overflow: auto; max-height: calc(100vh - 9.5rem); border: 1px solid #e5e7eb; background: #fff; border-radius: 8px; -webkit-overflow-scrolling: touch; }
.matrix-table { border-collapse: separate; border-spacing: 0; min-width: 100%; background: #fff; }
.matrix-table th, .matrix-table td { border-bottom: 1px solid #e5e7eb; border-right: 1px solid #e5e7eb; padding: 0.28rem 0.32rem; vertical-align: middle; font-size: 0.78rem; }
.matrix-option-col { position: sticky; left: 0; z-index: 3; background: #eef2ff; text-align: left; min-width: 132px; max-width: 160px; font-weight: 600; line-height: 1.25; }
.matrix-table thead th { position: sticky; top: 0; z-index: 2; background: #f8fafc; }
.matrix-table thead th.matrix-option-col { z-index: 4; background: #eef2ff; }
.matrix-table thead th.matrix-hint {
    font-size: 0.62rem;
    font-weight: 500;
    color: #4b5563;
    line-height: 1.25;
    white-space: normal;
    vertical-align: middle;
}
.matrix-car-col { min-width: 104px; max-width: 112px; width: 104px; text-align: center; font-weight: 500; vertical-align: top; }
.matrix-photo-wrap { width: 100%; height: 68px; margin-bottom: 0.28rem; background: #e5e7eb; border-radius: 4px; overflow: hidden; }
.matrix-photo { width: 100%; height: 68px; object-fit: cover; display: block; }
.matrix-vin {
    display: block;
    max-width: 100%;
    margin: -0.12rem 0 0.12rem;
    overflow: hidden;
    white-space: nowrap;
    font-size: 8px;
    line-height: 1.15;
    letter-spacing: -0.04em;
    font-weight: 500;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: #6b7280;
}
.matrix-car-title { font-weight: 700; font-size: 0.78rem; line-height: 1.2; margin-bottom: 0.1rem; }
.matrix-car-meta { color: #4b5563; font-size: 0.68rem; line-height: 1.2; overflow-wrap: anywhere; }
.matrix-car-col a { font-size: 0.68rem; }
.matrix-table tbody tr.spec-row { background: #fff7ed; }
.matrix-table tbody tr.spec-row .matrix-option-col { background: #ffedd5; color: #9a3412; }
.matrix-table tbody tr.spec-row td { background: #fff7ed; }
.matrix-table tbody tr.spec-row .spec-label { cursor: pointer; user-select: none; }
.matrix-table tbody tr.spec-row .spec-label:hover { background: #fed7aa; }
.matrix-table tbody tr.spec-row.is-sorted-row .spec-label { background: #fdba74; }
.matrix-table tbody tr.spec-row .spec-cell { text-align: center; font-weight: 600; color: #7c2d12; font-size: 0.72rem; line-height: 1.2; overflow-wrap: anywhere; }
.spec-sort-mark { margin-left: 0.25rem; font-size: 0.65rem; }
.matrix-table tbody tr.option-row { cursor: pointer; }
.matrix-table tbody tr.option-row:hover .matrix-option-col,
.matrix-table tbody tr.option-row:hover td { background: #f0f9ff; }
.matrix-table tbody tr.is-filtered-row { background: #ecfdf5; }
.matrix-table tbody tr.is-filtered-row .matrix-option-col { background: #d1fae5; }
.matrix-table tbody tr.is-search-hidden { display: none; }
.matrix-table .option-cell { text-align: center; font-weight: 700; }
@media (max-width: 700px) {
    .matrix-option-col { min-width: 108px; max-width: 122px; font-size: 0.72rem; }
    .matrix-car-col { min-width: 92px; max-width: 98px; width: 92px; }
    .matrix-photo-wrap, .matrix-photo { height: 58px; }
    .page-header { flex-wrap: wrap; gap: 0.4rem 1rem; }
    .filter-toolbar input[type=search] { min-width: 0; width: 100%; flex-basis: 100%; }
}

.help-list a { color: #2563eb; }
body.feedback-open { overflow: hidden; }
.feedback-modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.feedback-modal[hidden] { display: none; }
.feedback-modal-backdrop { position: absolute; inset: 0; background: rgba(17, 24, 39, 0.45); }
.feedback-modal-card {
    position: relative; z-index: 1; width: 100%; max-width: 28rem;
    background: #fff; border-radius: 10px; padding: 1.1rem 1.15rem 1rem;
    box-shadow: 0 16px 40px rgba(17, 24, 39, 0.22);
}
.feedback-modal-card h2 { margin: 0 0 0.4rem; font-size: 1.15rem; }
.feedback-modal-card .help-text { margin: 0 0 0.85rem; }
.feedback-modal-card input[type=email],
.feedback-modal-card textarea { width: 100%; min-width: 0; display: block; }
.feedback-actions { display: flex; gap: 0.6rem; margin: 0.85rem 0 0; }
.feedback-status { margin: 0.5rem 0 0; font-size: 0.9rem; color: #065f46; }
.feedback-status.error { color: #b91c1c; }
.feedback-honeypot { position: absolute; left: -9999px; height: 0; overflow: hidden; }

/* Light luxury — public site only (admin stays on the default theme above). */
body.theme-luxury {
    --lux-bg: #f7f5f1;
    --lux-bg-deep: #f7f5f1;
    --lux-surface: #ffffff;
    --lux-surface-2: #fdf8ee;
    --lux-border: #e6e0d6;
    --lux-border-soft: #eeeae3;
    --lux-text: #1a1a1a;
    --lux-muted: #6b6560;
    --lux-gold: #b8862e;
    --lux-gold-text: #9a7024;
    --lux-gold-deep: #f3e4c4;
    --lux-gold-row: #f6edd8;
    --lux-gold-hover: #ead8ad;
    --lux-gold-ink: #3d2a12;
    --lux-read: #1a1a1a;
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
    background: var(--lux-bg);
    color: var(--lux-text);
}
body.theme-luxury .container { max-width: 1280px; }
body.theme-luxury .site-header {
    background: var(--lux-bg-deep);
    border-bottom: 1px solid var(--lux-border-soft);
    padding: 0.55rem 0;
}
body.theme-luxury .site-header a { color: var(--lux-text); }
body.theme-luxury .page-header { margin: 0.35rem 0 0.85rem; }
body.theme-luxury .page-header h1 {
    font-size: 1.65rem;
    font-weight: 650;
    letter-spacing: -0.03em;
    color: var(--lux-text);
}
body.theme-luxury .data-updated { color: var(--lux-muted); font-size: 0.78rem; }
body.theme-luxury .beta-badge {
    background: #f6edd8;
    color: #9a7024;
    border: 1px solid #e4d2a8;
    font-weight: 650;
}
body.theme-luxury .car-switch-label { color: var(--lux-muted); }
body.theme-luxury .picker-form-header select,
body.theme-luxury .home-hero select {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--lux-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b6560' d='M1.4 0 6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.7rem;
    border: 1px solid var(--lux-border);
    color: var(--lux-text);
    box-shadow: none;
}
body.theme-luxury .picker-form-header select:hover,
body.theme-luxury .home-hero select:hover { border-color: #cfc6b8; }
body.theme-luxury .picker-form-header select:focus,
body.theme-luxury .home-hero select:focus { outline: 2px solid var(--lux-gold); outline-offset: 1px; }
body.theme-luxury .picker-form-header select option,
body.theme-luxury .home-hero select option { background: var(--lux-surface); color: var(--lux-text); }

body.theme-luxury .home-hero { max-width: 34rem; padding: 1.25rem 0 2rem; }
body.theme-luxury .home-hero h1 {
    margin: 0 0 1.1rem;
    font-size: 1.85rem;
    font-weight: 650;
    letter-spacing: -0.03em;
    color: var(--lux-text);
}
body.theme-luxury .home-hero .card {
    background: var(--lux-surface);
    border: 1px solid var(--lux-border);
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(61, 42, 18, 0.08);
    padding: 1.1rem 1.15rem;
}
body.theme-luxury .home-hero .car-switch {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
}
body.theme-luxury .home-hero select {
    width: 100%;
    max-width: none;
    min-width: 0;
    border-radius: 10px;
    padding: 0.55rem 2rem 0.55rem 0.85rem;
}

body.theme-luxury .filter-toolbar {
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--lux-border);
    border-radius: 12px;
    padding: 0.5rem 0.7rem;
    margin: 0 0 0.75rem;
    gap: 0.6rem 0.7rem;
}
body.theme-luxury .match-mode {
    background: #fff;
    border: 1px solid var(--lux-border);
    border-radius: 999px;
    padding: 3px;
    gap: 0;
}
body.theme-luxury .match-mode .inline-check {
    position: relative;
    padding: 0.28rem 0.8rem;
    border-radius: 999px;
    color: var(--lux-muted);
    font-size: 0.78rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    cursor: pointer;
}
body.theme-luxury .match-mode .inline-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
body.theme-luxury .match-mode .inline-check:has(input:checked) {
    background: var(--lux-gold-deep);
    color: var(--lux-gold-ink);
}
body.theme-luxury .filter-toolbar input[type=search] {
    background: #fff;
    border: 1px solid var(--lux-border);
    border-radius: 999px;
    color: var(--lux-text);
    min-width: 180px;
    padding: 0.42rem 0.9rem;
}
body.theme-luxury .filter-toolbar input[type=search]::placeholder { color: #8a847c; }
body.theme-luxury .filter-toolbar input[type=search]:focus { outline: 2px solid var(--lux-gold); outline-offset: 1px; }
body.theme-luxury .button-secondary {
    background: #fff;
    color: var(--lux-text);
    border: 1px solid var(--lux-border);
    border-radius: 999px;
    padding: 0.4rem 0.9rem;
}
body.theme-luxury .button-secondary:hover { border-color: #cfc6b8; background: #fdf8ee; }
body.theme-luxury .listing-count { color: var(--lux-muted); }
body.theme-luxury .muted { color: var(--lux-muted); }

body.theme-luxury .matrix-scroll {
    background: var(--lux-surface);
    border: 1px solid var(--lux-border);
    border-radius: 12px;
    max-height: calc(100vh - 11rem);
    scrollbar-color: #d5cfc4 #f7f5f1;
}
body.theme-luxury .matrix-table { background: var(--lux-surface); }
body.theme-luxury .matrix-table th,
body.theme-luxury .matrix-table td {
    border-bottom-color: var(--lux-border-soft);
    border-right-color: var(--lux-border-soft);
    color: var(--lux-text);
}
body.theme-luxury .matrix-option-col {
    background: var(--lux-surface-2);
    color: var(--lux-read);
    font-weight: 550;
}
body.theme-luxury .matrix-table tbody tr.option-row .matrix-option-col {
    color: var(--lux-read);
}
body.theme-luxury .matrix-table thead th { background: #faf8f4; }
body.theme-luxury .matrix-table thead th.matrix-option-col { background: #faf8f4; }
body.theme-luxury .matrix-table thead th.matrix-hint { color: var(--lux-muted); }
body.theme-luxury .matrix-photo-wrap {
    background: #eeeae3;
    border-radius: 6px;
}
body.theme-luxury .matrix-car-title { color: var(--lux-text); }
body.theme-luxury .matrix-vin { color: var(--lux-muted); }
body.theme-luxury .matrix-car-meta { color: var(--lux-muted); }
body.theme-luxury .matrix-car-col a { color: var(--lux-gold-text); text-decoration: none; }
body.theme-luxury .matrix-car-col a:hover { text-decoration: underline; }

body.theme-luxury .matrix-table tbody tr.spec-row { background: var(--lux-gold-row); }
body.theme-luxury .matrix-table tbody tr.spec-row td { background: var(--lux-gold-row); }
body.theme-luxury .matrix-table tbody tr.spec-row .matrix-option-col {
    background: var(--lux-gold-deep);
    color: var(--lux-gold-ink);
}
body.theme-luxury .matrix-table tbody tr.spec-row .spec-cell {
    color: var(--lux-gold-ink);
    font-weight: 650;
}
body.theme-luxury .matrix-table tbody tr.spec-row .spec-label:hover { background: var(--lux-gold-hover); }
body.theme-luxury .matrix-table tbody tr.spec-row.is-sorted-row .spec-label {
    background: #ead8ad;
    color: var(--lux-gold-ink);
}

body.theme-luxury .matrix-table tbody tr.option-row:hover .matrix-option-col,
body.theme-luxury .matrix-table tbody tr.option-row:hover td {
    background: #f8f4ec;
}
body.theme-luxury .matrix-table tbody tr.is-filtered-row { background: #f8eed8; }
body.theme-luxury .matrix-table tbody tr.is-filtered-row .matrix-option-col {
    background: #f3e4c4;
    color: var(--lux-gold-ink);
}
body.theme-luxury .matrix-table tbody tr.is-filtered-row td { background: #f8eed8; }
body.theme-luxury .matrix-table .opt-yes { color: var(--lux-gold); font-size: 0.95rem; }
body.theme-luxury .matrix-table .opt-no { color: #b0aaa2; font-weight: 400; }

body.theme-luxury .page-help { border-top-color: var(--lux-border); }
body.theme-luxury .help-list { color: var(--lux-muted); }
body.theme-luxury .help-list a { color: var(--lux-gold-text); }
body.theme-luxury .help-text { color: var(--lux-muted); }

body.theme-luxury .feedback-modal-backdrop { background: rgba(40, 34, 26, 0.45); }
body.theme-luxury .feedback-modal-card {
    background: var(--lux-surface);
    border: 1px solid var(--lux-border);
    box-shadow: 0 16px 40px rgba(61, 42, 18, 0.16);
    color: var(--lux-text);
}
body.theme-luxury .feedback-modal-card h2 { color: var(--lux-text); }
body.theme-luxury .feedback-modal-card input[type=email],
body.theme-luxury .feedback-modal-card textarea {
    background: #fff;
    border: 1px solid var(--lux-border);
    border-radius: 8px;
    color: var(--lux-text);
}
body.theme-luxury .feedback-modal-card input[type=email]:focus,
body.theme-luxury .feedback-modal-card textarea:focus { outline: 2px solid var(--lux-gold); outline-offset: 1px; }
body.theme-luxury .feedback-modal-card button[type=submit] {
    background: var(--lux-gold);
    color: var(--lux-gold-ink);
    font-weight: 650;
}
body.theme-luxury .feedback-status { color: #166534; }
body.theme-luxury .feedback-status.error { color: #b91c1c; }

@media (max-width: 700px) {
    body.theme-luxury .page-header h1 { font-size: 1.28rem; }
    body.theme-luxury .home-hero h1 { font-size: 1.4rem; }
}

