.coffee-utility,.coffee-utility *,.coffee-cookie,.coffee-cookie * { box-sizing:border-box; }
.coffee-utility { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; font-family:var(--catalog-font,Manrope,Arial,sans-serif); font-size:13px; }
.coffee-utility__left,.coffee-utility__right { display:flex; align-items:center; gap:28px; }
.coffee-utility a,.coffee-utility summary,.coffee-utility button { text-decoration:none; font:inherit; }
.coffee-utility__left>a,.coffee-utility summary,.coffee-utility .coffee-city { color:#fff; }
.coffee-city { display:inline-flex; align-items:center; gap:10px; padding:8px 0; min-height:44px; border:0; background:none; color:inherit; cursor:pointer; font:inherit; max-width:300px; text-align:left; }
.coffee-city [data-coffee-city-name] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.coffee-business,.coffee-contacts { position:relative; }
.coffee-business summary,.coffee-contacts summary { display:flex; align-items:center; gap:8px; list-style:none; min-height:44px; cursor:pointer; }
.coffee-business summary::-webkit-details-marker,.coffee-contacts summary::-webkit-details-marker { display:none; }
.coffee-business__links,.coffee-contacts>.coffee-contact-options { position:absolute; right:0; top:calc(100% + 6px); width:260px; padding:10px; border:1px solid #e5e5e5; border-radius:14px; background:#fff; box-shadow:0 10px 32px #0002; z-index:10260; color:#222; }
.coffee-business__links a { display:block; padding:12px; color:#222; border-radius:8px; }
.coffee-contact-options { font-family:var(--catalog-font,Manrope,Arial,sans-serif); }
.coffee-contact-options a,.coffee-contact-options button { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:8px; background:#fff; color:#222; text-align:left; text-decoration:none; font:inherit; font-size:14px; cursor:pointer; }
.coffee-contact-options [hidden],.coffee-cookie[hidden] { display:none !important; }
.coffee-contact-options a:hover,.coffee-contact-options button:hover,.coffee-business__links a:hover { background:#f4f5f7; }
.coffee-channel-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; border-radius:8px; background:#f4f5f7; font-size:20px; }
.coffee-contact-options .coffee-contact-call { margin-top:6px; background:#f4f5f7; }
.coffee-contact-options .coffee-contact-phone { margin-top:8px; border-top:1px solid #e5e5e5; border-radius:0; }
.coffee-contact-phone__text { display:flex; flex-direction:column; gap:3px; font-size:12px; }
.coffee-contact-phone__text strong { font-size:14px; font-weight:600; }
.coffee-contact-options svg { flex-shrink:0; }
.coffee-contact-options .coffee-contact-all { justify-content:center; border-top:1px solid #eee; border-radius:0; margin-top:4px; color:#555; font-size:13px; }
.coffee-utility button:focus-visible,.coffee-utility a:focus-visible,.coffee-utility summary:focus-visible,.coffee-cookie button:focus-visible,.coffee-cookie a:focus-visible,.coffee-mobile-contacts button:focus-visible,.coffee-city:focus-visible { outline:2px solid #a24b1c; outline-offset:3px; }
.header__main-items .coffee-header-reviews { white-space:nowrap; }
.header__main-items .header__main-item { margin-right:36px; }
.home-helper #home-helper-note { margin:0; }
.home-helper .coffee-voice-entry { margin-top:2px; }
.coffee-cookie { position:fixed; left:24px; right:24px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); display:flex; align-items:center; gap:24px; padding:16px 20px; border:1px solid #ddd; border-radius:14px; box-shadow:0 5px 30px #0002; background:#fff; color:#333; z-index:10240; font:13px/1.5 var(--catalog-font,Manrope,Arial,sans-serif); }
.coffee-cookie p { margin:0; flex:1; }
.coffee-cookie a { color:#333; text-decoration:underline; white-space:nowrap; }
.coffee-cookie__actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.coffee-cookie button,.coffee-cookie-settings { min-height:44px; padding:10px 14px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#333; font:inherit; cursor:pointer; }
.coffee-cookie [data-coffee-consent="grant"] { background:#222; color:#fff; border-color:#222; }
body { padding-bottom:var(--coffee-cookie-space,0px); }
.coffee-cookie-info { padding-top:40px; padding-bottom:48px; font:16px/1.7 var(--catalog-font,Manrope,Arial,sans-serif); }
.coffee-cookie-info h1 { font:700 30px/1.25 var(--catalog-font,Manrope,Arial,sans-serif); margin-bottom:24px; }
.coffee-cookie-info p { max-width:780px; margin-bottom:18px; }
@media(max-width:991px) {
    .coffee-header-reviews { display:none; }
    body.coffee-menu-open { overflow:hidden; }
    .header-mobile { padding:0; box-sizing:border-box; overflow:hidden; min-height:0; top:var(--coffee-menu-top,70px); bottom:auto; height:var(--coffee-menu-height,calc(100vh - 70px)); height:var(--coffee-menu-height,calc(100dvh - 70px)); font-family:var(--catalog-font,Manrope,Arial,sans-serif); }
    .header-mobile.active { display:flex; flex-direction:column; }
    .coffee-mobile-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px 20px 8px; }
    .header-mobile__entrance,.header-mobile__items { margin-bottom:24px; }
    .header-mobile__item { font:600 18px/1.4 var(--catalog-font,Manrope,Arial,sans-serif); text-transform:none; letter-spacing:0; }
    .coffee-mobile-category { width:100%; display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0; border:0; background:none; color:#222; font:inherit; text-align:left; cursor:pointer; }
    .coffee-mobile-category span { transition:transform .15s; }
    .coffee-mobile-category[aria-expanded="true"] span { transform:rotate(180deg); }
    .coffee-mobile-category:focus-visible { outline:2px solid #a24b1c; outline-offset:3px; }
    .header-mobile__dropdown[hidden] { display:none !important; }
    .header-mobile__dropdown { padding:12px 0; }
    .header-mobile__dropdown ul { padding-left:16px; }
    .header-mobile__dropdown ul li { font:14px/1.5 var(--catalog-font,Manrope,Arial,sans-serif); }
    .coffee-mobile-reviews { display:block; color:#222; font-size:18px; font-weight:600; margin:0 0 24px; }
    .header-mobile__item .coffee-mobile-reviews { margin:0; }
    .coffee-mobile-services { display:flex; flex-direction:column; gap:4px; border-top:1px solid #eee; border-bottom:1px solid #eee; padding:12px 0; }
    .coffee-mobile-services>a { padding:12px 0; color:#333; font-size:15px; }
    .coffee-mobile-services .coffee-business__links { position:static; width:100%; box-shadow:none; padding:0; border:0; }
    .coffee-city--mobile { margin:12px 0; color:#333; max-width:100%; }
    .header-mobile__contacts.coffee-mobile-contacts { display:block; flex:0 0 auto; border-top:1px solid #dadddf; padding:10px 16px calc(8px + env(safe-area-inset-bottom,0px)); background:#eceef0; }
    .coffee-mobile-contacts h3 { font-size:14px; font-weight:600; margin:0 0 8px; }
    .coffee-contact-options--mobile { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
    .coffee-contact-options--mobile .coffee-contact-channels { display:contents; }
    .coffee-contact-options--mobile .coffee-contact-channels>a,.coffee-contact-options--mobile .coffee-contact-channels>button,.coffee-contact-options--mobile>.coffee-contact-call,.coffee-contact-options--mobile>.coffee-contact-phone { height:56px; min-width:0; margin:0; padding:8px; border:0; border-radius:8px; background:#fff; gap:8px; font-size:12px; line-height:16px; }
    .coffee-contact-options--mobile .coffee-channel-icon { flex:0 0 20px; width:20px; background:none; }
    .coffee-contact-options--mobile .coffee-contact-phone__text { min-width:0; gap:2px; font-size:12px; }
    .coffee-contact-options--mobile .coffee-contact-phone__text strong { font-size:11px; white-space:nowrap; }
    .coffee-mobile-contact-more { grid-column:1/-1; display:flex; justify-content:center; align-items:center; gap:16px; }
    .coffee-contact-options--mobile .coffee-mobile-contact-more>a,.coffee-contact-options--mobile .coffee-mobile-contact-more>button { width:auto; min-height:44px; padding:6px 8px; margin:0; border:0; background:none; font-size:12px; }
}
@media(max-width:767px) {
    .coffee-cookie { left:12px; right:12px; padding:14px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); flex-direction:column; align-items:stretch; gap:12px; font-size:12px; }
    .coffee-cookie__actions { gap:8px; }
    .coffee-cookie button { flex:1; padding:10px 8px; }
}
