:root{--ink:#16211b;--muted:#657168;--green:#18774b;--green2:#0f5f3a;--lime:#dff3e5;--cream:#f6f7f2;--line:#dfe5df;--white:#fff;--amber:#b87412;--red:#b43f3f;--shadow:0 18px 50px rgba(22,33,27,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.narrow{max-width:850px}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;text-decoration:none}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}nav{display:flex;gap:25px}nav a{text-decoration:none;font-weight:650;font-size:14px}.hero{background:linear-gradient(115deg,#f2f8f4 0,#fff 55%,#f7f4ea 100%);padding:84px 0 76px;border-bottom:1px solid var(--line)}.hero-grid,.split{display:grid;grid-template-columns:1.25fr .75fr;gap:58px;align-items:center}.eyebrow,.card-kicker,.section-title>span,.pressure-card>span,.score-card>span,.pressure-main>span{font-size:12px;font-weight:850;letter-spacing:.14em;color:var(--green)}h1{font-size:clamp(38px,5vw,68px);line-height:1.02;margin:14px 0 20px;letter-spacing:-.045em}h2{font-size:clamp(29px,3.4vw,44px);line-height:1.08;letter-spacing:-.035em;margin:8px 0 20px}.lead{font-size:20px;color:#435047;max-width:740px}.search-box{margin-top:34px;background:#fff;border:1px solid var(--line);padding:18px;box-shadow:var(--shadow)}.search-box label{font-size:12px;font-weight:800;display:block;margin-bottom:8px}.search-row{display:flex;gap:10px}.search-row input,.compact-search input{min-width:0;flex:1;border:1px solid #cdd6cf;padding:15px 16px;font:inherit;outline:none}.search-row input:focus,.compact-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(24,119,75,.1)}button,.button{border:0;background:var(--green);color:#fff;font:inherit;font-weight:800;padding:14px 18px;cursor:pointer;text-decoration:none;display:inline-block}.search-box small{display:block;margin-top:8px;color:var(--muted)}.hero-panel,.weather-now,.score-card,.pressure-card,.pressure-main,.empty-state{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:26px}.demo-head{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.demo-score{display:flex;gap:18px;align-items:center;padding:30px 0}.demo-score>span{font-size:46px}.demo-score strong{font-size:40px;display:block;line-height:1}.demo-score small{color:var(--muted)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.mini-grid>div{padding:15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.mini-grid span,.mini-grid b,.mini-grid small{display:block}.mini-grid small,.demo-note{color:var(--muted);font-size:12px}.section{padding:78px 0}.section.soft{background:var(--cream)}.section-title{max-width:760px;margin-bottom:32px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-grid article{border-top:3px solid var(--green);background:var(--cream);padding:24px;min-height:220px}.feature-grid .ico{font-size:30px}.feature-grid h3{font-size:20px;margin:15px 0 8px}.feature-grid p,.seo-copy p{color:#566259}.hornet{background:#13231a;color:#fff}.hornet .eyebrow{color:#8ee0b2}.hornet p{color:#c7d0ca}.checklist{list-style:none;padding:0}.checklist li{padding:8px 0}.checklist li:before{content:'✓';color:#8ee0b2;font-weight:900;margin-right:10px}.pressure-card{color:var(--ink)}.pressure-card>strong,.pressure-main>strong,.score-card>strong{display:block;font-size:54px;letter-spacing:-.05em;line-height:1;margin:12px 0 4px}.pressure-card b,.score-card>b,.pressure-main>b{font-size:18px}.meter{height:9px;background:#e7ece8;margin:15px 0;overflow:hidden}.meter i{height:100%;display:block;background:var(--green)}.notice{background:#f3f6f3;border-left:4px solid var(--green);padding:16px 18px;margin-top:26px;color:#4e5b53}.location-hero{background:#f2f7f4;padding:38px 0;border-bottom:1px solid var(--line)}.crumb{display:flex;gap:8px;font-size:13px;color:var(--muted)}.location-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.location-head h1{font-size:clamp(36px,4vw,56px);margin-bottom:8px}.location-head p{margin:0;color:var(--muted)}.compact-search{display:flex;min-width:380px}.first{padding-top:38px}.current-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:16px}.weather-now h2{font-size:50px;margin:8px 0}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:20px;padding-top:18px;gap:12px}.facts span,.facts b{display:block}.facts span{font-size:12px;color:var(--muted)}.score-card.good{border-top:4px solid var(--green)}.score-card.mid{border-top:4px solid var(--amber)}.score-card.bad{border-top:4px solid var(--red)}.score-card p{font-size:13px;color:var(--muted)}.hourly-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.hour-card{flex:0 0 112px;background:#fff;border:1px solid var(--line);padding:14px;text-align:center}.hour-card>*{display:block;margin:4px auto}.weather-icon{font-size:27px}.hour-card small{color:var(--muted);font-size:11px}.tiny-score{margin-top:9px!important;background:var(--lime);font-weight:800;padding:4px}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.days-grid article{border:1px solid var(--line);padding:18px 12px;text-align:center}.days-grid article>*{display:block;margin:7px 0}.days-grid article>span{font-size:30px}.days-grid small{font-size:12px;color:var(--muted)}.hornet-zone{background:#f6f1e8}.hornet-dashboard{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats-grid>div{background:#fff;border:1px solid #e3ddd3;padding:18px}.stats-grid span,.stats-grid b{display:block}.stats-grid span{font-size:12px;color:var(--muted)}.stats-grid b{font-size:32px;margin-top:8px}.seo-copy h2{font-size:30px;margin-top:44px}.site-footer{background:#101a14;color:#d4dcd6;padding:48px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px}.footer-grid a{display:block;margin:6px 0}.empty-state{text-align:center}.empty-state h1{font-size:38px}.button{margin-top:15px}@media(max-width:900px){nav{display:none}.hero{padding:52px 0}.hero-grid,.split,.current-grid,.hornet-dashboard{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.days-grid{grid-template-columns:repeat(4,1fr)}.location-head{display:block}.compact-search{min-width:0;margin-top:20px}.facts{grid-template-columns:1fr 1fr}}@media(max-width:580px){.wrap{width:min(100% - 22px,1180px)}.header-inner{height:62px}.hero{padding:38px 0}.search-row,.compact-search{display:block}.search-row button,.compact-search button,.search-row input,.compact-search input{width:100%}.search-row button,.compact-search button{margin-top:8px}.feature-grid{grid-template-columns:1fr}.days-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.location-head h1{font-size:38px}.section{padding:55px 0}}

/* PATCH UI V1.0.4 */
.brand-logo{width:72px;height:72px;object-fit:contain;display:block}
.brand strong,.brand small{display:block}
.site-nav{display:flex;gap:25px;align-items:center}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 11px;min-width:48px;min-height:48px;align-items:center;justify-content:center;flex-direction:column;gap:5px;box-shadow:none}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink)}
.feature-grid article{text-align:center}
.feature-grid .ico{display:grid;place-items:center;font-size:48px;line-height:1;margin:4px auto 18px}
.feature-grid h3{margin-top:0}
.demo-score{justify-content:center;text-align:left}
.demo-score>span{font-size:76px;line-height:1;display:grid;place-items:center;min-width:100px}
.demo-score strong{font-size:68px}
.mini-grid>div{text-align:center}
.mini-grid>div span:first-child,.facts b .weather-icon,.hour-card .weather-icon{display:block;margin-left:auto;margin-right:auto}
.facts{align-items:stretch}
.facts>div{text-align:center}
.facts b{font-size:18px}
.weather-icon{font-size:34px;line-height:1}
.hour-card .weather-icon{font-size:32px}
@media(max-width:900px){
  .menu-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;top:74px;right:16px;left:16px;z-index:30;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;flex-direction:column;align-items:flex-start;gap:4px}
  .site-nav.open{display:flex}
  .site-nav a{display:block;width:100%;padding:12px 10px;border-bottom:1px solid #eef1ee}
  .site-nav a:last-child{border-bottom:0}
  .header-inner{position:relative}
  .brand-logo{width:60px;height:60px}
}
@media(max-width:580px){
  .brand{gap:9px;max-width:calc(100% - 62px)}
  .brand-logo{width:54px;height:54px}
  .brand strong{font-size:24px;line-height:1.05}
  .brand small{font-size:10px}
  .feature-grid .ico{font-size:54px}
  .demo-score{flex-direction:column;text-align:center;gap:10px;padding:22px 0}
  .demo-score>span{font-size:84px;min-width:0}
  .demo-score strong{font-size:60px}
}

