/* Les palettes sont définies une seule fois dans site-theme-palettes.js.
   Les composants consomment --st-* ; leurs fallbacks restituent Legacy. */
html[data-site-palette="active"]{color-scheme:dark}
html[data-site-palette="active"] body{background:radial-gradient(ellipse 900px 480px at 90% 0,var(--st-halo),transparent 75%),var(--st-bg);color:var(--st-ink)}
html[data-site-palette="active"] body .site-header{background:var(--st-header);border-color:var(--st-edge)}
/* Alias des variables historiques, sans dépendre des noms de page. */
html[data-site-palette="active"]{--accent:var(--st-accent);--to-bg:var(--st-bg);--to-surface:var(--st-panel);--to-line:var(--st-edge);--to-orange:var(--st-accent);--to-soft:var(--st-accent);--to-cream:var(--st-ink);--to-muted:var(--st-muted);--to-teal:var(--st-highlight);--tat-bg:var(--st-bg);--tat-surface:var(--st-panel);--tat-ink:var(--st-ink);--tat-muted:var(--st-muted);--tat-orange:var(--st-accent);--tat-turquoise:var(--st-highlight);--tat-line:var(--st-edge)}
/* Django admin : conserver ses styles de composants et ses couleurs d'alerte. */
html[data-site-palette="active"] body{--body-bg:var(--st-bg);--body-fg:var(--st-ink);--body-quiet-color:var(--st-muted);--body-medium-color:var(--st-muted);--primary:var(--st-accent);--secondary:var(--st-panel);--primary-fg:var(--st-button-ink);--header-bg:var(--st-panel);--header-color:var(--st-ink);--header-link-color:var(--st-accent);--breadcrumbs-bg:var(--st-panel);--breadcrumbs-fg:var(--st-ink);--breadcrumbs-link-fg:var(--st-accent);--link-fg:var(--st-accent);--link-hover-color:var(--st-highlight);--link-selected-fg:var(--st-highlight);--hairline-color:var(--st-edge);--border-color:var(--st-edge);--darkened-bg:var(--st-panel);--selected-bg:var(--st-hover);--selected-row:var(--st-hover);--button-bg:var(--st-accent);--button-hover-bg:var(--st-highlight);--default-button-bg:var(--st-accent);--default-button-hover-bg:var(--st-highlight);--button-fg:var(--st-button-ink)}
/* Reflets : fond seulement, aucun calque au-dessus des actions ou des images. */
html[data-site-palette="active"] main :is(.tg-card,.th-studio-card,.studio-result){background-image:radial-gradient(240px circle at var(--theme-x,50%) var(--theme-y,0%),var(--st-glass),transparent 75%);transition:border-color .2s,box-shadow .2s;box-shadow:0 12px 30px #0002}
html[data-site-palette="active"] main :is(.tg-card,.th-studio-card,.studio-result):is(:hover,:focus-within){border-color:var(--st-highlight);box-shadow:0 16px 34px #0004}
/* Boutons d'action : fond accent et texte contrasté, y compris les !important existants. */
html[data-site-palette="active"] :is(.ts-btn-primary,.wf-button,.auth-submit,.pro18-btn,.to-btn,.search-shell .search-action,.gallery-sort button):not(.danger):not(.deletelink):not(.to-btn-outline):not([disabled]){background:var(--st-accent)!important;color:var(--st-button-ink)!important;border-color:var(--st-accent)}
html[data-site-palette="active"] :is(.ts-btn-primary,.wf-button,.auth-submit,.pro18-btn,.to-btn,.search-shell .search-action,.gallery-sort button):not(.danger):not(.deletelink):not(.to-btn-outline):not([disabled]):hover{background:var(--st-highlight)!important;border-color:var(--st-highlight)}
/* Mots-clés : liens, chips et suggestions utilisent les mêmes rôles. */
html[data-site-palette="active"] :is(.breadcrumb-tag,.ts-tags a,.photo-tag-breadcrumb a,.result-tags span,.pro20-chip){color:var(--st-accent);border-color:var(--st-edge)}
html[data-site-palette="active"] :is(.ts-tags a,.result-tags span,.pro20-chip){background:var(--st-panel)}
html[data-site-palette="active"] :is(.breadcrumb-tag,.ts-tags a,.photo-tag-breadcrumb a,.pro20-chip):is(:hover,:focus-visible){color:var(--st-highlight);border-color:var(--st-highlight)}
html[data-site-palette="active"] :is(.pro21-field,.pro20-tagbox>input,.pro20-suggestions,.pro20-suggestions button){background:var(--st-panel);color:var(--st-ink);border-color:var(--st-edge)}
html[data-site-palette="active"] .pro20-suggestions button:is(:hover,:focus){background:var(--st-hover);color:var(--st-ink)}
/* Contrôles discrets : pas de modification des fournisseurs ou des états sémantiques. */
html[data-site-palette="active"] :is(.ts-btn-outline,.preference-actions>button,.preference-actions>a,.map-toggle button,.directory-like){background-color:var(--st-panel);color:var(--st-accent);border-color:var(--st-edge)}
html[data-site-palette="active"] :is(.ts-btn-outline,.preference-actions>button,.preference-actions>a,.map-toggle button,.directory-like):hover{background-color:var(--st-hover);border-color:var(--st-highlight);color:var(--st-highlight)}
html[data-site-palette="active"] .site-navigation :is(a,button):hover{background:var(--st-hover);border-color:var(--st-highlight)}
.site-theme-picker[hidden]{display:none!important}.site-theme-picker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 0;font:12px 'Work Sans',sans-serif;color:var(--st-muted,#c49c7a)}.site-theme-picker select{max-width:100%;min-height:44px;border:1px solid var(--st-edge,#795033);border-radius:9px;background:var(--st-panel,#1e1004);color:var(--st-ink,#fff0e2);padding:8px 12px;font:inherit}.site-theme-picker [role=status]{flex-basis:100%}.site-theme-picker [role=status]:empty{display:none}.site-theme-admin-footer{padding:16px 24px}
@media(prefers-reduced-motion:reduce){html[data-site-palette="active"] main :is(.tg-card,.th-studio-card,.studio-result){transition:none;transform:none}}

/* Offres et cartes : couleurs reliées à la palette, bordures conservées. */
html[data-site-palette="active"] .plans-comparison :is(.billing-switch button.active,.plan-border-badge,.plan-tag){background:var(--st-accent);border-color:var(--st-accent);color:var(--st-button-ink)}
html[data-site-palette="active"] .plans-comparison .billing-switch button:focus-visible{outline-color:var(--st-highlight)}
html[data-site-palette="active"] .plans-comparison .pricing-card-current{background:var(--st-panel);border-color:var(--st-highlight);color:var(--st-ink)}
html[data-site-palette="active"] .plans-comparison .pricing-card-current .plan-border-badge{background:var(--st-highlight);border-color:var(--st-highlight);color:var(--st-button-ink)}
html[data-site-palette="active"] .plans-comparison .pricing-card-current :is(.text-secondary,.plan-description,.plan-highlight,.plan-quotas li>i){color:var(--st-muted)!important}
html[data-site-palette="active"] .plans-comparison .pricing-card-current .plan-action .btn{background:var(--st-accent);border-color:var(--st-accent);color:var(--st-button-ink)}
html[data-site-palette="active"] .plans-comparison :is(.btn-primary,.pricing-card-current .plan-action .btn):hover{background:var(--st-highlight);border-color:var(--st-highlight);color:var(--st-button-ink)}
html[data-site-palette="active"] .plans-comparison .btn-outline-primary:hover{background:var(--st-accent);border-color:var(--st-accent);color:var(--st-button-ink)}
html[data-site-palette="active"] .plans-comparison .plan-quotas li>i{color:var(--st-muted)}
html[data-site-palette="active"] :is(.pricing-floating-header,.pricing-floating-header .feature-table th){background:var(--st-panel);color:var(--st-accent)}
html[data-site-palette="active"] :is(.studio-pin,.studio-cluster){background:var(--st-accent);color:var(--st-button-ink);border-color:var(--st-panel);box-shadow:0 2px 9px #0006,0 0 0 1px var(--st-accent)}
html[data-site-palette="active"] :is(.studio-pin,.studio-cluster).is-active{background:var(--st-highlight);color:var(--st-button-ink);box-shadow:0 2px 9px #0006,0 0 0 1px var(--st-highlight),0 0 14px var(--st-halo)}
html[data-site-palette="active"] .leaflet-popup-content-wrapper,html[data-site-palette="active"] .leaflet-popup-tip{background:var(--st-panel);color:var(--st-ink)}
html[data-site-palette="active"] .leaflet-popup-content :is(a,.cluster-popup a){color:var(--st-accent)}
html[data-site-palette="active"] .leaflet-popup-content a:hover{color:var(--st-highlight)}
main :is(.th-studio-card,.studio-result){padding:0 16px 0 0}

