/* Focused mobile shell: compact header, calm hero and one bottom navigation. */
@media (max-width: 760px) {
  :root { --mobile-header: 60px; --mobile-bar: 70px; }
  html { scroll-padding-top: calc(var(--mobile-header) + 12px); }
  body { min-width: 0; padding-bottom: calc(var(--mobile-bar) + env(safe-area-inset-bottom)); }
  body.mobile-search-open,
  body.mobile-contact-open { overflow: hidden; }
  body.mobile-search-open::before,
  body.mobile-contact-open::before {
    content: '';
    position: fixed;
    inset: var(--mobile-header) 0 var(--mobile-bar);
    z-index: 34;
    background: rgba(18,18,17,.46);
    backdrop-filter: blur(2px);
  }
  .page { width: 100%; max-width: none; padding-top: var(--mobile-header); overflow: hidden; }
  .topbar { display: none; }
  .nav {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 50;
    height: var(--mobile-header);
    padding: 0;
    border-bottom: 1px solid #e8e7e2;
    background: rgba(255,255,255,.97);
    box-shadow: 0 5px 18px rgba(44,37,31,.06);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .nav .container {
    width: calc(100% - 28px);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .brand { position: static; order: 1; display: flex; align-items: center; min-width: 0; transform: none; }
  .brand .logo { width: 168px; max-width: 100%; max-height: 40px; margin-left: -9px; display: block; object-fit: contain; transform: none; }
  .mainnav { display: none; }
  .mobile-catalog {
    order: 2;
    height: 40px;
    min-width: 104px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    border-radius: 5px;
    background: var(--orange);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
  }
  .mobile-catalog span {
    position: relative;
    width: 18px;
    height: 14px;
    border: 0;
    background: linear-gradient(currentColor,currentColor) 0 1px/18px 2px no-repeat,
                linear-gradient(currentColor,currentColor) 0 6px/18px 2px no-repeat,
                linear-gradient(currentColor,currentColor) 0 11px/18px 2px no-repeat;
  }
  .mobile-catalog span:nth-child(2),
  .mobile-catalog span:nth-child(3) { display: none; }
  .mobile-catalog span::after { display: none; }
  .mobile-catalog b { font-weight: 600; }
  .nav-actions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    height: calc(var(--mobile-bar) + env(safe-area-inset-bottom));
    margin: 0;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 2px;
    background: rgba(255,255,255,.98);
    border-top: 1px solid #deddd7;
    box-shadow: 0 -8px 28px rgba(43,36,30,.09);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .nav-actions > * { min-width: 0; }
  .nav-actions .search { order: 1; }
  .nav-actions .mobile-contact { order: 2; }
  .nav-actions .icon-action { order: 3; }
  .nav-actions .cart { order: 4; }
  .nav-actions .search,
  .nav-actions .mobile-contact,
  .nav-actions .icon-action,
  .nav-actions .cart {
    position: relative;
    width: 100%;
    height: 56px;
    margin: 0;
    padding: 5px 2px 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #373936;
    box-shadow: none;
    font-size: 10px;
    line-height: 1;
    text-decoration: none;
    transition: color .2s, background .2s, transform .15s;
  }
  .nav-actions .search:active,
  .nav-actions .mobile-contact:active,
  .nav-actions .icon-action:active,
  .nav-actions .cart:active { transform: scale(.97); background: #f4f3ef; }
  .nav-actions svg { width: 23px; height: 23px; stroke-width: 1.7; }
  .nav-actions .search input { display: none; }
  .nav-actions .search button { width: 26px; height: 26px; padding: 0; display: grid; place-items: center; border: 0; background: transparent; color: inherit; }
  .nav-actions .search .mobile-search-close { display: none; }
  .nav-actions .search::after { content: 'Поиск'; display: block; font-size: 10px; color: inherit; }
  body.mobile-search-open .nav-actions::before {
    content: 'Поиск';
    order: 1;
    height: 56px;
    padding-top: 35px;
    display: block;
    color: #373936;
    text-align: center;
    font-size: 10px;
    line-height: 1;
    background: center 8px/23px 23px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23373936' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E");
  }
  .nav-actions .mobile-contact { font-size: 0; }
  .nav-actions .mobile-contact::before {
    content: '';
    width: 23px;
    height: 23px;
    display: block;
    background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23373936' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 3 3 5-3 3c1.5 3.2 3.8 5.5 7 7l3-3 5 3c-1 3-3 4-5 3C9 19 5 15 3 7 2 5 4 3 7 3Z'/%3E%3C/svg%3E");
  }
  .nav-actions .mobile-contact span { display: block; font-size: 10px; }
  .nav-actions .icon-action span { position: absolute; top: 3px; left: calc(50% + 7px); min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 8px; background: var(--orange); color: #fff; font-size: 9px; }
  .nav-actions .icon-action::after { content: 'Избранное'; display: block; font-size: 10px; }
  .nav-actions .cart { border-left: 0; }
  .nav-actions .cart > span:not(#cart-count) { display: block; font-size: 10px; font-weight: 500; }
  .nav-actions .cart #cart-count { position: absolute; top: 3px; left: calc(50% + 7px); min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 8px; background: var(--orange); color: #fff; font-size: 9px; }
  .nav-actions .search.search-expanded {
    position: fixed;
    left: 14px;
    right: 14px;
    top: calc(var(--mobile-header) + 10px);
    z-index: 55;
    width: auto;
    height: 50px;
    padding: 0 12px;
    flex-direction: row;
    gap: 8px;
    border: 1px solid #deddd7;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(28,24,21,.18);
  }
  .nav-actions .search.search-expanded input { display: block; flex: 1; width: auto; min-width: 0; border: 0; background: transparent; font-size: 14px; outline: 0; }
  .nav-actions .search.search-expanded::after { display: none; }
  .nav-actions .search.search-expanded .mobile-search-close { width: auto; height: 32px; display: block; padding: 0 2px; color: #777972; font-size: 11px; }
  .hero { min-height: 700px; height: calc(100svh - var(--mobile-header)); max-height: 840px; background-position: 64% center; }
  .hero .container { height: 100%; padding: 90px 0 0; align-items: flex-start; }
  .hero-copy { width: 100%; height: 100%; padding-bottom: 0; }
  .hero h1 { max-width: none; margin-bottom: 17px; font-size: clamp(23px,6.6vw,27px); line-height: 1.16; letter-spacing: -.035em; white-space: nowrap; }
  .hero h1 br { display: block; }
  .hero-copy > p:not(.eyebrow) { max-width: 290px; margin-bottom: 0; font-size: 12px; line-height: 1.55; }
  .hero .hero-facts { margin-top: 25px; gap: 10px; }
  .hero .ctas { position: absolute; left: 14px; right: 14px; bottom: calc(var(--mobile-bar) + 24px); z-index: 3; display: flex; flex-direction: column; gap: 10px; }
  .hero .ctas .btn { width: 100%; max-width: none; min-height: 46px; height: 46px; padding: 0 16px; justify-content: center; border-radius: 5px; }
  .contact-widget { position: fixed; left: 12px; right: 12px; top: auto; bottom: calc(var(--mobile-bar) + 10px); z-index: 55; align-items: stretch; }
  .contact-widget > button { display: none; }
  .contact-widget .contact-menu { width: 100%; max-height: min(66svh,490px); padding: 8px; overflow: auto; border: 1px solid #e0dfd9; border-radius: 12px; background: #fff; box-shadow: 0 20px 60px rgba(31,27,24,.22); }
}

@media (min-width: 761px) {
  .mobile-catalog,
  .mobile-contact { display: none; }
}

.contact-sheet-head { display: flex; align-items: center; gap: 10px; padding: 8px 8px 12px; border-bottom: 1px solid #ecebe6; }
.contact-sheet-head strong { font-size: 15px; font-weight: 600; }
.contact-sheet-back { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #f2f1ed; color: var(--ink); font-size: 18px; }
.contact-sheet-back[hidden] { display: none; }
.contact-choice,
.contact-city { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border: 0; border-bottom: 1px solid #eeede8; background: transparent; color: var(--ink); font: inherit; font-size: 14px; text-align: left; text-decoration: none; }
.contact-choice::after { content: '›'; color: var(--orange); font-size: 22px; }
.contact-city small { color: #7b7d76; font-size: 10px; }
.contact-consult { margin-top: 6px; border: 0; border-radius: 6px; background: var(--orange); color: #fff; font-weight: 600; }
.contact-menu .contact-consult:hover,
.contact-menu .contact-consult:focus-visible { background: #bd4911; color: #fff; }
.contact-screen[hidden] { display: none; }
.mobile-search-close { display: none; }

@media (max-width: 370px) {
  .brand .logo { width: 128px; }
  .mobile-catalog { min-width: 96px; padding: 0 11px; }
  .hero h1 { font-size: 22px; }
}

.home-mobile-menu,.home-mobile-menu-backdrop{display:none}
@media(max-width:760px){
  body.home-menu-open{overflow:hidden}
  .home-mobile-menu{position:fixed;left:0;top:var(--mobile-header);bottom:var(--mobile-bar);z-index:64;width:min(360px,88vw);padding:0 18px 28px;display:block;overflow:auto;background:#fff;box-shadow:20px 0 50px rgba(28,25,22,.17);transform:translateX(-110%);transition:transform .25s ease}
  .home-menu-open .home-mobile-menu{transform:translateX(0)}
  .home-mobile-menu-backdrop{position:fixed;inset:var(--mobile-header) 0 var(--mobile-bar);z-index:63;background:rgba(18,18,17,.45)}
  .home-menu-open .home-mobile-menu-backdrop{display:block}
  .home-mobile-menu-head{height:62px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;border-bottom:1px solid #dfdfda;background:#fff}
  .home-mobile-menu-head strong{font-size:18px;font-weight:600}
  .home-mobile-menu-head button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dfdfda;border-radius:50%;background:#fff;color:#181a1b;font-size:24px;line-height:1}
  .home-mobile-menu nav>details>summary,.home-mobile-menu nav>a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid #ebeae6;color:#181a1b;font-size:14px;font-weight:500;text-decoration:none}
  .home-mobile-menu nav>details>summary{justify-content:space-between;list-style:none;color:var(--orange);cursor:pointer}
  .home-mobile-menu nav>details>summary::-webkit-details-marker{display:none}
  .home-mobile-menu nav>details>summary:after{content:'+';font-size:20px;font-weight:400}
  .home-mobile-menu nav>details[open]>summary:after{content:'−'}
  .home-mobile-menu nav>details>a{min-height:39px;display:flex;align-items:center;padding-left:16px;border-bottom:1px solid #f0efeb;color:#60635e;font-size:12px;text-decoration:none}
}

.home-mobile-menu-head button[data-home-menu-close]{position:relative;display:grid;place-items:center;padding:0;font-size:0!important;line-height:0}
.home-mobile-menu-head button[data-home-menu-close]::before,
.home-mobile-menu-head button[data-home-menu-close]::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;border-radius:999px;background:currentColor;transform-origin:center}
.home-mobile-menu-head button[data-home-menu-close]::before{transform:translate(-50%,-50%) rotate(45deg)}
.home-mobile-menu-head button[data-home-menu-close]::after{transform:translate(-50%,-50%) rotate(-45deg)}
