/* ============================================================
   Middle Asia Golf — адаптивный слой (mobile / tablet).
   ВАЖНО: только @media (max-width). Десктоп (≥1025px) НЕ затрагивается —
   утверждённый дизайн заморожен, эти правила включаются лишь на узких экранах.
   Брейкпоинты (ТЗ): Mobile 320–767 / Tablet 768–1023 / Laptop 1024–1279 / Desktop 1280+.
   ============================================================ */

/* Бургер по умолчанию скрыт (десктоп). Мобильная панель скрыта. */
.burger{display:none; width:44px; height:44px; border:none; background:transparent; cursor:pointer; padding:10px; margin-left:6px;}
.burger span{display:block; height:2px; border-radius:2px; background:var(--ink); transition:transform .3s, opacity .2s;}
.burger span+span{margin-top:5px;}
.mnav{display:none;}

/* ---------------------------------------------------------------- *
 * ≤1170px — Шапка → бургер-меню
 * ---------------------------------------------------------------- */
@media (max-width:1170px){
  /* Шапка → бургер-меню */
  header .wrap{gap:10px;}
  header nav{display:none;}
  header .hd-r{display:none;}
  .burger{display:block;}
  header.mopen .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.mopen .burger span:nth-child(2){opacity:0;}
  header.mopen .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .m-overlay{display:none; position:fixed; inset:0; z-index:65; background:rgba(10,25,45,.45); opacity:0; transition:opacity .35s;}
  .m-overlay.open{display:block; opacity:1;}
  
  /* Панель держится на месте (right:0, в пределах вьюпорта) и прячется visibility/opacity —
     без translateX(100%), иначе fixed-элемент растягивает страницу вправо (горизонтальный скролл). */
  .mnav{display:block; position:fixed; top:0; right:0; bottom:0; width:min(360px,86vw); z-index:70;
    background:#fff; box-shadow:-20px 0 60px -30px rgba(19,36,58,.5);
    padding:96px 30px 30px; overflow-y:auto;
    visibility:hidden; opacity:0; transform:translateY(-8px);
    transition:opacity .3s, transform .35s cubic-bezier(.16,1,.3,1), visibility 0s .35s;}
  .mnav.open{visibility:visible; opacity:1; transform:translateY(0);
    transition:opacity .3s, transform .35s cubic-bezier(.16,1,.3,1), visibility 0s;}
  .mnav nav{display:flex; flex-direction:column; gap:0; margin:0;}
  .mnav nav a{font-size:18px; font-family:'Manrope',sans-serif; color:var(--ink); padding:15px 0; border-bottom:1px solid var(--line);}
  .mnav nav a::after{display:none;}
  .mnav .m-lang{margin-top:22px; font-family:'Manrope',sans-serif; font-size:15px; color:var(--muted);}
  .mnav .m-lang b{color:var(--ink);}
  .mnav .btn{margin-top:18px; width:100%; justify-content:center;}
  .burgerCart{display: flex;margin-left: auto;justify-content: center;align-items: center;}
}

/* ---------------------------------------------------------------- *
 * ≤1024px — планшет/лаптоп: компактнее
 * ---------------------------------------------------------------- */
@media (max-width:1024px){
  html,body{overflow-x:clip;}   /* off-canvas меню не должно создавать горизонтальный скролл */
  .wrap{padding:0 32px;}
  .sec{padding:88px 0;}
  .sec-h{margin-bottom:44px;}
  .sec-h h2{font-size:40px;}
  .cta-l h2{font-size:38px;}

  /* Сетки */
  .hero-grid{grid-template-columns:1fr; gap:36px;}
  .hero .visual{height:360px;}
  .bento{grid-template-columns:1fr 1fr;}
  .prod{grid-template-columns:1fr 1fr;}
  .pr{grid-template-columns:1fr 1fr;}
  .pj-grid{grid-template-columns:1fr 1fr;}
  .ptr-types{grid-template-columns:1fr 1fr;}
  .ptr-benefits{grid-template-columns:1fr 1fr;}
  .brands-grid{gap:40px;}
  .about-team{gap:40px;}
  .srv-price{gap:40px;}
  .stats .wrap{grid-template-columns:1fr 1fr; gap:40px 30px; padding:64px 32px;}
  .proc{grid-template-columns:1fr 1fr 1fr; gap:36px 24px;}
  .proc .pl{display:none;}                 /* горизонтальная линия не нужна при переносе */
  .proc .st::before{display:none;}
  .ft-top {grid-template-columns:1fr 1fr;}
  .separator{display: none;}

  .sec-catalog .sec-h p{max-width: 330px;}

  .seg-sec .sec-h h2{font-size:40px;}

  .about-intro{grid-template-columns:1fr; gap:28px; margin-bottom:48px;}
  .ptr-intro{grid-template-columns:1fr; gap:28px; margin-bottom:48px;}
}

