/* =========================================================
   AF Mobilier — base.css
   Styles communs à TOUTES les pages : variables, reset,
   typographie, header, navigation, menu mobile, footer.
   ========================================================= */

:root{
  --bg:#F7F4EE;
  --bg-deep:#1E1A16;
  --ink:#221D18;
  --ink-soft:#6E655A;
  --paper:#FFFDF9;
  --accent:#9C7A42;
  --sage:#566253;
  --line:#E3DCCD;
  --danger:#A3402F;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-0.01em;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.06em;text-transform:uppercase;}
a{color:inherit;text-decoration:none;}
img{display:block;width:100%;height:100%;object-fit:cover;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea{font:inherit;}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;
}

/* ---- Header ---- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,238,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;
}
.wordmark{
  font-family:'Fraunces',serif;font-size:22px;font-weight:500;
  letter-spacing:0.01em;white-space:nowrap;
}
.wordmark .af-part{color:var(--ink);transition:color .25s ease;}
.wordmark .mobilier{color:var(--accent);transition:color .25s ease;}
.wordmark:hover .af-part{color:var(--accent);}
.wordmark:hover .mobilier{color:var(--ink);}

nav ul{list-style:none;display:flex;gap:32px;align-items:center;}
nav a{
  font-size:12px;font-family:'IBM Plex Mono',monospace;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);
  padding-bottom:4px;border-bottom:1px solid transparent;transition:all .25s ease;
}
nav a:hover{color:var(--ink);border-bottom-color:var(--accent);}
nav a.new-link{color:var(--sage);}
nav a.new-link::before{content:"● ";font-size:8px;}

.nav-cta{
  font-size:12px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.06em;text-transform:uppercase;
  border:1px solid var(--ink);padding:9px 18px;border-radius:2px;transition:all .25s ease;white-space:nowrap;
}
.nav-cta:hover{background:var(--ink);color:var(--paper);}

.menu-toggle{display:none;width:38px;height:38px;align-items:center;justify-content:center;flex-shrink:0;}
.menu-toggle .bar{position:relative;width:20px;height:14px;}
.menu-toggle .bar span{position:absolute;left:0;width:100%;height:1.5px;background:var(--ink);transition:all .3s ease;}
.menu-toggle .bar span:nth-child(1){top:0;}
.menu-toggle .bar span:nth-child(2){top:6px;}
.menu-toggle .bar span:nth-child(3){top:12px;}
.menu-toggle.active .bar span:nth-child(1){top:6px;transform:rotate(45deg);}
.menu-toggle.active .bar span:nth-child(2){opacity:0;}
.menu-toggle.active .bar span:nth-child(3){top:6px;transform:rotate(-45deg);}

.mobile-menu{display:none;max-height:0;overflow:hidden;background:var(--bg);border-bottom:1px solid transparent;transition:max-height .35s ease, border-color .35s ease;}
.mobile-menu.open{max-height:420px;border-bottom-color:var(--line);}
.mobile-menu ul{list-style:none;padding:8px 32px 24px;}
.mobile-menu li{border-top:1px solid var(--line);}
.mobile-menu a{display:block;padding:16px 0;font-size:13px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);}
.mobile-menu a.new-link{color:var(--sage);}
.mobile-menu a.new-link::before{content:"● ";font-size:8px;}
.mobile-menu a.mm-cta{color:var(--accent);}

/* ---- Footer ---- */
footer{border-top:1px solid var(--line);padding:36px 32px;}
.footer-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-inner .wordmark{font-size:16px;}
.footer-inner p{color:var(--ink-soft);font-size:12px;font-family:'IBM Plex Mono',monospace;}
.legal-link{font-size:12px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;}
.legal-link:hover{color:var(--ink);}

/* ---- Responsive (header/nav) ---- */
@media (max-width:900px){
  nav{display:none;}
  .nav-cta{display:none;}
  .menu-toggle{display:flex;}
  .mobile-menu{display:block;}
}
@media (max-width:560px){
  .nav-inner{padding:16px 20px;}
}
@media (prefers-reduced-motion: reduce){*{transition:none !important;}}

/* ---- Turbo (barre de progression pendant la navigation) ---- */
.turbo-progress-bar{background-color:var(--accent);height:2px;}