:root{--ink:#30251f;--muted:#84766b;--paper:#fbf8f2;--line:#e5dbcf;--accent:#30251f;--vv-h:100dvh;--vv-top:0px;--chat-height:min(var(--vv-h),clamp(278px,calc(var(--vv-h)*.4),360px))}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
body{overflow:hidden}
button{font:inherit}
.app-shell{display:grid;grid-template-columns:clamp(190px,14.5vw,232px) minmax(0,1fr) clamp(350px,25vw,500px);grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;width:100%;overflow:hidden;--site-header-height:62px}
.salon-nav{grid-column:1;grid-row:1/-1;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.site-header{grid-column:2;grid-row:1;min-width:0;position:relative;z-index:30;container-type:inline-size}
.site-header .sf-topline{min-height:62px;padding:8px 24px;flex-wrap:nowrap;gap:14px}
.sf-topline-caption{min-width:0}
.sf-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;flex:none}
.sf-header-controls[hidden]{display:none}
.sf-header-language{display:flex;align-items:center;gap:7px}
.sf-header-language .sf-icon{width:19px;height:19px;flex:none}
.sf-header-language select,.sf-header-account{font:inherit;font-size:12px;min-height:38px;border:1px solid #d8c8b6;border-radius:7px;background:#fffdf9;color:#4a392b;padding:8px 10px;cursor:pointer}
.sf-header-account{font-weight:600;white-space:nowrap}
.sf-header-language select:focus-visible,.sf-header-account:focus-visible{outline:2px solid #896748;outline-offset:3px}
.sf-header-account:hover{background:#eee4d7}
.sf-header-controls :disabled{opacity:.6;cursor:default}
.storefront{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4c4b2 transparent}
.chat-dock{grid-column:3;grid-row:1/-1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#faf7f1;border-left:1px solid #d9cabb;box-shadow:-6px 0 24px #49352308;position:relative;z-index:20;overflow:hidden}
@container(max-width:850px){.site-header .sf-topline-chat{display:none}}
@container(max-width:470px){.site-header .sf-topline-caption{display:none}}
.chat-toolbar{flex:none;min-height:62px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e2d7c8;background:#faf7f1}
.chat-label{display:flex;align-items:center;gap:9px;min-width:0}
.chat-label svg{width:21px;height:21px;flex:none;stroke:#715a45;fill:none;stroke-width:1.65}
.chat-label strong{display:block;font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap}
.chat-label small{display:block;margin-top:3px;color:#8c7b6c;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.chat-size-button{border:1px solid #d8c8b6;border-radius:7px;background:#fffdf9;color:#4a392b;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;min-height:38px;cursor:pointer;flex:none;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}
.chat-size-button:hover{background:#eee4d7;border-color:#bca38a}
.chat-size-button:focus-visible{outline:2px solid #896748;outline-offset:3px}
.chat-size-button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chat-size-button .icon-contract{display:none}
.is-chat-wide .chat-size-button .icon-expand{display:none}
.is-chat-wide .chat-size-button .icon-contract{display:block}
.chat-frame{border:0;display:block;width:100%;min-height:0;flex:1 1 auto;background:#faf7f1}
.chat-preview{display:none}
noscript{position:fixed;inset:auto 20px 20px;padding:16px;background:#fff;border:1px solid var(--line);z-index:100;font-size:14px}
@media(min-width:961px){
.app-shell.is-chat-wide{grid-template-columns:minmax(240px,1fr) minmax(0,3fr)}
.app-shell.is-chat-wide .storefront{display:none}
.app-shell.is-chat-wide .chat-dock{grid-column:2;grid-row:2}
.app-shell.is-chat-wide .salon-nav{padding-left:clamp(20px,3vw,56px);padding-right:clamp(20px,3vw,56px)}
}
@media(min-width:1920px){.app-shell{grid-template-columns:250px minmax(0,1fr) 25vw}}
@media(max-width:960px){
html,body{height:100%;overflow:hidden}
.app-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);position:relative;height:100dvh;width:100%;overflow:hidden;--chat-height:calc(64px + env(safe-area-inset-bottom,0px))}
.site-header{grid-column:1;grid-row:1}
.site-header .sf-topline{display:none;min-height:48px;padding:5px 15px}
.has-header-controls .site-header .sf-topline{display:flex}
.site-header .sf-topline-caption,.site-header .sf-topline-chat{display:none}
.sf-header-controls{justify-content:flex-end;width:100%}
.sf-header-language select,.sf-header-account{min-height:36px;font-size:12px}
.salon-nav{display:none!important}
.storefront{grid-column:1;grid-row:2;height:auto;overflow:auto;padding-bottom:calc(var(--chat-height) + 26px);scroll-padding-bottom:calc(var(--chat-height) + 26px)}
.chat-dock{position:fixed;left:0;right:0;top:calc(var(--vv-top) + var(--vv-h) - var(--chat-height));height:var(--chat-height);max-height:var(--vv-h);padding-bottom:env(safe-area-inset-bottom,0px);border:1px solid #d6c6b4;border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -10px 35px #3d2a191c;z-index:40}
.chat-toolbar{min-height:48px;padding:7px 12px;position:relative}
.chat-toolbar:before{content:"";position:absolute;top:4px;left:calc(50% - 17px);width:34px;height:3px;border-radius:3px;background:#d9c8b7}
.chat-label{gap:7px}
.chat-label strong{font-size:12px}
.chat-label small{font-size:8px;margin-top:2px;letter-spacing:.05em}
.chat-label svg{width:18px;height:18px}
.chat-size-button{min-height:32px;padding:6px 9px;font-size:10px;border-radius:6px}
.chat-size-button svg{width:15px;height:15px}
.sf-mobile-header{padding-top:calc(14px + env(safe-area-inset-top,0px))}
.app-shell.is-chat-wide{--chat-height:calc(var(--vv-h) - var(--site-header-height))}
.app-shell.is-chat-wide.keyboard-open,.app-shell.is-booking-view.keyboard-open{--chat-height:calc(var(--vv-h) - var(--site-header-height))}
.app-shell:not(.is-booking-view):not(.is-chat-wide) .chat-toolbar{height:63px;min-height:63px;padding:8px 12px;border-bottom:0}
.app-shell:not(.is-booking-view):not(.is-chat-wide) .chat-toolbar:before{display:none}
.app-shell:not(.is-booking-view):not(.is-chat-wide) .chat-label{display:none}
.app-shell:not(.is-booking-view):not(.is-chat-wide) .chat-frame{visibility:hidden;pointer-events:none;flex:0 0 0;height:0;min-height:0}
.app-shell:not(.is-booking-view):not(.is-chat-wide) .chat-preview{display:flex;align-items:center;gap:9px;flex:1;min-width:0;min-height:44px;padding:0;border:0;background:none;text-align:left;color:var(--ink);cursor:pointer}
.chat-preview svg{width:22px;height:22px;flex:none;stroke:#715a45;fill:none;stroke-width:1.65}
.chat-preview span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:19px;overflow-wrap:anywhere}
.chat-preview:focus-visible{outline:2px solid #896748;outline-offset:3px;border-radius:4px}
.app-shell:not(.is-booking-view):not(.is-chat-wide) .chat-size-button{min-height:44px;padding:6px 8px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

