:root{--paper:#fff;--white:#fff;--olive:#627446;--olive-deep:#455832;--line:#dfe5d8;--muted:#687164}
body{background:#fff}.site-header,.site-header.scrolled{background:#fffffff5;min-height:82px;gap:18px}.desktop-nav{gap:18px}.header-actions{gap:12px}.btn{border-radius:10px}.hero{min-height:560px}.hero-media{min-height:560px}.hero h1{font-size:clamp(54px,5.4vw,82px)}html[lang=ru] .hero h1{font-size:clamp(44px,4.6vw,70px)}.service-card{border-radius:16px}.testimonial-card,.trust-strip{background:#f5f7f1}.integration-banner{background:#edf2e6;font-weight:500;padding:7px 16px;font-size:11px}
.modal-dialog{width:min(610px,100%);padding:30px;background:#fff;border-radius:20px}.modal-dialog h2{font-size:32px;margin:10px 0 20px}#bookingForm{grid-template-columns:1fr 1fr;gap:12px}#bookingForm input,#bookingForm select{min-height:46px;font-size:14px;border-radius:9px}#bookingForm #nameInput,#bookingForm #phoneInput,.submit-booking{grid-column:1/-1}.online-services{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;border-color:var(--line);background:#f8faf5}.online-services label{border:1px solid transparent;border-radius:9px;padding:9px;align-items:start;font-size:13px;cursor:pointer}.online-services label:has(input:checked){border-color:#a9b98f;background:#fff}.online-services label:hover{background:#fff}#bookingForm .online-services input[type=checkbox]{margin-top:3px}.online-total{padding:10px 14px;background:#edf2e6;border-radius:9px;font-size:14px}.online-error{font-size:13px}.submit-booking{min-height:46px}
.visit-toggle,.visit-refresh,.visit-close{border:1px solid var(--line);background:#fff;color:var(--olive-deep);border-radius:9px;cursor:pointer;font:inherit}.visit-toggle{display:flex;align-items:center;gap:7px;padding:10px 12px;white-space:nowrap;font-size:13px;min-height:44px}.visit-toggle-icon{font-size:22px;line-height:1}.visit-count{background:#e8eedf;border-radius:6px;padding:2px 5px;font-size:11px}.visit-toggle:hover,.visit-refresh:hover{background:#f3f6ee}.visit-dialog{box-sizing:border-box;width:min(690px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:#fff;box-shadow:0 30px 90px #24301a30;overflow:auto}.visit-dialog::backdrop{background:#1c2519a0;backdrop-filter:blur(5px)}.visit-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.visit-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--olive);margin:0 0 8px}.visit-heading h2{font-size:32px;letter-spacing:-.02em;margin:0}.visit-close{width:36px;height:36px;font-size:24px;flex:none}.visit-intro,.visit-note{font-size:13px;line-height:1.6;color:var(--muted)}.visit-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:20px 0}.visit-connection{font-size:12px;color:var(--olive)}.visit-connection:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-inline-end:6px}.visit-connection.offline{color:#986738}.visit-refresh{font-size:12px;padding:8px 12px}.visit-list{display:grid;gap:16px}.visit-empty{padding:35px 16px;text-align:center;background:#f7f9f3;border-radius:16px}.visit-empty-icon{font-size:40px;color:var(--olive)}.visit-empty h3{font-size:20px;font-weight:500;margin:12px 0}.visit-empty p{font-size:14px;color:var(--muted);line-height:1.6}.visit-card{border:1px solid var(--line);padding:22px;border-radius:16px}.visit-card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.visit-date{font-size:13px;color:var(--muted);margin:0}.visit-time{font:30px Georgia;margin:5px 0 0}.visit-chip{padding:7px 10px;background:#edf2e6;border-radius:8px;font-size:12px;color:var(--olive-deep);line-height:1.4}.visit-chip.cancelled{background:#f5ece8;color:#995345}.visit-chip.needs_review,.visit-chip.awaiting_payment{background:#f5f2e7;color:#837039}.visit-services{font-size:16px;line-height:1.5;margin:16px 0}.visit-details{display:flex;gap:20px;margin:16px 0;flex-wrap:wrap}.visit-details div{flex:1;min-width:100px}.visit-details dt{font-size:11px;color:var(--muted);margin-bottom:4px}.visit-details dd{font-size:13px;margin:0}.visit-payment{display:grid;grid-template-columns:1fr auto;padding:12px 14px;background:#f6f8f2;border-radius:9px;gap:6px;font-size:12px}.visit-payment strong{font-weight:500}.visit-payment small{grid-column:1/-1;color:var(--muted);font-size:10px}.visit-steps{list-style:none;display:flex;gap:12px;padding:0;margin:20px 0 0}.visit-steps li{flex:1;display:flex;gap:6px;align-items:center;color:#828a7d;font-size:12px}.visit-steps span{width:22px;height:22px;display:grid;place-items:center;border:1px solid #dfe5d8;border-radius:50%;flex:none}.visit-steps .done{color:var(--olive-deep)}.visit-steps .done span{background:#e4ecd9;border-color:#e4ecd9}.visit-warning{font-size:12px;line-height:1.6;color:#866d40;margin-bottom:0}.visit-resume{display:block;text-align:center;border-radius:9px;background:var(--olive);color:#fff;padding:12px;margin-top:18px;font-size:13px}.visit-note{margin-bottom:0}.visit-toast{position:fixed;z-index:140;bottom:28px;inset-inline-end:24px;max-width:440px;padding:18px 22px;border-radius:14px;box-shadow:0 12px 40px #1b281a24;background:#455832;color:white;font-size:14px;line-height:1.5;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .2s,transform .2s}.visit-toast.visible{opacity:1;transform:none}
.cookie-note{position:fixed;bottom:22px;inset-inline-start:22px;z-index:85;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 12px 50px #28351d1a}.cookie-note[hidden]{display:none}.cookie-note p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 12px}.cookie-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cookie-actions button{border:0;background:var(--olive);color:#fff;border-radius:8px;padding:9px 14px;font-size:12px;cursor:pointer}.cookie-actions .cookie-secondary{background:none;color:var(--olive);padding-inline:0}body:has(.modal.open) .cookie-note,body:has(.visit-dialog[open]) .cookie-note{display:none}
@media(max-width:1200px){.desktop-nav{display:none}.hero h1{font-size:64px}html[lang=ru] .hero h1{font-size:52px}}
@media(max-width:650px){.site-header,.site-header.scrolled{padding:12px 18px;flex-wrap:wrap;min-height:100px;gap:8px}.brand{flex:1}.header-actions{display:contents}.language-switcher{order:0}.visit-toggle{order:2;flex:1;justify-content:center}.header-actions>.btn{order:3;flex:1}.hero h1{font-size:54px}html[lang=ru] .hero h1{font-size:42px}.hero-media{min-height:420px}.modal-dialog{padding:26px 18px 20px}.modal-dialog h2{font-size:28px}.online-services{grid-template-columns:1fr}.online-services label{padding:5px 8px}.visit-dialog{padding:20px;max-height:calc(100dvh - 20px)}.visit-heading h2{font-size:27px}.visit-card{padding:16px}.visit-card-top{flex-wrap:wrap}.visit-payment{grid-template-columns:1fr}.visit-steps{gap:8px}.visit-steps li{flex-direction:column;text-align:center;align-items:center}.visit-details{gap:12px}.cookie-note{bottom:96px;inset-inline:12px;max-width:none;padding:16px}.visit-toast{bottom:96px;inset-inline:12px;max-width:none}.mobile-bottom-nav{background:#fffffff5}html{scroll-padding-top:130px}}
@media(prefers-reduced-motion:reduce){.visit-toast{transition:none}}
.visit-update{background:#edf3e5;color:#455832;border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.6}.visit-update[hidden]{display:none}
.booking-field{display:grid;gap:5px;min-width:0}.booking-field>span{font-size:12px;color:var(--muted)}.booking-master{grid-column:1/-1}.hero-floating{background:#fffffff2}.modal-dialog #bookingForm .booking-field input{grid-column:auto}@media(max-width:650px){#bookingForm .booking-field:has(#nameInput),#bookingForm .booking-field:has(#phoneInput){grid-column:1/-1}}
.calendar-trigger{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:46px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:14px;text-align:start}.calendar-symbol{font-size:18px;color:var(--olive)}.calendar-trigger[aria-expanded=true]{border-color:var(--olive);background:#f8faf5}.booking-calendar{grid-column:1/-1;width:min(360px,100%);padding:16px;background:#fff;border:1px solid #cbd8bd;border-radius:12px;box-shadow:0 6px 22px #3545260a}.calendar-header{display:flex;align-items:center;gap:4px;margin-bottom:12px}.calendar-month{flex:1;font-size:14px;font-weight:600;text-transform:capitalize}.calendar-nav{background:#f4f7ee;border:0;border-radius:7px;width:32px;height:32px;font-size:20px;color:var(--olive-deep)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:11px;color:var(--muted);text-align:center;margin-bottom:6px}.calendar-day{border:1px solid transparent;border-radius:7px;background:#fff;color:var(--ink);height:34px;min-width:0;padding:0;font-size:13px}.calendar-day:hover:not(:disabled){background:#edf2e6}.calendar-day[aria-pressed=true]{background:var(--olive);color:white}.calendar-day.is-today:not([aria-pressed=true]){border-color:#aabc94}.calendar-day.other-month{color:#88947b}.calendar-day:disabled{opacity:.3;cursor:default}.calendar-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.calendar-text{background:none;border:0;padding:5px 8px;font-size:12px;color:var(--olive-deep)}.calendar-text:disabled{opacity:.4;cursor:default}
.booking-service-photo{width:40px;height:40px;object-fit:cover;border-radius:8px;flex:none}.cloud-service-photo{width:100%;height:170px;object-fit:cover;border-radius:12px;margin-bottom:12px}.cloud-specialist-photo{object-fit:cover}.service-card{cursor:pointer}.service-card:focus-visible{outline:2px solid var(--olive);outline-offset:3px}

/* Public catalogue and visit information share the salon's existing palette. */
.catalogue-placeholder{grid-column:1/-1;padding:24px;border:1px solid var(--line);border-radius:12px;color:var(--muted);line-height:1.7;background:var(--white)}
.cloud-service-media{height:190px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#edf1e7,#e2e8d8);border-radius:8px 8px 0 0}
.cloud-service-media .cloud-service-photo{height:100%;width:100%;margin:0;border-radius:0;object-fit:cover}
.service-monogram{font:italic 76px/1 'Playfair Display',Georgia,serif;color:#75865f}
.service-card .service-body{display:flex;flex-direction:column;gap:14px;min-width:0}
.service-card .service-body h3,.service-card .service-body p{min-height:0;margin:0;overflow-wrap:anywhere}
.service-card .service-body .btn{align-self:flex-start;margin-top:auto;max-width:100%;white-space:normal;text-align:center}
.trust-strip .trust-languages{font:500 clamp(16px,2vw,25px)/1.4 'DM Sans',Arial,sans-serif;direction:ltr;white-space:nowrap}
.trust-strip{color:var(--ink)}.trust-strip span{color:var(--muted)}.trust-strip i{background:var(--line)}
.booking-guide-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}
.booking-guide-steps li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.booking-guide-steps li:first-child{padding-top:0}.booking-guide-steps li:last-child{border-bottom:0;padding-bottom:0}
.booking-guide-steps li>span{flex:none;color:#81916c;font:italic 24px/1.4 'Playfair Display',Georgia,serif}
.booking-guide-steps h3{font:500 17px/1.5 'DM Sans',Arial,sans-serif;margin:0 0 6px}
.booking-guide-steps p{font-size:14px;line-height:1.75;color:var(--muted);margin:0;max-width:440px}
.location-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:40px 24px;text-align:center;color:#fff;background:radial-gradient(ellipse at top,#64764b,var(--olive-deep));transition:box-shadow .2s,transform .2s}
.location-link .map-pin{color:#d7e1c5;line-height:1}.location-link .map-pin .icon{width:48px;height:48px}
.location-link .map-label b{display:block;font:32px/1.3 'Playfair Display',Georgia,serif;margin-bottom:12px}
.location-link .map-label small{display:block;font-size:14px;line-height:1.7;color:#d7e1c5}
.location-link-action{display:block;margin-top:30px;padding:12px 18px;border:1px solid #c7d4b488;border-radius:6px;font-size:14px;color:#fff}
.location-link:hover{box-shadow:0 10px 32px #34412d20;transform:translateY(-2px)}
.specialist,.specialist b,.specialist small{min-width:0;overflow-wrap:anywhere}
.specialist-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-content:start}
@media(max-width:650px){.cloud-service-media{height:155px}.booking-guide-steps h3{font-size:16px}.location-link{min-height:310px}.trust-strip .trust-languages{font-size:15px}.service-card .service-body .btn{padding:12px 16px}}
@media(max-width:650px){.site-header .brand{flex:1 1 calc(100% - 100px);min-width:0}.site-header .brand-main{white-space:nowrap}.site-header .language-switcher{flex:0 0 auto}.site-header .visit-toggle,.site-header .header-actions>.btn{flex:1 1 calc(50% - 8px)}.specialist-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.location-link{transition:none}.location-link:hover{transform:none}}
