/* Selected Elfenbein & Gold application. Layout and imagery are inherited from the saved ELEGANZ STIL draft. */
:root{
 --paper:var(--fi-surface-base);--soft:var(--fi-surface-secondary);
 --ink:var(--fi-text-primary);--muted:var(--fi-text-secondary);
 --rule:var(--fi-text-secondary);--gold:var(--fi-brand-detail);--champagne:var(--fi-brand-detail);
 --fi-focus:var(--fi-text-primary);color:var(--ink);background:var(--paper);
}
:root body{color:var(--ink);background:var(--paper)}
:root :is(.site-header,.appointment-page,.photo-dialog,.skip){background:var(--fi-surface-base)}
:root .navigation{background:var(--fi-surface-secondary)}
:root :is(.people,.service-intro,.gallery-intro,.rooms,.published-hours,.page-footer,.footer-bottom,.published-team-notice,.growing,.contact-essentials,.cv-columns,.cv-split,.cv-rows){position:relative;isolation:isolate;background:var(--fi-section-fill)}
:root :is(.people,.service-intro,.gallery-intro,.rooms,.published-hours,.page-footer,.footer-bottom,.published-team-notice,.growing,.contact-essentials,.cv-columns,.cv-split,.cv-rows)::before{
 content:"";position:absolute;top:0;bottom:0;left:calc((var(--fi-viewport-width,100%) - 100%) / -2);right:calc((var(--fi-viewport-width,100%) - 100%) / -2);z-index:-1;pointer-events:none;background:var(--fi-section-fill);
}
:root :is(.rooms,.published-hours){--fi-section-fill:var(--fi-surface-secondary)}
:root .appointment-consent{background:var(--fi-surface-secondary)}
:root .appointment-calendar-frame{background:var(--fi-surface-base)}
:root :is(.header-book,.text-link,.map-toggle){color:var(--fi-text-primary);border-color:currentColor}
:root :is(.header-book,.cta) span{color:inherit}
:root .navigation a[aria-current="page"]{color:var(--fi-text-primary);text-decoration-color:currentColor;text-decoration-thickness:2px}
:root .cta{background:var(--fi-accent-primary);color:var(--fi-text-primary);border-color:var(--fi-text-primary)}
:root .cta:hover{background:var(--fi-text-primary);color:var(--fi-surface-base);border-color:var(--fi-text-primary);text-decoration:underline;text-underline-offset:4px}
:root :is(.text-link,.header-book,.map-toggle):hover{color:var(--fi-text-primary);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
:root :is(.contact-direct a,.cv-direct a,.appointment-direct a,.appointment-existing a,.contact-parking li>a){color:var(--fi-text-primary);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:currentColor}
:root .contact-parking li>a>span{color:inherit}
:root .photo a:hover{outline-color:var(--fi-text-primary)}
:root .published-stars{color:var(--fi-text-primary)}
:root .site-header{border-bottom-color:var(--fi-brand-detail)}
:root .growing{--fi-section-fill:var(--fi-surface-base);--muted:var(--fi-text-primary);--fi-focus:var(--fi-text-primary)}
:root .rooms h2 span{background:none;color:var(--fi-heading-accent);text-decoration:none;box-decoration-break:slice;-webkit-box-decoration-break:slice}
:root .portrait figcaption{background:transparent;color:var(--fi-text-primary);--muted:var(--fi-text-primary)}
:root .published-team-notice{--fi-section-fill:var(--fi-accent-cool);--muted:var(--fi-text-primary);--fi-focus:var(--fi-text-primary)}
:root .published-team-notice .text-link{color:var(--fi-text-primary)}
:root :is(.page-footer,.contact-essentials,.cv-columns,.cv-split,.cv-rows){
 --fi-section-fill:var(--fi-text-primary);--ink:var(--fi-surface-base);--muted:var(--fi-surface-secondary);--rule:var(--fi-text-secondary);--fi-focus:var(--fi-surface-base);color:var(--fi-surface-base);
}
:root :is(.page-footer,.contact-essentials,.cv-columns,.cv-split,.cv-rows) :is(.text-link,.map-toggle,.contact-direct a,.cv-direct a,.contact-parking li>a){color:var(--fi-surface-base);border-color:currentColor;text-decoration-color:currentColor}
:root :is(.page-footer,.contact-essentials,.cv-columns,.cv-split,.cv-rows) :is(.text-link,.map-toggle,.contact-direct a,.cv-direct a,.contact-parking li>a):hover{color:var(--fi-surface-base);text-decoration:underline;text-decoration-thickness:2px}
:root .page-footer .cta{background:var(--fi-accent-primary);color:var(--fi-text-primary);border-color:var(--fi-accent-primary)}
:root .page-footer .cta:hover{background:var(--fi-surface-secondary);border-color:var(--fi-surface-secondary);color:var(--fi-text-primary)}
:root .published-map-actions button{background:transparent;color:var(--fi-surface-base);border-color:var(--fi-surface-base)}
:root .published-map-actions button:hover{background:var(--fi-surface-base);color:var(--fi-text-primary);text-decoration:underline;text-underline-offset:4px}
:root .footer-bottom{--fi-section-fill:var(--fi-surface-base);--ink:var(--fi-text-primary);--muted:var(--fi-text-secondary);--fi-focus:var(--fi-text-primary);background:var(--fi-surface-base);color:var(--fi-text-primary)}
:root :is(.footer-contact a,.footer-bottom nav a,.footer-bottom>a:last-child){text-decoration:underline;text-underline-offset:4px}
:root .photo-dialog::backdrop{background:var(--fi-text-primary)}
:root :is(a,button,summary,input,select,textarea,iframe,[tabindex]):focus-visible,
:root .photo a:focus-visible{outline:3px solid var(--fi-focus);outline-offset:4px}
:root :is(.people,.service-intro){--fi-section-fill:var(--fi-blue-whisper);--muted:var(--fi-text-primary);--fi-focus:var(--fi-text-primary)}
:root .gallery-intro{--fi-section-fill:var(--fi-surface-secondary)}
:root .people .portrait figcaption{background:transparent;color:var(--fi-text-primary)}
:root .navigation a[aria-current="page"]{color:var(--fi-text-primary)}
:root .header-book{padding-inline:10px;margin-inline:-10px;background:var(--fi-accent-primary);color:var(--fi-text-primary);border:0}
:root .header-book::before{content:none}
@media(max-width:640px){:root .header-book{max-width:110px}}
@media(max-width:359px){:root .header-book{max-width:98px}}
:root .header-book:hover{color:var(--fi-text-primary);text-decoration:underline;text-underline-offset:4px}
:root .navigation a[aria-current="page"]{text-decoration-color:var(--fi-text-primary)}
:root .site-header{border-bottom-color:var(--fi-accent-primary)}
:root .text-link{border-bottom-color:var(--fi-accent-primary)}
:root .page-footer .text-link{border-bottom-color:var(--fi-accent-primary)}
:root .published-team-notice{--fi-section-fill:var(--fi-blue-whisper)}
:root .service-intro{--fi-section-fill:var(--fi-surface-base)}
:root .published-hours{--fi-section-fill:var(--fi-accent-cool)}
:root .rooms h2 span::before,:root .rooms h2 span::after{content:none}
:root .navigation{background:var(--fi-navigation-surface)}
:root :is(.people,.published-team-notice){--fi-section-fill:var(--fi-patient-surface);--muted:var(--fi-text-primary)}
:root .service-intro{--fi-section-fill:var(--fi-service-surface);--muted:var(--fi-text-primary)}
:root .rooms{--fi-section-fill:var(--fi-rooms-surface)}
:root .growing{--fi-section-fill:var(--fi-growing-surface)}
:root .gallery-intro{--fi-section-fill:var(--fi-surface-base)}
:root :is(.hero h1 span,.sub-intro h1 em,.gallery-intro h1 em,.contact-heading h1 em,.cv-heading h1 em,.appointment-heading h1 em){color:var(--fi-gold-ink)}
:root :is(.page-footer,.contact-essentials,.cv-columns,.cv-split,.cv-rows){--fi-section-fill:var(--fi-footer-surface);--ink:var(--fi-footer-ink);--muted:var(--fi-text-secondary);--rule:var(--fi-text-secondary);--fi-focus:var(--fi-text-primary);color:var(--fi-footer-ink)}
:root :is(.page-footer,.contact-essentials,.cv-columns,.cv-split,.cv-rows) :is(.text-link,.map-toggle,.contact-direct a,.cv-direct a,.contact-parking li>a){color:var(--fi-footer-ink);border-color:currentColor;text-decoration-color:currentColor}
:root :is(.page-footer,.contact-essentials,.cv-columns,.cv-split,.cv-rows) :is(.text-link,.map-toggle,.contact-direct a,.cv-direct a,.contact-parking li>a):hover{color:var(--fi-footer-ink)}
:root .page-footer .text-link{border-color:var(--fi-accent-primary)}
:root .published-map-actions button{color:var(--fi-footer-ink);border-color:var(--fi-footer-ink)}
:root .published-map-actions button:hover{color:var(--fi-surface-base);background:var(--fi-text-primary)}
:root .page-footer .cta:hover{color:var(--fi-surface-base);background:var(--fi-text-primary);border-color:var(--fi-text-primary)}
:root main .text-link{color:var(--fi-text-primary);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}

/* Center the unchanged footer logo on the same page axis as the header. */
:root .footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px 28px}
:root .footer-bottom>a:first-child{grid-column:2;grid-row:1;margin:0;justify-self:center}
:root .footer-bottom nav{grid-column:1;grid-row:1;margin:0;justify-self:start;flex-direction:row}
:root .footer-bottom>a:last-child{grid-column:3;grid-row:1;margin:0;justify-self:end}
:root .contact-directions-content{grid-template-columns:1fr}
:root .contact-parking{max-width:680px}
:root .published-map-stage{background:var(--fi-surface-base)}
@media(max-width:640px){
 :root .footer-bottom{grid-template-columns:minmax(0,1fr) auto;gap:14px 20px}
 :root .footer-bottom>a:first-child{grid-column:1/-1;grid-row:1}
 :root .footer-bottom nav{grid-column:1;grid-row:2;gap:16px;flex-direction:row;flex-wrap:wrap}
 :root .footer-bottom>a:last-child{grid-column:2;grid-row:2}
}

/* Approved unified gold; dark labels and a separate dark keyboard outline. */
:root :is(.header-book,.cta),:root .page-footer .cta,
:root :is(.header-book,.cta):hover,:root .page-footer .cta:hover{
 background:var(--fi-gold);color:var(--fi-text-primary);border-color:var(--fi-gold);opacity:1;
}
:root :is(.header-book,.cta):hover{text-decoration:underline;text-underline-offset:4px}
:root :is(.header-book,.cta) span{color:var(--fi-text-primary)}
:root :is(.hero h1 span,.sub-intro h1 em,.gallery-intro h1 em,.contact-heading h1 em,.cv-heading h1 em,.appointment-heading h1 em,.rooms h2 span){color:var(--fi-gold);opacity:1}
:root main .text-link{color:var(--fi-text-primary)}
