/* ==========================================================================
   Thème QuietCMS « beecases » v4 : tablette et mobile (responsive.css)
   Menu mobile : Apparence > Réglages du thème (« dropdown » ou « drawer », burger à droite ou à gauche).
   ========================================================================== */
@media (max-width:1180px){
  :root{--gutter:40px}
  .header-inner{gap:28px}
  .site-nav ul{gap:26px}
}
@media (max-width:1024px){
  :root{--s6:72px;--s7:100px}
  .hero-grid,.page-intro-grid{grid-template-columns:1fr;gap:var(--s4)}
  .hero-aside{padding-bottom:0}
  .duo,.rc-grid,.app-grid,.tab-panel,.contact-grid{gap:var(--s5)}
  .editorial,.faq{grid-template-columns:1fr;gap:var(--s4)}
  .editorial-aside,.faq-head{position:static}
  .toc{display:none}
  .steps--4{grid-template-columns:repeat(2,1fr);gap:var(--s4) var(--s4)}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .post-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .header-cta{display:none}
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:var(--header-h);padding:24px var(--gutter) 32px;background:var(--paper);border-bottom:1px solid var(--line)}
  .site-nav.is-open{display:block;animation:rise .45s var(--ease) both}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav li{border-bottom:1px solid var(--line)}
  .site-nav a{padding:16px 0;font-size:22px;letter-spacing:-.02em}
  .site-nav a::after{display:none}
  .site-nav a[aria-current]{color:var(--red)}
  .site-nav .sub-menu{position:static;display:flex;border:0;padding:0 0 10px 16px;background:none}
  .site-nav .nav-cta-mobile{display:inline-flex;margin-top:24px;padding:16px 22px;font-size:15px;color:#fff}
  .duo,.rc-grid,.app-grid,.tab-panel,.contact-grid{grid-template-columns:1fr}
  .duo--reverse .duo-media,.range-chapter--reverse .rc-media{order:0}
  .duo-media img,.duo-media video{aspect-ratio:4/3}
  .range-index{grid-template-columns:1fr 1fr}
  .range-index a:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:767px){
  :root{--gutter:20px;--header-h:var(--mobile-header-height,72px);--s5:44px;--s6:56px;--s7:72px}
  body{font-size:16.5px}
  h1{font-size:clamp(40px,11vw,46px)}
  h2{font-size:clamp(32px,9vw,40px)}
  .site-logo img{width:52px}
  .site-logo .site-name{font-size:16px}
  .section-head,.cta-inner{display:block}
  .section-head > :last-child,.cta-actions{margin-top:28px}
  .film-frame{aspect-ratio:16/10}
  .film-toggle{right:12px;bottom:12px;height:40px;padding:0 14px 0 12px;font-size:11.5px}
  .film-caption{flex-direction:column;gap:4px;font-size:11px;letter-spacing:.1em}
  .strip{grid-template-columns:1fr;gap:16px}
  .strip p:last-child{justify-self:start}
  .ranges{grid-template-columns:1fr;gap:var(--s4)}
  .steps,.steps--4{grid-template-columns:1fr;gap:28px}
  .tags{grid-template-columns:1fr}
  .tags li:nth-child(odd){padding-right:0}
  .range-index{grid-template-columns:1fr}
  .range-index a,.range-index a+a{padding-left:0;border-left:0}
  .specs{grid-template-columns:1fr}
  .chapter p{font-size:16.5px;line-height:1.75}
  .faq summary{font-size:17.5px;padding:22px 0}
  .tabs-list{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .tabs-list button{flex:none;font-size:15.5px;padding-right:18px;margin-right:18px}
  .contact-list li{grid-template-columns:1fr;gap:6px}
  .qcms-form .qcms-col-half{flex:0 0 100%}
  .footer-top{grid-template-columns:1fr;gap:var(--s4)}
  .footer-bottom{flex-direction:column-reverse;align-items:flex-start}
  .post-grid{grid-template-columns:1fr}
  .back-to-top{right:14px;bottom:14px}
}

/* Variante « tiroir » (Réglages du thème > menu mobile : drawer) */
@media (max-width:900px){
  .mobile-menu-drawer .site-nav,.mobile-menu-drawer .site-nav.is-open{display:block;position:fixed;top:0;bottom:0;right:0;left:auto;width:min(86vw,380px);z-index:120;overflow-y:auto;padding:calc(var(--header-h) + 10px) 28px 30px;border:0;transform:translateX(100%);transition:transform .45s var(--ease);animation:none}
  .mobile-menu-drawer .site-nav.is-open{transform:none}
  .mobile-menu-drawer.hamburger-left .site-nav{right:auto;left:0;transform:translateX(-100%)}
  .mobile-menu-drawer.hamburger-left .site-nav.is-open{transform:none}
  .mobile-menu-drawer .nav-toggle{position:relative;z-index:130}
  .nav-overlay{position:fixed;inset:0;z-index:110;background:rgba(32,37,33,.45)}
  .hamburger-left .nav-toggle{order:-1}
}
@media (max-width:767px){
  .hive-map{overflow-x:auto;padding:16px}
  .hive-map svg{min-width:640px}
}
