.site-header { background: #1c1127; border-bottom-color: #b99b6240; }
.hero { background: radial-gradient(ellipse at 50% 35%, #4a2b57, #291732 43%, #170e20); text-align: center; }
.hero::before { background: linear-gradient(120deg, transparent 25%, #d4b77a16 43%, transparent 59%), linear-gradient(65deg, transparent 36%, #ffffff09 49%, transparent 64%); opacity: 1; }
.hero-overlay { background: none; inset: 28px; border: 1px solid #c9ab7038; }
.hero-content { width: min(950px, 88vw); margin: auto; padding: 42px 0 50px; }
.hero-actions { justify-content: center; margin: 30px 0 24px; }
.trust-note { justify-content: center; color: #baadbf; }
.button-orange { background: linear-gradient(110deg, #ba955b, #ead6a7, #c6a56a); color: #261731; box-shadow: 0 7px 24px #c3a56d18; }
.button-orange:hover { background: #e8d1a0; box-shadow: 0 0 24px #d6b77c44; }
.button-glass { border-color: #d6b77c80; background: #ffffff03; }
@media (max-width:650px) { .hero-overlay { inset:14px; } }

:root { --ink:#f5eddf; --paper:#1c1127; --muted:#c4b7cc; --line:#b99b6255; --purple-700:#e0c792; --purple-800:#42264f; --lavender:#2d1c38; --orange-dark:#e0bc80; }
body { background:#1c1127; color:var(--ink); }
.directory-section, .about-section { scroll-margin-top:100px; }
.section-heading h2, .dashboard-heading h2, .form-heading h2 { color:#f5eddf; }
.search-panel, .member-card, .empty-state { background:linear-gradient(135deg,#302038,#23162d); border:1px solid var(--line); }
.search-panel { box-shadow:0 10px 35px #10081935; }
.member-card { border-radius:16px; }
.member-card:hover { border-color:#d6b77c; box-shadow:0 0 26px #c8a66824; }
.member-card-top { border-bottom:1px solid #d6b77c88; }
.member-card-top::before { opacity:.3; background:linear-gradient(115deg,transparent 15%,#fff5 50%,transparent 85%); }
.avatar { background:#24162ee8; border:1px solid #e2c68d; color:#f4dfb2; box-shadow:0 8px 22px #10081940; }
.member-meta, .approval-item { border-color:var(--line); }
.category-label { color:#ead3a4; font-size:.75rem; }
.chip { border-color:var(--line); color:#e9d7b4; font-size:.9rem; }
.chip:hover, .chip.active { background:#dec797; border-color:#dec797; color:#24152e; }
.about-story { border:1px solid var(--line); background:#24152e; }
.values-card { border:1px solid var(--line); background:#302039; }
.values-card > div { border-color:var(--line); }
.button-purple { border:1px solid #d6b77c88; background:#493055; color:#f3e7d3; }
.button-purple:hover { box-shadow:0 0 24px #d6b77c30; }
.dialog { background:#271a31; color:var(--ink); border:1px solid #c5a86b; }
.dialog-close { color:#f1dbaf; background:#24162f; border:1px solid var(--line); }
.profile-hero { position:relative; isolation:isolate; }
.profile-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#170d225c,#170d2280); }
.profile-hero h2, .profile-hero p { color:#fff7ec; }
.fact { background:#201429; border:1px solid var(--line); }
.social-links a { color:#ead3a4; }
.social-links a:hover { background:#4a3156; border-color:#d6b77c; box-shadow:0 0 18px #d6b77c20; }
form input, form select, form textarea, .select-wrap select, select option { background:#21142b; color:#f4eadb; border-color:var(--line); color-scheme:dark; }
input::placeholder, textarea::placeholder { color:#ac9db5; opacity:1; }
.search-box input { color:#f5eddf; }
.search-box:focus-within, .select-wrap:focus-within { outline:2px solid #d6b77c; outline-offset:2px; border-radius:8px; }
.color-preview { display:block; height:34px; border:1px solid #d6b77c99; border-radius:8px; }
.approval-actions button { background:#32203d; color:#efdfc1; border-color:var(--line); }
.approval-actions .approve { background:#dec797; color:#24152e; }
.approval-actions .delete-listing { border-color:#c98d8d; color:#ffd7d7; }
.approval-actions .delete-listing:hover, .approval-actions .delete-listing:focus-visible { background:#6f2935; border-color:#e5a3aa; color:#fff; }
footer { border-top:1px solid var(--line); }

/* One illuminated plum surface, from the cover through each member flow. */
:root {
  --plum-light: linear-gradient(120deg, transparent 25%, #d4b77a16 43%, transparent 59%), linear-gradient(65deg, transparent 36%, #ffffff09 49%, transparent 64%), radial-gradient(ellipse at 50% 35%, #4a2b57, #291732 43%, #170e20);
}
.hero, .dialog, .about-story, .values-card {
  background: var(--plum-light);
}
.hero::before { background: none; }
body { background: var(--plum-light); background-attachment: fixed; }
.member-card, .search-panel, .empty-state { background: linear-gradient(120deg, #d4b77a0b, transparent 65%), linear-gradient(135deg, #42294e, #2b1a35); }
form input, form select, form textarea, .select-wrap select {
  background: #69447730;
  border-color: #d6b77c70;
  box-shadow: inset 0 1px 0 #fff1;
}
select option { background: #392345; color: #f4eadb; }
form input:focus, form select:focus, form textarea:focus {
  background: #80578e30;
  box-shadow: 0 0 18px #d6b77c16;
}
.other-platforms, .fact { background: #ffffff04; border-color: #d6b77c55; }
.dialog-close { background: #42294e; }
footer { background: linear-gradient(135deg,#2e1c39,#1c1127); }
.search-panel { margin-bottom: 30px; }
.avatar { overflow: hidden; }
.avatar img { width:100%; height:100%; object-fit:cover; }
.photo-upload { border:1px solid var(--line); border-radius:16px; padding:20px; margin-bottom:24px; }
.photo-upload p { font-size:.9rem; color:var(--muted); margin-bottom:12px; }
#photoPreview { width:104px; height:104px; border:1px solid #d6b77c; border-radius:22px; object-fit:cover; margin-bottom:16px; }
[hidden] { display:none !important; }
button:disabled { opacity:.65; cursor:wait; }
.manage-actions { display:flex; flex-wrap:wrap; gap:16px; margin:24px 0; align-items:center; }
#manageTitle, #deleteTitle { font-size:clamp(1.8rem,4vw,2.8rem); }
#directoryStatus, #manageStatus, #adminStatus, #deleteStatus { color:#ead3a4; }
.approval-actions { flex-wrap:wrap; }
.admin-dashboard-dialog { width:min(1040px,calc(100% - 28px)); padding:38px; }
.dashboard-heading { max-width:720px; margin:0 52px 28px 0; }
.dashboard-heading h2 { font-size:clamp(2rem,5vw,3.4rem); margin:6px 0 12px; }
.admin-counts { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:0 0 28px; }
.admin-counts > div { padding:18px; border:1px solid var(--line); border-radius:14px; background:#ffffff06; }
.admin-counts strong { display:block; color:#ead3a4; font-family:"Libre Baskerville",serif; font-size:clamp(1.6rem,3vw,2.4rem); }
.admin-counts span { display:block; margin-top:4px; color:var(--muted); font-size:.82rem; }
.dashboard-section { padding:22px 0; border-top:1px solid var(--line); }
.dashboard-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.dashboard-section h3 { margin:0; font-size:1.15rem; }
.count-badge { min-width:32px; padding:5px 10px; border:1px solid var(--line); border-radius:999px; color:#ead3a4; text-align:center; }
.dashboard-list, .approval-list { display:grid; gap:10px; }
.dashboard-list-item, .approval-item { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#ffffff05; }
.dashboard-list-item p, .approval-item p { margin:3px 0 0; color:var(--muted); font-size:.88rem; }
.dashboard-list-item .text-button { flex:0 0 auto; }
.dashboard-list-identity { display:flex; align-items:center; gap:14px; min-width:0; }
.dashboard-list-identity .avatar { width:54px; height:54px; flex:0 0 54px; font-size:1rem; border-radius:14px; }
.listing-status { display:inline-block; margin-top:7px; color:#ead3a4; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }

/* Member account access extends the existing plum-and-champagne system. */
.auth-pending .protected-content,
.signed-out .protected-content,
.auth-pending #memberActions,
.signed-out #memberActions { display:none !important; }
.signed-in #authActions { display:none !important; }
.signed-out #authActions { display:flex !important; }
.auth-pending .guest-only, .signed-in .guest-only, .signed-out .member-only { display:none !important; }
.account-menu { position:relative; }
.account-menu summary { display:flex; align-items:center; gap:9px; min-height:40px; padding:5px 13px 5px 7px; border:1px solid #d6b77c70; border-radius:999px; color:#f5eddf; background:linear-gradient(135deg,#493055,#2d1c38); cursor:pointer; list-style:none; font-size:.86rem; font-weight:700; box-shadow:inset 0 1px 0 #fff1,0 8px 22px #10081928; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-menu summary:hover, .account-menu summary:focus-visible { border-color:#e6cd99; box-shadow:0 0 22px #d6b77c25; }
.account-menu summary:focus-visible { outline:3px solid #e8d1a0; outline-offset:3px; }
.account-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#291732; background:linear-gradient(135deg,#efd9aa,#bd975d); }
.account-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.account-caret { color:#e3ca96; transform:translateY(-1px); transition:transform .2s ease; }
.account-menu[open] .account-caret { transform:rotate(180deg) translateY(-1px); }
.account-menu-panel { position:absolute; top:calc(100% + 12px); right:0; z-index:5; width:210px; padding:10px; border:1px solid #d6b77c66; border-radius:15px; background:linear-gradient(145deg,#42294e,#24162f); box-shadow:0 22px 50px #0e071760; }
.account-menu-panel p { margin:5px 8px 8px; color:#cbbbd2; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.account-menu-action { width:100%; padding:11px 12px; border:0; border-radius:9px; color:#f5eddf; background:transparent; cursor:pointer; text-align:left; font-weight:700; }
.account-menu-action:hover, .account-menu-action:focus-visible { color:#2a1833; background:linear-gradient(110deg,#ba955b,#ead6a7,#c6a56a); outline:none; }
.account-menu-action + .account-menu-action { margin-top:3px; border-top:1px solid #d6b77c33; }
.auth-dialog { width:min(590px,calc(100% - 28px)); }
.auth-brand { display:flex; align-items:center; gap:18px; margin:0 44px 24px 0; }
.auth-brand img { width:78px; height:78px; object-fit:contain; flex:0 0 auto; }
.auth-brand .eyebrow { margin-bottom:8px; }
.auth-brand h2 { font-size:clamp(2rem,5vw,3rem); margin-bottom:0; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:6px; margin-bottom:24px; border:1px solid var(--line); border-radius:14px; background:#ffffff05; }
.auth-tabs button { min-height:44px; border:0; border-radius:9px; background:transparent; color:#cfbfd8; font-weight:700; cursor:pointer; }
.auth-tabs button[aria-selected="true"] { background:linear-gradient(110deg,#ba955b,#ead6a7,#c6a56a); color:#261731; }
.auth-panel { padding-top:2px; }
.auth-secondary { display:block; margin:18px auto 0; color:#ead3a4; }
.field-help { color:var(--muted); font-size:.82rem; line-height:1.5; margin:-9px 0 17px; }

@media (max-width:650px) {
  .site-header { padding-inline:16px; gap:12px; }
  .brand-kicker { letter-spacing:.18em; font-size:.58rem; }
  .brand-name { font-size:.82rem; }
  .menu-button { flex:0 0 auto; }
  .hero-content { width:min(100% - 40px,560px); padding:34px 0 42px; }
  .hero-logo { width:120px; margin-bottom:16px; }
  .hero h1 { font-size:clamp(2.5rem,14vw,4rem); }
  .hero h1 small { letter-spacing:.18em; }
  .directory-section { padding:70px 18px 82px; }
  .section-heading h2 { font-size:clamp(2.15rem,11vw,3.2rem); overflow-wrap:anywhere; }
  .search-box { min-width:0; }
  .search-box input { min-width:0; }
  .dialog { width:calc(100% - 18px); max-height:calc(100dvh - 18px); border-radius:20px; }
  .form-dialog { padding:24px 18px 30px; }
  .dialog-close { top:8px; margin:8px 8px 0 0; }
  .auth-brand { gap:12px; margin-right:38px; }
  .auth-brand img { width:58px; height:58px; }
  .auth-tabs button { font-size:.9rem; }
  .account-menu { width:100%; }
  .account-menu summary { justify-content:center; }
  .account-menu-panel { position:static; width:100%; margin-top:9px; box-shadow:none; }
  .manage-actions { align-items:stretch; flex-direction:column; }
  .manage-actions .button { width:100%; }
  .photo-upload { padding:16px; }
  .admin-dashboard-dialog { padding:26px 18px 30px; }
  .admin-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-counts > div:first-child { grid-column:1 / -1; }
  .dashboard-list-item, .approval-item { align-items:flex-start; flex-direction:column; }
  form input, form select, form textarea { font-size:16px; }
}

@media (max-width:370px) {
  .brand-name { font-size:.74rem; }
  .menu-button { padding:7px 11px; }
  .hero-overlay { inset:10px; }
  .auth-brand img { display:none; }
}
