/* Public appearance. Semantic palette shared by both breakpoints. */
:root {
  --theme-page: #f6f7fb;
  --theme-surface: #fff;
  --theme-raised: #f1f3f8;
  --theme-text: #1e293b;
  --theme-muted: #64748b;
  --theme-line: #dfe5ef;
  --theme-accent: #6354db;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --theme-page: #101522;
  --theme-surface: #192131;
  --theme-raised: #222d40;
  --theme-text: #ecedf5;
  --theme-muted: #b0bdd0;
  --theme-line: #354157;
  --theme-accent: #b2a5ff;
  --color-text-primary: var(--theme-text);
  --color-text-secondary: var(--theme-muted);
  --color-surface: var(--theme-surface);
  --color-surface-soft: var(--theme-raised);
  --color-border: var(--theme-line);
  --glass-bg: rgba(25,33,49,.93);
  --glass-border: var(--theme-line);
  --participate-surface: linear-gradient(135deg,#302948,#25233e);
  --participate-surface-hover: linear-gradient(135deg,#3c3358,#312d4b);
  --participate-text: #c2b8ff;
  --participate-icon: #c2b8ff;
  --participate-shadow: none;
}
.appearance-control { min-width: 0; padding: 0; border: 0; }
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-cta-tickets--soldout,.btn-buy-tickets--soldout) {
  background: var(--theme-raised) !important;
  color: var(--theme-muted) !important;
  border: 1px solid var(--theme-line) !important;
  box-shadow: none !important;
}
.appearance-control legend { float: none; width: auto; }
.appearance-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--theme-line); border-radius: 16px; background: var(--theme-raised); }
.appearance-option { position: relative; min-width: 0; cursor: pointer; }
.appearance-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.appearance-option-face { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 6px 3px; border: 1px solid transparent; border-radius: 12px; color: var(--theme-muted); font-size: .78rem; font-weight: 650; line-height: 1.3; }
.appearance-option-face svg { width: 16px; height: 16px; flex-shrink: 0; }
.appearance-option:hover .appearance-option-face { background: var(--theme-surface); color: var(--theme-text); }
.appearance-option input:checked + .appearance-option-face { color: var(--theme-accent); background: var(--theme-surface); border-color: var(--theme-accent); box-shadow: 0 2px 6px #0000000a; }
.appearance-option input:focus-visible + .appearance-option-face { outline: 2px solid var(--theme-accent); outline-offset: 2px; }
html:root[data-theme="dark"] body.public-theme-preview {
  background: var(--theme-page) !important; color: var(--theme-text) !important;
  --listing-page-background: var(--theme-page);
  --bg-gradient: linear-gradient(var(--theme-page), var(--theme-page));
}
html:root[data-theme="dark"] body.public-theme-preview :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(p,.text-muted,.text-secondary,.text-dark) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.card,.modal-content,.dropdown-menu,.offcanvas,.bg-white,
 .home-feed-card,.home-feed-event-extension,.home-feed-event-info,.home-feed-rail-card,
 .home-feed-tile,.home-feed-section,.home-sidebar-card,.personal-rail-card,.personal-library-card,
 .desktop-editorial-rail,.desktop-contribute-card,.newsletter-promo-section,.home-footer,
 .place-desktop-info-card,.place-desktop-visit-card,.place-desktop-actions-card,
 .mobile-place-section,.mobile-detail-card,.more-menu-drawer,.global-search-results) {
  background: var(--theme-surface) !important; border-color: var(--theme-line) !important;
  box-shadow: 0 6px 24px #00000012 !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.navbar,.navbar.scrolled,.public-desktop-header,.mobile-bottom-nav,
 .mobile-detail-header,.mobile-sticky-actions,.mobile-action-bar,.home-feed-intro,
 .global-search-category-nav,.more-menu-drawer-header,.more-menu-drawer-footer) {
  background: rgba(25,33,49,.97) !important; border-color: var(--theme-line) !important;
  color: var(--theme-text) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.header-actions .btn-light,.btn-light,.nav-pills,.desktop-nav,
 .form-control,.form-select,.input-group-text,.global-search-category-chip,
 .personal-rail-card-count-wrap,.personal-library-summary,.home-feed-nav,
 .place-desktop-address,.place-desktop-website-icon,.place-about-tag,.mobile-place-tag) {
  background: var(--theme-raised) !important; color: var(--theme-text) !important;
  border-color: var(--theme-line) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.nav-link,.home-feed-card-title,.home-feed-event-title,
 .home-feed-event-venue,.event-card__venue-name,.place-desktop-address-text,
 .place-desktop-schedule-lines,.place-desktop-website-link,.home-footer-heading,
 .home-footer-list a,.mobile-section-title,.mobile-place-description,.rich-content) {
  color: var(--theme-text) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.home-feed-card-excerpt,.event-card__address,
 .home-feed-event-date,.home-feed-card-subtitle,.place-desktop-card-intro,
 .home-footer-tagline,.home-footer-bottom,.mobile-schedule-row,.mobile-address-row) {
  color: var(--theme-muted) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.nav-link.active,.global-search-category-chip.active) {
  background: #342d50 !important; color: #c3b8ff !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.home-save-btn,.home-calendar-btn,.place-desktop-quick-action,
 .public-share-btn,.mobile-place-actions .btn,.mobile-event-actions .btn) {
  background: var(--theme-raised) !important; border-color: var(--theme-line) !important;
  color: #c5baff !important; box-shadow: none !important;
}
html:root[data-theme="dark"] body.public-theme-preview .home-save-btn { color: #ff9ebc !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.form-control,.form-select)::placeholder { color: #9facc0 !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(hr,.border,.border-top,.border-bottom) { border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .btn-close { filter: invert(1) grayscale(1) brightness(1.8); }
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-hero {
  background: linear-gradient(125deg,rgba(27,47,46,.94),rgba(25,33,49,.97)) !important;
  border-color: #354c4c !important; box-shadow: 0 12px 36px #0003 !important;
}
/* Portrait photos retain their full frame without a light matte in dark mode. */
html:root[data-theme="dark"] body.place-page .place-desktop-carousel-extra {
  background: var(--theme-page);
}
/* Shared location menu: readable links and page frames at every breakpoint. */
html:root[data-theme="dark"] body.public-theme-preview .place-menu-online-link {
  color: var(--theme-text);
  background: var(--theme-raised);
  border-color: var(--theme-line);
}
html:root[data-theme="dark"] body.public-theme-preview .place-menu-online-link:is(:hover,:active) {
  color: var(--theme-text);
  background: #2b3550;
  border-color: var(--theme-accent);
  box-shadow: 0 7px 16px #0003;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.place-menu-online-copy strong,.place-menu-pages-header h3) {
  color: var(--theme-text) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.place-menu-online-copy small,.place-menu-pages-header span) {
  color: var(--theme-muted);
}
html:root[data-theme="dark"] body.public-theme-preview .place-menu-online-icon {
  color: var(--theme-accent);
  background: var(--theme-surface);
  box-shadow: none;
}
html:root[data-theme="dark"] body.public-theme-preview .place-menu-online-arrow {
  color: var(--theme-accent);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.place-menu-online-link,.place-menu-page-image):focus-visible {
  outline-color: var(--theme-accent);
}
html:root[data-theme="dark"] body.public-theme-preview .place-menu-pages.has-online-menu {
  border-color: var(--theme-line);
}
html:root[data-theme="dark"] body.public-theme-preview .place-menu-page-frame {
  background: var(--theme-page);
  border-color: var(--theme-line);
  box-shadow: 0 5px 14px #0003;
}
html:root[data-theme="dark"] body.public-theme-preview .place-menu-page-image {
  background: var(--theme-page);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-hero-copy,.place-desktop-hero-content) { background: transparent !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-primary-action--glovo,.mobile-order-platform--glovo) { color: #f4d87e !important; background: #ffc24420 !important; border-color: #ffc24460 !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-primary-action--wolt,.mobile-order-platform--wolt) { color: #7adbef !important; background: #00c2e81a !important; border-color: #00c2e855 !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-primary-action--local-delivery,.mobile-order-platform--braila-delivery) { color: #c8acff !important; background: #7c3aed26 !important; border-color: #a477ee60 !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-primary-action svg { stroke: currentColor !important; }
/* Keep photography, posters, logos and map tiles untouched. */
html:root[data-theme="dark"] body.public-theme-preview :is(.header-desktop-nav,.header-actions .btn,.header-hamburger-btn,.header-desktop-nav-link,
 .place-about-tags .place-about-tag,.place-about-tags a,.place-about-tags span,.place-desktop-hero-badges > *,
 .place-desktop-hero-action:not(.is-primary),.place-desktop-website-icon,.place-desktop-map-address,
 .home-feed-tile-body,.home-feed-card-main--body,.event-card__extension,.home-feed-event-extension) {
  background: var(--theme-raised) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important;
}
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-hero-overlay { background: rgba(18,29,39,.92) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-rating,.place-desktop-rating strong,.place-desktop-hero-fact,
 .place-desktop-hero-fact-label,.place-desktop-website-link,.place-desktop-website-link span,
 .header-desktop-nav-link,.home-feed-title a,.home-feed-tile-title,.home-feed-event-date-content,
 .home-feed-place-type-tag,.home-feed-place-location,.desktop-editorial-title,.desktop-editorial-link,.personal-rail-card-label) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-status.is-closed { color: #ffabb8 !important; background: #462c39 !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-status.is-open { color: #84dfbf !important; background: #1b4339 !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-about-tags a { color: #c7b4ff !important; }
/* Event and place taxonomy labels must follow the selected appearance. */
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-vibe-tag-badge,.place-tag-pill) {
  background: var(--theme-raised) !important;
  border-color: var(--theme-line) !important;
  color: var(--theme-text) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-vibe-tag-badge,.place-tag-pill) :is(svg,.lucide) {
  color: #b7adff !important;
  stroke: currentColor !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-hero-fact strong:not(.place-desktop-status),.place-desktop-hero-fact small) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.header-hamburger-btn svg,.header-actions svg,.header-desktop-nav svg,.place-about-tags svg) { color: #b7adff !important; stroke: currentColor !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(#btn-dice-randomizer,#btn-global-search,#userAccountDropdown) { background: var(--theme-raised) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.public-desktop-hero,.desktop-editorial-module,.newsletter-promo-form-shell,.home-feed-mode,.home-feed-review,.home-feed-rail-item,.home-feed-place,.home-feed-review-card) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .home-feed-place :is(.home-feed-card-main--body,.home-feed-actions) { background: var(--theme-surface) !important; }
html:root[data-theme="dark"] body.public-theme-preview .homepage-desktop-rail { background: transparent !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.event-card__glass) { background: rgba(25,33,49,.94) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.home-feed-mode__option,.desktop-editorial-module strong,.desktop-editorial-module a,.public-desktop-hero h1,.public-desktop-hero p,.home-feed-rail h2 a,.home-feed-place-type-tag) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.home-feed-mode__option.is-active,.personal-library-stat) { background: var(--theme-raised) !important; color: #c6baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .personal-library-stat--saved { color: #ff9ebc !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.home-calendar-btn svg,.home-participate-btn svg) { color: #c6baff !important; stroke: currentColor !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.event-card__date,.event-card__date-copy,.home-feed-event-date-content,.event-card__date-desktop) { color: #c4baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .hero-large-title { -webkit-text-fill-color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(#btn-dice-randomizer,#btn-global-search,#userAccountDropdown) svg { color: #c4baff !important; stroke: currentColor !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(#mobile-place-actions-container,.mobile-place-cta-icon,.mobile-place-cta-primary:not([href^="tel:"]):not(.mobile-place-cta-primary-nav),.mobile-header) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; color: var(--theme-text) !important; box-shadow: 0 -4px 20px #0003 !important; }
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass { box-shadow: 0 6px 24px #0003 !important; }
html:root[data-theme="dark"] body.public-theme-preview .desktop-editorial-module :is(small,span) { color: var(--theme-muted) !important; }
/* Shared “Mai descoperă” links: keep hover and keyboard focus on dark surfaces. */
html:root[data-theme="dark"] body.public-theme-preview .desktop-editorial-link:is(:hover,:focus-visible) {
  background: var(--theme-raised);
  background: color-mix(in srgb, var(--desktop-editorial-accent) 12%, var(--theme-raised));
}
html:root[data-theme="dark"] body.public-theme-preview .desktop-editorial-link:focus-visible {
  outline: 2px solid var(--theme-accent);
  outline-offset: 2px;
}

html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-place-hero-card,.mobile-glance-card,.mobile-program-schedule,.mobile-event-map-dropdown,.editorial-review-spotlight,.promotion-details-sheet .modal-footer,.mobile-place-types-popover) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; box-shadow: none !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-glance-value,.mobile-place-rating-link,.mobile-program-day-name,.mobile-program-day-hours,.mobile-place-hero-title,.editorial-review-spotlight-title) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-glance-label,.mobile-program-detail,.mobile-program-sep,.mobile-program-note) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-glance-action,.mobile-glance-icon,.mobile-program-day.is-today,.detail-close-btn) { background: var(--theme-raised) !important; color: #c4baff !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .mobile-glance-row { border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .mobile-program-state.is-closed { color: #ffabb8 !important; }
html:root[data-theme="dark"] body.public-theme-preview .mobile-program-state.is-open { color: #84dfbf !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.modal-header,.modal-body,.global-search-header,.global-search-section,.global-search-result) { background: var(--theme-surface) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] #globalSearchModal :is(strong,h5,a) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] #global-search-input { background: var(--theme-raised) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-avatar-in-card { background: white; }
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-identity-block { background: transparent !important; }
/* Blend the photo into the page, including behind the overlapping title card. */
html:root[data-theme="dark"] body.place-page .mobile-event-hero-scrim {
  background: linear-gradient(180deg,
    rgba(15, 23, 42, .75) 0%,
    rgba(15, 23, 42, .2) 18%,
    rgba(15, 23, 42, 0) 50%,
    color-mix(in srgb, var(--theme-page) 0%, transparent) 75%,
    color-mix(in srgb, var(--theme-page) 50%, transparent) 88%,
    color-mix(in srgb, var(--theme-page) 95%, transparent) 96%,
    var(--theme-page) 100%) !important;
}
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-quick-action.home-save-btn { color: #ff9ebc !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-desktop-hero-utility { border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-jumps,.global-search-result-card) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-jumps button,.search-group-map-button,.global-search-clear,.global-search-close) { background: var(--theme-raised) !important; color: #c6baff !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-result-card *,.search-group-title) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-card :is(strong,h3,h4) { color: var(--theme-text) !important; }

/* Rails, recommendations and facilities share the same dark surfaces. */
html:root[data-theme="dark"] body.public-theme-preview :is(.home-rail-card,.place-recommendation-card) {
  background: var(--theme-surface) !important; border-color: var(--theme-line) !important; box-shadow: 0 6px 20px #0002 !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.home-rail-card-body,.place-recommendation-body) { background: var(--theme-surface) !important; }
/* Location events share the surrounding detail panels' dark surface. */
html:root[data-theme="dark"] body.place-page .place-events-mobile {
  border-color: var(--theme-line) !important;
  box-shadow: none !important;
}
@media (min-width: 992px) {
  html:root[data-theme="dark"] body.place-page .place-events-mobile {
    background: var(--theme-surface) !important;
  }
}
html:root[data-theme="dark"] body.place-page .place-events-mobile-header h2 {
  color: var(--theme-text) !important;
}
html:root[data-theme="dark"] body.place-page .place-events-mobile-header > svg {
  color: var(--theme-accent) !important;
  stroke: currentColor !important;
}
html:root[data-theme="dark"] body.place-page .place-events-rail .home-rail-card-media {
  background: var(--theme-raised) !important;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.home-rail-card-title,.place-recommendation-body h3,.home-rail-more,.home-section-header a) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.home-rail-card-meta,.home-rail-card-meta-text,.place-recommendation-vibes,.home-rail-place-types) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.home-rail-more-circle,.home-rail-cinema-placeholder,.place-facility-item,.place-facilities-toggle) { background: var(--theme-raised) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-facility-item svg,.place-recommendation-category,.place-recommendation-category-item,.home-rail-card-meta-icon) { color: #c4baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-recommendations { border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-recommendation-card.is-promoted,.home-rail-card.is-promoted) { border-color: #a47d3e !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-desktop-map-sidebar-card button,.place-desktop-map-sidebar-card .btn) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview .home-section-chevron { background: var(--theme-raised) !important; border-color: var(--theme-line) !important; color: #c4baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .editorial-review-spotlight__link { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .editorial-review-spotlight__body > strong { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview .editorial-review-spotlight__intro { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.editorial-review-spotlight__kicker,.editorial-review-spotlight__action) { color: #c4baff !important; }

/* Prezență online și descriere: aceeași suprafață, fără fade alb. */
html:root[data-theme="dark"] body.place-page .place-mobile-website-cta {
  background: transparent !important;
  color: #d3caff !important;
  box-shadow: none;
}
html:root[data-theme="dark"] body.place-page .place-mobile-website-icon {
  background: var(--theme-raised);
  color: #d3caff;
}
html:root[data-theme="dark"] body.place-page .place-mobile-website-cta:hover {
  color: #eee9ff !important;
}
html:root[data-theme="dark"] body.place-page .place-mobile-socials { border-color: var(--theme-line); }
html:root[data-theme="dark"] body.place-page .place-mobile-socials-label { color: var(--theme-muted); }
html:root[data-theme="dark"] body.place-page .place-desktop-hero-socials .place-desktop-website-cta {
  color: #d3caff !important;
}
html:root[data-theme="dark"] body.place-page .place-desktop-hero-socials .place-desktop-website-cta > svg:first-child {
  color: #d3caff;
  background: var(--theme-raised);
}
html:root[data-theme="dark"] body.place-page .mobile-description-wrapper.collapsed::after {
  background: linear-gradient(to bottom, rgba(25, 33, 49, 0), var(--theme-surface) 88%) !important;
}
html:root[data-theme="dark"] body.place-page .mobile-description-toggle { color: #c4baff !important; }
@media (min-width: 992px) {
  html:root[data-theme="dark"] body.place-page .place-desktop-quick-actions { border-top: 0; }
}

/* Meniul principal: suprafețe, stări și accente consistente în tema dark. */
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) {
  --bs-body-color: var(--theme-text);
  --bs-tertiary-bg: var(--theme-raised);
  background: var(--theme-page) !important;
  border-color: var(--theme-line) !important;
  color: var(--theme-text);
}
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) :is(.app-menu-card,.app-feedback-card) {
  background: var(--theme-surface);
  border: 1px solid var(--theme-line);
}
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-row { color: var(--theme-text); border-bottom-color: var(--theme-line); }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-row:is(:hover,:focus-visible):not(:disabled) { background: var(--theme-raised); color: var(--theme-text); }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-row:active:not(:disabled) { background: #303b52; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-row:focus-visible { outline: 2px solid var(--theme-accent); outline-offset: -3px; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-row:disabled { opacity: .6; background: transparent; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-label { color: var(--theme-text); }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) :is(.app-menu-sublabel,.app-menu-group-title,.app-menu-group-note,.app-menu-action,.more-menu-drawer-loading,.more-menu-drawer-error) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-badge-soon { background: var(--theme-raised); color: var(--theme-muted); }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .tile-indigo { background: #a99bff1c; color: #c4baff; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .tile-rose { background: #fb71851c; color: #fda4af; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .tile-amber { background: #fbbf241c; color: #fcd477; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .tile-emerald { background: #34d3991c; color: #7ee4bd; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .tile-sky { background: #38bdf81c; color: #83d5fa; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .tile-slate { background: #94a3b81c; color: #c3cfdf; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) :is(.text-indigo,.app-menu-note:not(.text-muted)) { color: #c4baff !important; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .text-success { color: #7ee4bd !important; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-account-logout { color: #fda4af; border-color: #fb718550; background: #fb71851c; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-account-logout:is(:hover,:focus-visible) { color: #ffd2d9; border-color: #fb7185; background: #fb71852e; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-modern-switch { background-color: #56647a !important; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-modern-switch:checked { background-color: #8270ec !important; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-modern-switch:focus-visible { box-shadow: 0 0 0 3px #b2a5ff66 !important; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .btn-outline-primary { color: #c4baff; border-color: #8071bf; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .btn-outline-primary:is(:hover,:focus-visible) { color: var(--theme-text); background: #403560; }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .more-menu-drawer-close { background-color: transparent; border: 0; box-shadow: none; }
html:root[data-theme="dark"] body.more-menu-is-open::before { background: var(--theme-page) !important; }
html:root[data-theme="dark"] body.more-menu-is-open [data-more-menu-trigger] svg { color: #c4baff !important; stroke: currentColor !important; }
html:root[data-theme="dark"] body.public-theme-preview .header-account-dropdown { --bs-dropdown-link-hover-bg: var(--theme-raised); --bs-dropdown-link-hover-color: var(--theme-text); --bs-dropdown-link-color: var(--theme-text); --bs-dropdown-divider-bg: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview .header-account-dropdown .dropdown-item { color: var(--theme-text); }
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .more-desktop-column > .d-flex { color: #fda4af !important; background: #fb718514 !important; }
html:root[data-theme="dark"] #ghidbrAuthModal :is(.auth-modal-benefits strong,.form-label) { color: var(--theme-text); }
html:root[data-theme="dark"] #ghidbrAuthModal .auth-modal-benefits span span { color: var(--theme-muted); }
html:root[data-theme="dark"] #ghidbrAuthModal :is(.auth-modal-chip,.auth-modal-tile--indigo) { background: #a99bff1c; color: #c4baff; }
html:root[data-theme="dark"] #ghidbrAuthModal .auth-modal-tile--rose { background: #fb71851c; color: #fda4af; }
html:root[data-theme="dark"] #ghidbrAuthModal .btn-primary { background: #6854d7; border-color: #9380f3; color: #fff; }
html:root[data-theme="dark"] #ghidbrAuthModal .btn-primary:is(:hover,:focus-visible) { background: #7762e2; }
html:root[data-theme="dark"] #ghidbrAuthModal .form-check-input:not(:checked) { background-color: var(--theme-raised); border-color: #8896ae; }
html:root[data-theme="dark"] body.mobile-feed-app-shell.has-mobile-nav .navbar-glass.home-app-shell :is(#btn-dice-randomizer,#btn-global-search,#userAccountDropdown) {
  background: var(--theme-raised) !important; border-color: var(--theme-line) !important; color: var(--theme-text) !important; box-shadow: none !important;
}
html:root[data-theme="dark"] body.mobile-feed-app-shell.has-mobile-nav .navbar-glass.home-app-shell :is(#btn-dice-randomizer,#btn-global-search,#userAccountDropdown) :is(svg,span),
html:root[data-theme="dark"] body.mobile-feed-app-shell.has-mobile-nav .navbar-glass.home-app-shell .header-hamburger-btn svg {
  color: #c4baff !important; stroke: currentColor !important;
}
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass :is(.header-hamburger-btn,.header-account-btn,#btn-dice-randomizer,#btn-global-search):focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 3px; }
html:root[data-theme="dark"] body.public-theme-preview .header-hamburger-btn { border-radius: 50%; }

/* Acțiunile locațiilor din feed au aceeași suprafață pe mobil și desktop. */
html:root[data-theme="dark"] body.homepage-view .home-feed-place .home-feed-action:not(.home-save-btn) {
  background: var(--theme-raised) !important;
  border-color: #536078 !important;
  color: var(--theme-text) !important;
  box-shadow: none;
}
html:root[data-theme="dark"] body.homepage-view .home-feed-place .home-feed-action:not(.home-save-btn) svg { color: #c4baff !important; stroke: currentColor; }
html:root[data-theme="dark"] body.homepage-view .home-feed-place .home-feed-action:not(.home-save-btn):is(:hover,:focus-visible,:active) {
  background: #343450 !important;
  border-color: #aa9bea !important;
  color: #eee9ff !important;
}
html:root[data-theme="dark"] body.homepage-view .home-feed-place .home-feed-action:focus-visible { outline-color: #c4baff; }

/* Fundalul de hover trebuie să rămână distinct de suprafața barei. */
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link {
  --public-nav-accent: #b7adff;
  --public-nav-tint: #a99bff26;
  background: transparent !important;
  color: var(--theme-muted) !important;
  box-shadow: none !important;
}
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link:nth-child(2) { --public-nav-accent: #c6a5ff; --public-nav-tint: #b18aff26; }
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link:nth-child(3) { --public-nav-accent: #7ee4bd; --public-nav-tint: #34d39926; }
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link:nth-child(4) { --public-nav-accent: #f9a8d4; --public-nav-tint: #f472b626; }
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link:nth-child(5) { --public-nav-accent: #fcd477; --public-nav-tint: #fbbf2426; }
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link svg { color: var(--public-nav-accent) !important; stroke: currentColor !important; }
html:root[data-theme="dark"] body.public-theme-preview .navbar-glass .header-desktop-nav-link:is(:hover,:focus-visible) {
  background: var(--public-nav-tint) !important;
  color: var(--public-nav-accent) !important;
  box-shadow: inset 0 0 0 1px var(--public-nav-tint) !important;
}
html:root[data-theme="dark"] body.homepage-view.public-surface--home .navbar-glass .header-desktop-nav-link:first-child,
html:root[data-theme="dark"] body.place-page:not(.public-surface--shopping) .navbar-glass .header-desktop-nav-link:nth-child(3),
html:root[data-theme="dark"] body.place-page.public-surface--shopping .navbar-glass .header-desktop-nav-link:nth-child(4) {
  background: var(--theme-surface) !important;
  color: var(--public-nav-accent) !important;
  box-shadow: inset 0 0 0 1px var(--theme-line), 0 2px 6px #0002 !important;
}
html:root[data-theme="dark"] :is(#moreMenuDrawer, body.more-page) .app-menu-row:is(:hover,:focus-visible):not(:disabled) { background: #2d354c; }

/* Încărcarea listelor și ghidul PWA folosesc aceeași temă ca pagina. */
html:root[data-theme="dark"] .home-feed-loadmore {
  background: linear-gradient(var(--theme-raised), var(--theme-raised)) padding-box,
    linear-gradient(115deg, #a99bff80, #f472b680) border-box !important;
  border-color: transparent !important;
  color: #d3caff !important;
  box-shadow: none;
}
html:root[data-theme="dark"] .home-feed-loadmore:is(:hover,:focus-visible,:active) {
  background: linear-gradient(#343450, #343450) padding-box,
    linear-gradient(115deg, #b9aaff, #f9a8d4) border-box !important;
  color: #eee9ff !important;
}
html:root[data-theme="dark"] .home-feed-loadmore:focus-visible { outline-color: var(--theme-accent); }
html:root[data-theme="dark"] .app-install-card {
  border-color: #a99bff40;
  background: radial-gradient(circle at 95% 0%, #f472b616, transparent 38%),
    linear-gradient(135deg, #252640, var(--theme-surface) 70%, #2c2236);
  box-shadow: 0 14px 36px #0002;
}
html:root[data-theme="dark"] .app-install-card::after { border-color: #a99bff12; }
html:root[data-theme="dark"] .app-install-icon { background: var(--theme-raised); border-color: var(--theme-line); box-shadow: 0 8px 20px #0002; }
html:root[data-theme="dark"] :is(.app-install-eyebrow,.app-install-modal-kicker) { color: #c4baff; }
html:root[data-theme="dark"] :is(.app-install-copy h2,.app-install-modal-header .modal-title,.app-install-steps strong,.app-install-demo-page > strong,.app-install-demo-result > strong) { color: var(--theme-text); }
html:root[data-theme="dark"] :is(.app-install-copy p,.app-install-intro,.app-install-steps div > span,.app-install-demo-subtitle) { color: var(--theme-muted); }
html:root[data-theme="dark"] :is(.app-install-open,.app-install-native) { background: #6854d7; border-color: #9380f3; color: #fff; box-shadow: 0 7px 18px #0002; }
html:root[data-theme="dark"] :is(.app-install-open,.app-install-native):is(:hover,:focus-visible) { background: #7762e2; color: #fff; }
html:root[data-theme="dark"] :is(.app-install-open,.app-install-native,.app-install-tab):focus-visible { outline: 2px solid #c4baff; outline-offset: 3px; }
html:root[data-theme="dark"] .app-install-modal .modal-content { background: var(--theme-surface); color: var(--theme-text); }
html:root[data-theme="dark"] .app-install-modal .btn-close {
  filter: none !important;
  border-color: var(--theme-line);
  background-color: var(--theme-raised);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23d3caff' stroke-width='2' stroke-linecap='round' d='m3 3 10 10M13 3 3 13'/%3E%3C/svg%3E");
  box-shadow: none;
}
html:root[data-theme="dark"] .app-install-modal .btn-close:is(:hover,:focus-visible) { border-color: #a99bff; background-color: #343450; box-shadow: 0 0 0 3px #b2a5ff33; }
html:root[data-theme="dark"] .app-install-tabs { background: var(--theme-page); }
html:root[data-theme="dark"] .app-install-tab { color: var(--theme-muted); }
html:root[data-theme="dark"] .app-install-tab:is(:hover,:focus-visible) { background: #a99bff14; color: var(--theme-text); }
html:root[data-theme="dark"] .app-install-tab[aria-selected="true"] { background: #343450; color: #d3caff; box-shadow: inset 0 0 0 1px #a99bff50; }
html:root[data-theme="dark"] .app-install-steps li { background: var(--theme-raised); border-color: var(--theme-line); }
html:root[data-theme="dark"] :is(.app-install-step-number,.app-install-step-icon) { background: #a99bff1c; color: #c4baff; }
html:root[data-theme="dark"] .app-install-demo { background: linear-gradient(145deg, #252640, #2c2236); border-color: var(--theme-line); }
html:root[data-theme="dark"] .app-install-demo-phone { background: var(--theme-page); border-color: #46526a; box-shadow: 0 14px 26px #0003; }
html:root[data-theme="dark"] .app-install-demo-status { background: var(--theme-surface); color: var(--theme-text); }
html:root[data-theme="dark"] .app-install-demo-page { background: radial-gradient(circle at 50% 35%, #a99bff22, transparent 36%), linear-gradient(var(--theme-surface), var(--theme-page)); }
html:root[data-theme="dark"] :is(.app-install-demo-browser-bar,.app-install-demo-sheet) { background: var(--theme-raised); border-color: #536078; color: var(--theme-text); }
html:root[data-theme="dark"] .app-install-demo-handle { background: #78869d; }
html:root[data-theme="dark"] .app-install-demo-choice { background: var(--theme-surface); color: var(--theme-text); }
html:root[data-theme="dark"] :is(.app-install-demo-choice svg,.app-install-demo-action) { color: #c4baff; }
html:root[data-theme="dark"] .app-install-demo-action { animation-name: app-install-action-dark; }
html:root[data-theme="dark"] .app-install-demo-result { background: linear-gradient(160deg, #252640, #2c2236); }
@keyframes app-install-action-dark {
  0%, 8%, 28%, 100% { background: transparent; transform: scale(1); }
  13%, 22% { background: #a99bff33; transform: scale(1.15); }
}
@media (prefers-reduced-motion: reduce) {
  html:root[data-theme="dark"] .app-install-demo-action { animation: none; background: #a99bff33; }
}

/* Navigare: CTA distinct de bara flotantă, inclusiv în previzualizarea din admin. */
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-cta-primary-nav {
  background: linear-gradient(135deg, #6252c7, #493b9c) !important;
  border: 1px solid #a99bff !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px #0003 !important;
}
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-cta-primary-nav :is(svg,span) {
  color: inherit !important;
  stroke: currentColor;
}
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-cta-primary-nav:is(:hover,:focus-visible,:active) {
  background: #6252c7 !important;
  border-color: #d2caff !important;
}
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-cta-primary-nav:focus-visible {
  outline: 2px solid #d2caff;
  outline-offset: 3px;
}

/* Reeluri: suprafețele și comenzile locale urmează tema paginii. */
html:root[data-theme="dark"] body.public-theme-preview .social-embeds {
  background: var(--theme-surface) !important;
  border-color: var(--theme-line);
}
html:root[data-theme="dark"] body.public-theme-preview .social-embed-card {
  background: var(--theme-raised);
  border-color: var(--theme-line);
}
html:root[data-theme="dark"] body.public-theme-preview .social-embeds h2 {
  color: var(--theme-text);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.social-embeds-heading p,.social-embed-error) {
  color: var(--theme-muted);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.social-embeds-eyebrow,.social-embed-actions a) {
  color: var(--theme-accent);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.social-embed-player,.social-embed-stage) {
  background: var(--theme-page);
}
html:root[data-theme="dark"] body.public-theme-preview .social-embed-actions button {
  background: #6252c7;
  color: #fff;
}
html:root[data-theme="dark"] body.public-theme-preview .social-embed-actions button:disabled {
  background: #3b3359;
  color: #d2caff;
  opacity: 1;
}
html:root[data-theme="dark"] body.public-theme-preview .social-embed-actions button:not(:disabled):hover {
  background: #7161d4;
}
html:root[data-theme="dark"] body.public-theme-preview .social-embed-actions a:hover {
  color: #d2caff;
  text-decoration: underline;
}
html:root[data-theme="dark"] body.public-theme-preview .social-embed-actions :is(a,button):focus-visible {
  outline: 2px solid #d2caff;
  outline-offset: 3px;
}

/* Apel telefonic: accent verde lizibil, distinct de suprafața barei mobile. */
html:root[data-theme="dark"] body.public-theme-preview a[href^="tel:"]:is(.mobile-place-cta-primary,.mobile-glance-action,.place-desktop-hero-action,.home-feed-place .home-feed-action) {
  background: #203c36 !important;
  border: 1px solid #487e6d !important;
  color: #c0f4df !important;
  box-shadow: none !important;
}
html:root[data-theme="dark"] body.public-theme-preview .mobile-place-cta-bar a[href^="tel:"].mobile-place-cta-primary {
  background: linear-gradient(135deg, #245e4c, #1c4b3f) !important;
  border-color: #51947d !important;
  color: #effff7 !important;
}
html:root[data-theme="dark"] body.public-theme-preview a[href^="tel:"]:is(.mobile-place-cta-primary,.mobile-glance-action,.place-desktop-hero-action,.home-feed-place .home-feed-action) :is(svg,span) {
  color: inherit !important;
  stroke: currentColor;
}
html:root[data-theme="dark"] body.public-theme-preview a[href^="tel:"]:is(.mobile-place-cta-primary,.mobile-glance-action,.place-desktop-hero-action,.home-feed-place .home-feed-action):is(:hover,:focus-visible,:active) {
  background: #2a6553 !important;
  border-color: #7bcdac !important;
  color: #effff7 !important;
}
html:root[data-theme="dark"] body.public-theme-preview a[href^="tel:"]:is(.mobile-place-cta-primary,.mobile-glance-action,.place-desktop-hero-action,.home-feed-place .home-feed-action):focus-visible {
  outline: 2px solid #9ce5c6;
  outline-offset: 3px;
}

/* Conținutul activ al locației: contoare și scurtături cu accente distincte. */
html:root[data-theme="dark"] body.place-page .place-content-shortcuts { border-color: var(--theme-line); }
html:root[data-theme="dark"] body.place-page .place-content-shortcut {
  --shortcut-accent: #c4baff;
  --shortcut-tint: #a99bff24;
  --shortcut-border: #a99bff55;
  background: linear-gradient(135deg, var(--shortcut-tint), var(--theme-surface)) !important;
  border-color: var(--shortcut-border) !important;
  color: var(--shortcut-accent) !important;
  box-shadow: none !important;
}
html:root[data-theme="dark"] body.place-page .place-content-shortcut--promos {
  --shortcut-accent: #ffacd2;
  --shortcut-tint: #f472b624;
  --shortcut-border: #f472b655;
}
html:root[data-theme="dark"] body.place-page .place-content-shortcut-icon {
  background: var(--shortcut-tint) !important;
  color: var(--shortcut-accent);
  box-shadow: inset 0 0 0 1px var(--shortcut-border) !important;
}
html:root[data-theme="dark"] body.place-page .place-content-shortcut-label { color: var(--theme-text); }
html:root[data-theme="dark"] body.place-page .place-content-shortcut-meta { color: var(--theme-muted); opacity: 1; }
html:root[data-theme="dark"] body.place-page .place-content-shortcut-meta strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.55em;
  min-height: 1.55em;
  padding: 0 .3em;
  margin-right: .15em;
  border-radius: 6px;
  background: var(--shortcut-tint);
  color: var(--shortcut-accent);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
html:root[data-theme="dark"] body.place-page .place-content-shortcut-arrow { color: var(--shortcut-accent); opacity: .85; }
html:root[data-theme="dark"] body.place-page .place-content-shortcut:is(:hover,:focus-visible,:active) {
  background: linear-gradient(135deg, var(--shortcut-tint), var(--theme-raised)) !important;
  border-color: var(--shortcut-accent) !important;
  color: var(--shortcut-accent) !important;
}
html:root[data-theme="dark"] body.place-page .place-content-shortcut:focus-visible { outline: 2px solid var(--shortcut-accent); outline-offset: 3px; }

/* Oferte: componentă comună în Acasă, la locație și în lista Promoții. */
html:root[data-theme="dark"] body.public-surface--promotions {
  --promo-ink: var(--theme-text);
  --promo-muted: var(--theme-muted);
  --promo-border: var(--theme-line);
}
html:root[data-theme="dark"] .promotions-list-mobile {
  --promo-ink: var(--theme-text);
  --promo-muted: var(--theme-muted);
  --promo-border: var(--theme-line);
}
html:root[data-theme="dark"] body.public-theme-preview .promotions-list-card {
  background: var(--theme-surface) !important;
  border-color: var(--theme-line) !important;
  box-shadow: 0 5px 18px #0002 !important;
}
html:root[data-theme="dark"] body.public-theme-preview .promotions-list-card.is-promoted { border-color: #a99bff !important; }
html:root[data-theme="dark"] :is(.promotions-list-place,.promotion-details-place) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] :is(.promotions-list-card-copy p,.promotions-list-expiry,.promotions-list-promoted,.promotion-details-description,.promotion-details-expiry,.promotions-list-summary span) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] :is(.promotions-list-direct,.promotions-list-place-icon,.promotion-details-place > span) { background: #a99bff1c; color: #d3caff; }
html:root[data-theme="dark"] .promotions-list-expiry.is-soon { color: #fcd477 !important; }
html:root[data-theme="dark"] .promotions-list-expiry.is-urgent { color: #ffabb8 !important; }
html:root[data-theme="dark"] :is(.promotions-list-card-thumb,.promotion-details-image) { background: var(--theme-page) !important; border-color: var(--theme-line) !important; box-shadow: none !important; }
html:root[data-theme="dark"] :is(.promotions-list-code,.promotion-details-code) { background: #a99bff14; border-color: #a99bff88; color: #d3caff; }
html:root[data-theme="dark"] :is(.promotions-list-code,.promotion-details-code).is-copied { background: #34d39914; border-color: #7ee4bd; color: #7ee4bd; }
html:root[data-theme="dark"] body.public-theme-preview .home-save-btn.promotion-details-save { background: #fb718512 !important; border-color: #fb718550 !important; color: #ff9ebc !important; box-shadow: none !important; }
html:root[data-theme="dark"] body.public-theme-preview .home-save-btn.promotion-details-save:is(.is-saved,[aria-pressed="true"]) { background: #fb718528 !important; border-color: #ff9ebc !important; }
html:root[data-theme="dark"] :is(.promotions-list-card-action,.promotion-details-location) { background: #6854d7 !important; border-color: #9380f3 !important; color: #fff !important; box-shadow: none !important; }
html:root[data-theme="dark"] :is(.promotions-list-card-action,.promotion-details-location) svg { color: currentColor; }
html:root[data-theme="dark"] :is(.promotions-list-card-action,.promotion-details-location):is(:hover,:focus-visible,:active) { background: #7762e2 !important; }
html:root[data-theme="dark"] :is(.promotion-details-share,.promotion-details-share-options a,.promotion-details-share-copy button,.promotions-list-loadmore,.place-promotions-toggle) { background: var(--theme-raised) !important; border-color: #665985 !important; color: #d3caff !important; }
html:root[data-theme="dark"] :is(.promotion-details-share,.promotion-details-share-options a,.promotion-details-share-copy button,.promotions-list-loadmore,.place-promotions-toggle):is(:hover,:focus-visible,:active) { background: #343450 !important; border-color: #a99bff !important; }
html:root[data-theme="dark"] :is(.promotions-list-card,.promotion-details-sheet) :is(button,a,input):focus-visible,
html:root[data-theme="dark"] :is(.promotions-list-filter,.promotions-list-loadmore,.place-promotions-toggle):focus-visible { outline: 2px solid #c4baff; outline-offset: 3px; }
html:root[data-theme="dark"] body.public-theme-preview .home-save-btn.promotion-details-save:is(:hover,:focus-visible) { background: #fb718528 !important; border-color: #ff9ebc !important; }
html:root[data-theme="dark"] .place-promotions-mobile { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; box-shadow: none !important; }
html:root[data-theme="dark"] .place-promotions-mobile-header > svg { color: #ffacd2 !important; stroke: currentColor !important; }
html:root[data-theme="dark"] .promotion-details-sheet :is(.modal-content,.modal-header,.modal-body,.modal-footer) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; color: var(--theme-text); }
html:root[data-theme="dark"] .promotion-details-handle { background: #65718a; }
html:root[data-theme="dark"] .promotion-details-eyebrow { color: #c4baff; }
html:root[data-theme="dark"] .promotion-details-description :is(a,a:visited) { color: #c4baff; }
html:root[data-theme="dark"] .promotion-details-sheet .btn-close {
  filter: none !important;
  background-color: var(--theme-raised);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23d3caff' stroke-width='2' stroke-linecap='round' d='m3 3 10 10M13 3 3 13'/%3E%3C/svg%3E");
}
html:root[data-theme="dark"] .promotion-details-sheet .btn-close:is(:hover,:focus-visible) { background-color: #343450; }
html:root[data-theme="dark"] .promotion-details-share-panel { background: var(--theme-page); border-color: var(--theme-line); color: var(--theme-text); }
html:root[data-theme="dark"] .promotion-details-share-copy input { background: var(--theme-raised); border-color: #665985; color: var(--theme-text); }
html:root[data-theme="dark"] #promotionShareStatus { color: #7ee4bd; }
/* Filtrele și starea fără rezultate din lista dedicată. */
html:root[data-theme="dark"] :is(.promotions-list-filter,.promotions-list-empty) { background: var(--theme-surface); border-color: var(--theme-line); color: var(--theme-text); box-shadow: none; }
html:root[data-theme="dark"] :is(.promotions-list-filter-icon,.promotions-list-empty-icon) { background: #a99bff1c; color: #c4baff; }
html:root[data-theme="dark"] .promotions-list-filter-copy small { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] .promotions-list-filter:is(.active,:hover,:focus-visible) { background: #302948; border-color: #a99bff; color: #d3caff; box-shadow: none; }
html:root[data-theme="dark"] .promotions-list-filter.active .promotions-list-filter-icon { background: #6854d7; color: #fff; }
html:root[data-theme="dark"] .promotions-list-empty a { color: #c4baff; }
html:root[data-theme="dark"] body.public-surface--promotions .navbar-glass .header-desktop-nav-link:nth-child(5) {
  background: var(--theme-surface) !important;
  color: var(--public-nav-accent) !important;
  box-shadow: inset 0 0 0 1px var(--theme-line), 0 2px 6px #0002 !important;
}
html:root[data-theme="dark"] body.public-theme-preview .home-save-btn.promotion-details-save :is(span,svg) { color: inherit !important; stroke: currentColor !important; }
/* Invitațiile comunității folosesc aceeași paletă pe mobil și în railul desktop. */
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute) {
  --contribute-accent: #c5baff;
  --contribute-tint: #302948;
  background: var(--theme-surface);
  border-color: var(--theme-line);
  color: var(--theme-text);
  box-shadow: none;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute).is-event {
  --contribute-accent: #ffadc8;
  --contribute-tint: #3b293e;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute).is-promotion {
  --contribute-accent: #ffacd2;
  --contribute-tint: #3b253b;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute) .mobile-list-contribute-copy strong { color: var(--theme-text); }
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute) .mobile-list-contribute-copy > span { color: var(--theme-muted); }
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute) :is(.mobile-list-contribute-icon,.mobile-list-contribute-action) {
  background: var(--contribute-tint);
  color: var(--contribute-accent);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute):is(:hover,:focus-visible) {
  background: var(--theme-raised);
  border-color: var(--contribute-accent);
  color: var(--theme-text);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.mobile-list-contribute,.desktop-rail-contribute):focus-visible {
  outline: 2px solid var(--contribute-accent);
  outline-offset: 3px;
}
html:root[data-theme="dark"] body.public-surface--promotions .personal-rail-card-action { background: var(--theme-surface) !important; border-color: #705b3b !important; color: #fcd477 !important; }
html:root[data-theme="dark"] body.public-surface--promotions .personal-rail-card-action:is(:hover,:focus-visible) { background: var(--theme-raised) !important; border-color: #fcd477 !important; }
html:root[data-theme="dark"] body.public-surface--promotions .personal-rail-card-icon { background: #fbbf241c; color: #fcd477; }
html:root[data-theme="dark"] body.public-surface--promotions .personal-rail-card-count-wrap { background: transparent !important; color: #fcd477 !important; }

/* Actualizări trimise de comunitate: intrare și dialog, fără suprafețe albe. */
html:root[data-theme="dark"] body.public-theme-preview .suggest-edit-trigger {
  background: #a99bff14 !important;
  border: 1px solid #766a9f !important;
  color: #d3caff !important;
  box-shadow: none !important;
}
html:root[data-theme="dark"] body.place-page .place-desktop-correction .suggest-edit-trigger { padding-inline: 14px !important; }
html:root[data-theme="dark"] body.public-theme-preview .suggest-edit-trigger:is(:hover,:focus-visible,:active) {
  background: #343450 !important; border-color: #b2a5ff !important; color: #eee9ff !important;
}
html:root[data-theme="dark"] .suggest-edit-trigger svg { color: inherit; stroke: currentColor; }
html:root[data-theme="dark"] body.public-theme-preview .public-freshness-note { color: #7ee4bd !important; }
html:root[data-theme="dark"] .suggest-edit-dialog {
  --suggest-bg: var(--theme-surface);
  --suggest-surface: var(--theme-raised);
  --suggest-text: var(--theme-text);
  --suggest-muted: var(--theme-muted);
  --suggest-border: #536078;
  --suggest-primary: #c4baff;
  --suggest-primary-dark: #a99bff;
}
html:root[data-theme="dark"] .suggest-edit-dialog__handle { background: #65718a; }
html:root[data-theme="dark"] .suggest-edit-dialog__target { background: #a99bff14; border-color: #665985; }
html:root[data-theme="dark"] .suggest-edit-dialog__target-icon { background: #a99bff1c; }
html:root[data-theme="dark"] :is(.suggest-edit-dialog__target-copy strong,.suggest-edit-dialog__managed strong,.suggest-edit-dialog__claim strong) { color: var(--theme-text); }
html:root[data-theme="dark"] :is(.suggest-edit-dialog__target-type,.suggest-edit-dialog__managed span,.suggest-edit-dialog__claim small) { color: var(--theme-muted); }
html:root[data-theme="dark"] body.public-theme-preview .suggest-edit-dialog__eyebrow { color: #c4baff !important; }
html:root[data-theme="dark"] .suggest-edit-field :is(input,select,textarea) { background: var(--theme-raised); }
html:root[data-theme="dark"] .suggest-edit-field :is(input,textarea)::placeholder { color: #a6b3c8; opacity: 1; }
html:root[data-theme="dark"] .suggest-edit-field :is(input,select,textarea):focus { border-color: #c4baff; outline-color: #b2a5ff55; }
html:root[data-theme="dark"] .suggest-edit-field input::file-selector-button { margin-right: 10px; padding: 6px 10px; border: 1px solid #766a9f; border-radius: 8px; background: #343450; color: #eee9ff; cursor: pointer; }
html:root[data-theme="dark"] .suggest-edit-field input::file-selector-button:hover { background: #443c61; }
html:root[data-theme="dark"] .suggest-edit-check input { accent-color: #a99bff; }
html:root[data-theme="dark"] :is(.suggest-edit-dialog__managed,.suggest-edit-dialog__claim) { background: var(--theme-raised); border-color: #665985; color: #c4baff; }
html:root[data-theme="dark"] .suggest-edit-dialog__managed a { color: #c4baff; }
html:root[data-theme="dark"] :is(.suggest-edit-dialog__claim,.suggest-edit-dialog__close):is(:hover,:focus-visible) { background: #343450; border-color: #a99bff; color: #eee9ff; }
html:root[data-theme="dark"] .suggest-edit-dialog__error { background: #fb718514; border-color: #fb718566; color: #ffabb8; }
html:root[data-theme="dark"] .suggest-edit-dialog__submit { background: linear-gradient(135deg, #6854d7, #7446c5); color: #fff; box-shadow: 0 6px 18px #0002; }
html:root[data-theme="dark"] .suggest-edit-dialog__submit:is(:hover,:focus-visible):not(:disabled) { background: linear-gradient(135deg, #7762e2, #8557d6); }
html:root[data-theme="dark"] .suggest-edit-dialog__success-icon { background: #34d3991c; color: #7ee4bd; }
html:root[data-theme="dark"] :is(.suggest-edit-trigger,.suggest-edit-dialog button,.suggest-edit-dialog a,.suggest-edit-check input):focus-visible { outline: 2px solid #c4baff; outline-offset: 3px; }

/* Footer: grupuri extensibile pe mobil și linkuri desktop cu aceeași paletă. */
html:root[data-theme="dark"] .home-footer :is(.home-footer-group,.home-footer-bottom) { border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview .home-footer-heading { color: #c4baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .home-footer-list a { color: var(--theme-text) !important; border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview .home-footer-list a:is(:hover,:focus-visible,:active) { color: #d3caff !important; border-color: #8d7abd; }
html:root[data-theme="dark"] .home-footer :is(a,summary):focus-visible { outline: 2px solid #c4baff; outline-offset: 3px; }
@media (max-width: 767.98px) {
  html:root[data-theme="dark"] .home-footer-group > summary.home-footer-heading { border-radius: 12px; }
  html:root[data-theme="dark"] .home-footer-group > summary.home-footer-heading:is(:hover,:focus-visible),
  html:root[data-theme="dark"] .home-footer-group[open] > summary.home-footer-heading { background: #a99bff12; }
  html:root[data-theme="dark"] .home-footer-list a { background: var(--theme-raised); }
  html:root[data-theme="dark"] .home-footer-list a:is(:hover,:focus-visible,:active) { background: #343450; }
  html:root[data-theme="dark"] .home-footer-group[open] > .home-footer-list { padding-top: 8px; }
}

/* Custom venue modules and cinema/theatre programmes share the local palette. */
html:root[data-theme="dark"] body:is(.place-page,.venue-program-page) {
  --venue-ink: var(--theme-text);
  --venue-muted: var(--theme-muted);
  --venue-purple: #b2a5ff;
  --venue-purple-dark: #c5baff;
  --venue-surface: var(--theme-surface);
  --venue-soft: var(--theme-raised);
}
html:root[data-theme="dark"] :is(.venue-place-facts,.venue-preview) {
  background: linear-gradient(145deg, #25263d, var(--theme-surface) 65%);
  border-color: var(--theme-line);
  box-shadow: 0 8px 24px #0002;
}
html:root[data-theme="dark"] :is(.venue-film-card,.venue-preview-card,.venue-stale-card,.venue-empty-state) {
  background: var(--theme-surface);
  border-color: var(--theme-line);
  color: var(--theme-text);
  box-shadow: 0 8px 24px #0002;
}
html:root[data-theme="dark"] :is(.venue-place-fact,.venue-film-meta span,.venue-day-chip) {
  background: var(--theme-raised);
  border-color: var(--theme-line);
  color: var(--theme-text);
  box-shadow: none;
}
html:root[data-theme="dark"] :is(.venue-film-poster,.venue-theatre-card .venue-film-poster,.venue-preview-poster) {
  background: var(--theme-page);
  color: var(--theme-muted);
}
html:root[data-theme="dark"] .venue-place-fact-icon {
  background: #34304e;
  color: #c5baff;
}
html:root[data-theme="dark"] .venue-day-chip.is-active {
  background: #393152;
  border-color: #a99bff;
  color: #eee9ff;
  box-shadow: 0 4px 16px #0002;
}
html:root[data-theme="dark"] .venue-day-chip.is-active span { color: #d1c8ef; }
html:root[data-theme="dark"] .venue-day-chip.is-today:not(.is-active) { border-color: #8b80c5; color: #c5baff; }
html:root[data-theme="dark"] .venue-showtime-pill {
  background: #2c2946;
  border-color: #595078;
  color: #d3caff;
  min-height: 44px;
}
html:root[data-theme="dark"] .venue-showtime-pill:is(.is-past,.is-sold-out) {
  background: #202938;
  border-color: var(--theme-line);
  color: #a8b4c6;
  opacity: 1;
}
html:root[data-theme="dark"] .venue-ticket-note {
  background: #28263e;
  border-color: #4b4566;
  color: #c9c1e3 !important;
}
html:root[data-theme="dark"] .venue-ticket-note--theatre {
  background: #322c26;
  border-color: #66523a;
  color: #e5cbab !important;
}
html:root[data-theme="dark"] .venue-ticket-note--theatre svg { color: #e9b875; }
html:root[data-theme="dark"] :is(.venue-stale-card,.venue-empty-state) a {
  background: #6854d7;
  color: #fff;
  min-height: 44px;
}
html:root[data-theme="dark"] .venue-trailer-link { background: linear-gradient(135deg, #ab305b, #853565); box-shadow: none; }
html:root[data-theme="dark"] :is(.venue-day-chip,a.venue-showtime-pill,.venue-preview-card,.venue-theatre-card[data-event-url]):is(:hover,:focus-visible) {
  border-color: #b2a5ff;
  box-shadow: 0 0 0 1px #b2a5ff55;
}
html:root[data-theme="dark"] :is(.venue-day-chip,a.venue-showtime-pill):hover { background: #3a3354; }
html:root[data-theme="dark"] :is(.venue-preview a,.venue-place-facts a,.venue-program-page main a,.venue-program-page main button):focus-visible {
  outline: 2px solid #c5baff;
  outline-offset: 3px;
}
html:root[data-theme="dark"] .venue-poster-lightbox { background: #080c16ed; }
html:root[data-theme="dark"] .venue-poster-lightbox-close { background: var(--theme-raised); border-color: #67758b; color: var(--theme-text); }
html:root[data-theme="dark"] body.venue-program-page .venue-program-hero p { color: #d0d6e5 !important; }
@media (max-width: 767.98px) {
  html:root[data-theme="dark"] .venue-day-switcher::after {
    background: linear-gradient(90deg, transparent, var(--theme-page) 72%);
  }
}
@media (min-width: 992px) {
  html:root[data-theme="dark"] body.venue-program-page .venue-program-hero {
    background: radial-gradient(ellipse at 90% 20%, #a95f8a22, transparent 55%), linear-gradient(115deg, #22243c, #332941) !important;
    border-color: var(--theme-line);
    box-shadow: 0 10px 28px #0002;
  }
  html:root[data-theme="dark"] body.venue-program-page .venue-program-hero::after { opacity: .35; }
}
html:root[data-theme="dark"] body.venue-program-page .home-save-btn.venue-program-save {
  color: #ff9ebc !important;
}
html:root[data-theme="dark"] body.venue-program-page .home-save-btn.venue-program-save:is(.is-saved,[aria-pressed="true"]) {
  background: #432b40 !important;
  border-color: #ff9ebc !important;
}
html:root[data-theme="dark"] body.venue-program-page .home-save-btn.venue-program-save :is(span,svg) { color: inherit !important; }
html:root[data-theme="dark"] body.place-page .place-desktop-status.is-unknown {
  background: var(--theme-raised) !important;
  color: var(--theme-muted) !important;
}

/* The mobile detail header is only a floating close control, not a bar. */
@media (max-width: 991.98px) {
  html:root[data-theme="dark"] body:is(.event-page,.place-page,.venue-program-page) .navbar-glass.detail-minimal-header {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Shared toast notifications, including the guest sign-in action. */
html:root[data-theme="dark"] #app-toast {
  --bs-toast-bg: var(--theme-raised);
  --bs-toast-color: var(--theme-text);
  --bs-toast-header-bg: transparent;
  --bs-toast-header-color: var(--theme-text);
  background: rgba(34,45,64,.97);
  color: var(--theme-text);
  border-color: #716393;
  box-shadow: 0 10px 30px #0005;
}
html:root[data-theme="dark"] #app-toast .toast-header { background: transparent !important; color: var(--theme-text); }
html:root[data-theme="dark"] #app-toast .toast-body { color: var(--theme-text) !important; }
html:root[data-theme="dark"] #app-toast .text-primary { color: #c5baff !important; }
html:root[data-theme="dark"] #app-toast .text-success { color: #8eddbf !important; }
html:root[data-theme="dark"] #app-toast .text-danger { color: #ffabb8 !important; }
html:root[data-theme="dark"] #app-toast :is(a,.btn-link) { color: #c5baff !important; }
html:root[data-theme="dark"] #app-toast :is(a,button):focus-visible { outline: 2px solid #c5baff; outline-offset: 3px; }
html:root[data-theme="dark"] #app-toast .btn-close { filter: invert(1) grayscale(1) brightness(1.8); opacity: .8; }
html:root[data-theme="dark"] #app-toast .btn-close:hover { opacity: 1; }
html:root[data-theme="dark"] #story-toast { background: var(--theme-raised) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }

/* Search result signals and full-category navigation. */
html:root[data-theme="dark"] #globalSearchModal .global-search-result-card .search-result-title { color: var(--theme-text) !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-card .global-search-result-eyebrow { color: #c5baff !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-signal {
  background: var(--theme-raised);
  color: var(--theme-muted) !important;
}
html:root[data-theme="dark"] #globalSearchModal .global-search-result-signal.is-rating {
  background: #3a3223;
  color: #f3cf84 !important;
}
html:root[data-theme="dark"] #globalSearchModal .global-search-result-signal:is(.is-open,.is-live) { background: #203e36; color: #8eddbf !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-signal.is-closed { background: #42302c; color: #f4b392 !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-signal.is-code { background: #342e4c; color: #c5baff !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-signal.is-promoted { background: #422c3e; color: #ffaccc !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-result-media,.global-search-result-placeholder) { background: var(--theme-raised); color: #c5baff !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-view-all,.global-search-category-back,.global-search-category-map,.global-search-category-loadmore,.global-search-map-back,.global-search-map-reset,.global-search-map-preview-close,.search-group-count) {
  background: var(--theme-raised);
  color: #c5baff !important;
  border-color: #514966;
}
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-view-all,.global-search-category-back,.global-search-category-map,.global-search-category-loadmore,.global-search-map-back,.global-search-map-reset):is(:hover,:focus-visible) {
  background: #37314e;
  color: #e0d9ff !important;
  border-color: #b2a5ff;
}
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-view-all,.global-search-category-back,.global-search-category-map,.global-search-category-loadmore):focus-visible { outline: 2px solid #c5baff; outline-offset: 2px; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-category-toolbar,.global-search-map-toolbar,.global-search-map-view,.global-search-map-preview,.global-search-map-loading) {
  background: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-line);
}
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-category-heading small,.global-search-map-heading small,.global-search-map-preview-copy > small,.global-search-category-loading,.global-search-category-empty) { color: var(--theme-muted); }
html:root[data-theme="dark"] #globalSearchModal .global-search-category-empty.is-error { color: #ffabb8; }
html:root[data-theme="dark"] #globalSearchModal .global-search-map-preview-detail { color: var(--theme-muted); }
html:root[data-theme="dark"] #globalSearchModal .global-search-map-preview-detail.is-rating { color: #f3cf84; }
html:root[data-theme="dark"] #globalSearchModal .global-search-map-preview-detail.is-open { color: #8eddbf; }
html:root[data-theme="dark"] #globalSearchModal .global-search-map-preview-detail.is-closed { color: #f4b392; }
html:root[data-theme="dark"] #globalSearchModal .global-search-result-card:hover { background: var(--theme-raised) !important; border-color: #736394 !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-jumps button { --search-accent: #c5baff; }
html:root[data-theme="dark"] #globalSearchModal .global-search-jumps button[data-search-jump="places"] { --search-accent: #8eddbf; }
html:root[data-theme="dark"] #globalSearchModal .global-search-jumps button[data-search-jump="promotions"] { --search-accent: #efc08e; }
html:root[data-theme="dark"] #globalSearchModal .global-search-jumps button[data-search-jump="cinema"] { --search-accent: #ffaccc; }
html:root[data-theme="dark"] #globalSearchModal .global-search-jumps button span { background: #10152280; color: var(--search-accent); }
html:root[data-theme="dark"] #globalSearchModal .global-search-jumps button:is(:hover,[aria-current="true"]) { background: #37314e !important; border-color: var(--search-accent) !important; }

/* Editorial index and long-form articles. Keep the editorial reading hierarchy. */
html:root[data-theme="dark"] body.public-surface--reviews {
  color-scheme: dark;
  --review-accent: #b2a5ff;
  --review-accent-strong: #c5baff;
  --review-accent-soft: #302b48;
  --review-pink: #ffaccc;
  --review-ink: var(--theme-text);
  --review-muted: var(--theme-muted);
  --review-line: var(--theme-line);
  --review-card-shadow: 0 10px 28px #0002;
  --editorial-ink: var(--theme-text);
  --editorial-muted: var(--theme-muted);
  --editorial-paper: var(--theme-surface);
  --editorial-page: var(--theme-page);
  --editorial-line: var(--theme-line);
  --editorial-accent: #b2a5ff;
  --editorial-accent-strong: #c5baff;
  --editorial-accent-soft: #302b48;
  --editorial-pink: #ffaccc;
  --editorial-success: #8eddbf;
  --editorial-danger: #ffabb8;
  --editorial-card-shadow: 0 10px 28px #0002;
}
html:root[data-theme="dark"] :is(.editorial-review-index-intro,.editorial-review-lead) {
  background: radial-gradient(ellipse at 95% 0%, #d16da91a, transparent 45%), linear-gradient(135deg,#27243d,var(--theme-surface) 75%);
}
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-card,.editorial-review-method-card,.editorial-review-explore-card,.editorial-review-media-story,.editorial-review-gallery-section,.editorial-review-entity,.editorial-review-related > div > a,.editorial-review-not-found,.editorial-review-empty) {
  background: var(--theme-surface);
  border-color: var(--theme-line);
  color: var(--theme-text);
}
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-index-principles > span,.editorial-review-filter,.editorial-review-share,.editorial-review-jump-links button,.editorial-review-tags span,.editorial-review-card__tags span,.editorial-review-trust-badge,.editorial-review-audience,.editorial-review-transcript) {
  background: var(--theme-raised);
  border-color: var(--theme-line);
  color: var(--theme-text);
  box-shadow: none;
}
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-index-principles b,.editorial-review-method-card li b,.editorial-review-explore-card a,.editorial-review-body,.editorial-review-body blockquote,.editorial-review-rubric ul) { color: var(--theme-text); }
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-index-principles small,.editorial-review-method-card li small,.editorial-review-index-heading > strong,.editorial-review-card__meta,.editorial-review-card__disclosure,.editorial-review-card__source,.editorial-review-byline) { color: var(--theme-muted); }
html:root[data-theme="dark"] .editorial-review-filter b { background: var(--theme-page); color: var(--theme-muted); }
html:root[data-theme="dark"] body.public-surface--reviews .editorial-review-filter.is-active { background: #393152; color: #e0d9ff; border-color: #a99bff; }
html:root[data-theme="dark"] .editorial-review-filter.is-active b { background: #5c4f82; color: #fff; }
html:root[data-theme="dark"] .editorial-review-verdict { background: #2d2943; border-color: #51476e; }
html:root[data-theme="dark"] .editorial-review-rubric--strengths { background: #1d3531; border-color: #355e50; }
html:root[data-theme="dark"] .editorial-review-rubric--weaknesses { background: #382934; border-color: #644253; }
html:root[data-theme="dark"] :is(.editorial-review-media > figcaption,.editorial-review-media) { background: var(--theme-surface); }
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-hero,.editorial-review-gallery-image-wrap,.editorial-review-card__media) { background: var(--theme-page); }
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-card__action,.editorial-review-entity > a,.editorial-review-back-to-index a,.editorial-review-not-found a,.editorial-review-empty a,.editorial-review-eyebrow) {
  color: #fff;
  background: linear-gradient(135deg,#6854d7,#91439a);
  box-shadow: none;
}
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-share,.editorial-review-jump-links button,.editorial-review-filter,.editorial-review-explore-card a):is(:hover,:focus-visible) { background: #37314e; color: #e0d9ff; border-color: #a99bff; }
html:root[data-theme="dark"] body.public-surface--reviews :is(main a,main button):focus-visible { outline: 2px solid #c5baff; outline-offset: 3px; }
html:root[data-theme="dark"] .editorial-review-preview { color: #efd29e; background: #3c3222; }
html:root[data-theme="dark"] .editorial-review-on-entity__card { background: var(--theme-surface); border-color: var(--theme-line); color: var(--theme-text); }
html:root[data-theme="dark"] .editorial-review-on-entity__heading > span { background: #302b48; color: #c5baff; }
html:root[data-theme="dark"] .editorial-review-on-entity__copy :is(small,span) { color: #c5baff; }
@media (max-width: 991.98px) {
  html:root[data-theme="dark"] body.public-surface--reviews .navbar-glass.detail-minimal-header { background: transparent !important; box-shadow: none !important; border: 0 !important; }
}

html:root[data-theme="dark"] body.public-surface--reviews .editorial-review-empty a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  font-weight: 750;
  text-decoration: none;
}
html:root[data-theme="dark"] body.public-surface--reviews :is(.editorial-review-card__action,.editorial-review-entity > a,.editorial-review-back-to-index a,.editorial-review-not-found a,.editorial-review-empty a):is(:hover,:focus-visible) {
  color: #fff;
  background: linear-gradient(135deg,#7864e5,#a34bab);
}
html:root[data-theme="dark"] .editorial-review-jump-links { border-color: var(--theme-line); }

/* Personal recommendations use a calm blue accent, on the homepage and rails. */
html:root[data-theme="dark"] .personal-recommendations {
  background: radial-gradient(ellipse at 100% 0%,#60b9ed12,transparent 60%),var(--theme-surface);
  border-color: #344b64;
  box-shadow: 0 6px 22px #0002;
}
html:root[data-theme="dark"] .personal-recommendations-icon { background: #233d51; color: #92d6ff; }
html:root[data-theme="dark"] :is(.personal-recommendations-head strong,.personal-recommendation-copy strong) { color: var(--theme-text); }
html:root[data-theme="dark"] :is(.personal-recommendations-head small,.personal-recommendation-meta,.personal-recommendation-chevron) { color: var(--theme-muted); }
html:root[data-theme="dark"] .personal-recommendation-row {
  background: #202b3d;
  border-color: #39465c;
  color: var(--theme-text);
  box-shadow: none;
}
html:root[data-theme="dark"] .personal-recommendation-reason { color: #92d6ff; }
html:root[data-theme="dark"] .personal-recommendation-thumb { background: #233d51; color: #92d6ff; }
html:root[data-theme="dark"] .personal-recommendation-thumb--event { background: #302b48; color: #c5baff; }
html:root[data-theme="dark"] .personal-recommendation-thumb--promo { background: #403322; color: #efc08e; }
html:root[data-theme="dark"] .personal-recommendation-row:is(:hover,:focus-visible) {
  background: #29384c;
  border-color: #78b6de;
  box-shadow: 0 5px 16px #0003;
}
html:root[data-theme="dark"] .personal-recommendation-row:focus-visible { outline: 2px solid #92d6ff; outline-offset: 2px; }
html:root[data-theme="dark"] .place-recommendation-link:is(:hover,:focus-visible) .place-recommendation-card { border-color: #a99bff !important; box-shadow: 0 8px 22px #0004 !important; }
html:root[data-theme="dark"] .place-recommendation-link:focus-visible { outline-color: #c5baff; }
html:root[data-theme="dark"] .place-recommendation-promoted { background: #403322; color: #efc08e; border-color: #8a704c; }
html:root[data-theme="dark"] .event-recommendation-date { color: var(--theme-muted); border-color: var(--theme-line); }
html:root[data-theme="dark"] .event-recommendation-date svg { color: #c5baff; }
html:root[data-theme="dark"] .event-rail-arrow { background: var(--theme-raised); border-color: var(--theme-line); color: #c5baff; }
html:root[data-theme="dark"] .event-rail-arrow:is(:hover,:focus-visible):not(:disabled) { background: #37314e; border-color: #a99bff; color: #e0d9ff; }
html:root[data-theme="dark"] .event-rail-arrow:disabled { background: var(--theme-surface); color: #738097; border-color: var(--theme-line); }

/* Mobile floating navigation: one active layer, with matching icon and label. */
@media (max-width: 991.98px) {
  html:root[data-theme="dark"] .mobile-nav-bar {
    background: rgba(27,36,53,.96) !important;
    border: 1px solid #46516a;
    box-shadow: 0 8px 28px #0006,inset 0 1px 0 #ffffff08;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  html:root[data-theme="dark"] .mobile-nav-item {
    --nav-dark-accent: #bab5ff;
    --nav-dark-tint: #333251;
    color: #b6c1d3;
    background: transparent;
  }
  html:root[data-theme="dark"] .mobile-nav-item[data-mobile-nav-key="events"] { --nav-dark-accent: #cfb2ff; --nav-dark-tint: #3b2d53; }
  html:root[data-theme="dark"] .mobile-nav-item[data-mobile-nav-key="places"] { --nav-dark-accent: #8edfc1; --nav-dark-tint: #233e38; }
  html:root[data-theme="dark"] .mobile-nav-item[data-mobile-nav-key="shopping"] { --nav-dark-accent: #ffb0d2; --nav-dark-tint: #462d42; }
  html:root[data-theme="dark"] .mobile-nav-item[data-mobile-nav-key="promotions"] { --nav-dark-accent: #f4cd8b; --nav-dark-tint: #403725; }
  html:root[data-theme="dark"] .mobile-nav-item :is(.mobile-nav-icon-wrap,.mobile-nav-icon,.mobile-nav-label) { color: inherit; }
  html:root[data-theme="dark"] .mobile-nav-item .mobile-nav-icon { stroke: currentColor; }
  html:root[data-theme="dark"] .mobile-nav-item::before { background: var(--nav-dark-tint); }
  html:root[data-theme="dark"] .mobile-nav-item:is(.active,.is-pressing,.is-navigating,:active,:focus-visible) { color: var(--nav-dark-accent); }
  html:root[data-theme="dark"] .mobile-nav-item:is(.active,.is-pressing,.is-navigating,:active,:focus-visible)::before {
    background: var(--nav-dark-tint);
    box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--nav-dark-accent) 22%,transparent);
    opacity: 1;
    transform: scale(1);
  }
  html:root[data-theme="dark"] .mobile-nav-item.active .mobile-nav-label { font-weight: 650; }
  html:root[data-theme="dark"] .mobile-nav-item:focus-visible { outline: 2px solid var(--nav-dark-accent); outline-offset: -2px; }
  @media (hover: hover) {
    html:root[data-theme="dark"] .mobile-nav-item:hover { color: var(--nav-dark-accent); }
    html:root[data-theme="dark"] .mobile-nav-item:hover::before { opacity: 1; transform: scale(1); }
  }
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    html:root[data-theme="dark"] .mobile-nav-bar { background: #1b2435 !important; }
  }
}

/* The companion reminder panel is rendered alongside personal recommendations. */
html:root[data-theme="dark"] .home-personal { background: linear-gradient(135deg,#25263e,var(--theme-surface)); border-color: #47435e; box-shadow: 0 6px 22px #0002; }
html:root[data-theme="dark"] .home-personal-row { background: #202b3d; border-color: #39465c; }
html:root[data-theme="dark"] .home-personal-item-title { color: var(--theme-text); }
html:root[data-theme="dark"] :is(.home-personal-title svg,.home-personal-meta strong,.home-personal-all) { color: #c5baff; }
html:root[data-theme="dark"] :is(.home-personal-meta,.home-personal-chev) { color: var(--theme-muted); }
html:root[data-theme="dark"] .home-personal-thumb { background: #302b48; color: #c5baff; }
html:root[data-theme="dark"] .home-personal-row:is(:hover,:focus-visible) { background: #29384c; border-color: #a99bff; }
html:root[data-theme="dark"] :is(.home-personal-row,.home-personal-all):focus-visible { outline: 2px solid #c5baff; outline-offset: 2px; }
html:root[data-theme="dark"] .place-recommendation-link { border-radius: 17px; }
html:root[data-theme="dark"] .place-recommendation-media { background: var(--theme-raised); }
html:root[data-theme="dark"] .place-recommendations-header > :is(svg,.lucide) { color: #b2a5ff; }

/* Shared local trial: dialogs, saved content and public contribution flows. */
html:root[data-theme="dark"] {
  --bs-body-color: var(--theme-text);
  --bs-body-bg: var(--theme-page);
  --bs-border-color: var(--theme-line);
  --bs-secondary-color: var(--theme-muted);
  --bs-tertiary-bg: var(--theme-raised);
  --theme-error: #ffabb8;
  --theme-success: #8edfc1;
}
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.modal-header,.modal-footer) { color: var(--theme-text); border-color: var(--theme-line); }
html:root[data-theme="dark"] .modal-backdrop { background-color: #040812; }
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.saved-page-main,.contribution-hub-main,.feedback-page-main,.publication-path-main) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),select,textarea) {
  background-color: var(--theme-raised) !important;
  color: var(--theme-text) !important;
  border-color: #52617b !important;
  caret-color: #d4caff;
  color-scheme: dark;
}
html:root[data-theme="dark"] body.public-theme-preview :is(input,textarea)::placeholder { color: #a4b2c7 !important; opacity: 1; }
html:root[data-theme="dark"] body.public-theme-preview :is(input,textarea,select):focus-visible { outline: 2px solid #c5baff; outline-offset: 2px; box-shadow: 0 0 0 3px #b2a5ff20; }
html:root[data-theme="dark"] body.public-theme-preview :is(input[type="checkbox"],input[type="radio"]) { accent-color: #ad9cff; }
html:root[data-theme="dark"] body.public-theme-preview .form-check-input { background-color: var(--theme-raised); border-color: #8390a6; }
html:root[data-theme="dark"] body.public-theme-preview .form-check-input:checked { background-color: #7260d8; border-color: #b6a7ff; }
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.saved-page-main,.contribution-hub-main,.feedback-page-main,.publication-path-main) :is(button,a):focus-visible { outline: 2px solid #c5baff; outline-offset: 3px; }
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.saved-page-main,.contribution-hub-main,.feedback-page-main,.publication-path-main) :is(button,input,select,textarea):disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
html:root[data-theme="dark"] body.public-theme-preview :is(.form-control.is-invalid,.creator-input.is-invalid,[aria-invalid="true"],.public-form-control-invalid,.was-validated :invalid) { border-color: var(--theme-error) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.invalid-feedback,.field-error,.feedback-field-error,.description-link-panel [role="status"]) { color: var(--theme-error) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.alert-danger,.public-form-error-summary,.feedback-alert) { background: #402734 !important; border-color: #875366 !important; color: #ffd1da !important; }
html:root[data-theme="dark"] body.public-theme-preview .alert-success { background: #203b33 !important; border-color: #427562 !important; color: #b4efd7 !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.alert-info,.alert-primary) { background: #282c48 !important; border-color: #555b83 !important; color: #d3d7ff !important; }
html:root[data-theme="dark"] body.public-theme-preview .alert-warning { background: #403725 !important; border-color: #806a3c !important; color: #f5dba8 !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.saved-page-main) :is(.btn-primary,.btn-outline-primary):not(:disabled) { background: #3c315c; border-color: #9683d0; color: #f0eaff; }
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.saved-page-main) :is(.btn-primary,.btn-outline-primary):is(:hover,:focus-visible):not(:disabled) { background: #504071; border-color: #c5baff; }

/* Search: empty/loading/error states and recovery suggestions match real results. */
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-close,.global-search-clear,.global-search-empty > span,.search-recovery-logo) { background: var(--theme-raised); border-color: var(--theme-line); color: #c5baff; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-close,.global-search-clear):is(:hover,:focus-visible) { background: #39324e; color: #eee9ff; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-heading p,.global-search-empty p,.global-search-loading,.search-recovery-suggestion small,.search-recovery-contribute p) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-field-icon,.global-search-loading .spinner-border,.search-recovery-suggestion svg) { color: #c5baff; }
html:root[data-theme="dark"] #globalSearchModal :is(.global-search-empty strong,.search-group-title,.search-recovery-suggestions h3) { color: var(--theme-text); }
html:root[data-theme="dark"] #globalSearchModal .search-recovery-suggestion { background: var(--theme-surface); border-color: #4a4569; }
html:root[data-theme="dark"] #globalSearchModal .search-recovery-suggestion:is(:hover,:focus-visible) { background: #29283f; border-color: #b2a5ff; }
html:root[data-theme="dark"] #globalSearchModal .search-recovery-contribute { background: #29283f; border-color: #555078; }
html:root[data-theme="dark"] #globalSearchModal .search-recovery-cta { background: #504071; color: #f6f2ff !important; }
html:root[data-theme="dark"] #globalSearchModal .global-search-error { color: var(--theme-error); }
html:root[data-theme="dark"] #globalSearchModal .search-group-header { border-color: var(--theme-line); }

/* Passwordless sign-in; no appearance-only action sends an email. */
html:root[data-theme="dark"] #ghidbrAuthModal :is(.auth-modal-title,.auth-modal-benefits strong,.form-label,.form-check-label strong) { color: var(--theme-text); }
html:root[data-theme="dark"] #ghidbrAuthModal :is(.auth-modal-subtitle,.auth-modal-benefits span span,.auth-modal-note) { color: var(--theme-muted); }
html:root[data-theme="dark"] #ghidbrAuthModal :is(.auth-modal-chip,.auth-modal-tile--indigo) { background: #302e4b; color: #c5baff; }
html:root[data-theme="dark"] #ghidbrAuthModal .auth-modal-tile--rose { background: #432d40; color: #ffadc9; }
html:root[data-theme="dark"] #ghidbrAuthModal :is(.auth-code-panel,.auth-modal-divider) { border-color: var(--theme-line); }
html:root[data-theme="dark"] #ghidbrAuthModal .auth-modal-divider span { background: var(--theme-surface); color: var(--theme-muted); }

/* Favorite & Interesat: categories and selected states retain semantic accents. */
html:root[data-theme="dark"] body.saved-page :is(.saved-library-panel,.saved-rail-card,.saved-card,.saved-participation-card) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-line); box-shadow: 0 6px 24px #0002; }
html:root[data-theme="dark"] body.saved-page :is(.saved-tab-button,.saved-filter-button,.saved-reminder-row,.saved-rail-note,.saved-card-img-placeholder,.saved-participation-image-placeholder) { background: var(--theme-raised); color: var(--theme-text); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.saved-page :is(.saved-tab-copy small,.saved-card-meta,.saved-rail-note small,.saved-rail-eyebrow,.saved-reminder-row) { color: var(--theme-muted); }
html:root[data-theme="dark"] body.saved-page :is(.saved-card-title,.saved-participation-title,.saved-rail-link) { color: var(--theme-text); }
html:root[data-theme="dark"] body.saved-page :is(.saved-tab-count,.saved-filter-count,.saved-empty-icon-wrap) { background: #342d49; color: #c5baff; }
html:root[data-theme="dark"] body.saved-page .saved-tab-button--favorites.is-active { background: #432d40; border-color: #bc718f; color: #ffb3cd; }
html:root[data-theme="dark"] body.saved-page .saved-tab-button--favorites.is-active .saved-tab-count { background: #62364b; color: #ffd1e0; }
html:root[data-theme="dark"] body.saved-page .saved-tab-button--participations.is-active { background: #342d49; border-color: #a99bdb; color: #d7ccff; }
html:root[data-theme="dark"] body.saved-page .saved-filter-button { --saved-filter-color: #c5baff; }
html:root[data-theme="dark"] body.saved-page .saved-filter-button.is-active { background: #342d49; color: #d7ccff; border-color: #a99bdb; }
html:root[data-theme="dark"] body.saved-page .saved-filter-button[data-saved-filter="places"].is-active { background: #233e38; color: #a5e4cb; border-color: #659c86; }
html:root[data-theme="dark"] body.saved-page .saved-filter-button[data-saved-filter="shopping"].is-active { background: #432d40; color: #ffb3cd; border-color: #bc718f; }
html:root[data-theme="dark"] body.saved-page .saved-filter-button[data-saved-filter="promotions"].is-active { background: #403725; color: #f4cd8b; border-color: #a88750; }
html:root[data-theme="dark"] body.saved-page .saved-card-remove { background: #432d40; color: #ffb3cd; border-color: #86546c; }
html:root[data-theme="dark"] body.saved-page :is(.saved-card-type,.saved-participation-copy .badge) { background: #302e4b !important; color: #d3c8ff !important; }
html:root[data-theme="dark"] body.saved-page .saved-rail-link:is(:hover,:focus-visible) { background: var(--theme-raised); color: #d3c8ff; }

/* Public forms — surfaces, editor, choices, media, schedules and live previews. */
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-hub-summary,.contribution-hub-step,.contribution-hub-trust,.contribution-hub-progress,.contribution-self__form-section,.contribution-assisted__section,.contribution-live-preview,.contribution-live-preview__card,.contribution-full-preview__dialog,.contribution-full-preview__dialog > header,.contribution-self__clear-dialog > section) {
  background: var(--theme-surface) !important; border-color: var(--theme-line) !important; color: var(--theme-text); box-shadow: 0 6px 24px #0002;
}
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-hub-choice,.contribution-hub-summary__items li,.contribution-hub-guard,.contribution-hub-complete__guard,.contribution-self__draft-tools,.contribution-self__checklist,.contribution-hub-draft-notice,.contribution-hub-representative,.contribution-field-choice > span,.contribution-self__toggle > span,.contribution-facilities > button,.contribution-place-types__show-all,.contribution-media-drop,.contribution-media-card,.contribution-media-rights,.contribution-schedule__day,.contribution-self__media-note,.contribution-self__evidence-satisfied,.contribution-place-picker__result,.contribution-address-result,.contribution-place-picker__results,.contribution-address-picker__results,.contribution-self__toast,.contribution-material-slot,.contribution-material-slot__drop,.contribution-assisted__optional,.contribution-assisted__review,.contribution-assisted__notice,.contribution-full-preview__facts > span,.contribution-full-preview__notice) {
  background: var(--theme-raised) !important; border-color: var(--theme-line) !important; color: var(--theme-text); box-shadow: none;
}
html:root[data-theme="dark"] body.contribution-hub-page :is(strong,label,legend,summary,.contribution-hub-progress__item,.contribution-hub-progress li > a,.contribution-hub-summary__items a,.contribution-hub-choice strong,.contribution-full-preview__description,.contribution-live-preview__card [data-live-preview-description]) { color: var(--theme-text); }
html:root[data-theme="dark"] body.contribution-hub-page :is(small,.contribution-self__help,.contribution-schedule__status,.contribution-media-organize-help,.contribution-self__control-hint) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-hub-kicker,.contribution-hub-summary__icon,.contribution-hub-choice__icon,.contribution-hub-progress__marker,.contribution-hub-summary__count,.contribution-self__section > header > span,.contribution-assisted__section > header > span,.contribution-self__clear-dialog-icon) { background: #302e4b; color: #c5baff; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-field-choice > input:checked + span,.contribution-self__toggle > input:checked + span,.contribution-facilities > button.is-selected,.contribution-hub-progress li.is-current,.contribution-hub-choice:hover,.contribution-place-picker__result:hover,.contribution-address-result:hover) { background: #38304e !important; border-color: #ad9bd9 !important; color: #e2d9ff; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-hub-progress li.is-complete,.contribution-place-picker__selected,.contribution-hub-target-confirmed,.contribution-organizer-from-place.is-active,.contribution-self-success) { background: #203b33 !important; border-color: #427562; color: #b4efd7; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__draft-tools button,.contribution-self__clear-dialog footer button,.contribution-hub-progress__reset,.contribution-hub-progress__edit,.contribution-live-preview__heading button,.contribution-preview-open,.contribution-media-actions button,.contribution-media-clear,.contribution-schedule__presets button,.contribution-tags button,.contribution-assisted__add-material,.contribution-full-preview__dialog > header button,.contribution-place-preview__mode-switcher,.contribution-place-preview__mode-switcher button) { background: #302e4b; border-color: #6c618f; color: #ded5ff; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__clear-dialog footer button.is-danger,.contribution-media-remove,.contribution-material-slot__remove) { background: #593042; border-color: #b57189; color: #ffd3e0; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__alert,.contribution-self__validation-summary,.contribution-assisted__validation.is-invalid,.contribution-hub-alert) { background: #402734 !important; border-color: #875366 !important; color: #ffd1da; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__client-error,.contribution-assisted__error,.contribution-assisted__section-error,.contribution-self__clear-dialog-error) { color: #ffabb8 !important; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__control.is-invalid,.contribution-media-rights.has-error,.contribution-self__field.has-client-error input) { border-color: #ffabb8 !important; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-full-preview__hero,.contribution-live-preview__image,.contribution-material-slot__preview,.contribution-place-preview__frame-shell) { background: var(--theme-raised); }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-full-preview__backdrop,.contribution-self__clear-dialog-backdrop,.contribution-media-viewer__backdrop) { background: #050811d9; }
html:root[data-theme="dark"] body.contribution-hub-page .contribution-place-preview__mode-switcher button[aria-pressed="true"] { background: #514367; color: #fff; }
html:root[data-theme="dark"] body.contribution-hub-page .contribution-self__toggle > input:checked + span > i { background: #8774d9; }
html:root[data-theme="dark"] body.contribution-hub-page .contribution-media-previews figcaption { background: #192131ed; color: var(--theme-text); }
html:root[data-theme="dark"] .rich-description-editor { background: var(--theme-surface) !important; border-color: #52617b !important; }
html:root[data-theme="dark"] .rich-description-editor :is(.rich-description-editor__basic,.editor-toolbar,.description-link-panel) { background: var(--theme-raised) !important; border-color: var(--theme-line); color: var(--theme-text); }
html:root[data-theme="dark"] .rich-description-editor .editor-content { color: var(--theme-text); background: var(--theme-surface); }
html:root[data-theme="dark"] .rich-description-editor .editor-content:empty::before { color: #a4b2c7 !important; }
html:root[data-theme="dark"] .rich-description-editor .rich-description-editor__basic button { color: #d1c7ee; }
html:root[data-theme="dark"] .rich-description-editor .rich-description-editor__basic button:is(:hover,[aria-pressed="true"],[aria-expanded="true"]):not(:disabled) { background: #514367; color: #fff; }
html:root[data-theme="dark"] .rich-description-editor :is(.description-link-panel__actions button,.rich-description-editor__divider) { background: #423853; color: #e2d9ff; border-color: #8973ae; }
html:root[data-theme="dark"] .rich-description-editor .editor-content a { color: #c5baff; }
html:root[data-theme="dark"] .rich-description-editor:focus-within { border-color: #c5baff !important; }

/* Feedback/contact and newsletter preferences share the same field states. */
html:root[data-theme="dark"] body.feedback-page { --feedback-line: var(--theme-line); --feedback-indigo: #b2a5ff; }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-intro-card,.feedback-panel,.feedback-success-card) { background: var(--theme-surface); border-color: var(--theme-line); color: var(--theme-text); box-shadow: 0 6px 24px #0002; }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-category-surface,.feedback-rating-options label > span,.feedback-context-note,.feedback-intro-icon,.feedback-field-number,.feedback-category-icon,.feedback-form-time) { background: var(--theme-raised); border-color: var(--theme-line); color: var(--theme-muted); }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-category-surface strong,.feedback-rating-options strong,.feedback-promise-list strong,.feedback-context-note strong,label,legend) { color: var(--theme-text); }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-promise-list small,.feedback-category-surface small,.feedback-field-meta,.feedback-privacy-note) { color: var(--theme-muted); }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-category-option > input:checked + .feedback-category-surface,.feedback-rating-options input:checked + span) { background: #38304e; color: #e2d9ff; border-color: #ad9bd9; }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-category-option > input:checked + .feedback-category-surface .feedback-category-icon,.feedback-field-number,.feedback-promise-list li > span) { background: #302e4b; color: #c5baff; }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-primary-button,.feedback-primary-button:hover) { background: #6751b7; color: #fff; }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-privacy-note a,.feedback-eyebrow,.feedback-section-kicker) { color: #c5baff; }

html:root[data-theme="dark"] body.saved-page :is(.saved-empty-state,.saved-tab-list) { background: var(--theme-surface); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.saved-page .saved-empty-state .text-dark { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.saved-page .saved-filter-button { --saved-filter-accent: #c5baff; --saved-filter-soft: #342d49; }

/* Form wrappers must follow their inputs, including native date/link groups. */
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__section,.contribution-self__source,.contribution-self__representation,.contribution-self__field[data-contribution-field="ticket_url"]) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-native-date-control,.contribution-link-control,.contribution-tags__editor,.contribution-tags__suggestions) { background: var(--theme-raised); border-color: #52617b; color: var(--theme-text); }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-link-control > span:first-child,.contribution-self__step-disclosure > summary > span:first-child,.contribution-self__form-section > summary > span:first-child,.contribution-tags__chip) { background: #302e4b; color: #c5baff; border-color: #6c618f; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__field label b,.contribution-self__source legend b,.contribution-field-choice svg,.contribution-place-picker__search > svg,.contribution-self__step-disclosure > summary > svg,.contribution-self__form-section > summary > svg,.contribution-native-date-control > svg) { color: #c5baff; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__field,.contribution-self__step-disclosure > summary strong,.contribution-self__representation strong) { color: var(--theme-text); }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-self__source.has-existing,.contribution-tags__suggestions button.is-added) { background: #203b33; border-color: #427562; color: #b4efd7; }
html:root[data-theme="dark"] body.saved-page :is(.saved-tab-icon,.saved-rail-note strong) { color: inherit; }
html:root[data-theme="dark"] body.saved-page .saved-tab-button--participations.is-active .saved-tab-icon { background: #493960; color: #d7ccff; }
html:root[data-theme="dark"] body.saved-page .saved-tab-button--favorites.is-active .saved-tab-icon { background: #62364b; color: #ffd1e0; }
html:root[data-theme="dark"] body.feedback-page { --feedback-ink: var(--theme-text); --feedback-muted: var(--theme-muted); }
html:root[data-theme="dark"] body.feedback-page .feedback-promise-list li { background: var(--theme-raised); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.feedback-page .feedback-success-icon { background: #203b33; color: #b4efd7; }
html:root[data-theme="dark"] body.public-theme-preview .header-inspire-label { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.saved-page-main,.contribution-hub-main,.feedback-page-main) :is(input,select,textarea)[aria-invalid="true"],
html:root[data-theme="dark"] body.public-theme-preview :is(.modal-content,.feedback-page-main) :is(input,select,textarea).is-invalid { border-color: var(--theme-error) !important; }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-place-optional-context,.contribution-place-picker__result > span:first-child,.contribution-place-picker__selected > span:first-child,.contribution-place-picker__selected button) { background: #302e4b; color: #c5baff; border-color: var(--theme-line); }
html:root[data-theme="dark"] body.contribution-hub-page :is(.contribution-place-preview__device-label,.contribution-live-preview__heading > span) { color: var(--theme-muted); }

/* Isolated preview frames inherit the local appearance preference. */
html:root[data-theme="dark"] body.event-page :is(.event-hero-wrapper,.mobile-event-hero-card,.mobile-glance-card) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.event-page .event-hero-overlay { background: linear-gradient(135deg,#192131f0,#192131e6) !important; }
html:root[data-theme="dark"] body.event-page :is(.event-hero-fact-value,.event-ticket-price-value,.event-rail-section-value,.mobile-glance-value,.event-location-summary-copy strong) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.event-page :is(.event-hero-fact-label,.event-hero-fact-detail,.event-rail-section-label,.event-location-summary-copy small,.mobile-glance-label) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.event-page :is(.event-hero-actions,.event-desktop-price-block,.event-price-details,.mobile-glance-row) { border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.event-page :is(.contribution-event-preview__poster-placeholder,.contribution-event-preview__map-placeholder,.contribution-event-preview__video-list > a,.event-location-summary,.mobile-glance-icon,.mobile-glance-action) { background: var(--theme-raised) !important; border-color: var(--theme-line); color: #c5baff !important; }
html:root[data-theme="dark"] body.event-page .mobile-event-hero-scrim { background: linear-gradient(180deg,transparent 55%,var(--theme-page) 100%) !important; }
html:root[data-theme="dark"] body.contribution-hub-page .contribution-full-preview__description { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.contribution-hub-page .contribution-full-preview__hero > svg { color: #c5baff; }
html:root[data-theme="dark"] body.feedback-page :is(.feedback-rating-options svg,.feedback-category-icon) { color: #c5baff; }
html:root[data-theme="dark"] body.event-page :is(.event-detail-calendar-action,.btn-share-event-detail,.event-directions-cta,.event-location-map,.contribution-event-preview__video-item) { background: var(--theme-raised) !important; border-color: var(--theme-line) !important; color: #d7ccff !important; }
html:root[data-theme="dark"] body.event-page .mobile-description-wrapper.collapsed::after { background: linear-gradient(to bottom,transparent,var(--theme-surface)) !important; }
html:root[data-theme="dark"] body.event-page .mobile-description-toggle { color: #c5baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .feedback-page-main .was-validated :is(input,select,textarea):invalid { border-color: var(--theme-error) !important; }
html:root[data-theme="dark"] body:is(.contribution-place-public-preview,.contribution-event-public-preview) #preview-modal { background: var(--theme-page) !important; color: var(--theme-text); }
html:root[data-theme="dark"] body:is(.contribution-place-public-preview,.contribution-event-public-preview) #preview-modal :is(.full-preview-mobile,.full-preview-desktop,.mobile-detail-scroll-surface) { background: var(--theme-page) !important; color: var(--theme-text); }
html:root[data-theme="dark"] body:is(.contribution-place-public-preview,.contribution-event-public-preview) #preview-modal :is(.event-description,.detail-description) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body:is(.contribution-place-public-preview,.contribution-event-public-preview) #preview-modal .mobile-description-toggle { color: #c5baff !important; }
html:root[data-theme="dark"] body.contribution-place-public-preview #preview-modal :is(.mobile-full-preview-cta,.hero-animated-media) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.event-page #preview-modal :is(.mobile-cta-bar,.mobile-cta-save,.mobile-cta-share) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; color: var(--theme-text) !important; box-shadow: none; }
html:root[data-theme="dark"] body.saved-page :is(.saved-card-title,.saved-participation-title) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.saved-page :is(.saved-card-meta,.saved-participation-meta,.saved-reminder-row) { color: var(--theme-muted) !important; }

/* Public directories: filters, calendar and map overlays use the same palette. */
html:root[data-theme="dark"] body.event-listing-page { --evt-page-background: var(--theme-page); }
html:root[data-theme="dark"] body.public-theme-preview :is(.events-list-pill,.events-list-empty,.mini-calendar-widget,.b2b-organizer-card,.event-toolbar-popover,.event-toolbar-dropdown,.calendar-rail-theatre-btn,.tag-results-summary,.more-desktop-intro) { background: var(--theme-surface) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; box-shadow: 0 6px 24px #0002; }
html:root[data-theme="dark"] body.public-theme-preview :is(.event-calendar-presets button,.event-calendar-presets a,.events-list-empty-icon,.tag-results-summary-icon,.tag-results-clear,.more-desktop-intro > span,.calendar-rail-theatre-btn .theatre-chevron) { background: var(--theme-raised) !important; color: #c5baff !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.events-list-section-count,.events-list-sheet-item > span small,.calendar-weekdays,.theatre-shortcut-copy small,.tag-results-summary-copy span) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.events-list-sheet-item,.calendar-day-cell,.tag-results-summary-copy strong) { color: var(--theme-text); }
html:root[data-theme="dark"] body.public-theme-preview :is(.events-list-sheet-item.active,.events-list-sheet-item:hover,.events-list-pill.active,.events-list-pill[aria-expanded="true"]) { background: #39304f !important; color: #ded5ff !important; border-color: #a998d5 !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.events-list-sheet-item svg,.events-list-pill svg,.listing-filter-count) { color: #c5baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .calendar-day-cell:hover:not(.empty-cell):not(.is-disabled) { background: #39304f; color: #ded5ff; }
html:root[data-theme="dark"] body.public-theme-preview .calendar-day-cell.today { border-color: #b2a5ff; color: #d7ccff; }
html:root[data-theme="dark"] body.public-theme-preview .calendar-day-cell.has-events { border-color: #ac647e !important; }
html:root[data-theme="dark"] body.public-theme-preview .calendar-day-cell.has-events::after { background: #ffacc9; }
html:root[data-theme="dark"] body.public-theme-preview .calendar-day-cell.selected-day { background: #6852af !important; color: #fff !important; border-color: #ccbaff !important; box-shadow: none; }
html:root[data-theme="dark"] body.public-theme-preview .calendar-day-cell.is-disabled { color: #69768b !important; border-color: transparent !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.calendar-day-cell,.events-list-sheet-item,.events-list-pill,.event-toolbar-trigger,.place-map-control-button):focus-visible { outline: 2px solid #c5baff; outline-offset: 2px; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-map-preview,.place-map-result-count,.place-map-control-button,.place-map-zoom-group,.place-map-preview-close) { background: var(--theme-surface) !important; border-color: #52617b !important; color: #d7ccff !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-map-preview-title,.place-map-zoom-button) { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-map-preview-category,.place-map-preview-action,.place-map-result-count svg) { color: #c5baff !important; }
html:root[data-theme="dark"] body.public-theme-preview .place-map-preview-rating { color: var(--theme-muted); }
html:root[data-theme="dark"] body.public-theme-preview .place-map-preview-status.is-open { color: #8edfc1; }
html:root[data-theme="dark"] body.public-theme-preview .place-map-preview-status.is-closed { color: #ffba91; }
html:root[data-theme="dark"] body.public-theme-preview .place-map-preview-action.is-primary { background: #6751b7; color: #fff !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.place-map-zoom-button,.place-map-control-button,.place-map-preview-action):is(:hover,:focus-visible) { background: #39304f !important; color: #ded5ff !important; }

/* Actual event detail shares the frame palette and preserves all action shapes. */
html:root[data-theme="dark"] body.event-page :is(.event-description,.event-practical-description,.mobile-practical-info-text) { color: var(--theme-muted) !important; }
/* Rich descriptions are shared by event, location and promotion pages. */
html:root[data-theme="dark"] body.public-theme-preview .editorial-description { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.public-theme-preview .editorial-description :is(h2,h3,strong,b) { color: var(--theme-text); }
html:root[data-theme="dark"] body.public-theme-preview .editorial-description :is(h3 + p,blockquote,ul,ol) { background: var(--theme-raised); border-color: var(--theme-line); color: var(--theme-muted); }
html:root[data-theme="dark"] body.public-theme-preview .editorial-description blockquote { border-left-color: var(--theme-accent) !important; }
html:root[data-theme="dark"] body.public-theme-preview .editorial-description a { color: var(--theme-accent); }
html:root[data-theme="dark"] body.public-theme-preview .editorial-description hr { border-color: var(--theme-line); }
html:root[data-theme="dark"] body.event-page .mobile-social-row { border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.event-page :is(.btn-contact-call,.btn-contact-msg) { background: var(--theme-raised); color: var(--theme-accent); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.event-page :is(.btn-contact-call,.btn-contact-msg):is(:hover,:focus-visible) { background: #39304f; color: #ded5ff; }
html:root[data-theme="dark"] body.event-page :is(.mobile-cta-bar,.mobile-cta-save,.mobile-cta-share) { background: var(--theme-surface) !important; border-color: var(--theme-line) !important; color: var(--theme-text) !important; box-shadow: 0 6px 24px #0002; }
html:root[data-theme="dark"] body.event-page .mobile-cta-save { color: #ff97b4 !important; }
html:root[data-theme="dark"] body.event-page :is(.event-hero-time,.event-hero-access,.mobile-glance-price-details,.event-price-details) { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.event-page :is(.past-event-banner,.event-calendar-planner__hint) { background: #302e4b !important; border-color: #605577; color: #d7ccff !important; }
html:root[data-theme="dark"] body.event-page :is(.event-calendar-planner__period,.mobile-organizer-contact-btn,.event-official-link) { background: var(--theme-raised) !important; color: #c5baff !important; border-color: var(--theme-line) !important; }

/* Shared navigation and readable legal content, including the standalone menu. */
html:root[data-theme="dark"] body.legal-standard-page :is(.info-card,.info-page-eyebrow) { background: var(--theme-surface); border-color: var(--theme-line); color: var(--theme-accent); }
html:root[data-theme="dark"] body.legal-standard-page :is(.legal-content,.legal-meta) { color: var(--theme-muted); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.legal-standard-page .legal-content section + section { border-color: var(--theme-line); }
html:root[data-theme="dark"] body.legal-standard-page .legal-content a { color: var(--theme-accent); }
html:root[data-theme="dark"] body.event-page :is(.event-desktop-website-cta,.event-mobile-website-cta,.event-hero-facts > .lucide,.event-hero-fact > .lucide) { color: var(--theme-accent) !important; }
html:root[data-theme="dark"] body.event-page :is(.event-desktop-website-cta,.event-mobile-website-cta) > svg { color: inherit; }
html:root[data-theme="dark"] body.event-page :is(.event-desktop-website-cta,.event-mobile-website-cta) > svg:first-child { background: var(--theme-raised); }
html:root[data-theme="dark"] body.event-page :is(.event-detail-calendar-action,.btn-share-event-detail) .lucide { color: inherit !important; }

html:root[data-theme="dark"] body.public-theme-preview .detail-close-btn .header-stable-icon { color: inherit !important; }
html:root[data-theme="dark"] body.event-page .mobile-social-proof-text { color: var(--theme-muted) !important; }
html:root[data-theme="dark"] body.event-page :is(.hero-animated-media,.event-gallery-single-frame) { background-color: var(--theme-surface); border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.legal-standard-page .legal-page-nav { background: var(--theme-surface); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.legal-standard-page .legal-page-nav nav a { color: var(--theme-text); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.legal-standard-page :is(.legal-page-contact,.legal-page-nav nav a:hover,.legal-page-nav nav a:focus-visible) { background: var(--theme-raised); color: var(--theme-accent); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview.has-mobile-nav .navbar-glass #btn-dice-randomizer .header-action-label { color: var(--theme-text) !important; }
html:root[data-theme="dark"] body.public-theme-preview .event-toolbar-trigger { background: var(--theme-raised) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.event-toolbar-trigger:hover,.event-toolbar-menu[open] .event-toolbar-trigger) { background: #39304f !important; color: #ded5ff !important; border-color: #a998d5 !important; }
/* Empty/loading artwork and personal shortcuts must not flash white. */
html:root[data-theme="dark"] body.public-theme-preview .home-visual-card__media { background-color: var(--theme-raised); }
html:root[data-theme="dark"] body.public-theme-preview .personal-rail-card-action { background: var(--theme-surface) !important; color: var(--theme-text) !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .personal-rail-card-action:is(:hover,:focus-visible) { background: var(--theme-raised) !important; border-color: var(--theme-accent) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.personal-rail-card-icon,.personal-rail-card-count-wrap) { background: var(--theme-raised); color: var(--theme-accent) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.personal-rail-card-count,.personal-rail-card-action-arrow,.mini-calendar-widget button svg) { color: var(--theme-accent) !important; }
html:root[data-theme="dark"] body.public-theme-preview .home-feed-action[data-analytics-action="directions_click"] { background: var(--theme-raised) !important; color: #c5baff !important; border-color: var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .home-feed-action[data-analytics-action="directions_click"]:is(:hover,:focus-visible) { background: #303b52 !important; border-color: var(--theme-accent) !important; }
html:root[data-theme="dark"] body.public-theme-preview .places-map-panel { background: var(--theme-surface); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview .detail-close-btn :is(svg,path) { color: inherit !important; stroke: currentColor !important; }
html:root[data-theme="dark"] body.event-page .mobile-cta-participate .event-card__participate-icon { color: #c5baff !important; stroke: currentColor !important; }

/* Secondary public flows share the palette; no editorial/admin surfaces. */
html:root[data-theme="dark"] body.propose-edit-page {
  --propose-bg: var(--theme-page); --propose-card: var(--theme-surface);
  --propose-text: var(--theme-text); --propose-muted: var(--theme-muted);
  --propose-border: var(--theme-line);
}
html:root[data-theme="dark"] body.public-theme-preview :is(.info-card,.publication-path-option,.publication-assisted-card,.publication-path-success,.offer-principles article,.offer-card,.offer-faq-grid article) { background: var(--theme-surface); border-color: var(--theme-line); color: var(--theme-text); }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-hero__icon,.propose-edit-step-heading > span,.propose-edit-result__icon,.propose-edit-selection__card,.entity-representation-confirmation,.entity-representation-target__icon,.entity-representation-success > span,.entity-representation-unavailable > span,.publication-sources,.publication-path-success__note,.publication-assisted-type,.publication-path-switch,.offer-maintenance-rules,.offer-note,.offer-process li) { background: var(--theme-raised); border-color: var(--theme-line); color: var(--theme-text); }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-type-picker input:checked + span,.propose-edit-result:hover,.propose-edit-result.is-active,.publication-path-option.is-active,.publication-path-option:hover) { background: #302e4b; color: #d7ccff; border-color: var(--theme-accent); }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-selection__card strong,.publication-path-option__copy strong,.publication-field label,.publication-sources legend,.publication-sources label span,.publication-consents > label,.entity-representation-form-card label,.offer-maintenance-rules strong,.offer-features li) { color: var(--theme-text); }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-selection__card small,.propose-edit-selection__card span[data-edit-selection-type],.entity-representation-target li,.publication-path-option__copy small,.publication-field small,.publication-consents small,.offer-principles span,.offer-maintenance-rules li,.offer-card > p) { color: var(--theme-muted); }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-hero__icon,.propose-edit-step-heading > span,.propose-edit-result__icon,.propose-edit-selection__card > a,.entity-representation-target li svg,.entity-representation-target__icon,.publication-path-option__copy b,.publication-path-option__arrow,.publication-consents a,.publication-path-kicker,.publication-path-switch__action,.offer-price,.offer-section-heading > span,.offer-principles svg) { color: var(--theme-accent); }
html:root[data-theme="dark"] body.public-theme-preview :is(.publication-assisted-card__price,.publication-assisted-card__note) { background: #3b253b; color: #ffc0d9; border-color: #79506e; }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-notice) { background: #3a3022; color: #ffe0a6; border-color: #77603c; }
html:root[data-theme="dark"] body.public-theme-preview :is(.publication-path-alert,.entity-representation-main .alert-danger) { background: #3a2433; color: var(--theme-error); border-color: #875368; }
html:root[data-theme="dark"] body.public-theme-preview .entity-field-error { color: var(--theme-error); }
html:root[data-theme="dark"] body.public-theme-preview .entity-representation-main [aria-invalid="true"] { border-color: var(--theme-error) !important; }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-shell,.entity-representation-main,.publication-path-main) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),select,textarea) { background: var(--theme-raised); color: var(--theme-text); border-color: var(--theme-line); caret-color: var(--theme-accent); }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-shell,.entity-representation-main,.publication-path-main) :is(input,select,textarea):focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 2px; }
html:root[data-theme="dark"] body.public-theme-preview :is(.propose-edit-shell,.entity-representation-main,.publication-path-main,.offer-main) :is(a,button):focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 3px; }
html:root[data-theme="dark"] body.public-theme-preview .publication-sources__add,
html:root[data-theme="dark"] body.public-theme-preview .offer-card-cta:not(.is-primary) { background: var(--theme-raised); color: var(--theme-accent); border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview :is(.publication-path-success__icon,.offer-status.is-active) { background: #203c37; color: #95e4c7; }
html:root[data-theme="dark"] body.public-theme-preview .offer-status.is-planned { background: #302e4b; color: #d7ccff; }
html:root[data-theme="dark"] body.public-theme-preview .offer-features svg { color: #95e4c7; }
html:root[data-theme="dark"] body.public-theme-preview .offer-card-actions a { background: var(--theme-raised); color: var(--theme-accent); border-color: var(--theme-line); }

html:root[data-theme="dark"] body.public-theme-preview .offer-features { border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview .offer-hero h1 span { background: linear-gradient(110deg,#c5baff,#ffb7dc); background-clip: text; -webkit-background-clip: text; }
html:root[data-theme="dark"] body.public-theme-preview :is(.info-page-eyebrow,.contribution-assisted__section header > b) { background: #302e4b; color: #d7ccff; border-color: var(--theme-line); }
html:root[data-theme="dark"] body.public-theme-preview .contribution-assisted__section header > b.is-over-limit { background: #3a2433; color: var(--theme-error); }
html:root[data-theme="dark"] body.public-theme-preview .inspiration-story-btn--share { background: var(--theme-raised) !important; color: var(--theme-text) !important; border: 1px solid var(--theme-line) !important; }
html:root[data-theme="dark"] body.public-theme-preview .inspiration-story-btn--share :is(svg,i) { color: inherit !important; stroke: currentColor !important; }

html:root[data-theme="dark"] .promotion-card-compact .promotions-list-benefit { color:#c2b7ff; }
html:root[data-theme="dark"] .promotion-card-compact .promotions-list-schedule { color:var(--theme-text); }
html:root[data-theme="dark"] .promotion-card-compact .promotions-list-card-actions { border-color:var(--theme-line); }
html:root[data-theme="dark"] .promotion-card-compact .promotions-list-direct { background:transparent; color:var(--theme-muted); }

html:root[data-theme="dark"] .promotion-card-compact .promotions-list-card-thumb { background:transparent !important; }

html:root[data-theme="dark"] .promotion-card-compact .promotions-list-share {
  background:var(--theme-raised); border-color:var(--theme-line); color:var(--theme-text);
}
html:root[data-theme="dark"] .promotion-card-compact .promotions-list-share:hover {
  background:#343450; border-color:#a99bff;
}
