/*
 * RETACH SHELL
 * Header CSS owner: /assets/css/retach-header.css
 */

/* SOURCE footer: style-1 */
/* ===== Mobile Bottom Nav (RETACH) ===== */
  :root{
    --mbnav-h: 72px;
    --mbnav-bg: rgba(255,255,255,.92);
    --mbnav-border: rgba(0,0,0,.08);
    --mbnav-shadow: 0 -10px 30px rgba(0,0,0,.10);
  }

  .mbnav{ display:none; }

  @media (max-width: 980px){
    body{
      padding-bottom: calc(var(--mbnav-h) + env(safe-area-inset-bottom)) !important;
    }

    .mbnav{
      position: fixed;
      left: 0; right: 0; bottom: 0;
      z-index: 9999;
      height: calc(var(--mbnav-h) + env(safe-area-inset-bottom));
      min-height: calc(var(--mbnav-h) + env(safe-area-inset-bottom));
      padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
      background: var(--mbnav-bg);
      border-top: 1px solid var(--mbnav-border);
      box-shadow: var(--mbnav-shadow);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);

      /* iOS Safari: фиксируем слой, чтобы не было пропаданий и хит-теста при скролле */
      transform: translateZ(0);
      will-change: transform;

      display: flex;
      gap: 8px;
      justify-content: space-between;
      align-items: stretch;
    }

    .mbnav a{
      flex: 1 1 0;
      min-width: 0;

      text-decoration: none;
      color: #111;

      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;

      border-radius: 14px;
      padding: 8px 6px;
      font-size: 11px;
      line-height: 1.1;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }

    /* иконки заливочные */
.mbnav a svg{
  width: 22px;
  height: 22px;
  flex: 0 0 auto;/* не даем SVG сжиматься на iOS при изменении safe-area */
  margin-bottom: 4px;
  fill: currentColor;
  stroke: none;
  display: block;
  pointer-events: none; /* важно: клик уходит в <a>, а не в SVG */
}
.mbnav a svg *{
  pointer-events: none; /* на всякий: path тоже */
}

/* ЩИТ — stroke-иконка, ей нельзя общую заливку */
.mbnav a.mbnav-shield svg{
  fill: none !important;
  stroke: none !important;
}

.mbnav a.mbnav-shield svg path{
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mbnav a.mbnav-shield svg circle{
  fill: currentColor !important;
  stroke: none !important;
}

    /* выделение только по active */
    .mbnav a.active{
      background: rgba(0,0,0,.06);
    }

    /* Тарифы — без постоянного выделения */
    .mbnav a.mbnav-center{
      transform: none;
      background: transparent;
      box-shadow: none;
      border: 1px solid transparent;
      font-weight: 800;
    }

    /* СегТач — без постоянного выделения */
    .mbnav a.mbnav-cta{
      background: transparent;
      color: #111;
      font-weight: 800;
    }

    /* если активен СегТач — фиолетовый */
    .mbnav a.mbnav-cta.active{
      background: linear-gradient(90deg,#7a8cff,#e08bff);
      color: #fff;
    }
  }

/* SOURCE footer: style-2 */
:root{
    --brand-1:#7FB8FF;
    --brand-2:#AFA4FF;
    --brand-3:#FF97AA;
    --ink:#2B3037;
  }

  .cookie-card-wrap{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:1000001;
    display:none;
  }

  .cookie-card{
    width:240px;
    background:#fff;
    color:var(--ink);
    border-radius:16px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 18px 48px rgba(0,0,0,.18), 0 2px 0 rgba(255,255,255,.7) inset;
    padding:14px 12px 10px;
    position:relative;
    font:13px/1.4 Inter, Manrope, system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  }

  .cookie-x{
    position:absolute;
    right:4px;
    top:4px;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:0;
    background:transparent;
    cursor:pointer;
  }

  .cookie-x::before{
    content:"✕";
    font:700 20px/1 Inter, system-ui, sans-serif;
    color:#6B7280;
  }

  .cookie-emoji{
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, var(--brand-1), var(--brand-2), var(--brand-3));
    color:#fff;
    font-size:20px;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    margin-bottom:6px;
  }

  .cookie-title{
    font:800 16px/1.2 Manrope, Inter, system-ui, sans-serif;
    margin:4px 0 6px;
    letter-spacing:-.01em;
  }

  .cookie-text{
    margin:0 0 8px;
    opacity:.95;
    font-size:13px;
    line-height:1.35;
  }

  .cookie-text a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:2px;
    font-weight:700;
  }

  .cookie-btn{
    width:100%;
    border:0;
    border-radius:999px;
    padding:9px 12px;
    cursor:pointer;
    color:#fff;
    font:800 13px/1 Manrope, Inter, system-ui, sans-serif;
    background:linear-gradient(135deg, var(--brand-1), var(--brand-2), var(--brand-3));
    box-shadow:0 10px 26px rgba(0,0,0,.16);
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  }

  .cookie-btn:hover{
    transform:translateY(-1px);
    filter:saturate(110%);
    box-shadow:0 14px 34px rgba(0,0,0,.20);
  }

  @media (max-width:980px), (hover:none) and (pointer:coarse){
    .cookie-card-wrap{
      right:12px;
      left:12px;
      bottom:calc(var(--mbnav-h, 72px) + 14px + env(safe-area-inset-bottom));
      z-index:1000001;
    }

    .cookie-card{
      width:auto;
      max-width:340px;
      margin-left:auto;
    }
  }

