/* Les Avisés V46.5 — mobile polish: homepage hero, navigation, footer.
   Loaded last so legacy responsive rules cannot leak into the validated V41/V44 UI. */
@media (max-width: 960px){
  /* Legacy V34 reserved 70px for an obsolete bottom navigation. Remove it on V41 pages. */
  body.lav41-master{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  body.lav41-master .lav41-footer{
    margin:0!important;
    min-height:0!important;
  }

  /* Header */
  .lav41-header{
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid rgba(16,47,42,.09)!important;
  }
  .lav41-header .lav41-wrap{
    width:calc(100% - 32px)!important;
  }
  .lav41-logo img{
    width:126px!important;
  }
  .lav41-menu-toggle{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    gap:6px!important;
  }
  .lav41-menu-toggle span{
    width:21px!important;
    height:1.5px!important;
  }

  /* Homepage hero — centred, warmer and more legible. */
  .lav41-home .lav41-hero{
    height:590px!important;
    min-height:590px!important;
  }
  .lav41-home .lav41-hero-bg{
    filter:saturate(1.08) contrast(1.03)!important;
    object-position:56% center!important;
  }
  .lav41-home .lav41-hero:after{
    background:
      linear-gradient(180deg,
        rgba(5,31,26,.56) 0%,
        rgba(5,31,26,.38) 42%,
        rgba(5,31,26,.58) 64%,
        rgba(5,31,26,.88) 100%)!important;
  }
  .lav41-home .lav41-hero .lav41-wrap{
    padding-top:42px!important;
  }
  .lav41-home .lav41-hero-copy{
    width:100%!important;
    max-width:410px!important;
    margin:0 auto!important;
    text-align:center!important;
  }
  .lav41-home .lav41-hero .lav41-eyebrow{
    color:#d9ebe5!important;
    font-size:9.5px!important;
    line-height:1.35!important;
    letter-spacing:.19em!important;
    margin:0 auto 12px!important;
    text-shadow:0 1px 12px rgba(0,0,0,.22)!important;
  }
  .lav41-home .lav41-hero h1{
    max-width:10.8ch!important;
    margin:0 auto 16px!important;
    color:#fff!important;
    font-size:40px!important;
    line-height:.98!important;
    letter-spacing:-.028em!important;
    text-align:center!important;
    text-shadow:0 2px 22px rgba(0,0,0,.22)!important;
  }
  .lav41-home .lav41-hero h1 em{
    color:#efe2cd!important;
    font-weight:500!important;
  }
  .lav41-home .lav41-hero-copy>p{
    max-width:335px!important;
    margin:0 auto!important;
    color:rgba(255,255,255,.96)!important;
    font-size:13.5px!important;
    line-height:1.52!important;
    text-align:center!important;
    text-shadow:0 1px 14px rgba(0,0,0,.32)!important;
  }
  .lav41-home .lav41-hero-search{
    bottom:14px!important;
  }

  /* Premium mobile drawer. */
  .lav41-mobile-nav{
    background:rgba(7,28,24,.54)!important;
    backdrop-filter:blur(4px)!important;
  }
  .lav41-mobile-nav-panel{
    counter-reset:lav41nav!important;
    width:min(86vw,348px)!important;
    padding:88px 24px 28px!important;
    background:#fbfaf6!important;
    box-shadow:-24px 0 70px rgba(6,27,23,.18)!important;
    gap:0!important;
  }
  .lav41-mobile-nav-panel:before{
    content:'Navigation';
    position:absolute;
    top:27px;
    left:24px;
    color:#74827d;
    font-family:'DM Sans',Arial,sans-serif;
    font-size:9px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .lav41-mobile-nav-close{
    top:13px!important;
    right:15px!important;
    width:42px!important;
    height:42px!important;
    display:grid!important;
    place-items:center!important;
    color:#0e4a40!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:27px!important;
    font-weight:300!important;
  }
  .lav41-mobile-nav-panel>a{
    counter-increment:lav41nav!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:14px!important;
    min-height:58px!important;
    padding:15px 0 14px!important;
    border:0!important;
    border-bottom:1px solid #dedad1!important;
    color:#153d36!important;
    font-family:'Playfair Display',Georgia,serif!important;
    font-size:21px!important;
    line-height:1.04!important;
    font-weight:500!important;
    letter-spacing:-.015em!important;
  }
  .lav41-mobile-nav-panel>a:after{
    content:counter(lav41nav, decimal-leading-zero)!important;
    color:#9ba49f!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:8px!important;
    font-weight:600!important;
    letter-spacing:.11em!important;
  }
  .lav41-mobile-nav-panel>a.is-active{
    color:#0e4a40!important;
    font-style:italic!important;
  }
  .lav41-mobile-nav-panel>div{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:20px!important;
  }
  .lav41-mobile-nav-panel>div .lav41-btn{
    min-height:40px!important;
    height:40px!important;
    padding:0 9px!important;
    border-radius:4px!important;
    font-family:'DM Sans',Arial,sans-serif!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }
  body.admin-bar .lav41-mobile-nav-panel:before{top:73px!important}
  body.admin-bar .lav41-mobile-nav-panel{padding-top:132px!important}
  body.admin-bar .lav41-mobile-nav-close{top:59px!important}

  /* Footer — compact and no artificial white tail. */
  .lav41-footer{
    padding:30px 0 calc(22px + env(safe-area-inset-bottom))!important;
    background:#0b3a32!important;
  }
  .lav41-footer .lav41-wrap{
    width:calc(100% - 44px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:11px!important;
    text-align:center!important;
  }
  .lav41-footer img{
    width:118px!important;
    height:auto!important;
  }
  .lav41-footer small{
    max-width:330px!important;
    color:#c1d1cc!important;
    font-size:9.5px!important;
    line-height:1.55!important;
  }
}

@media (max-width: 430px){
  .lav41-home .lav41-hero{
    height:565px!important;
    min-height:565px!important;
  }
  .lav41-home .lav41-hero .lav41-wrap{padding-top:38px!important}
  .lav41-home .lav41-hero h1{
    font-size:36px!important;
    max-width:10.2ch!important;
  }
  .lav41-home .lav41-hero-copy>p{
    max-width:310px!important;
    font-size:13px!important;
  }
  .lav41-mobile-nav-panel{
    width:min(88vw,340px)!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .lav41-mobile-nav-panel:before{left:22px!important}
  .lav41-mobile-nav-panel>a{
    min-height:55px!important;
    font-size:20px!important;
  }
  .lav41-mobile-nav-panel>div .lav41-btn{
    min-height:39px!important;
    height:39px!important;
    font-size:10px!important;
  }
}