/* ===== SignalNids Météo Apicole — V1.0.5 ===== */
/* Logo seul : suppression du doublon texte "SignalNids / Météo Apicole" */
.brand-logo-only{gap:0;flex:0 0 auto}
.brand-logo{width:190px;height:58px;object-fit:contain;object-position:left center;display:block}
.mobile-nav-head{display:none}
.menu-backdrop{display:none}

/* Icônes : centrage net et taille renforcée */
.feature-grid article{display:flex;flex-direction:column;align-items:center;text-align:center}
.feature-grid .ico{width:76px;height:76px;display:grid;place-items:center;font-size:52px;line-height:1;margin:4px auto 18px}
.feature-grid article p{margin-left:auto;margin-right:auto}
.demo-score{justify-content:center}
.demo-score>span{width:108px;height:108px;display:grid;place-items:center;font-size:78px;line-height:1;flex:0 0 108px}
.mini-grid>div{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
.hour-card{text-align:center}
.hour-card .weather-icon{font-size:38px;line-height:1.2;display:block;margin:8px auto}
.days-grid article>span{font-size:40px;line-height:1.15}

@media(max-width:900px){
  .header-inner{height:68px;position:relative}
  .brand-logo{width:150px;height:48px}
  .menu-toggle{display:inline-flex;position:relative;z-index:1003;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;margin-left:auto;border:0;background:transparent;box-shadow:none;gap:5px}
  .menu-toggle span{width:25px;height:2px;background:var(--ink);transition:transform .22s ease,opacity .18s ease;transform-origin:center}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .site-nav{display:flex;position:fixed;top:0;right:0;left:auto;width:min(86vw,360px);height:100dvh;z-index:1002;background:#fff;border:0;border-left:1px solid var(--line);box-shadow:-22px 0 50px rgba(22,33,27,.15);padding:92px 20px 28px;flex-direction:column;align-items:stretch;gap:0;transform:translateX(105%);transition:transform .24s ease;overflow-y:auto}
  .site-nav.open{display:flex;transform:translateX(0)}
  .site-nav a{display:block;width:100%;padding:16px 4px;border-bottom:1px solid #edf1ed;font-size:18px;font-weight:800}
  .site-nav a:last-child{border-bottom:0;color:var(--green)}
  .mobile-nav-head{display:block;padding:0 4px 20px;margin-bottom:4px;border-bottom:2px solid var(--green)}
  .mobile-nav-head img{display:block;width:190px;max-width:100%;height:58px;object-fit:contain;object-position:left center}
  .mobile-nav-head small{display:block;margin-top:3px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-size:11px;font-weight:750}
  .menu-backdrop{display:block;position:fixed;inset:0;z-index:1001;border:0;padding:0;margin:0;background:rgba(10,22,15,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .menu-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}
  body.nav-open{overflow:hidden}

  .feature-grid .ico{width:72px;height:72px;font-size:50px}
}

@media(max-width:580px){
  .wrap{width:min(100% - 22px,1180px)}
  .header-inner{height:64px}
  .brand-logo{width:138px;height:44px}
  .feature-grid .ico{width:76px;height:76px;font-size:54px;margin-bottom:14px}
  .demo-score>span{width:104px;height:104px;flex-basis:104px;font-size:80px}
  .demo-score strong{font-size:56px}
  .site-nav{width:min(90vw,350px)}
}

/* ===== SignalNids Météo Apicole — V1.0.6 ===== */
@media(max-width:900px){
  .site-header{z-index:1100}
  .header-inner{justify-content:space-between}
  .menu-toggle{margin-left:16px;position:fixed;top:10px;right:12px;left:auto;z-index:1205;border:1px solid rgba(22,33,27,.08);background:rgba(255,255,255,.96);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(22,33,27,.12)}
  .brand-logo-only{max-width:calc(100% - 76px)}
  .site-nav{top:0;right:0;width:min(92vw,380px);max-width:100%;padding:24px 20px 28px;z-index:1203}
  .mobile-nav-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 0 18px;margin-bottom:10px}
  .mobile-nav-head img{width:180px;height:56px}
  .mobile-nav-head small{margin-top:6px}
  .menu-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #e6ece7;border-radius:12px;background:#fff;color:var(--ink);font-size:32px;line-height:1;font-weight:400;cursor:pointer}
  .menu-backdrop{z-index:1202;background:rgba(10,22,15,.52)}
  body.nav-open .menu-toggle{opacity:0;pointer-events:none}
}

@media(max-width:580px){
  .site-nav{width:100vw;padding:22px 18px 28px}
  .mobile-nav-head img{width:172px;height:54px}
}

/* ===== SignalNids Météo Apicole — V1.0.7 : correctif off-canvas PWA ===== */
@media(max-width:900px){
  /* Important : backdrop-filter crée un containing block pour les éléments fixed.
     On le désactive en mobile afin que le tiroir soit réellement calé au viewport. */
  .site-header{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    background:#fff !important;
    width:100% !important;
  }
  .header-inner{
    transform:none !important;
    filter:none !important;
    perspective:none !important;
    width:min(100% - 22px,1180px) !important;
    max-width:none !important;
  }
  html,body{max-width:100%;overflow-x:hidden}

  .menu-toggle{
    position:absolute !important;
    top:50% !important;
    right:0 !important;
    left:auto !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    z-index:1205 !important;
  }
  body.nav-open .menu-toggle{opacity:0 !important;visibility:hidden !important;pointer-events:none !important}

  .site-nav{
    position:fixed !important;
    inset:0 0 0 auto !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:min(88vw,360px) !important;
    max-width:360px !important;
    height:100vh !important;
    height:100dvh !important;
    padding:22px 20px 28px !important;
    margin:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    transform:translate3d(100%,0,0) !important;
    transition:transform .24s ease !important;
    z-index:1203 !important;
    box-sizing:border-box !important;
  }
  .site-nav.open{transform:translate3d(0,0,0) !important}

  .mobile-nav-head{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .mobile-nav-head img{
    width:min(190px,calc(100% - 58px)) !important;
    max-width:190px !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .menu-close{
    flex:0 0 44px !important;
    display:inline-flex !important;
  }
  .site-nav a{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    box-sizing:border-box !important;
  }
  .menu-backdrop{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    z-index:1202 !important;
  }
}

@media(max-width:580px){
  .site-nav{
    width:100vw !important;
    max-width:100vw !important;
    padding:20px 18px 28px !important;
  }
  .mobile-nav-head img{width:min(180px,calc(100% - 58px)) !important}
}
