/* Общие отступы native страниц сохраняют derived shell и отдельный home hero. */
.site-body .shell-header{top:0}
.site-body:not(.site-home) .shell-header{position:relative}
.site-breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:#777;margin-bottom:32px}
.site-breadcrumbs a{color:inherit}.site-error{max-width:1280px;margin:auto;padding:80px 24px;min-height:45vh}
.dialog-consult .content-form{margin:0;padding:32px;max-height:85vh;overflow:auto}
.image-empty{display:block;min-height:80px;background:#f0ede8}
.shell-messengers>span{display:inline-flex;gap:8px;align-items:center}
@media(max-width:767px){.site-breadcrumbs{font-size:12px;margin-bottom:24px}.dialog-consult .content-form{padding:24px 16px}}

/* Tablet сохраняет desktop dropdown, когда полная навигационная строка скрыта. */
.shell-tablet-menu{display:none}
@media(min-width:768px) and (max-width:1250px){.shell-tablet-menu{display:inline-flex}}

/* Native ссылки мессенджеров сохраняют композицию и область нажатия исходных кнопок. */
.shell-messengers>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 18px;border:1px solid #79716a;color:#fff;font-size:14px;line-height:1.35;transition:background-color var(--motion-duration)}
.shell-messengers>a:hover{background:#ffffff0d}
.shell-messengers>a img,.shell-messengers>a picture{flex:none}
.shell-messengers>a span{min-width:0}
.shell-messengers--footer{flex-wrap:wrap;gap:10px}
.shell-messengers--footer>a{min-height:48px;padding:10px 14px;font-size:13px}
.shell-footer-links,.shell-footer-hours,.shell-footer-bottom{color:#b2aaa3}
.shell-footer-links a{line-height:1.5;transition:color var(--motion-duration)}
.shell-footer-links a:hover,.shell-footer-bottom a:hover{color:#fff}
.shell-footer-bottom{border-top-color:#514941;line-height:1.5}
.shell-icon{min-width:44px;min-height:44px}
.shell-actions{gap:12px}
.shell-nav>a,.shell-nav>button{min-height:44px}
.shell-phone{min-height:44px;justify-content:center}
.header-dropdown-close{width:44px;height:44px;flex:none}
.header-dropdown-grid>a:focus-visible,.header-dropdown-links>a:focus-visible{outline-offset:-2px}
.site-breadcrumbs{line-height:1.6}
.site-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.categories-page>.site-breadcrumbs,.listing-page>.site-breadcrumbs,.product-page>.site-breadcrumbs,.content-page>.site-breadcrumbs{padding:24px var(--page-gutter) 0}
/* Скрытая skip-link не попадает в длинный screenshot после прокрутки; Tab открывает её как обычно. */
.skip-link:not(:focus){clip-path:inset(50%)}

/* Ошибка маршрута предлагает понятный следующий переход и сохраняет общую типографику. */
.site-error{max-width:none;min-height:52vh;padding:64px var(--page-gutter) 80px;display:flex;align-items:center}
.site-error-copy{max-width:680px;display:grid;gap:20px}
.site-error h1{font:400 clamp(32px,3.4vw,52px)/1.15 var(--font-heading);text-wrap:balance}
.site-error p{max-width:560px;font-size:16px;line-height:1.65;color:var(--color-muted)}
.site-error-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.site-error .ui-eyebrow{color:var(--color-accent)}

/* Неблокирующий cookie banner появляется при первом посещении и остаётся в viewport. */
.dialog-cookies{position:fixed;top:auto;bottom:20px;z-index:120;margin:0 auto;left:20px;right:20px}
.dialog-cookie-copy p{line-height:1.6}
.dialog-cookie-actions>.ui-button{min-height:44px}
.dialog-consult .dialog-close{width:44px;height:44px;right:0;top:0;color:#fff;background:#25211d;font-size:26px}
.dialog-phone .dialog-close{width:44px;height:44px;right:4px;top:4px}
.site-body .content-review-dialog .dialog-close{width:44px;height:44px}
.site-body .dialog-menu-top .shell-icon,.site-body .dialog-menu-top .dialog-close{min-width:44px;min-height:44px}

@media(min-width:768px) and (max-width:1439px){
  .shell-header-desktop{gap:16px;padding-left:24px;padding-right:24px}
  .shell-actions{gap:4px;margin-left:0}
  .shell-nav{gap:14px;margin-left:0}
}
@media(min-width:1251px) and (max-width:1439px){
  .shell-nav>a[href="/kontakty/"],.shell-nav>a[href="/catalog/rasprodazha/"]{display:none}
}
@media(max-width:767px){
  .categories-page>.site-breadcrumbs,.listing-page>.site-breadcrumbs,.product-page>.site-breadcrumbs,.content-page>.site-breadcrumbs{padding-top:18px}
  .shell-header-mobile{padding:10px 12px;gap:4px}
  .shell-mobile-left,.shell-mobile-right{width:88px;gap:0;flex:none}
  .shell-phone-chevron{display:none}
  .shell-messengers--footer{flex-wrap:nowrap;gap:0}
  .shell-messengers--footer>a,.dialog-menu-contact .shell-messengers>a{flex:1;min-width:0;min-height:72px;padding:10px 4px;border:0;flex-direction:column;gap:8px;font-size:12px;text-align:center}
  .shell-messengers--footer>a:nth-child(1){border-left:1px solid #514941;border-right:1px solid #514941}
  .shell-messengers--footer>a:nth-child(3){order:-1}
  .dialog-menu-contact .shell-messengers>a:nth-child(2){border-left:1px solid #514941;border-right:1px solid #514941}
  .shell-footer-links a{min-height:28px;display:flex;align-items:center}
  .dialog-menu{margin:0;width:100%;height:100dvh;max-height:100dvh}
  .dialog-menu-nav>a,.dialog-menu-nav>button{border-bottom:1px solid #f1edea}
  .dialog-menu-search>a{min-height:52px}
  .site-error{min-height:46vh;padding:40px 20px 48px}
  .site-error-copy{gap:16px}
  .site-error p{font-size:14px}
  .site-error-actions{gap:10px}
  .site-error-actions>.ui-button{min-height:44px}
  .dialog-cookies{bottom:max(14px,env(safe-area-inset-bottom));left:14px;right:14px;margin:0;width:auto}
  .dialog-cookie-actions>.ui-button,.dialog-cookie-actions>.ui-button:first-child{min-height:44px;height:auto;padding:10px;font-size:12px}
  .dialog-cookie-copy p{font-size:13px}
}
@media(max-width:359px){
  .shell-mobile-left,.shell-mobile-right{width:72px}
  .shell-header-mobile .shell-icon{min-width:36px}
  .shell-header-mobile{padding-left:8px;padding-right:8px;gap:2px}
}

/* Типографика каркаса следует компонентным размерам; заголовки страниц задают их владельцы. */
.shell-footer-links,.shell-footer-hours,.shell-footer-bottom{color:var(--color-muted)}
.shell-footer-links a{line-height:normal}
.shell-footer-links h3{margin-bottom:0;line-height:normal}
.shell-footer-contacts>div:not(.shell-messengers){display:flex;flex-direction:column;gap:6px}
.shell-footer-hours{margin-top:0}
.shell-footer-contacts>div>p:not(.shell-footer-hours){font-weight:500}
.shell-footer-bottom{border-color:var(--color-muted);line-height:normal}
.site-breadcrumbs{font-size:12px;line-height:normal;align-items:center}
.dialog-cookie-copy p{line-height:normal}
.dialog-cookie-actions>.ui-button{font-weight:600}

/* Телефон остаётся единой панелью с шапкой внутри native top layer. */
.dialog-phone{margin:0;left:auto;right:60px;top:var(--phone-header-bottom,77px);padding:0}
.dialog-phone-header{display:none}
.dialog-phone[open]{gap:0}
.dialog-phone-content{display:flex;flex-direction:column;padding:16px;gap:4px}
.dialog-phone-content h2{font:700 16px/normal var(--font-body);padding-right:32px}
.dialog-phone-content>p{font-size:14px;line-height:normal;opacity:.6}
.dialog-phone-content>.ui-button{height:40px;min-height:40px;width:100%;padding:0 20px;font-size:12px;margin-top:8px}
.dialog-consult .content-form textarea{resize:none}
.dialog-consult .dialog-close{width:32px;height:32px;right:0;top:0;background:transparent;padding:6px}
.dialog-panel{scrollbar-gutter:stable}

/* Пять desktop колонок распределяются единым flex рядом, как footer-columns макета. */
@media(min-width:1751px){
  .shell-footer-columns{align-items:flex-start}
  .shell-footer-navigation{display:contents}
}
/* Footer использует компактные подписи MAX и отдельную кнопку Telegram; ссылки остаются native. */
@media(min-width:768px){
  .shell-messengers--footer{gap:16px;flex-wrap:nowrap}
  .shell-messengers--footer>a{height:56px;min-height:56px;padding:18px 20px;font-size:14px;font-weight:500;line-height:normal}
  .shell-messengers--footer>a:nth-child(3)>span{display:none}
  .shell-messengers--footer>a>span small{display:block;color:#ffffff99;font-size:inherit}
}
/* Sheet отзыва имеет прозрачный close и полную ширину полей; скролл остаётся нативным. */
.site-body .content-review-dialog[data-dialog=review]{scrollbar-gutter:auto;scrollbar-width:none}
.site-body .content-review-dialog[data-dialog=review] .dialog-close{background:transparent;padding:10px;top:10px;right:10px}
.site-body .content-review-dialog[data-dialog=review] .dialog-close img{width:auto;height:auto}

/* Мобильные меню исключают системные панели макета; реальная шапка имеет высоту 64px. */
@media(max-width:767px){
  /* Компактная консультация центрируется под web-шапкой, без системных полос Figma. */
  .dialog-consult[data-dialog=consult]{top:64px;bottom:0;margin:auto;scrollbar-gutter:auto}
  .dialog-consult[data-dialog=consult]::backdrop{inset:64px 0 0}
  .shell-header-mobile{padding:10px 14px;gap:0}
  .shell-mobile-left{width:76px;gap:0}
  .shell-mobile-right{width:60px;gap:0}
  .shell-header-mobile .shell-icon{min-width:40px;min-height:44px}
  .shell-mobile-left .shell-icon{transform:translateX(-10px)}
  .shell-mobile-right{gap:20px}
  .shell-mobile-right .shell-icon{min-width:20px;position:relative}
  .shell-mobile-right .shell-icon::after{content:"";position:absolute;inset:0 -10px}
  .shell-phone-chevron{display:block;left:62px;top:15px;width:14px;height:14px}
  .shell-footer-navigation{gap:24px 12px}
  .shell-footer-links{gap:10px}
  .shell-footer-links h3{margin-bottom:2px}
  .shell-footer-links a{min-height:0;display:block}
  .shell-messengers--footer>a,.dialog-menu-contact .shell-messengers>a{height:70px;min-height:70px;gap:10px;font-weight:500}
  .shell-messengers--footer>a img,.dialog-menu-contact .shell-messengers>a img{width:22px;height:22px}
  .site-breadcrumbs{font-size:10px;gap:12px}
  .dialog-menu{margin:0;height:100dvh;max-height:100dvh;scrollbar-gutter:auto}
  .dialog-menu-top .dialog-close{left:4px;top:10px;min-width:40px;min-height:44px}
  .site-body .dialog-menu-top .dialog-close{min-width:40px}
  .dialog-menu-phone{left:44px;top:10px}
  .dialog-menu-actions{right:4px;top:10px;gap:0}
  .site-body .dialog-menu-top .shell-icon{min-width:40px;min-height:44px}
  .dialog-menu-search{height:44px;min-height:44px;padding:0 14px}
  .dialog-menu-search>a{min-height:44px;font-size:12px;font-weight:500;gap:8px}
  .dialog-menu-level{padding:14px 14px 24px;gap:24px}
  .dialog-menu-level>.ui-button{height:40px;min-height:40px}
  .dialog-menu-nav{gap:20px}
  .dialog-menu-nav>a,.dialog-menu-nav>button{min-height:19px;padding:0;border:0;line-height:normal;font-size:14px}
  .dialog-menu-nav [data-menu-next]{justify-content:flex-start}
  .dialog-menu-level[data-menu-level=catalog]{padding:24px 14px}
  .dialog-menu-back{min-height:16px;line-height:normal}
  .dialog-menu-catalog a{min-height:0;padding:12px 14px 12px 0;font-size:13px;line-height:normal}
  .dialog-menu-contact{position:sticky;bottom:0;margin-top:auto;padding:12px 14px max(12px,env(safe-area-inset-bottom));}
  .dialog-phone{right:0;left:0;top:var(--phone-header-top,0px);width:100%;max-width:100%;max-height:calc(100dvh - var(--phone-header-top,0px));scrollbar-gutter:auto}
  .dialog-phone-header{display:block;background:var(--color-text);color:white}
  .dialog-phone-header .shell-phone-chevron{transform:rotate(180deg)}
  .dialog-phone-content .dialog-close{display:none}
  .dialog-phone-content h2{padding-right:0}
  .dialog-phone-content{padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .dialog-cookie-copy p{font-size:12px;line-height:normal}
  .dialog-cookie-actions{gap:12px}
  .dialog-cookie-actions>.ui-button,.dialog-cookie-actions>.ui-button:first-child{height:36px;min-height:36px;font-size:11px;padding:0 8px}
}