/* ============================================================
   RETACH FOOTER FULLBLEED — SCOPED OWNER
   Applies only to html.rt-footer-fullbleed pages.
   ============================================================ */

html.rt-footer-fullbleed #site-footer-wrap{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  margin-bottom:0;
  background:#fff;
}

html.rt-footer-fullbleed #site-footer-wrap :is(
  footer.footer,
  .footer,
  .container,
  .footer-grid,
  .inner,
  [class*="container"]
){
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding-left:clamp(16px,4vw,48px) !important;
  padding-right:clamp(16px,4vw,48px) !important;
  box-sizing:border-box !important;
}

html.rt-footer-fullbleed #site-footer-wrap [style*="max-width"]{
  max-width:none !important;
}

html.rt-footer-fullbleed #site-footer-wrap [style*="padding-left"]{
  padding-left:clamp(16px,4vw,48px) !important;
}

html.rt-footer-fullbleed #site-footer-wrap [style*="padding-right"]{
  padding-right:clamp(16px,4vw,48px) !important;
}

html.rt-footer-fullbleed #site-footer-wrap :is(
  footer.footer,
  .footer
){
  border-top:1px solid #eef1f5 !important;
  padding-top:clamp(16px,3vw,28px) !important;
  padding-bottom:0 !important;
}

html.rt-footer-fullbleed #site-footer-wrap :is(
  footer.footer,
  .footer
) > *:last-child{
  margin-bottom:0 !important;
}

html.rt-footer-fullbleed .bright-wrap:last-of-type::before{
  display:none !important;
}

html.rt-footer-fullbleed #site-footer-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-24px;
  height:24px;
  background:#fff;
  pointer-events:none;
}

html.rt-footer-fullbleed{
  overflow-x:hidden;
  background:#fff;
  height:auto;
}

html.rt-footer-fullbleed body{
  height:auto;
  margin:0;
  padding-bottom:env(safe-area-inset-bottom,0);
  background:#fff;
}

/* ============================================================
   RETACH PARTIAL INLINE ATTRS — FUTURE OWNER
   Stage 1A: inline attributes still remain as safety layer.
   ============================================================ */


/* =========================================================
   RETACH FOOTER — CANONICAL OWNER

   Single generic owner for the markup in:
   /partials/footer.html

   Full-bleed behaviour remains a separate scoped modifier
   above: html.rt-footer-fullbleed ...
   ========================================================= */

.footer{
  padding:40px 0;

  /*
   * Это фактический текущий отступ футера,
   * который уже побеждал на сайте.
   */
  padding-left:clamp(12px,3vw,24px);

  border-top:1px solid rgba(58,58,58,.08);

  background:#fff;
}


.footer-inner{
  display:flex;

  align-items:center;
  justify-content:space-between;

  padding-top:20px;
  padding-bottom:20px;
}


.footer-grid{
  display:grid;

  grid-template-columns:
    1.1fr
    1fr
    1.2fr;

  gap:16px 24px;

  align-items:start;
}


.footer-col{
  min-width:0;
}


.footer-title{
  margin:0 0 8px;

  font-size:12px;
  font-weight:800;

  letter-spacing:.02em;
  text-transform:uppercase;

  opacity:.75;
}


.footer-list{
  list-style:none;

  margin:0;
  padding:0;
}


.footer-list li{
  margin:6px 0;
}


.footer a{
  text-decoration:underline;
}


.footer .muted{
  opacity:.8;
}


.footer .footnote{
  margin-top:16px;

  font-size:12px;

  opacity:.8;
}


/* Logo belongs to shell too. */

.footer .footer-logo{
  display:inline-flex;

  align-items:center;

  margin-bottom:10px;

  text-decoration:none;
}


.footer .footer-logo img{
  display:block;

  width:auto;
  height:44px;

  image-rendering:-webkit-optimize-contrast;
}


/* Tablet */

@media (max-width:980px){

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

}


/* Mobile logo */

@media (max-width:740px){

  .footer .footer-logo img{
    height:36px;
  }

}


/* Mobile footer */

@media (max-width:640px){

  .footer-grid{
    grid-template-columns:1fr;

    gap:12px;
  }

  .footer .footnote{
    text-align:left;
  }

}
