/* ════════════════════════════════════════
   Atlas GS · éléments partagés par toutes les pages
   (menu mobile, barre d'appel, fil d'Ariane, pied de page)
   Les couleurs viennent des variables :root de chaque page.
   ════════════════════════════════════════ */

/* ── Bouton menu (mobile et tablette) ── */
.ags-menu-btn{
  display:none;
  width:42px;height:42px;border-radius:12px;
  border:1px solid var(--line-2);background:rgba(245,240,232,.03);
  align-items:center;justify-content:center;flex-shrink:0;
  transition:border-color .25s,background .25s;
}
.ags-menu-btn:hover{border-color:var(--or-line)}
.ags-menu-btn svg{width:18px;height:18px;stroke:var(--cream);stroke-width:1.8;fill:none;stroke-linecap:round}
.ags-menu-btn .ico-close{display:none}
.menu-open .ags-menu-btn .ico-open{display:none}
.menu-open .ags-menu-btn .ico-close{display:block}

.ags-menu{
  position:fixed;left:0;right:0;bottom:0;top:var(--ags-nav-h,70px);
  z-index:190;
  background:rgba(12,10,8,.97);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  padding:1.6rem 1.4rem 6rem;
  overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),visibility 0s linear .3s;
}
.menu-open .ags-menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.menu-open body{overflow:hidden}
.ags-menu-group{margin-bottom:1.6rem}
.ags-menu-lbl{
  display:block;margin-bottom:.6rem;
  font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);
}
.ags-menu a{
  display:flex;align-items:center;justify-content:space-between;
  padding:.8rem 0;border-bottom:1px solid var(--line);
  font-family:'Outfit',sans-serif;font-size:1.08rem;color:var(--cream);
}
.ags-menu a::after{content:'';width:7px;height:7px;border-top:1.5px solid var(--cream-30);border-right:1.5px solid var(--cream-30);transform:rotate(45deg)}
.ags-menu a:active{color:var(--or)}
.ags-menu .ags-menu-cta{
  margin-top:.6rem;justify-content:center;gap:.5rem;border:none;
  background:var(--or);color:#fff;border-radius:12px;font-size:.95rem;font-weight:500;
}
.ags-menu .ags-menu-cta::after{display:none}

@media(max-width:1024px){
  .ags-menu-btn{display:inline-flex}
}
@media(min-width:1025px){
  .ags-menu{display:none}
}

/* ── Barre d'appel fixe (téléphone) ── */
.ags-callbar{display:none}
@media(max-width:680px){
  .ags-callbar{
    display:grid;grid-template-columns:1fr 1fr;gap:.5rem;
    position:fixed;left:0;right:0;bottom:0;z-index:180;
    padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));
    background:rgba(12,10,8,.94);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-top:1px solid var(--line-2);
  }
  .ags-callbar a{
    display:flex;align-items:center;justify-content:center;gap:.45rem;
    padding:.8rem .6rem;border-radius:12px;
    font-size:.86rem;font-weight:500;letter-spacing:.01em;
    transition:transform .15s;
  }
  .ags-callbar a:active{transform:scale(.98)}
  .ags-callbar svg{width:16px;height:16px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .ags-callbar .cb-tel{border:1px solid var(--line-2);color:var(--cream);background:rgba(245,240,232,.03)}
  .ags-callbar .cb-tel svg{stroke:var(--or)}
  .ags-callbar .cb-devis{background:var(--or);color:#fff}
  .ags-callbar .cb-devis svg{stroke:#fff}
  body{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom))}
  .menu-open .ags-callbar{display:none}
}

/* ── Fil d'Ariane ── */
.ags-crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;
  font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.08em;
  color:var(--cream-50);list-style:none;margin:0 0 1.4rem;padding:0;
}
.ags-crumbs li{display:inline-flex;align-items:center;gap:.45rem}
.ags-crumbs li+li::before{content:'/';color:var(--cream-30)}
.ags-crumbs a{color:var(--cream-70);transition:color .2s}
.ags-crumbs a:hover{color:var(--or)}
.ags-crumbs [aria-current]{color:var(--or)}

/* ── Lien « tout savoir » vers une page détaillée ── */
.ags-more{margin-top:1.8rem;font-size:.92rem}
.ags-more a{display:inline-flex;align-items:center;gap:.5rem;color:var(--or);padding-bottom:.25rem;border-bottom:1px solid var(--or-line);transition:border-color .2s,gap .25s}
.ags-more a::after{content:'';width:7px;height:7px;border-top:1.5px solid var(--or);border-right:1.5px solid var(--or);transform:rotate(45deg)}
.ags-more a:hover{border-color:var(--or);gap:.75rem}

/* ── Pied de page ── */
.ags-foot{
  position:relative;z-index:2;
  border-top:1px solid var(--line);
  background:var(--bg);
}
.ags-foot-in{
  max-width:1400px;margin:0 auto;
  padding:3.6rem 3.5rem 2.4rem;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;
}
.ags-foot-brand{display:flex;flex-direction:column;gap:.7rem;max-width:340px}
.ags-foot-name{font-family:'Outfit',sans-serif;font-weight:500;font-size:1.15rem;letter-spacing:.04em;color:var(--cream)}
.ags-foot-txt{font-size:.86rem;color:var(--cream-50);line-height:1.6}
.ags-foot-contact{display:flex;flex-direction:column;gap:.3rem;margin-top:.3rem}
.ags-foot-contact a{font-size:.88rem;color:var(--cream-70);transition:color .2s;width:fit-content}
.ags-foot-contact a:hover{color:var(--or)}
.ags-foot-col{display:flex;flex-direction:column;gap:.55rem}
.ags-foot-lbl{
  font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);
  margin-bottom:.4rem;
}
.ags-foot-col a{font-size:.86rem;color:var(--cream-50);transition:color .2s;width:fit-content}
.ags-foot-col a:hover{color:var(--or)}
.ags-foot-legal{
  max-width:1400px;margin:0 auto;
  padding:1.3rem 3.5rem 1.8rem;
  border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.4rem;
  font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.04em;color:var(--cream-30);
}
.ags-foot-legal a{color:var(--cream-50);transition:color .2s}
.ags-foot-legal a:hover{color:var(--or)}

@media(max-width:1024px){
  .ags-foot-in{grid-template-columns:1fr 1fr;padding:2.8rem 1.4rem 2rem;gap:2rem 1.4rem}
  .ags-foot-brand{grid-column:1 / -1}
  .ags-foot-legal{padding:1.2rem 1.4rem 1.6rem}
}
@media(max-width:420px){
  .ags-foot-in{grid-template-columns:1fr}
}
