/* Shared appearance palette. Text colors are calculated for readable contrast. */
html[data-site-theme] body{background:var(--site-surface)!important;color:var(--site-on-surface)}
html[data-site-theme] body>header,html[data-site-theme] .mobile-booking-bar,html[data-site-theme] .site-footer{background:var(--site-brand-background,var(--site-primary))!important;color:var(--site-on-primary)!important}
html[data-site-theme] .service-btn,html[data-site-theme] .btn-primary,html[data-site-theme] .booking-submit{background:var(--site-primary)!important;color:var(--site-on-primary)!important;border-color:var(--site-primary)!important}
html[data-site-theme] .atelier-button,html[data-site-theme] .btn-membership{background:var(--site-accent)!important;color:var(--site-on-accent)!important}
html[data-site-theme] .service-card{background:var(--site-surface)!important;border-radius:var(--site-radius,22px)!important;box-shadow:0 12px 30px #12251c0c!important}
html[data-site-theme=atelier] .hero-overlay{background:linear-gradient(90deg,#30222de8,#30222d50)!important}
.appearance-editor{margin-top:28px;padding:clamp(18px,3vw,32px);border:1px solid #d5e3da;border-radius:22px;background:#fff}
.appearance-editor label{display:grid;gap:8px;font-weight:600}.appearance-editor select{padding:12px;border:1px solid #bed2c5;border-radius:12px;width:100%}
.appearance-colors{display:flex;flex-wrap:wrap;gap:24px;margin:20px 0}.appearance-colors input{width:76px;height:48px;padding:4px;border:1px solid #bed2c5;border-radius:12px}
.appearance-preview{padding:28px;margin:20px 0;border-radius:var(--site-radius,22px);background:var(--site-brand-background,var(--site-primary));color:var(--site-on-primary)}
.appearance-gradient{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:20px;border:1px solid #d5e3da;border-radius:16px}
.appearance-gradient legend{padding:0 8px;font-weight:600}.appearance-gradient [hidden]{display:none!important}.appearance-gradient input[type=color]{width:76px;height:44px}.appearance-gradient input[type=range]{width:100%;accent-color:#075b45}
.appearance-preview h3{font:600 2.4rem/1.1 'Cormorant Garamond',serif;color:inherit}.appearance-preview span{display:inline-block;padding:12px 20px;border-radius:12px;background:var(--site-accent);color:var(--site-on-accent)}
.appearance-editor button{padding:12px 18px;margin-block:5px;border:1px solid #bed2c5;border-radius:12px;cursor:pointer}.appearance-editor button:disabled{opacity:.5}
/* iOS standalone: reserve the status-bar area inside the measured header. */
@media(display-mode:standalone){body.app-salon>header{padding-top:env(safe-area-inset-top,0px)!important;height:auto!important;min-height:calc(72px + env(safe-area-inset-top,0px))!important}}
@media(max-width:768px){body.app-salon .mobile-menu{padding-top:max(20px,env(safe-area-inset-top,0px))!important;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))!important}body.app-salon .mobile-booking-bar{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important}body.app-salon input,body.app-salon select,body.app-salon textarea{font-size:16px!important}}
/* Shared catalog symbols include uploaded images, with the same footprint as glyphs. */
.category-symbol{display:inline-block;flex-shrink:0;width:1.15em;height:1.15em;object-fit:contain;vertical-align:-.12em}
i.category-symbol{width:auto;height:auto}
.mobile-category-icon img,.category-button>.category-symbol{width:26px;height:26px;object-fit:contain}
.hero-service>.category-symbol{width:14px;height:14px;object-fit:contain}
.about-feature>.category-symbol{width:36px;height:36px;object-fit:contain}
.nav-links a>.category-symbol{width:14px;height:14px}
/* A palette reaches the whole public journey, not only the header. */
html[data-site-theme] body.app-salon{--primary:var(--site-primary);--gold:var(--site-accent);--site-title-color:var(--site-primary)}
html[data-site-theme] body.app-salon :is(.section-title h2,.atelier-section-heading,.atelier-discover-card h3,.about-feature strong,.service-content h3,.service-guides h2),html[data-site-theme] .category-button strong{color:var(--site-primary)!important;font-family:var(--site-heading-font)!important}
html[data-site-theme] body.app-salon :is(.atelier-discover-card,.about-feature,.service-card),html[data-site-theme] .appearance-preview-card{border-radius:var(--site-radius)!important;box-shadow:var(--site-card-shadow)!important;border-color:color-mix(in srgb,var(--site-primary) 18%,transparent)!important;background:var(--site-surface)!important;color:var(--site-on-surface)!important}
html[data-site-theme] body.app-salon :is(.app-dock,.app-category-tabs a.is-active,.mobile-menu),html[data-site-theme] body>header,html[data-site-theme] .site-footer{background:var(--site-brand-background)!important;color:var(--site-on-brand)!important}
html[data-site-theme] body.app-salon :is(.app-dock a,.app-category-tabs a.is-active,.mobile-dropdown-btn,.mobile-submenu a),html[data-site-theme] header .nav-links>li>a{color:var(--site-on-brand)!important}
html[data-site-theme] body.app-salon .app-dock a.is-active{background:color-mix(in srgb,var(--site-on-brand) 13%,transparent)!important}
html[data-site-theme] body.app-salon .app-category-tabs a.is-active{border-color:var(--site-accent)!important}
html[data-site-theme] body.app-salon .hero-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 95%,transparent),color-mix(in srgb,var(--site-primary) 62%,transparent) 48%,#00000012)!important}
html[data-site-theme] body.app-salon #hero-title{font-family:var(--site-heading-font)!important}
html[data-site-theme] body.app-salon :is(#experiente,#despre){background:color-mix(in srgb,var(--site-surface) 94%,var(--site-accent))!important}
html[data-site-finish=ornamental] body.app-salon .atelier-discover-card{border-top:3px solid var(--site-accent)!important}
html[data-site-finish=ornamental] body.app-salon .section-title:after{content:'';display:block;width:58px;height:3px;margin:20px auto 0;background:var(--site-accent);border-radius:3px}
html[data-site-typography=modern] body.app-salon #hero-title{font-size:clamp(2rem,4.3vw,4.4rem)!important;letter-spacing:-.035em;line-height:1.13!important}
.appearance-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:9px;margin:16px 0 24px}
.appearance-swatches button{display:grid;gap:8px;margin:0;padding:9px;background:#fff;color:#244c3d;text-align:left;border:2px solid #dae5de;font:600 12px Poppins,sans-serif}
.appearance-swatches button[aria-pressed=true]{border-color:#075b45;box-shadow:0 0 0 2px #075b4515}
.appearance-swatches button>span{display:block;height:35px;border-radius:7px;background:linear-gradient(110deg,var(--palette-primary) 58%,var(--palette-accent) 58%,var(--palette-accent) 78%,var(--palette-surface) 78%)}
.appearance-preview{color:var(--site-on-brand,var(--site-on-primary))}
.appearance-preview h3{font-family:var(--site-heading-font)}
.appearance-preview-card{padding:22px;margin-top:24px;background:var(--site-surface);color:var(--site-on-surface);border:1px solid color-mix(in srgb,var(--site-primary) 20%,transparent);border-radius:var(--site-radius);box-shadow:var(--site-card-shadow)}
.appearance-preview-card h3{font-size:1.7rem;color:var(--site-primary)}
.appearance-preview-card b{color:var(--site-primary)}
.appearance-preview[data-site-finish=ornamental] .appearance-preview-card{border-top:3px solid var(--site-accent)}
html[data-site-theme] body.app-salon .opening-note{background:color-mix(in srgb,var(--site-primary) 76%,transparent)!important;border-color:color-mix(in srgb,var(--site-accent) 50%,transparent)!important}
html[data-site-theme] body.app-salon :is(.hero-trust-ribbon strong,.service-footer,.service-professional-copy strong){color:var(--site-primary)!important}
html[data-site-theme] body.app-salon :is(.service-footer,.service-professional-copy article){background:color-mix(in srgb,var(--site-surface) 94%,var(--site-primary))!important}
.site-editor__category-preview>.category-symbol{width:26px;height:26px;object-fit:contain;color:#075b45;margin-bottom:10px}
/* Dark editorial sections keep their own text palette, including custom themes. */
html[data-site-theme] body.app-salon #echipa{background:var(--site-brand-background,var(--site-primary))!important;color:var(--site-on-brand,#fff)!important}
html[data-site-theme] body.app-salon #echipa #team-title{color:var(--site-on-brand,#fff)!important;font-family:var(--site-heading-font)!important;font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1.14!important;letter-spacing:-.025em!important;font-style:normal;max-width:760px;margin-inline:auto}
html[data-site-theme] body.app-salon #echipa .section-title p{color:var(--site-on-brand,#fff)!important;opacity:1!important;font-size:14px!important;line-height:1.7!important}
html[data-site-theme] body.app-salon #echipa .section-title>span{background:var(--site-surface)!important;color:var(--site-on-surface)!important}
html[data-site-theme] body.app-salon #echipa .team-card{background:#073e30!important;color:#fff!important}
html[data-site-theme] body.app-salon #echipa .team-card :is(h3,p,strong){color:#fff!important}
html[data-site-theme] body.app-salon #echipa .team-card :is(small,.team-card__role){color:#f8e6aa!important}
html[data-site-theme] body.app-salon .about-feature small{color:#415d4d!important;font-size:12px!important;line-height:1.5!important}
html[data-site-theme] body.app-salon .atelier-discover-card small{color:#415d4d!important;font-size:11px!important;line-height:1.5!important}
html[data-site-theme] body.app-salon .service-professional-copy p{color:#415d4d!important;font-size:12px!important;line-height:1.65!important}
/* Typography follows the published choices; icon fonts retain their own families. */
html[data-site-theme] body:not(.app-dashboard),.appearance-preview{font-family:var(--site-body-font,'Poppins',sans-serif)}
html[data-site-theme] body:not(.app-dashboard) :is(p,a,button,input,select,textarea,label,small,li),.appearance-preview :is(p,span,small,b){font-family:var(--site-body-font,'Poppins',sans-serif)!important}
html[data-site-theme] body:not(.app-dashboard) :is(h1,h2,h3,h4,h5,h6),.appearance-preview :is(h3,h4){font-family:var(--site-heading-font,'Cormorant Garamond',serif)!important}
html[data-site-text-size]:not([data-site-text-size=auto]) body:not(.app-dashboard) :is(p,.service-professional-copy p),.appearance-preview[data-site-text-size]:not([data-site-text-size=auto]) p{font-size:var(--site-text-size)!important}
html[data-site-line-height]:not([data-site-line-height=auto]) body:not(.app-dashboard) p,.appearance-preview[data-site-line-height]:not([data-site-line-height=auto]) p{line-height:var(--site-line-height)!important}
html[data-site-heading-weight]:not([data-site-heading-weight=auto]) body:not(.app-dashboard) :is(h1,h2,h3,h4,#hero-title),.appearance-preview[data-site-heading-weight]:not([data-site-heading-weight=auto]) h3{font-weight:var(--site-heading-weight)!important}
html[data-site-heading-spacing]:not([data-site-heading-spacing=auto]) body:not(.app-dashboard) :is(h1,h2,h3,h4,#hero-title),.appearance-preview[data-site-heading-spacing]:not([data-site-heading-spacing=auto]) h3{letter-spacing:var(--site-heading-spacing)!important}
html[data-site-content-width]:not([data-site-content-width=auto]) body.app-salon .container{max-width:min(var(--site-content-width),100%)!important}
html[data-site-section-gap]:not([data-site-section-gap=auto]) body.app-salon :is(section.section,.atelier-discover){padding-block:clamp(32px,6vw,var(--site-section-gap))!important}
html[data-site-button-radius]:not([data-site-button-radius=auto]) body:not(.app-dashboard) :is(.btn-primary,.atelier-button,.service-btn,.booking-submit,.btn-membership),.appearance-preview[data-site-button-radius]:not([data-site-button-radius=auto])>span{border-radius:var(--site-button-radius)!important}
html[data-site-button-style=outline] body.app-salon :is(.service-card .service-btn,.btn-primary,.atelier-button){background:transparent!important;color:var(--site-primary)!important;border:2px solid var(--site-primary)!important}
html[data-site-button-style=outline] body.app-salon .hero :is(.btn-primary,.atelier-button){color:var(--site-on-brand)!important;border-color:var(--site-on-brand)!important}
.appearance-preview[data-site-button-style=outline]>span{background:transparent;color:var(--site-on-brand);border:2px solid currentColor}
html[data-site-density=compact] body.app-salon :is(.service-content,.atelier-discover-card>div){padding:16px!important}
html[data-site-density=airy] body.app-salon :is(.service-content,.atelier-discover-card__content){padding:clamp(22px,3vw,34px)!important}
.appearance-preview[data-site-density=compact] .appearance-preview-card{padding:14px}.appearance-preview[data-site-density=airy] .appearance-preview-card{padding:32px}
html[data-site-motion=reduced] body:not(.app-dashboard) *,html[data-site-motion=reduced] body:not(.app-dashboard) *::before,html[data-site-motion=reduced] body:not(.app-dashboard) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.appearance-typography,.appearance-control-grid{min-width:0;margin:20px 0;padding:20px;border:1px solid #d5e3da;border-radius:16px}
.appearance-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:18px}
.appearance-typography legend,.appearance-control-grid legend{padding:0 8px;font-weight:700;color:#174d3d}
.appearance-typography>p,.appearance-font-import small{font-size:12px;color:#456456;line-height:1.6}
.appearance-typography .appearance-control-grid{padding:0;border:0}
.appearance-font-pairs{display:flex;flex-wrap:wrap;gap:7px}.appearance-font-pairs button{margin:0;background:#f4f8f5;color:#174d3d;font-size:12px}
.appearance-font-import{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;border-top:1px solid #d5e3da;padding-top:18px}
.appearance-font-import input{width:100%;min-width:0;padding:12px;border:1px solid #bed2c5;border-radius:12px;font:inherit}
.appearance-font-import>small,.appearance-font-import>[data-extra-fonts]{grid-column:1/-1}
.appearance-font-import [data-add-font]{background:#075b45;color:#fff;margin:0;min-height:45px}
.appearance-font-import [data-extra-fonts]{display:flex;flex-wrap:wrap;gap:7px}
.appearance-font-import [data-extra-fonts] button{margin:0;padding:6px 10px;font-size:11px;background:#f4f8f5;color:#174d3d}
.appearance-editor select,.appearance-editor input{min-width:0;max-width:100%}.appearance-typography output{font-size:11px;color:#456456}
@media(max-width:600px){.appearance-font-import{grid-template-columns:1fr}.appearance-font-import [data-add-font]{justify-self:start}.appearance-typography,.appearance-control-grid{padding:14px}.appearance-preview{padding:20px}.appearance-preview h3{font-size:clamp(1.7rem,7vw,2.4rem)}}
.appearance-workbench{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:start;gap:24px}
.appearance-editor>h3{margin:0 0 8px;font:700 22px/1.25 Poppins,sans-serif;color:#174d3d}.appearance-editor>p{font-size:13px;line-height:1.6;color:#456456}
.appearance-options,.appearance-preview-pane{min-width:0}.appearance-preview-pane{position:sticky;top:20px}
.appearance-preview-label{display:block;font-size:12px;color:#456456;margin-top:12px}
.appearance-preview-pane .appearance-preview{margin-top:12px}.appearance-preview-pane>button[type=submit]{background:#075b45;color:#fff;width:100%;font-weight:700}.appearance-preview-pane>p[role=status]{font-size:12px;line-height:1.6;color:#174d3d;overflow-wrap:anywhere}
.appearance-section{border:1px solid #d5e3da;border-radius:14px;margin-block:12px;overflow:hidden}.appearance-section>summary{cursor:pointer;padding:16px;font-size:14px;font-weight:700;color:#174d3d;background:#f4f8f5;list-style-position:inside}.appearance-section>fieldset{margin:0;border:0;border-radius:0}.appearance-section>fieldset>legend{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.appearance-colors{gap:16px}.appearance-colors label{flex:1 1 100px;font-size:12px}
@media(max-width:1000px){.appearance-workbench{grid-template-columns:1fr}.appearance-preview-pane{position:static}.appearance-preview-pane .appearance-preview{max-width:640px}}
/* Theme collection: shared tokens, distinct visual grammar, user controls retained. */
:is(html[data-site-theme],.appearance-preview[data-site-theme]){--collection-line:color-mix(in srgb,var(--site-primary) 21%,var(--site-surface));--collection-muted:color-mix(in srgb,var(--site-on-surface) 70%,var(--site-surface));--collection-paper:color-mix(in srgb,var(--site-surface) 96%,var(--site-accent));--collection-pattern:none;--collection-trim:1px;--collection-shadow:var(--site-card-shadow);--collection-button-shadow:0 5px 16px color-mix(in srgb,var(--site-primary) 17%,transparent);--collection-image-filter:none}
:is(html,.appearance-preview)[data-site-theme=emerald]{--collection-pattern:radial-gradient(ellipse at 12% 0%,#c5a34d12,transparent 48%);--collection-trim:2px;--collection-shadow:0 14px 38px #103d2f12,0 1px 0 #e8c87960 inset}
:is(html,.appearance-preview)[data-site-theme=atelier]{--collection-pattern:repeating-linear-gradient(0deg,transparent 0 79px,#49364207 79px 80px);--collection-shadow:6px 6px 0 #4936420c;--collection-button-shadow:none}
:is(html,.appearance-preview)[data-site-theme=midnight]{--collection-pattern:radial-gradient(ellipse at 100% 5%,#b6c4e829,transparent 55%);--collection-trim:2px;--collection-shadow:0 18px 40px #1220391a,0 0 0 3px #e9ce9415}
:is(html,.appearance-preview)[data-site-theme=rose]{--collection-pattern:radial-gradient(ellipse at 0% 10%,#f0c7bb50,transparent 60%);--collection-shadow:0 14px 40px #6b304614;--collection-image-filter:saturate(.86)}
:is(html,.appearance-preview)[data-site-theme=forest]{--collection-pattern:repeating-linear-gradient(115deg,#23413904 0 1px,transparent 1px 7px);--collection-shadow:0 7px 22px #2341390f;--collection-button-shadow:0 3px 0 #152e271c;--collection-image-filter:saturate(.86)}
:is(html,.appearance-preview)[data-site-theme=pearl]{--collection-pattern:linear-gradient(90deg,transparent 49.9%,#303e4805 50%,transparent 50.1%);--collection-shadow:none;--collection-button-shadow:none;--collection-image-filter:saturate(.76)}
:is(html,.appearance-preview)[data-site-theme=lavender]{--collection-pattern:radial-gradient(ellipse at 90% 4%,#e3d0ef75,transparent 56%);--collection-shadow:0 18px 44px #503c6a13;--collection-button-shadow:0 6px 22px #503c6a25}
:is(html,.appearance-preview)[data-site-theme=ocean]{--collection-pattern:radial-gradient(ellipse at 5% 5%,#a8e2d84d,transparent 50%);--collection-shadow:0 8px 26px #104c5910;--collection-button-shadow:0 4px 0 #092f3822}
:is(html,.appearance-preview)[data-site-theme=terracotta]{--collection-pattern:radial-gradient(circle at 100% 0%,#f0cda760,transparent 46%);--collection-shadow:0 10px 0 #743e3006,0 20px 30px #743e3010;--collection-image-filter:sepia(.06) saturate(.9)}
:is(html,.appearance-preview)[data-site-theme=copper]{--collection-pattern:repeating-linear-gradient(135deg,transparent 0 28px,#50332605 28px 29px);--collection-trim:3px;--collection-shadow:0 0 0 3px #edba8c25,0 14px 32px #50332616}
:is(html,.appearance-preview)[data-site-theme=christmas]{--collection-pattern:radial-gradient(ellipse at 95% 0%,#f1d39133,transparent 48%);--collection-trim:2px;--collection-shadow:0 14px 36px #56233116,0 1px 0 #f1d39188 inset;--collection-button-shadow:0 5px 20px #56233125}
:is(html,.appearance-preview)[data-site-theme=easter]{--collection-pattern:radial-gradient(ellipse at 0% 0%,#d7e8cc66,transparent 50%),radial-gradient(ellipse at 100% 30%,#e2d1e955,transparent 50%);--collection-shadow:0 12px 30px #493c5d10;--collection-image-filter:saturate(.9)}
:is(html,.appearance-preview)[data-site-theme=black_friday]{--collection-pattern:linear-gradient(115deg,transparent 65%,#17191d04 65%);--collection-trim:2px;--collection-shadow:5px 5px 0 #17191d12;--collection-button-shadow:3px 3px 0 #17191d26}
html[data-site-theme] body:not(.app-dashboard){background-image:var(--collection-pattern)!important;background-attachment:scroll}
html[data-site-theme] body.app-salon :is(.service-card,.atelier-discover-card,.about-feature),html[data-site-theme] body:not(.app-dashboard) :is(.services-panel,.summary-panel,.category),.appearance-preview .appearance-preview-card{border:1px solid var(--collection-line)!important;border-top-width:var(--collection-trim)!important;box-shadow:var(--collection-shadow)!important;background:var(--collection-paper)!important;border-radius:var(--site-radius)!important;color:var(--site-on-surface)!important}
html[data-site-theme] body.app-salon :is(.service-card,.atelier-discover-card){overflow:hidden}
html[data-site-theme] body.app-salon :is(.service-card img,.atelier-discover-card img){filter:var(--collection-image-filter)}
html[data-site-theme] body.app-salon :is(.service-professional-copy p,.atelier-discover-card small,.about-feature small){color:var(--collection-muted)!important}
html[data-site-theme] body.app-salon :is(.service-footer,.service-professional-copy article,.service-options){background:color-mix(in srgb,var(--site-surface) 94%,var(--site-primary))!important;border-color:var(--collection-line)!important}
html[data-site-theme] body.app-salon :is(.service-footer,.service-price,.service-professional-copy strong){color:var(--site-primary)!important}
html[data-site-theme] body.app-salon :is(.section-title>span,.atelier-kicker,.eyebrow){letter-spacing:.13em}
html[data-site-theme] body.app-salon .section-title:after{background:var(--site-accent)}
html[data-site-theme] body.app-salon #echipa .team-card{background:var(--site-brand-background)!important;color:var(--site-on-brand)!important;border:1px solid color-mix(in srgb,var(--site-accent) 48%,transparent)!important;border-radius:var(--site-radius)!important}
html[data-site-theme] body.app-salon #echipa .team-card :is(h3,p,strong,small,.team-card__role){color:var(--site-on-brand)!important}
html[data-site-theme] body.app-salon #echipa .team-card :is(small,.team-card__role){opacity:.88}
/* Actions change shape with the theme. Small controls and the fixed dock retain their touch targets. */
html[data-site-theme] body:not(.app-dashboard) :is(.service-btn,.btn-primary,.atelier-button,.btn-membership,.booking-submit,#whatsapp-order),.appearance-preview>span{border-radius:var(--collection-button-radius,14px)!important;box-shadow:var(--collection-button-shadow);font-weight:600;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
html[data-site-theme][data-site-button-style=filled] body:not(.app-dashboard) :is(.service-btn,.btn-primary,.booking-submit,#whatsapp-order){background:var(--site-brand-background)!important;color:var(--site-on-brand)!important;border:1px solid var(--site-primary)!important}
html[data-site-theme][data-site-button-style=filled] body.app-salon .hero :is(.btn-primary,.atelier-button){background:var(--site-accent)!important;color:var(--site-on-accent)!important;border-color:var(--site-accent)!important}
html[data-site-theme] body:not(.app-dashboard) :is(.service-btn,.btn-primary,.atelier-button,.btn-membership,.booking-submit):focus-visible{outline:3px solid var(--site-primary);outline-offset:4px}
html[data-site-theme] body.app-salon .hero :is(.btn-primary,.atelier-button):focus-visible{outline-color:var(--site-accent)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html[data-site-theme]:not([data-site-motion=reduced]) body:not(.app-dashboard) :is(.service-btn,.btn-primary,.atelier-button,.btn-membership,.booking-submit):hover{transform:translateY(-2px);box-shadow:0 8px 22px color-mix(in srgb,var(--site-primary) 22%,transparent)}}
/* Membership uses the same visual language without altering its amounts or responsive columns. */
html[data-site-theme] .membership-header{background:var(--site-brand-background)!important;color:var(--site-on-brand)!important}
html[data-site-theme] .membership-header :is(a,.header-offer){color:var(--site-on-brand)!important}
html[data-site-theme] :is(.configurator-intro,.services-panel,.summary-panel) h2,html[data-site-theme] :is(.category-button,.option-title strong,.final-total strong){color:var(--site-primary)!important}
html[data-site-theme] .category-button{background:color-mix(in srgb,var(--site-surface) 90%,var(--site-primary))!important;border-radius:var(--site-radius)!important;color:var(--site-primary)!important}
html[data-site-theme] :is(.member-form,.membership-discount-guide,.mobile-summary){background:var(--collection-paper)!important;border-color:var(--collection-line)!important;color:var(--site-on-surface)!important;border-radius:var(--site-radius)!important}
html[data-site-theme] :is(.option-row,.summary-item){border-color:var(--collection-line)!important}
html[data-site-theme] .stepper{border-color:var(--collection-line)!important;background:var(--site-surface)!important}
html[data-site-theme] .stepper :is(button,output){background:var(--collection-paper)!important;color:var(--site-primary)!important}
html[data-site-theme] .membership-progress__track>span{background:var(--site-brand-background)!important}
html[data-site-theme] .header-offer strong{background:var(--site-accent)!important;color:var(--site-on-accent)!important}
/* Each collection has a distinct editorial signature. */
:is(html,.appearance-preview)[data-site-theme=atelier] :is(.section-title h2,.appearance-preview-card h3){font-style:italic}
html[data-site-theme=pearl] body.app-salon .section-title:after{width:100%;max-width:140px;height:1px}
html[data-site-theme=midnight] body.app-salon .section-title:after{width:80px;height:2px;box-shadow:0 5px 0 color-mix(in srgb,var(--site-accent) 30%,transparent)}
html[data-site-theme=copper] body.app-salon .section-title:after{width:72px;height:5px;border-block:1px solid var(--site-primary);background:transparent;transform:skewX(-30deg)}
html[data-site-theme=forest] body.app-salon .section-title:after{width:32px;height:7px;border-radius:100% 0 100% 0}
html[data-site-theme=rose] body.app-salon .section-title:after{width:48px;height:3px;border-radius:99px}
html[data-site-theme=black_friday] body.app-salon .section-title:after{width:58px;height:5px;transform:skewX(-20deg)}
html[data-site-theme=black_friday] body.app-salon .hero :is(.hero-tag,.hero-badge){background:var(--site-accent)!important;color:var(--site-on-accent)!important;border-radius:2px!important}
/* Campaign decoration is clipped to the hero and never covers interactive controls. */
html[data-site-theme] body.app-salon .hero-overlay{overflow:hidden;isolation:isolate}
html[data-site-theme=christmas] body.app-salon .hero-overlay:after{content:'';position:absolute;inset:-30px 0;pointer-events:none;background:radial-gradient(circle at 12% 15%,#fff9dc88 0 1px,transparent 2px),radial-gradient(circle at 75% 70%,#fff9dc66 0 1.5px,transparent 2.5px);background-size:160px 130px,210px 190px;opacity:.6;animation:themeSnow 12s ease-in-out infinite alternate}
html[data-site-theme=easter] body.app-salon .hero-overlay:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 10%,#e9d5a733,transparent 45%),radial-gradient(ellipse at 10% 70%,#c7dfc522,transparent 38%);animation:themeSpring 9s ease-in-out infinite alternate}
html[data-site-theme=black_friday] body.app-salon .hero-overlay:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#d8ee8914 49%,transparent 60%);animation:themeEdition 10s ease-in-out infinite}
@keyframes themeSnow{to{transform:translate3d(9px,22px,0);opacity:.85}}
@keyframes themeSpring{to{opacity:.45;transform:translate3d(0,8px,0)}}
@keyframes themeEdition{0%,70%,100%{opacity:0;transform:translate3d(-15%,0,0)}35%{opacity:1;transform:translate3d(10%,0,0)}}
.appearance-swatches{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.appearance-swatches button{padding:12px;align-content:start;gap:8px;border-radius:12px;min-height:148px;transition:border-color .2s,box-shadow .2s}
.appearance-swatches button>span{height:42px}.appearance-swatches button strong{font-size:12px;line-height:1.4}.appearance-swatches button small{font:400 11px/1.5 Poppins,sans-serif;color:#53645d}
.appearance-swatches button[aria-pressed=true]{box-shadow:0 0 0 2px #075b4520;background:#f3f8f4}
.appearance-preview{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--site-accent) 40%,transparent)}
.appearance-preview>small{color:var(--site-accent);font-size:10px;letter-spacing:.18em;font-weight:700}
.appearance-preview>.appearance-preview-card{background-image:var(--collection-pattern)!important}
.appearance-preview>span{font-size:12px;font-weight:700}.appearance-preview-card h3{font-weight:var(--site-heading-weight,500);letter-spacing:var(--site-heading-spacing)}
.appearance-preview-card b{display:inline-block;padding-bottom:5px;border-bottom:2px solid var(--site-accent)}
.appearance-preview[data-site-theme=christmas]:before,.appearance-preview[data-site-theme=easter]:before,.appearance-preview[data-site-theme=black_friday]:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 8%,#fff6d544 0 1px,transparent 2px);background-size:55px 55px;opacity:.5}
@media(max-width:480px){.appearance-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-swatches button{min-height:155px}.appearance-preview-pane{width:100%}}
@media(prefers-reduced-motion:reduce){html[data-site-theme] .hero-overlay:after{animation:none!important;transform:none!important}html[data-site-theme] body:not(.app-dashboard) :is(.service-btn,.btn-primary,.atelier-button,.btn-membership,.booking-submit){transition:none!important}}
html[data-site-motion=reduced] .hero-overlay:after{animation:none!important;transform:none!important}
.appearance-preview>h3{margin:14px 0 12px!important;line-height:1.15!important}.appearance-preview>p{font-size:13px!important;line-height:1.65!important;margin:0 0 18px!important}.appearance-preview-card h3{margin:10px 0!important;line-height:1.2!important}.appearance-preview-card p{font-size:12px!important;line-height:1.65!important;margin:0 0 12px!important}
/* Core membership tokens participate in every theme, including its fixed navigation. */
html[data-site-theme]{--green:var(--site-primary);--dark:var(--site-primary);--deep:color-mix(in srgb,var(--site-primary) 90%,#000);--gold:var(--site-accent);--gold-light:var(--site-accent);--paper:var(--site-surface);--ink:var(--site-on-surface);--muted:var(--collection-muted);--heading:var(--site-heading-font);--text:var(--site-body-font)}
html[data-site-theme] body:not(.app-dashboard) :is(.catalog,.summary){background:var(--collection-paper)!important;border-color:var(--collection-line)!important;border-radius:var(--site-radius)!important;box-shadow:var(--collection-shadow)!important}
html[data-site-theme] :is(.configurator-intro h1,.catalog-heading h2,.summary-head h2){color:var(--site-primary)!important}
html[data-site-theme] body:not(.app-dashboard) .app-dock{background:var(--site-brand-background)!important;color:var(--site-on-brand)!important;border-color:var(--collection-line)!important}
html[data-site-theme] body:not(.app-dashboard) .app-dock a{color:var(--site-on-brand)!important}
html[data-site-theme] body:not(.app-dashboard) .app-dock a.is-active{background:color-mix(in srgb,var(--site-on-brand) 13%,transparent)!important}
