/*
 * Dark-theme coverage for public discovery and editorial catalog pages.
 * This file is intentionally presentation-only. It relies on the shared
 * tokens declared in awp-theme-pilot.css and never changes page layout.
 */

/* Shared catalog canvas */
html[data-awp-theme="dark"] :is(
  .gallery-page,
  .category-page,
  .city-search-page,
  .cityp,
  .locations-page,
  .location-submitPage,
  .place-guide,
  .weekly-page,
  .monthly-page,
  .yearly-page,
  .vs-page,
  .vss-page,
  .partners-index,
  .partner-page
) {
  background:
    radial-gradient(circle at 88% 4%, rgba(254, 108, 3, .12), transparent 26rem),
    radial-gradient(circle at 8% 36%, rgba(254, 108, 3, .055), transparent 32rem),
    var(--awp-page);
  color: var(--awp-text);
}

/* Gallery */
html[data-awp-theme="dark"] :is(.gallery-works, .category-works) {
  background: transparent;
}

html[data-awp-theme="dark"] :is(.gallery-hero, .category-hero) {
  background: #050505;
}

html[data-awp-theme="dark"] :is(.gallery-hero, .category-hero)::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .68));
}

html[data-awp-theme="dark"] :is(.gallery-section-head h2, .category-section-head h2) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(.gallery-section-head p, .category-section-head p) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .gallery-filter-btn {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.gallery-filter-btn:hover, .gallery-filter-btn.active) {
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] .gallery-filter-btn.active::after {
  background: var(--awp-accent);
  box-shadow: 0 0 18px rgba(254, 108, 3, .42);
}

html[data-awp-theme="dark"] :is(.gallery-photo-item, .category-photo-item) {
  background: var(--awp-surface-raised);
  border: 1px solid var(--awp-border);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.gallery-photo-item, .category-photo-item):hover {
  border-color: rgba(254, 108, 3, .46);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.gallery-empty, .category-empty) {
  color: var(--awp-muted);
  border-color: var(--awp-border);
  background: var(--awp-surface);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.gallery-load-more, .category-load-more) {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.gallery-load-more, .category-load-more):hover {
  background: linear-gradient(135deg, var(--awp-accent-hover), var(--awp-accent));
  box-shadow: var(--awp-glow-strong);
}

html[data-awp-theme="dark"] :is(.gallery-lightbox-nav, .category-hero-nav, .category-lightbox-nav):hover {
  border-color: var(--awp-accent);
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.gallery-hero-dot, .category-hero-dot).is-active {
  background: var(--awp-accent);
  box-shadow: 0 0 18px rgba(254, 108, 3, .5);
}

/* Photographer directory */
html[data-awp-theme="dark"] .ph-hero-overlay {
  background: rgba(8, 8, 8, .82);
  border: 1px solid rgba(254, 108, 3, .22);
  box-shadow: var(--awp-shadow-strong);
  backdrop-filter: blur(10px);
}

