/* ВАУ КРАБ: элементы связи и блок подписки. Изолированные имена классов. */
#wc-contact-widget, #wc-contact-widget * { box-sizing: border-box; }
#wc-contact-widget {
  position: fixed; right: clamp(16px,3vw,36px);
  bottom: calc(22px + env(safe-area-inset-bottom));
  z-index: 90; width: 60px; isolation: isolate;
  font-family: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: #fff;
}
#wc-contact-widget a, #wc-contact-widget button { -webkit-tap-highlight-color: transparent; text-decoration: none; }
#wc-contact-widget .wc-contact-toggle {
  display: flex; justify-content: center; align-items: center;
  width: 60px; height: 60px; padding: 0;
  border: 1px solid #ee6b37; border-radius: 50%;
  color: #fff; background: #eb4c1b; cursor: pointer;
  box-shadow: 0 8px 26px #35160645, inset 0 1px 0 #ffffff35;
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
#wc-contact-widget .wc-contact-toggle:hover { background: #d93e10; transform: translateY(-2px); box-shadow: 0 12px 30px #35160648; }
#wc-contact-widget .wc-contact-toggle svg { display: block; width: 26px; height: 26px; }
#wc-contact-widget .wc-contact-toggle-close { display: none; }
#wc-contact-widget.is-open .wc-contact-toggle-chat { display: none; }
#wc-contact-widget.is-open .wc-contact-toggle-close { display: block; }
#wc-contact-widget .wc-contact-options {
  position: absolute; right: 0; bottom: calc(100% + 12px);
  width: max-content; display: flex; flex-direction: column;
  align-items: flex-end; gap: 11px; padding: 5px 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(12px) scale(.97); transform-origin: bottom right;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
#wc-contact-widget.is-open .wc-contact-options {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1);
}
#wc-contact-widget .wc-contact-item {
  display: flex; align-items: center; justify-content: flex-end; gap: 11px;
  color: #f6f4f0; font-size: 13px; font-weight: 650;
  transition: transform .18s ease;
}
#wc-contact-widget .wc-contact-item:hover { transform: translateX(-3px); }
#wc-contact-widget .wc-contact-caption {
  white-space: nowrap; padding: 9px 13px; border: 1px solid #3e4240;
  border-radius: 6px; background: #1e211f; box-shadow: 0 5px 20px #0003;
}
#wc-contact-widget .wc-contact-icon {
  display: flex; align-items: center; justify-content: center;
  width: 50px; height: 50px; flex: 0 0 50px;
  background: #1c201e; border: 1px solid #484c48;
  border-radius: 50%; box-shadow: 0 6px 22px #0004;
}
#wc-contact-widget .wc-contact-icon svg { display: block; width: 24px; height: 24px; }
#wc-contact-widget .wc-contact-icon--phone { color: #f7f7f4; }
#wc-contact-widget .wc-contact-icon--telegram { color: #52c1f2; }
#wc-contact-widget .wc-contact-icon--max img { display:block; width:29px; height:29px; object-fit:contain; border-radius:7px; }
#wc-contact-widget :is(a,button):focus-visible { outline: 3px solid #eb4c1b; outline-offset: 4px; }
@media(max-width:760px) {
  #wc-contact-widget { right: 16px; bottom: calc(18px + env(safe-area-inset-bottom)); width: 56px; }
  .wc-with-bottom-nav #wc-contact-widget { bottom: calc(79px + env(safe-area-inset-bottom)); }
  #wc-contact-widget .wc-contact-toggle { width: 56px; height: 56px; }
  #wc-contact-widget .wc-contact-icon { width: 47px; height: 47px; flex-basis: 47px; }
  #wc-contact-widget .wc-contact-caption { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  #wc-contact-widget *, #wc-contact-widget .wc-contact-options { transition: none!important; }
}

