/* Header composition; top-level navigation size is locked at 16px by owner request. */
.dom-chrome-header .dom-header-inner {
 display:grid;grid-template-columns:auto minmax(0,1fr) auto;
 align-items:center;gap:12px var(--dom-group-gap,32px);position:relative;
}
.dom-chrome-header .dom-header-identity {grid-column:1;grid-row:1;display:flex;align-items:center;min-width:0;}
.dom-chrome-header .dom-header-brand {min-width:0;}
.dom-chrome-header .dom-header-tools {grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0;}
.dom-chrome-header .dom-header-actions {display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0;min-width:0;}
.dom-chrome-header .dom-desktop-nav {margin:0;min-width:0;max-width:100%;}
.dom-chrome-header .dom-nav-end {grid-column:2;grid-row:1;justify-self:center;}
.dom-chrome-header .dom-menu {gap:8px var(--dom-nav-gap,28px);align-items:center;flex-wrap:nowrap;}
.dom-chrome-header .dom-menu > li {flex-wrap:nowrap;flex-shrink:0;}
.dom-chrome-header .dom-booking-slot {flex-shrink:0;}
.dom-chrome-header .dom-header-booking {max-width:none;white-space:nowrap;min-height:40px;padding:9px 12px;gap:8px;}
.dom-chrome-header .dom-header-booking svg {width:14px;height:14px;}
.dom-contact-phones {display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.dom-contact-phones a,.dom-header-email {display:inline-flex;align-items:center;gap:7px;font-family:var(--dom-menu-font,Arial,sans-serif);font-weight:700;color:var(--dom-cta-bg,#5E303A);white-space:nowrap;text-decoration:none;line-height:1.4;}
.dom-contact-phones a:hover,.dom-header-email:hover {text-decoration:underline;}
.dom-contact-phones svg,.dom-header-email svg {width:17px;height:17px;flex-shrink:0;fill:none;}
.dom-header-phones .dom-contact-phones a,.dom-header-email {font-size:15px;}
.dom-header-phones {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;}
.dom-header-email[hidden] {display:none!important;}
.dom-chrome-header .dom-header-contact-stack {display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;}
.dom-chrome-header .dom-header-shortcuts {display:flex;align-items:center;justify-content:center;gap:8px;}
/* Side layouts share one vertical frame: logo, contact group and booking. */
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-actions {align-items:center;gap:16px;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-contact-stack {height:var(--dom-header-control-height,68px);justify-content:space-between;gap:4px;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-contact-stack > :only-child,
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-contact-stack > :first-child:has(+ [hidden]),
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-contact-stack > [hidden] + :last-child {margin-block:auto;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-shortcuts {width:100%;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-shortcuts .dom-social-icons {width:100%;justify-content:space-between;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-shortcuts .dom-social-icons a {height:26px;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) .dom-header-booking {height:var(--dom-header-control-height,68px);justify-content:center;}
.dom-chrome-header:is([data-layout=logo_left],[data-layout=logo_right]) :is(.dom-phone-primary,.dom-phone-primary > a,.dom-phone-toggle) {min-height:26px;height:26px;}
.dom-chrome-header .dom-header-actions > .dom-icon-button {flex-shrink:0;align-self:center;}
.dom-header-phones .dom-contact-phones {position:relative;align-items:center;}
.dom-phone-primary {display:flex;align-items:center;gap:2px;min-height:40px;}
.dom-phone-primary > a {min-height:40px;}
.dom-phone-toggle {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:40px;padding:6px;border:0;background:transparent;color:var(--dom-cta-bg,#5E303A);border-radius:0;}
.dom-phone-toggle:hover {background:rgb(94 48 58 / 6%);}
.dom-phone-toggle svg {width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .18s ease;}
.dom-phone-toggle[aria-expanded=true] svg {transform:rotate(180deg);}
.dom-phone-list {position:absolute;z-index:65;top:calc(100% + 6px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:stretch;gap:2px;width:max-content;min-width:100%;max-width:calc(100vw - 24px);padding:8px;background:#fff;border:1px solid rgb(94 48 58 / 14%);box-shadow:0 8px 24px rgb(0 0 0 / 10%);border-radius:4px;}
.dom-phone-list > a {min-height:40px;padding:6px 8px;}
.dom-phone-list > a:hover {background:rgb(94 48 58 / 6%);}
@media(prefers-reduced-motion:reduce){.dom-phone-toggle svg {transition:none;}}
.dom-social-icons {display:flex;align-items:center;gap:8px;flex-shrink:0;}
.dom-social-icons a {display:inline-flex;align-items:center;justify-content:center;width:36px;height:40px;color:var(--dom-cta-bg,#5E303A);}
.dom-social-icons svg {width:22px;height:22px;fill:currentColor;}
.dom-social-icons a:hover {opacity:.75;}
.dom-contact-phones:empty,.dom-social-icons:empty {display:none;}
.dom-chrome-header[data-layout=logo_right] .dom-header-identity {grid-column:3;justify-self:end;}
.dom-chrome-header[data-layout=logo_right] .dom-header-tools {grid-column:1;justify-self:start;align-items:flex-start;}
.dom-chrome-header[data-layout=logo_right] .dom-header-actions,.dom-chrome-header[data-layout=logo_right] .dom-contact-phones {justify-content:flex-start;}
/* Use page-centred navigation when it fits; otherwise use the actual free space. */
.dom-chrome-header.is-balanced .dom-header-inner {grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);}
/* In the split composition only the logo occupies the centre column. */
.dom-chrome-header[data-layout=logo_center_split] .dom-header-inner {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
.dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) :is(.dom-header-identity,.dom-header-tools) {display:contents;}
.dom-chrome-header[data-layout=logo_center_split] .dom-header-phones {grid-column:1;grid-row:1;justify-self:start;}
.dom-chrome-header[data-layout=logo_center_split] .dom-header-brand {grid-column:2;grid-row:1;justify-self:center;}
.dom-chrome-header[data-layout=logo_center_split] .dom-nav-start {grid-column:1;grid-row:1;justify-self:end;}
.dom-chrome-header[data-layout=logo_center_split] .dom-nav-end {grid-column:3;grid-row:1;justify-self:start;}
.dom-chrome-header[data-layout=logo_center_split] .dom-header-actions {grid-column:3;grid-row:1;justify-self:end;}
.dom-chrome-header.is-actions-stacked[data-layout=logo_center_split] .dom-header-actions {display:flex;flex-wrap:wrap;justify-content:flex-end;width:var(--dom-compact-actions);gap:6px 8px;}
.dom-chrome-header.is-actions-stacked[data-layout=logo_center_split] .dom-booking-slot {flex-basis:100%;text-align:right;}
.dom-chrome-header[data-layout=logo_center] .dom-header-inner {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
.dom-chrome-header[data-layout=logo_center] .dom-header-brand {grid-column:2;grid-row:1;justify-self:center;}
.dom-chrome-header[data-layout=logo_center] :is(.dom-header-phones,.dom-header-actions,.dom-desktop-nav) {display:none;}
.dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-brand {align-items:center;}
.dom-chrome-header .dom-burger {display:none;}
.dom-chrome-header[data-header-width=boxed] .dom-header-inner {max-width:var(--dom-width,1240px);margin:auto;}
/* The label gets the underline; the full link retains its click and focus area. */
:is(.dom-chrome-header,.dom-mobile-menu) .dom-menu a {position:relative;background-image:none;transition:color .18s ease;}
:is(.dom-chrome-header,.dom-mobile-menu) .dom-menu-label {width:fit-content;max-width:100%;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:background-size .22s ease;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
:is(.dom-chrome-header,.dom-mobile-menu) .dom-menu a:is(:hover,:focus-visible,[aria-current=page]) > .dom-menu-label,
:is(.dom-chrome-header,.dom-mobile-menu) .dom-menu :is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_ancestor) > a > .dom-menu-label {background-size:100% 1px;}
:is(.dom-chrome-header,.dom-mobile-menu) .dom-menu ul a {text-transform:none;}
.dom-chrome-header .dom-menu ul {text-align:left;}
.dom-chrome-header .dom-menu ul a {justify-content:flex-start;}
.dom-chrome-header .dom-menu > li > ul {top:var(--dom-submenu-top,100%);}
.dom-chrome-header .dom-menu > li.dom-menu-open::after {content:'';position:absolute;left:0;top:100%;width:100%;height:var(--dom-submenu-bridge,0px);}
.dom-chrome-header .dom-menu > li > a[aria-controls] {gap:7px;}
.dom-chrome-header .dom-menu > li > a[aria-controls]::after {content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);flex-shrink:0;transition:transform .18s;}
.dom-chrome-header .dom-menu > li > a[aria-expanded=true]::after {transform:translateY(1px) rotate(225deg);}
.dom-chrome-header[data-menu-style=separators] .dom-menu > li + li::before {content:'';position:absolute;right:calc(100% + var(--dom-nav-gap,28px) / 2);top:calc(50% - 10px);width:1px;height:20px;background:currentColor;transform:rotate(25deg);opacity:.45;pointer-events:none;}
.dom-mobile-menu .dom-social-icons {margin-top:20px;}
.dom-mobile-menu .dom-contact-phones {margin-top:24px;gap:10px;}
.dom-chrome-footer .dom-footer-columns {display:none;}
.dom-chrome-footer .dom-footer-contacts .dom-contact-phones {align-items:inherit;}
.dom-chrome-footer .dom-footer-contacts .dom-social-icons {margin-top:16px;}
.dom-chrome-footer[data-footer-variant=minimal] {background:#fff;color:#000;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-top {display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:40px 64px;padding-block:26px 48px;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-brand {display:none;}
.dom-chrome-footer[data-footer-variant=minimal][data-footer-logo=true] .dom-footer-brand {display:block;grid-column:1;grid-row:1;}
.dom-chrome-footer[data-footer-variant=minimal][data-footer-logo=true] .dom-footer-contacts {grid-row:2;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-classic-nav {display:none;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-contacts {grid-column:1;align-items:flex-start;text-align:left;gap:12px;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-columns {display:grid;grid-column:2;grid-row:1 / span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-menu {display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-menu a {text-transform:none;letter-spacing:0;}
.dom-chrome-footer .dom-footer-column-title {margin:0 0 20px;text-transform:uppercase;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-bottom {gap:12px 28px;}
.dom-chrome-footer[data-footer-variant=minimal] .dom-footer-bottom > nav {flex:1 1 auto;width:auto;}
.dom-chrome-footer .dom-footer-legal {display:flex;flex-wrap:wrap;gap:8px 24px;}
@media (prefers-reduced-motion:reduce) { .dom-chrome-header .dom-menu a,.dom-chrome-header .dom-menu a::after,.dom-mobile-menu .dom-menu a,.dom-menu-label {transition:none;} }
@media(max-width:1024px){
 .dom-chrome-header .dom-header-inner {display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;}
 .dom-chrome-header .dom-header-identity {grid-column:1!important;grid-row:1;display:block;justify-self:start!important;}
 .dom-chrome-header .dom-header-tools {display:contents!important;}
 .dom-chrome-header .dom-header-actions {width:auto!important;display:flex!important;flex-wrap:nowrap!important;grid-column:2!important;grid-row:1;justify-self:end!important;gap:4px;}
 .dom-chrome-header .dom-header-contact-stack,.dom-chrome-header .dom-desktop-nav,.dom-chrome-header .dom-header-phones,.dom-chrome-header .dom-header-actions .dom-social-icons,.dom-chrome-header .dom-booking-slot {display:none!important;}
 .dom-chrome-header .dom-burger {display:inline-grid;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-inner {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:0!important;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-identity {display:contents;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-brand {grid-column:2!important;grid-row:1;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-actions {grid-column:3!important;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-top {gap:28px;padding-block:10px 24px;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-columns {gap:24px;}
}
@container dom-site (max-width:1024px){
 .dom-chrome-header .dom-header-inner {display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;}
 .dom-chrome-header .dom-header-identity {grid-column:1!important;grid-row:1;display:block;justify-self:start!important;}
 .dom-chrome-header .dom-header-tools {display:contents!important;}
 .dom-chrome-header .dom-header-actions {width:auto!important;display:flex!important;flex-wrap:nowrap!important;grid-column:2!important;grid-row:1;justify-self:end!important;gap:4px;}
 .dom-chrome-header .dom-header-contact-stack,.dom-chrome-header .dom-desktop-nav,.dom-chrome-header .dom-header-phones,.dom-chrome-header .dom-header-actions .dom-social-icons,.dom-chrome-header .dom-booking-slot {display:none!important;}
 .dom-chrome-header .dom-burger {display:inline-grid;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-inner {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:0!important;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-identity {display:contents;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-brand {grid-column:2!important;grid-row:1;}
 .dom-chrome-header:is([data-layout=logo_center_split],[data-layout=logo_center]) .dom-header-actions {grid-column:3!important;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-top {gap:28px;padding-block:10px 24px;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-columns {gap:24px;}
}
@media(max-width:680px){
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-top {display:flex;flex-direction:column;gap:28px;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-columns {width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-bottom > nav {width:100%;}
}
@container dom-site (max-width:680px){
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-top {display:flex;flex-direction:column;gap:28px;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-columns {width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
 .dom-chrome-footer[data-footer-variant=minimal] .dom-footer-bottom > nav {width:100%;}
}
.dom-chrome-header .dom-menu > li {flex-shrink:0;}
@media(max-width:380px) {
 .dom-chrome-header[data-layout=logo_center_split] .dom-header-actions .dom-icon-button {width:36px;padding:8px;}
}
@container dom-site (max-width:380px) {
 .dom-chrome-header[data-layout=logo_center_split] .dom-header-actions .dom-icon-button {width:36px;padding:8px;}
}


/* Optional fixed contacts are outside the site shell, including boxed layouts. */
.dom-chrome-header[data-contact-position=floating] :is(.dom-header-contact-stack,.dom-header-phones,.dom-header-shortcuts) {display:none!important;}
.dom-floating-contacts {--dom-floating-size:48px;position:fixed;z-index:45;right:max(20px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;}
.dom-floating-button {display:flex;align-items:center;justify-content:center;width:var(--dom-floating-size);height:var(--dom-floating-size);padding:12px;border:0;border-radius:4px;background:var(--dom-cta-bg,#5E303A);color:#fff!important;box-shadow:0 3px 12px rgb(0 0 0 / 10%);cursor:pointer;text-decoration:none;transition:background-color .18s ease,filter .18s ease;}
.dom-floating-button svg {width:24px;height:24px;fill:currentColor;flex-shrink:0;}
.dom-floating-button:hover {filter:brightness(1.15);}
.dom-floating-button:focus-visible {outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--dom-cta-bg,#5E303A);}
.dom-floating-phones {position:relative;}
.dom-floating-phones > summary {list-style:none;}
.dom-floating-phones > summary::-webkit-details-marker {display:none;}
.dom-floating-phone-list {position:absolute;bottom:0;right:calc(100% + 12px);width:max-content;max-width:calc(100vw - 92px);padding:8px;background:#fff;border:1px solid rgb(94 48 58 / 15%);border-radius:4px;box-shadow:0 8px 28px rgb(0 0 0 / 12%);}
.dom-floating-phone-list a {display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;color:var(--dom-cta-bg,#5E303A);font-weight:700;font-size:15px;text-decoration:none;overflow-wrap:anywhere;}
.dom-floating-phone-list svg {width:18px;height:18px;flex-shrink:0;}
.dom-floating-phone-list a:is(:hover,:focus-visible) {background:rgb(94 48 58 / 6%);text-decoration:underline;}
@media(max-width:680px){.dom-floating-contacts {--dom-floating-size:40px;right:max(10px,env(safe-area-inset-right));gap:6px;}.dom-floating-button {padding:9px;}.dom-floating-button svg {width:22px;height:22px;}}
@media(max-height:500px){.dom-floating-contacts {--dom-floating-size:32px;gap:4px;}.dom-floating-button {padding:6px;}.dom-floating-button svg {width:20px;height:20px;}}
@media(prefers-reduced-motion:reduce){.dom-floating-button {transition:none;}}
@media print{.dom-floating-contacts {display:none!important;}}

.dom-floating-items {display:flex;flex-direction:column;gap:10px;}
.dom-floating-toggle {display:none;}
@media(max-width:680px){
 .dom-floating-contacts {top:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:none;}
 .dom-floating-items {gap:6px;}
 .dom-floating-contacts.is-enhanced:not(.is-open) .dom-floating-items {display:none;}
 .dom-floating-toggle {display:flex;}
 .dom-floating-toggle[aria-expanded=true] {outline:1px solid var(--dom-cta-bg,#5E303A);outline-offset:3px;}
}
@media(max-height:500px){.dom-floating-items {gap:4px;}}

.dom-floating-contacts:not(.is-enhanced) .dom-floating-toggle {display:none;}

/* Locked at the owner's request: keep header navigation on one row at 16px.
   Shared Visual Site typography may change the body/footer, never these links. */
.dom-chrome-header .dom-desktop-nav .dom-menu > li > a {font-size:16px!important;line-height:1.3!important;white-space:nowrap!important;}
.dom-chrome-header .dom-header-inner {column-gap:16px!important;}
.dom-chrome-header .dom-menu {column-gap:min(var(--dom-nav-gap,18px),18px)!important;flex-wrap:nowrap!important;}
.dom-chrome-header.is-compact .dom-desktop-nav,
.dom-chrome-header.is-compact .dom-header-contact-stack,
.dom-chrome-header.is-compact .dom-header-phones,
.dom-chrome-header.is-compact .dom-booking-slot {display:none!important;}
.dom-chrome-header.is-compact .dom-burger {display:inline-grid;}
.dom-chrome-header.is-compact .dom-header-inner {grid-template-columns:minmax(0,1fr) auto;}
.dom-chrome-header.is-compact .dom-header-tools {grid-column:2;}
.dom-chrome-header.is-compact[data-layout=logo_right] .dom-header-inner {grid-template-columns:auto minmax(0,1fr);}
.dom-chrome-header.is-compact[data-layout=logo_right] .dom-header-tools {grid-column:1;}
.dom-chrome-header.is-compact[data-layout=logo_right] .dom-header-identity {grid-column:2;}
.dom-chrome-header.is-compact[data-layout=logo_center_split] .dom-header-inner {grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);}
.dom-chrome-header.is-compact[data-layout=logo_center_split] .dom-header-actions {grid-column:3;}