html[data-awp-theme="dark"] :is(.photographers-hero h1, .ph-name, .ph-meta, .ph-toggle) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(.photographers-hero .hero-line1, .ph-location) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.ph-search, .ph-filters select) {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] .ph-search input {
  background: transparent;
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .ph-search input::placeholder {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .ph-search i {
  color: var(--awp-accent);
  opacity: 1;
}

html[data-awp-theme="dark"] :is(.ph-card, .ph-card--mosaic) {
  border: 1px solid var(--awp-border);
  background: var(--awp-surface);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.ph-card, .ph-card--mosaic):hover {
  border-color: rgba(254, 108, 3, .44);
  box-shadow: var(--awp-glow-strong);
}

html[data-awp-theme="dark"] :is(.ph-mosaic, .ph-mosaic--empty) {
  background: var(--awp-surface-soft);
}

html[data-awp-theme="dark"] .ph-mosaic-ph {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .ph-avatar {
  border-color: var(--awp-surface);
  background: var(--awp-surface-raised);
}

html[data-awp-theme="dark"] .ph-star {
  color: #575753;
}

html[data-awp-theme="dark"] .ph-star.filled {
  color: var(--awp-accent-hover);
}

html[data-awp-theme="dark"] .ph-ratingText {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .ph-dot {
  border-color: rgba(254, 108, 3, .48);
  background: rgba(254, 108, 3, .18);
}

html[data-awp-theme="dark"] .ph-dot.active {
  background: var(--awp-accent);
  box-shadow: 0 0 16px rgba(254, 108, 3, .5);
}

html[data-awp-theme="dark"] :is(.ph-hero-navBtn, .ph-allPhotosBtn):hover {
  border-color: var(--awp-accent);
  background: rgba(254, 108, 3, .9);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] .ph-badge {
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] .ph-badge[style] {
  border-color: rgba(254, 108, 3, .34) !important;
  background: var(--awp-primary-soft) !important;
  color: var(--awp-accent-hover) !important;
}

html[data-awp-theme="dark"] .ph-badge.warn {
  border-color: rgba(251, 113, 133, .38);
  background: rgba(159, 18, 57, .24);
  color: #fecdd3;
  box-shadow: none;
}

html[data-awp-theme="dark"] .ph-tag {
  border-color: rgba(254, 108, 3, .28);
  background: var(--awp-primary-soft);
  color: #ffb276;
}

html[data-awp-theme="dark"] .ph-view {
  border-color: rgba(254, 108, 3, .42);
  background: rgba(254, 108, 3, .09);
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] :is(.ph-btn.primary, .ph-book) {
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.ph-view, .ph-book, .ph-btn.primary):hover {
  border-color: var(--awp-accent-hover);
  background: var(--awp-accent-hover);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.ph-bio, .ph-bookLoc, .ph-calDayHead, .ph-calLegend, .ph-periodBtn span, .ph-periodEmpty, .ph-bookHint, .ph-modal-body, .ph-calInfoText) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.ph-sectionTitle, .ph-bookTitle, .ph-calHeader, .ph-periodBtn strong, .ph-periodQuestion, .ph-modal-title) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] .ph-divider {
  background: var(--awp-border);
}

html[data-awp-theme="dark"] :is(.ph-reviewPolicyBtn, .ph-newInline, .ph-calInfoIcon) {
  background: var(--awp-primary-soft);
  color: var(--awp-accent-hover);
}

html[data-awp-theme="dark"] .ph-reviewPolicyBtn:hover {
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.ph-emptyBox, .ph-cal, .ph-calShell, .ph-calMonthBtn, .ph-calDay, .ph-calLegendSwatch, .ph-periodBtn, .ph-modal-card, .ph-modal-body, .ph-calInfoBox) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.ph-cal, .ph-modal-card) {
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(.ph-calMonthBtn, .ph-calDay, .ph-periodBtn):hover {
  border-color: rgba(254, 108, 3, .46);
  background: var(--awp-surface-raised);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.ph-calDay.is-disabled, .ph-calLegendSwatch.unavailable) {
  background: #080808;
  color: #686864;
}

html[data-awp-theme="dark"] :is(.ph-calDay.is-selected, .ph-periodBtn.is-active, .ph-bookBtn) {
  border-color: var(--awp-accent);
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.ph-periodBtn.is-active strong, .ph-periodBtn.is-active span) {
  color: var(--awp-accent-ink);
}

html[data-awp-theme="dark"] :is(.ph-bookBtn[disabled], .ph-bookBtnLink.is-disabled, .ph-mbb-btn.is-disabled) {
  background: var(--awp-surface-raised) !important;
  color: var(--awp-muted) !important;
  box-shadow: none !important;
}

html[data-awp-theme="dark"] .ph-modal {
  background: rgba(0, 0, 0, .78);
}

html[data-awp-theme="dark"] .ph-modal-head {
  border-bottom-color: var(--awp-border) !important;
}

html[data-awp-theme="dark"] .ph-modal-close {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .ph-empty {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  color: var(--awp-muted);
}

/* Photographer search by city */
html[data-awp-theme="dark"] .city-search-heroCard {
  background:
    radial-gradient(circle at 18% 12%, rgba(254, 108, 3, .17), transparent 25rem),
    linear-gradient(145deg, #050505, #111 62%, #090909);
  border: 1px solid rgba(254, 108, 3, .2);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] .city-search-searchPanel {
  border-color: var(--awp-border);
  background: rgba(17, 17, 17, .96);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(
  .city-search-searchHead h2,
  .city-search-heading__title,
  .city-search-card__name,
  .city-search-empty strong,
  .city-search-locationCard__title
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .city-search-searchHead p,
  .city-search-fieldHint,
  .city-search-heading__text,
  .city-search-resultsCount span,
  .city-search-card__location,
  .city-search-empty p,
  .city-search-locationCard__text,
  .city-search-pagination__status
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .city-search-field span {
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(
  .city-search-field input,
  .city-search-field select,
  .city-search-filterSwitch
) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.city-search-field input, .city-search-field select):focus {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] :is(
  .city-search-searchMeta span,
  .city-search-activeFilter,
  .city-search-card__meta span,
  .city-search-locationCard__meta span
) {
  border: 1px solid var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.city-search-heading__eyebrow, .city-search-card__tag) {
  background: var(--awp-primary-soft);
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] .city-search-resultsCount strong {
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] :is(.city-search-card, .city-search-empty, .city-search-locationCard) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.city-search-card, .city-search-locationCard):hover {
  border-color: rgba(254, 108, 3, .44);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] .city-search-card__badge {
  background: rgba(254, 108, 3, .16);
  color: #ffb276;
}

html[data-awp-theme="dark"] :is(.city-search-btn--ghost, .city-search-pagination span, .city-search-pagination a) {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .city-search-btn--primary {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.city-search-btn--primary, .city-search-btn--ghost, .city-search-pagination a):hover {
  border-color: var(--awp-accent);
  background: var(--awp-accent-hover);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] .city-search-chip.is-active {
  border-color: rgba(254, 108, 3, .5);
  background: rgba(254, 108, 3, .16);
  color: #ffc393;
  box-shadow: var(--awp-glow-soft);
}

/* Photographer city landing pages */
html[data-awp-theme="dark"] .citys--soft {
  background: rgba(255, 255, 255, .018);
}

html[data-awp-theme="dark"] .cityheroCard {
  background:
    radial-gradient(circle at 16% 14%, rgba(254, 108, 3, .16), transparent 24rem),
    linear-gradient(145deg, #050505, #111 62%, #080808);
  border: 1px solid rgba(254, 108, 3, .2);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] .cityfloat {
  border: 1px solid var(--awp-border);
  background: rgba(17, 17, 17, .96);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(
  .cityfloat strong,
  .cityhead h2,
  .cityperson a,
  .cityempty strong,
  .citystep h3,
  .citymapTop strong,
  .cityquote,
  .citylocBody h3,
  .cityrelBody strong,
  .citymoment strong,
  .cityreview strong,
  .citytip strong,
  .cityfaq summary
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .cityfloat span,
  .cityfloat p,
  .cityhead p,
  .citymeta,
  .cityempty p,
  .citystep p,
  .citymapTop span,
  .cityside span,
  .citylocBody p,
  .cityrelBody p,
  .citymoment span,
  .cityreview p,
  .cityreview small,
  .citytip p,
  .cityfaq p
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.citycard, .citystep, .citymapCard, .cityside, .citytipBox, .cityfaqBox) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.citycard, .citystep, .citymapCard, .cityside, .citytipBox, .cityfaqBox):hover {
  border-color: rgba(254, 108, 3, .4);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.cityeyebrow, .citychip, .citypill) {
  border-color: rgba(254, 108, 3, .24);
  background: var(--awp-primary-soft);
  color: #ffb276;
}

html[data-awp-theme="dark"] .citytag {
  background: rgba(254, 108, 3, .16);
  color: #ffc393;
}

html[data-awp-theme="dark"] .citystep > strong {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.citybtn--pri, .citybtn--light) {
  border-color: rgba(254, 108, 3, .35);
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.citybtn--pri, .citybtn--light):hover {
  border-color: var(--awp-accent-hover);
  background: var(--awp-accent-hover);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] .cityp [style*="color:#102246"] {
  color: var(--awp-text-strong) !important;
}

/* Leaflet surfaces used by city and location discovery */
html[data-awp-theme="dark"] :is(.city-search-page, .cityp, .locations-page, .place-guide) :is(
  .leaflet-popup-content-wrapper,
  .leaflet-popup-tip,
  .leaflet-control-layers,
  .leaflet-bar a
) {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.city-search-page, .cityp, .locations-page, .place-guide) .leaflet-popup-content :is(strong, span, div) {
  color: var(--awp-text) !important;
}

html[data-awp-theme="dark"] :is(.city-search-page, .cityp, .locations-page, .place-guide) .leaflet-popup-content a {
  background: var(--awp-accent) !important;
  color: var(--awp-accent-ink) !important;
}

html[data-awp-theme="dark"] :is(.city-search-page, .cityp, .locations-page, .place-guide) .leaflet-container {
  background: #0b0b0b;
}

/* Photo locations directory */
html[data-awp-theme="dark"] :is(.locations-card, .locations-grid .location-card, .locations-mapCard) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] .locations-grid .location-card:hover {
  border-color: rgba(254, 108, 3, .44);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(
  .locations-title,
  .locations-ctaCopy h2,
  .location-name,
  .location-metaItem strong,
  .locations-mapHead h2,
  .locations-empty h2,
  .locations-stat strong
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .locations-text,
  .locations-ctaCopy p,
  .location-subtitle,
  .location-summary,
  .location-metaItem span,
  .locations-mapHead p,
  .locations-empty p,
  .locations-stat span
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .locations-label {
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.locations-input, .locations-select) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.locations-input, .locations-select):focus {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] :is(.locations-stat, .location-metaItem) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
}

html[data-awp-theme="dark"] .locations-cta {
  border-color: var(--awp-border);
  background: linear-gradient(145deg, var(--awp-surface-raised), var(--awp-surface));
}

html[data-awp-theme="dark"] :is(.location-tag, .location-badge) {
  border: 1px solid rgba(254, 108, 3, .25);
  background: rgba(20, 13, 8, .9);
  color: #ffb276;
}

html[data-awp-theme="dark"] .location-link {
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] :is(.locations-submit, .locations-ctaAction, .locations-pageCurrent) {
  border-color: var(--awp-accent);
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.locations-reset, .locations-pageLink) {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.locations-reset, .locations-pageLink, .locations-submit, .locations-ctaAction):hover {
  border-color: var(--awp-accent-hover);
  background: var(--awp-accent-hover);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

/* Photo location details */
html[data-awp-theme="dark"] .place-guide {
  --ink: var(--awp-text-strong);
  --muted: var(--awp-muted);
  --gold: var(--awp-accent);
  --line: var(--awp-border);
  --paper: var(--awp-page-soft);
}

html[data-awp-theme="dark"] :is(.place-band--white, .place-main) {
  background: transparent;
}

html[data-awp-theme="dark"] :is(.place-band--dark, .place-photoBand, .place-communityBand, .place-interest) {
  background: #080808;
}

html[data-awp-theme="dark"] .place-hero {
  background: #050505;
}

html[data-awp-theme="dark"] :is(.place-photoGallery, .place-photoStage, .place-photoThumb, .place-photoThumbs, .place-challenge) {
  background-color: #070707;
}

html[data-awp-theme="dark"] :is(
  .place-overview,
  .place-highlight,
  .place-time,
  .place-equipmentItem,
  .place-mapButton,
  .place-nearbyCard,
  .place-formDialog,
  .place-dialog,
  .place-dialogHeader,
  .place-formDialogHeader
) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.place-overview, .place-highlight, .place-time, .place-equipmentItem, .place-nearbyCard):hover {
  border-color: rgba(254, 108, 3, .42);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(
  .place-sectionTitle,
  .place-heading h2,
  .place-highlight h3,
  .place-time h3,
  .place-equipmentItem h3,
  .place-nearbyBody h3,
  .place-formDialogHeader h2,
  .place-dialogHeader h2
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .place-overviewCopy p,
  .place-heading p,
  .place-highlight p,
  .place-time p,
  .place-equipmentItem p,
  .place-dialogBody,
  .place-readingSection--intro p,
  .place-formHint
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.place-storyButton, .place-sectionEyebrow, .place-highlight i, .place-time strong, .place-stars) {
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] .place-timeIcon {
  background: var(--awp-primary-soft);
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] :is(.place-listPanel, .place-reviews) {
  border-color: rgba(254, 108, 3, .18);
  background: rgba(255, 255, 255, .035);
}

html[data-awp-theme="dark"] .place-challenge {
  border-color: rgba(254, 108, 3, .22);
  background: #080808;
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(.place-communityButton, .place-interestForm button, .place-communitySubmit, .place-action--gold) {
  border-color: var(--awp-accent);
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.place-communityButton, .place-interestForm button, .place-communitySubmit, .place-action--gold):hover {
  background: var(--awp-accent-hover);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.place-formDialogClose, .place-dialogClose) {
  border-color: var(--awp-border);
  background: var(--awp-surface-raised);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.place-communityForm input[type="file"], .place-communityForm textarea) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .place-communityForm label {
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.place-communityForm input, .place-communityForm textarea):focus {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] .place-map {
  border-color: var(--awp-border);
  background: #0b0b0b;
}

html[data-awp-theme="dark"] .place-guide [style*="color:#30435e"] {
  color: var(--awp-text) !important;
}

/* Location submission */
html[data-awp-theme="dark"] :is(.location-submitHero, .location-submitCard) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] .location-submitHero {
  background:
    radial-gradient(circle at 90% 0%, rgba(254, 108, 3, .13), transparent 18rem),
    linear-gradient(145deg, var(--awp-surface-raised), var(--awp-surface));
}

html[data-awp-theme="dark"] :is(.location-submitHero h1, .location-submitTitle, .location-submitLabel) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(.location-submitHero p, .location-submitText, .location-submitHelp) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .location-submitEyebrow {
  background: var(--awp-primary-soft);
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] :is(
  .location-submitInput,
  .location-submitSelect,
  .location-submitTextarea,
  .location-submitCheck,
  .location-submitUploadRow
) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.location-submitInput, .location-submitSelect, .location-submitTextarea):focus {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] .location-submitUploadThumb {
  background: var(--awp-surface-raised);
}

html[data-awp-theme="dark"] .location-submitSubmit {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] .location-submitSubmit:hover {
  background: var(--awp-accent-hover);
  box-shadow: var(--awp-glow-strong);
}

/* Competition archives */
html[data-awp-theme="dark"] :is(.weekly-hero, .monthly-hero, .yearly-hero) {
  background: #050505;
}

html[data-awp-theme="dark"] :is(.weekly-hero, .monthly-hero, .yearly-hero)::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, .24), rgba(0, 0, 0, .72));
}

html[data-awp-theme="dark"] :is(.weekly-hero-nav, .monthly-hero-nav, .yearly-hero-nav, .weekly-lightbox-nav, .monthly-lightbox-nav):hover {
  border-color: var(--awp-accent);
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.weekly-hero-dot, .monthly-hero-dot, .yearly-hero-dot) {
  background: rgba(254, 108, 3, .42);
}

html[data-awp-theme="dark"] :is(.weekly-hero-dot, .monthly-hero-dot, .yearly-hero-dot).is-active {
  background: var(--awp-accent);
  box-shadow: 0 0 18px rgba(254, 108, 3, .5);
}

html[data-awp-theme="dark"] :is(.weekly-controls, .monthly-intro, .monthly-archive, .yearly-intro, .yearly-archive) {
  border-color: var(--awp-border);
  background: rgba(17, 17, 17, .97);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(
  .weekly-controls-head h2,
  .weekly-featured-head h3,
  .weekly-gallery-head h3,
  .monthly-intro-head h2,
  .monthly-archive-head h3,
  .monthly-gallery-head h3,
  .yearly-intro-head h2,
  .yearly-archive-head h3,
  .yearly-viewer-copy h3,
  .yearly-photographer-copy h4,
  .yearly-thumb-author
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .weekly-controls-head p,
  .weekly-featured-head p,
  .weekly-gallery-head p,
  .weekly-week-copy,
  .weekly-featured-status,
  .weekly-featured-caption,
  .monthly-intro-copy,
  .monthly-archive-head p,
  .monthly-gallery-head p,
  .monthly-period-copy,
  .yearly-intro-copy,
  .yearly-archive-head p,
  .yearly-story-text,
  .yearly-photographer-copy p
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.weekly-field label, .monthly-field label, .yearly-field label) {
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.weekly-field select, .monthly-field select, .yearly-field select) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.weekly-field select, .monthly-field select, .yearly-field select):focus {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] :is(.weekly-empty, .monthly-empty) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.weekly-featured, .weekly-featured-card, .featured-modal-dialog) {
  border-color: var(--awp-border);
  background: linear-gradient(145deg, var(--awp-surface-raised), var(--awp-surface));
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.featured-modal-photo, .featured-modal-photo-frame, .featured-modal-photo-frame img, .yearly-empty) {
  background: #080808;
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .weekly-featured-card:hover {
  border-color: rgba(254, 108, 3, .44);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.weekly-featured-body h4, .featured-modal-profile h4) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(.featured-modal-text, .featured-modal-badge) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] .featured-modal-badge {
  background: var(--awp-primary-soft);
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] .featured-modal-action.secondary {
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .monthly-spotlight {
  border: 1px solid rgba(254, 108, 3, .22);
  background:
    radial-gradient(circle at 100% 0%, rgba(254, 108, 3, .17), transparent 22rem),
    linear-gradient(145deg, #050505, #15100d 65%, #080808);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(.yearly-viewer-stage, .yearly-viewer-copy, .yearly-photographer, .yearly-thumb-card) {
  border-color: var(--awp-border);
  background: linear-gradient(145deg, var(--awp-surface-raised), var(--awp-surface));
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.monthly-intro-tags span, .yearly-day-badge, .yearly-intro-tags span, .yearly-meta-badge, .yearly-thumb-day) {
  border-color: rgba(254, 108, 3, .25);
  background: var(--awp-primary-soft);
  color: #ffb276;
}

html[data-awp-theme="dark"] .yearly-stage-image-wrap {
  background: var(--awp-surface-soft);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] .yearly-thumb.is-active .yearly-thumb-card {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(
  .weekly-load-more,
  .weekly-featured-open,
  .featured-modal-action.primary,
  .monthly-load-more,
  .monthly-spotlight-action.primary,
  .yearly-stage-nav,
  .yearly-meta-link.primary,
  .yearly-meta-link.secondary
) {
  border-color: var(--awp-accent);
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(
  .weekly-load-more,
  .weekly-featured-open,
  .featured-modal-action.primary,
  .monthly-load-more,
  .monthly-spotlight-action.primary,
  .yearly-meta-link
):hover {
  background: var(--awp-accent-hover);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.weekly-lightbox-close, .featured-modal-close, .monthly-lightbox-close) {
  background: var(--awp-surface-raised);
  color: var(--awp-accent);
  box-shadow: var(--awp-glow-soft);
}

/* Visual stories */
html[data-awp-theme="dark"] :is(.vs-cardShell, .vss-card) {
  border-color: var(--awp-border);
  background: rgba(17, 17, 17, .96);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(.vs-stat, .vss-intro__metaBox) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
}

html[data-awp-theme="dark"] :is(
  .vs-stat strong,
  .vs-head h2,
  .vs-storyCard__body strong,
  .vss-intro h2,
  .vss-intro__metaBox strong,
  .vss-scene__copy h3,
  .vss-relatedHead h2,
  .vss-relatedCard__body strong
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .vs-stat span,
  .vs-head p,
  .vs-storyCard__body p,
  .vs-storyCard__author span,
  .vs-empty,
  .vss-intro p,
  .vss-intro__metaBox span,
  .vss-scene__copy p,
  .vss-relatedCard__body p,
  .vss-relatedCard__meta span,
  .vss-empty
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.vs-storyCard, .vss-scene__copy, .vss-relatedCard) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.vs-storyCard, .vss-relatedCard):hover {
  border-color: rgba(254, 108, 3, .44);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.vs-storyCard__media, .vss-scene__media) {
  background: var(--awp-surface-raised);
}

html[data-awp-theme="dark"] :is(.vs-storyCard__count, .vss-scene__eyebrow) {
  border: 1px solid rgba(254, 108, 3, .24);
  background: var(--awp-primary-soft);
  color: #ffb276;
}

html[data-awp-theme="dark"] :is(.vs-hero, .vss-hero, .vs-cta, .vss-outro) {
  background-color: #080808;
}

html[data-awp-theme="dark"] .vs-cta {
  background:
    radial-gradient(circle at 90% 8%, rgba(254, 108, 3, .18), transparent 20rem),
    linear-gradient(145deg, #060606, #15100d 64%, #080808);
  border: 1px solid rgba(254, 108, 3, .2);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] .vss-outro {
  background:
    radial-gradient(circle at 92% 4%, rgba(254, 108, 3, .18), transparent 22rem),
    linear-gradient(145deg, #060606, #15100d 64%, #080808);
  border-color: rgba(254, 108, 3, .2);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(.vs-btn--primary, .vss-btn--primary) {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(.vs-btn--primary, .vss-btn--primary):hover {
  background: var(--awp-accent-hover);
  box-shadow: var(--awp-glow-strong);
}

html[data-awp-theme="dark"] .vs-btn--ghost {
  border-color: rgba(254, 108, 3, .3);
  background: rgba(12, 12, 12, .82);
}

html[data-awp-theme="dark"] .vs-btn--ghost:hover {
  border-color: var(--awp-accent);
  background: rgba(254, 108, 3, .14);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.vs-heroCard, .vss-photographerCard) {
  border-color: rgba(254, 108, 3, .22);
  background: rgba(10, 10, 10, .72);
  box-shadow: var(--awp-shadow-strong);
}

/* Partnerships directory */
html[data-awp-theme="dark"] .partners-tabs {
  border-color: var(--awp-border);
  background: rgba(8, 8, 8, .92);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .45), 0 8px 28px rgba(254, 108, 3, .08);
}

html[data-awp-theme="dark"] :is(.partners-section, .partners-tabs) {
  border-color: var(--awp-border);
}

html[data-awp-theme="dark"] :is(.partners-tab, .partners-count, .partners-empty) {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.partners-tab:hover, .partners-tab.is-active) {
  border-color: var(--awp-accent);
  background: var(--awp-primary-soft);
  color: var(--awp-accent);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.partners-section__head h2, .partners-count strong) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(.partners-section__head p, .partners-empty, .partners-form__hint) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.partners-hero, .partner-card, .partners-inquiry__panel) {
  background-color: #080808;
}

html[data-awp-theme="dark"] .partners-inquiry__panel {
  background:
    radial-gradient(circle at 8% 12%, rgba(254, 108, 3, .17), transparent 20rem),
    linear-gradient(145deg, #050505, #15100d 62%, #080808);
  border: 1px solid rgba(254, 108, 3, .2);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] .partners-form {
  border-color: var(--awp-border);
  background: var(--awp-surface);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.partners-field label, .partners-checks__label) {
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.partners-field input, .partners-field textarea, .partners-field select, .partners-check) {
  border-color: var(--awp-border);
  background: var(--awp-surface-soft);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] :is(.partners-field input, .partners-field textarea, .partners-field select):focus {
  border-color: var(--awp-accent);
  outline-color: rgba(254, 108, 3, .18);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] .partners-submit {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] .partners-submit:hover {
  background: var(--awp-accent-hover);
  box-shadow: var(--awp-glow-strong);
}

/* Partnership details */
html[data-awp-theme="dark"] .partner-hero {
  background: #080808;
}

html[data-awp-theme="dark"] .partner-intro {
  border-color: var(--awp-border);
  background: rgba(17, 17, 17, .96);
  color: var(--awp-text);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] :is(
  .partner-stat,
  .partner-team-card,
  .partner-empty,
  .partner-entry-card,
  .partner-winner
) {
  border-color: var(--awp-border);
  background: linear-gradient(145deg, var(--awp-surface-raised), var(--awp-surface));
  color: var(--awp-text);
  box-shadow: var(--awp-shadow);
}

html[data-awp-theme="dark"] :is(.partner-team-card, .partner-entry-card, .partner-winner):hover {
  border-color: rgba(254, 108, 3, .42);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] :is(
  .partner-stat strong,
  .partner-team h2,
  .partner-team-name,
  .partner-empty h3,
  .partner-year-title,
  .partner-entry h3,
  .partner-winners-title,
  .partner-winner strong
) {
  color: var(--awp-text-strong);
}

html[data-awp-theme="dark"] :is(
  .partner-intro p,
  .partner-stat span,
  .partner-team p,
  .partner-team-role,
  .partner-team-bio,
  .partner-empty,
  .partner-entry h4,
  .partner-entry p,
  .partner-winner p
) {
  color: var(--awp-muted);
}

html[data-awp-theme="dark"] :is(.partner-team-eyebrow, .partner-entry-badge) {
  background: var(--awp-primary-soft);
  color: var(--awp-accent);
}

html[data-awp-theme="dark"] .partner-year-badge {
  background: var(--awp-accent);
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] .partner-year-caret {
  background: var(--awp-surface-raised);
  box-shadow: inset 0 0 0 1px var(--awp-border);
}

html[data-awp-theme="dark"] .partner-year-caret::before,
html[data-awp-theme="dark"] .partner-year-caret::after {
  background: var(--awp-accent);
}

html[data-awp-theme="dark"] :is(.partner-timeline::before, .partner-year-body-inner::before) {
  background: linear-gradient(180deg, rgba(254, 108, 3, .46), rgba(254, 108, 3, .05));
}

html[data-awp-theme="dark"] .partner-entry-node {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  box-shadow: 0 0 0 8px rgba(254, 108, 3, .12);
}

html[data-awp-theme="dark"] .partner-entry-cover {
  background: linear-gradient(145deg, var(--awp-surface-soft), var(--awp-surface-raised));
}

html[data-awp-theme="dark"] :is(.partner-entry-cta a, .partner-cta-button--primary) {
  background: linear-gradient(135deg, var(--awp-accent), var(--awp-primary-strong));
  color: var(--awp-accent-ink);
  box-shadow: var(--awp-glow-soft);
}

html[data-awp-theme="dark"] :is(.partner-entry-cta a, .partner-cta-button--primary):hover {
  background: var(--awp-accent-hover);
  box-shadow: var(--awp-glow);
}

html[data-awp-theme="dark"] .partner-cta {
  background:
    radial-gradient(circle at 90% 8%, rgba(254, 108, 3, .18), transparent 22rem),
    linear-gradient(145deg, #050505, #15100d 62%, #080808);
  border: 1px solid rgba(254, 108, 3, .2);
  box-shadow: var(--awp-shadow-strong);
}

html[data-awp-theme="dark"] .partner-page .partner-form :is(input, textarea) {
  border-color: var(--awp-border);
  background: rgba(255, 255, 255, .055);
  color: var(--awp-text);
}

html[data-awp-theme="dark"] .partner-page .partner-form :is(input, textarea):focus {
  border-color: var(--awp-accent);
  box-shadow: var(--awp-focus-glow);
}

html[data-awp-theme="dark"] .partner-page p[style*="color:#6b7f9d"] {
  color: var(--awp-muted) !important;
}

/* Preserve semantic feedback while making it legible on dark surfaces. */
html[data-awp-theme="dark"] :is(.partners-form__notice--success, .location-submitSuccess, .place-communityAlert, .partner-success) {
  border-color: rgba(74, 222, 128, .32);
  background: rgba(20, 83, 45, .34);
  color: #bbf7d0;
}

html[data-awp-theme="dark"] :is(.partners-form__notice--error, .location-submitErrors, .place-formErrors, .partner-error-summary) {
  border-color: rgba(248, 113, 113, .34);
  background: rgba(127, 29, 29, .3);
  color: #fecaca;
}

@media (max-width: 640px) {
  html[data-awp-theme="dark"] .ph-mobileBookBar {
    border-color: rgba(254, 108, 3, .28) !important;
    background: rgba(17, 17, 17, .94) !important;
    box-shadow: var(--awp-shadow-strong) !important;
  }

  html[data-awp-theme="dark"] .ph-mbb-btn {
    background: var(--awp-accent) !important;
    color: var(--awp-accent-ink) !important;
    box-shadow: var(--awp-glow-soft) !important;
  }

  html[data-awp-theme="dark"] .ph-mbb-sub {
    color: var(--awp-muted) !important;
  }

  html[data-awp-theme="dark"] .ph-calSheetOverlay {
    background: rgba(0, 0, 0, .76) !important;
  }

  html[data-awp-theme="dark"] .ph-calSheet {
    border-top: 1px solid rgba(254, 108, 3, .28) !important;
    background: var(--awp-surface) !important;
    color: var(--awp-text) !important;
    box-shadow: 0 -18px 60px rgba(0, 0, 0, .72), 0 -10px 34px rgba(254, 108, 3, .12) !important;
  }

  html[data-awp-theme="dark"] .ph-calSheetHandle {
    background: rgba(254, 108, 3, .42) !important;
  }

  html[data-awp-theme="dark"] .ph-calSheetClose {
    border-top: 1px solid var(--awp-border) !important;
    background: var(--awp-surface-soft) !important;
    color: var(--awp-text) !important;
  }
}