/* Заявки в магазине и на странице доставки */
.wc-store-route { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:650; margin-top:18px; color:#171916; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.wc-store-route svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.store-reference .wc-store-route:hover { color:#e64e19; }
.delivery-page .wc-delivery-max { min-height:52px; background:#fff; color:#171916; }
.wc-delivery-footer-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.wc-delivery-footer-actions .store-button { min-height:48px; }
@media(max-width:600px) {
  .wc-store-route { margin-top:15px; font-size:13px; }
  .delivery-hero-contact .wc-delivery-max { min-height:48px; }
  .wc-delivery-footer-actions { width:100%; }
  .wc-delivery-footer-actions .store-button { flex:1; font-size:12px; }
}

/* Самостоятельный блок подписки: канал отделён от оформления заказов. */
#wc-channel, #wc-channel * { box-sizing:border-box; }
#wc-channel {
  background:#191c19; color:#f8f6f0;
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  align-items:center; gap:36px;
  padding: 42px max(4%,calc((100% - 1450px)/2));
  font-family: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}
#wc-channel .wc-channel-kicker { color:#f06a39; letter-spacing:.14em; font-size:11px; font-weight:750; margin:0 0 10px; }
#wc-channel h2 { color:#f8f6f0; font-size:clamp(27px,2.5vw,42px); font-weight:750; line-height:1.15; letter-spacing:-.035em; margin:0 0 10px; }
#wc-channel .wc-channel-description { color:#c4c6be; font-size:15px; line-height:1.55; margin:0; max-width:580px; }
#wc-channel .wc-channel-link {
  color:#fff; display:inline-flex; align-items:center; justify-content:center; gap:14px;
  min-height:54px; padding:15px 21px; border-radius:4px;
  background:#e74d1c; border:1px solid #f36536;
  white-space:nowrap; font-size:14px; font-weight:750; text-decoration:none;
  transition:background .2s ease;
}
#wc-channel .wc-channel-link:hover { background:#c63e10; }
#wc-channel .wc-channel-link svg { display:block; width:20px; height:20px; }
#wc-channel .wc-channel-link:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:760px) {
  #wc-channel { grid-template-columns:1fr; gap:22px; padding:30px 5% 35px; }
  #wc-channel h2 { font-size:clamp(27px,7.5vw,36px); }
  #wc-channel .wc-channel-description { font-size:13px; }
  #wc-channel .wc-channel-link { width:100%; min-height:50px; }
}