@media (max-width: 840px) {
  .cookie-modal__content{width: calc(100vw - 115px); left: 15px; bottom: 15px; padding: 20px;}
}

/* ---------------------------------------------------------------- *
 * ≤767px — мобилка: всё в одну колонку
 * ---------------------------------------------------------------- */
@media (max-width:767px){
  .wrap{padding:0 20px;}
  .sec{padding:88px 0;}
  .sec-h{flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:32px;}
  .sec-h h2{font-size:32px; max-width:none;}
  .sec-h h2[style]{text-align:left !important; margin-left:0 !important;}   /* «без посредников» — снять правое выравнивание */
  .sec-h p{max-width:none;}

  header .wrap{height:64px;}
  .hero{padding-top:64px;}
  .hero .wrap{padding-top:36px; padding-bottom:40px;}
  .hero h1{font-size:clamp(30px,9vw,44px); margin-bottom:18px;}
  .hero .lead{font-size:16px; margin-bottom:26px;}
  .hero .cta{flex-wrap:wrap; gap:10px;}
  .hero .cta .btn{flex:1; justify-content:center; min-width:140px;}
  .hero .visual{height:280px;}
  .hero-foot{flex-direction:column; align-items:flex-start; gap:16px; margin-top:40px;}
  .hero-foot .bnote{margin-left:0;}
  .hero-foot .chips{gap:8px; justify-content:flex-start; flex:none;}
  .hero-foot .chip{font-size:12px;}

  .bento{grid-template-columns:1fr;}
  .seg.wide{grid-column:span 1;}
  .brandc{grid-template-columns:1fr; gap:16px;}
  .brand-head h3{font-size:24px;}

  .adv{grid-template-columns:1fr; gap:0;}
  .adv-sec .sec-h{grid-template-columns:1fr; gap:16px;}
  .adv .it{grid-template-columns:56px 1fr; gap:14px; padding:26px 0;}
  .adv .it .nm{font-size:28px;}
  .adv .it h3{font-size:19px;}

  .prod{grid-template-columns:1fr;}
  .cat-foot{flex-direction:column; align-items:flex-start; gap:16px;}
  .cat-foot .btn{width:100%; justify-content:center;}

  .proc{grid-template-columns:1fr; gap:8px;}
  .proc .st{padding:22px 0; border-top:1px solid rgba(255,255,255,.12);}
  .proc .st .n{margin-bottom:10px;}

  .pr{grid-template-columns:1fr;}

  .stats .wrap{grid-template-columns:1fr 1fr; gap:34px 20px; padding:52px 20px;}
  .stats .it .n{font-size:46px;}

  .cta-grid{grid-template-columns:1fr; gap:32px;}
  .cta-l h2{font-size:30px;}
  .cta-l .cc{flex-direction:column; gap:16px;}
  .formc{padding:24px;}

  .ft-top{grid-template-columns:1fr; gap:32px; padding-bottom:36px;}
  .ft-bot{flex-direction:column; align-items:flex-start; gap:16px;}
  .ft-bot .r{order:-1;}

  /* Плавающие кнопки — чуть меньше и ближе к краю */
  .wa,.tg-fab{width:52px; height:52px; right:18px;}
  .wa{bottom:18px;} .tg-fab{bottom:80px;}

  .seg-sec .sec-h{flex-direction:column; align-items:flex-start; margin-bottom:32px;}
  .seg-sec .sec-h h2{font-size:32px; max-width:none;}
  .seg-sec .sec-h .text{flex-direction:column; align-items: flex-start; gap:16px;}
  .seg-sec .sec-h p{max-width:none;}

  /* Услуги */
  .services-sec .page-head h1{font-size:32px;}
  .srv-grid{grid-template-columns:1fr; gap:20px; margin-bottom:40px;}
  .srv-cta{flex-direction:column; align-items:flex-start; gap:22px; padding:28px 24px;}
  .srv-cta .btn{width:100%; justify-content:center;}
  .srv-price{grid-template-columns:1fr; gap:30px; margin-bottom:40px;}
  .spr-txt .btn{width:100%; justify-content:center;}
  .spr-parts{padding:22px 24px;}

  /* Проекты */
  .projects-sec .page-head h1{font-size:32px;}
  .pj-grid{grid-template-columns:1fr; gap:20px; margin-bottom:40px;}
  .pj-filter{gap:8px; margin-bottom:28px;}

  /* О компании */
  .about-sec .page-head h1{font-size:32px;}
  .about-img{aspect-ratio:3/2;}
  .about-stats{grid-template-columns:1fr 1fr; gap:28px 20px; padding:34px 0; margin-bottom:48px;}
  .as-n{font-size:42px;}
  .av-head h2{font-size:28px;}
  .av-grid{grid-template-columns:1fr; gap:24px;}
  .brands-grid{grid-template-columns:1fr; gap:32px;}
  .brands-logos{grid-template-columns:1fr 1fr; gap:12px;}   /* плашки в ряд — вертикально они съедают экран */
  .bl-plate{height:66px; padding:0 16px;}
  .bl-plate img{height:24px;}
  .about-team{grid-template-columns:1fr; gap:28px;}
  .about-team .team-img{order:-1;}

  /* Модалки (подтверждение и заявка) — кнопки в столбик, форма во весь экран */
  .mag-modal{padding:12px;}
  .mag-modal-act{flex-direction:column-reverse;}
  .mag-modal-act .btn{width:100%; justify-content:center;}
  .mag-modal-box{padding:26px 22px;}
  .mag-modal-lead{max-height:92vh;}

  /* 404 — поиск в столбик, кнопки на всю ширину */
  .e404 h1{font-size:30px;}
  .e404 > p{font-size:16px;}
  .e404-search{flex-direction:column; gap:12px;}
  .e404-search input{flex:none; width:100%;}   /* в колонке flex:1 обнуляет высоту поля */
  .e404-search .btn{width:100%; justify-content:center;}
  .e404-cta .btn{flex:1; justify-content:center; min-width:150px;}

  /* Партнёрам */
  .partners-sec .page-head h1{font-size:32px;}
  .ptr-block{margin-bottom:48px;}
  .ptr-types{grid-template-columns:1fr 1fr; gap:16px;}
  .ptr-benefits{grid-template-columns:1fr; gap:22px;}

  .privacy-sec .legal-grid{grid-template-columns: 1fr; margin-top: 60px;}
  .privacy-sec .legal-toc{margin: 0; position: static;}
  .privacy-sec .page-head h1{font-size:32px;}

  .terms-sec .legal-grid{grid-template-columns: 1fr; margin-top: 60px;}
  .terms-sec .legal-toc{margin: 0; position: static;}
  .terms-sec .page-head h1{font-size:32px;}

  .contacts-sec .page-head h1{font-size:32px;}

  .mag-toast{top:80px; right:16px; left:16px; transform:translateY(-40px);}
  .mag-toast.show{transform:translateY(0);}
}

@media (max-width: 510px) {
  .cookie-modal__content p{font-size: 10px;}
  .cookie-modal__content .btn{font-size: 10px;}
  .cookie-modal__content {padding: 15px;}
  .hero .visual .badge{left: 20px; bottom: 20px;}
  .ptr-types{grid-template-columns:1fr; gap:16px;}
}

/* ---------------------------------------------------------------- *
 * ≤400px — очень узкие телефоны: мелкие доводки
 * ---------------------------------------------------------------- */
@media (max-width:400px){
  .stats .wrap{grid-template-columns:1fr;}
  .hero .cta .btn{min-width:0;}
  .cookie-modal__content{flex-direction: column;}
  .cookie-modal__content .btn{width: 100%;justify-content: center;}
}