/* Копчёная рыба: третий способ отправить заявку */
.smoked-editorial .sf-dialog-actions { flex-wrap:wrap; }
.smoked-editorial .sf-dialog-actions .wc-sf-max { background:transparent; color:inherit; border:1px solid #c4c1b9; }
@media (max-width:600px) { .smoked-editorial .sf-dialog-actions .wc-sf-max { width:100%; } }

/* Компактные ссылки в карточках специализированных категорий */
.wc-modal-messengers { display:flex; flex-wrap:wrap; gap:10px 20px; margin:14px 0; }
.wc-modal-messengers a { display:inline-flex; font-size:13px; font-weight:650; border-bottom:1px solid currentColor; padding-bottom:2px; text-decoration:none; }
.wc-modal-messengers a:hover, .wc-footer-channel:hover { color:#e9501e; }
.wc-footer-channel { font-size:12px; font-weight:650; text-underline-offset:3px; white-space:nowrap; }
.sf-dialog-copy .wc-smoked-max { display:inline-flex; margin-left:16px; }
.delivery-footer > .wc-footer-channel { color:#f4f0e7; white-space:nowrap; }
@media(max-width:760px) { .wc-modal-messengers { gap:9px 16px; } .wc-modal-messengers a { font-size:12px; } .sf-dialog-copy .wc-smoked-max { margin-left:0; } }


/* Footer: phone + two real, direct messenger buttons on every page. */
.wc-footer-contact, .wc-footer-contact * { box-sizing:border-box; }
.wc-footer-contact {
  display:inline-flex; align-items:center; gap:16px; flex-wrap:wrap;
  font-family:inherit; flex:0 0 auto;
}
.wc-footer-contact .wc-footer-phone { display:inline-block; color:inherit; text-decoration:none; white-space:nowrap; font-weight:700; letter-spacing:0; }
.wc-footer-contact .wc-footer-phone:hover { color:#ee6738; }
.wc-footer-socials { display:inline-flex; gap:7px; align-items:center; flex-shrink:0; }
.wc-footer-contact .wc-footer-social {
  display:inline-flex; justify-content:center; align-items:center;
  flex:0 0 36px; width:36px; height:36px; padding:0;
  border-radius:50%; border:1px solid #8a92804a;
  background:#87917a12; color:#44b9e9;
  text-decoration:none; transition:background .18s,border-color .18s,transform .18s;
}
.wc-footer-contact .wc-footer-social:hover { background:#ec613b16; border-color:#e85d31; transform:translateY(-2px); }
.wc-footer-contact .wc-footer-social:focus-visible { outline:2px solid #e75b29; outline-offset:3px; }
.wc-footer-social svg { width:20px; height:20px; display:block; }
.wc-footer-social img { width:25px; height:25px; display:block; border-radius:6px; object-fit:contain; }
/* Keep the phone visually clear in the light category footers. */
.r-footer .wc-footer-contact .wc-footer-phone,
.sf-footer .wc-footer-contact .wc-footer-phone { font-size:13px; }
/* Footer of delivery uses flex, not grid. */
.delivery-footer .wc-footer-contact { gap:14px; }
.delivery-footer .wc-footer-contact .wc-footer-phone { color:#f5f3ed; font-size:15px; }
.footer-bottom .wc-footer-contact { gap:12px; }
@media (max-width:760px) {
  .wc-footer-contact { gap:11px; }
  .wc-footer-contact .wc-footer-social { width:36px; height:36px; }
  .delivery-footer .wc-footer-contact { width:100%; }
}

/* v3: rounded contact menu, expressive channel, raised footer contacts. */
#wc-contact-widget .wc-contact-caption { border-radius:999px; padding:11px 18px; background:#383a39; border-color:#707270; font-size:14px; }
#wc-contact-widget .wc-contact-icon--phone { color:#ed531d; background:#202321; }
#wc-contact-widget .wc-contact-icon--telegram { background:#27a8df; color:white; border-color:#27a8df; }
#wc-contact-widget .wc-contact-icon--max { background:#5941f9; border:0; overflow:hidden; }
#wc-contact-widget .wc-contact-icon--max img { width:100%; height:100%; border-radius:50%; }
#wc-contact-widget .wc-contact-toggle svg { width:29px; height:29px; }
#wc-channel { position:relative; overflow:hidden; isolation:isolate; background:linear-gradient(115deg,#e84614 0%,#f46925 70%,#ff8640 100%); padding-top:52px; padding-bottom:52px; min-height:260px; }
#wc-channel .wc-channel-copy, #wc-channel .wc-channel-link { position:relative; z-index:1; }
#wc-channel .wc-channel-kicker { color:#fff3dc; }
#wc-channel h2 { color:#fff9ed; font-size:clamp(30px,3.2vw,50px); }
#wc-channel .wc-channel-description { color:#fff3e8; }
#wc-channel .wc-channel-link { background:#121513; border-color:#121513; border-radius:999px; padding:17px 28px; box-shadow:0 9px 24px #70200825; }
#wc-channel .wc-channel-link:hover { background:#272c27; }
#wc-channel .wc-channel-plane { position:absolute; right:16%; top:-45px; width:310px; height:310px; color:#fff; opacity:.12; transform:rotate(-12deg); pointer-events:none; }
#wc-channel .wc-channel-plane svg { width:100%; height:100%; }
body footer:has(.footer-top) { background:#090c0a; }
.footer-bottom { border-color:#ffffff24; }
.wc-raised-contacts { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; width:100%; margin-top:8px; color:#f7f5ef; }
.wc-raised-contacts>a { display:inline-flex; align-items:center; gap:9px; color:inherit; text-decoration:none; font-size:13px; font-weight:650; white-space:nowrap; }
.wc-raised-contacts>a:hover { color:#ff7847; }
.wc-raised-contacts>a:focus-visible { outline:2px solid #ff7847; outline-offset:5px; border-radius:6px; }
.wc-raised-icon { display:flex; align-items:center; justify-content:center; width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:#202421; }
.wc-raised-icon svg { width:22px; height:22px; }
.wc-raised-icon img { width:28px; height:28px; border-radius:50%; }
.wc-raised-icon--tg { color:#38b9eb; }
.wc-raised-icon--phone { color:#ed531d; }
.r-cooking-actions { flex-wrap:wrap; }
.r-cooking-actions .wc-raised-contacts { margin:0; width:auto; }
.r-cooking-banner::before { background:linear-gradient(90deg,#070a08f5,#070a08d0 45%,#070a0860)!important; }
.sf-bottom:after { background:linear-gradient(90deg,#070a08f5,#070a08c0 45%,#070a0860)!important; }
.sf-bottom .wc-raised-contacts { margin:24px 0 6px; }
body .r-footer, body .sf-footer { background:#090c0a; color:#e9e8e0; border-color:#ffffff20; }
body .r-footer small, body .sf-footer small { color:#a8aba3; }
@media(max-width:760px) {
 #wc-channel { min-height:0; padding:32px 5%; gap:23px; }
 #wc-channel .wc-channel-plane { right:-60px; top:0; width:230px; height:230px; opacity:.09; }
 #wc-channel .wc-channel-link { width:auto; justify-self:start; }
 .wc-raised-contacts { gap:12px 16px; }
 .wc-raised-contacts>a { font-size:12px; }
 .r-cooking-actions .wc-raised-contacts { width:100%; }
 .r-cooking-banner { min-height:420px; }
 #wc-contact-widget .wc-contact-caption { font-size:12px; padding:10px 14px; }
}
