/* HotelDelta V1.16 — Accueil sans scroll portrait/paysage
   + météo animée toujours carrée. */

/* L'Accueil est un tableau de bord : il doit tenir dans le viewport. */
#ecran-accueil{
  overflow:hidden!important;
}
#ecran-accueil .hd-home-v097{
  box-sizing:border-box!important;
}

/* L'animation météo ne doit jamais hériter d'une hauteur différente de sa largeur. */
#ecran-accueil #accueil-statut .accueil-meteo-anim{
  flex-grow:0!important;
  flex-shrink:0!important;
  aspect-ratio:1/1!important;
  height:auto!important;
  overflow:visible!important;
  transform:none!important;
}
#ecran-accueil #accueil-statut .accueil-meteo-anim .wx-scene{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:1/1!important;
  transform:scale(.82)!important;
  transform-origin:center center!important;
}

/* --------------------------- PORTRAIT ----------------------------------- */
@media (orientation:portrait){
  #ecran-accueil{
    padding:max(10px,env(safe-area-inset-top,0px))
            max(14px,env(safe-area-inset-right,0px))
            max(8px,env(safe-area-inset-bottom,0px))
            max(14px,env(safe-area-inset-left,0px))!important;
  }

  #ecran-accueil .hd-home-v097{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "top"
      "status"
      "map"
      "quick"
      "actions"
      "memo"!important;
    grid-template-rows:auto auto minmax(154px,1fr) auto auto auto!important;
    align-content:stretch!important;
    gap:8px!important;
  }

  .hd-home-top{grid-area:top!important;min-height:54px!important}
  #accueil-statut{grid-area:status!important;min-height:94px!important;padding:9px 12px!important}
  .hd-home-map-hero{grid-area:map!important;min-height:154px!important;height:100%!important}
  .hd-home-quick{grid-area:quick!important;gap:8px!important}
  .hd-home-actions{grid-area:actions!important;gap:7px!important}
  .hd-home-memo{grid-area:memo!important;margin:0!important;padding:7px 9px!important}

  .hd-home-top h1{font-size:clamp(32px,9vw,42px)!important}
  .hd-home-eyebrow{font-size:9.5px!important}
  .hd-settings-btn{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}

  #accueil-statut .accueil-statut-corps{min-height:0!important}
  #accueil-statut .accueil-meteo-anim{
    width:62px!important;
    min-width:62px!important;
    flex-basis:62px!important;
  }

  .hd-home-quick-card{
    min-height:66px!important;
    padding:7px 8px!important;
  }
  .hd-home-action{
    min-height:54px!important;
    padding:7px 10px!important;
  }
  .hd-home-action .hd-action-icon{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
  .hd-home-action b{font-size:14px!important}
  .hd-home-action small{font-size:10px!important}

  .hd-home-memo-title{
    margin:0 0 5px!important;
    padding:0!important;
    font-size:10px!important;
  }
  .hd-home-radio-grid{
    gap:6px!important;
  }
  .accueil-memo-radio{
    min-height:42px!important;
    padding:5px 7px!important;
  }
  .accueil-memo-radio-nom{font-size:9px!important}
  .accueil-memo-radio input{font-size:14px!important}
}

/* --------------------------- PAYSAGE ------------------------------------ */
@media (orientation:landscape){
  #ecran-accueil{
    padding:max(7px,env(safe-area-inset-top,0px))
            max(12px,env(safe-area-inset-right,0px))
            max(6px,env(safe-area-inset-bottom,0px))
            max(12px,env(safe-area-inset-left,0px))!important;
  }

  #ecran-accueil .hd-home-v097{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(250px,.78fr) minmax(360px,1.22fr)!important;
    grid-template-areas:
      "top map"
      "status map"
      "quick actions"
      "memo memo"!important;
    grid-template-rows:auto auto auto minmax(62px,1fr)!important;
    align-content:stretch!important;
    gap:7px 10px!important;
  }

  .hd-home-top{grid-area:top!important;min-height:44px!important}
  #accueil-statut{grid-area:status!important;min-height:82px!important;padding:8px 10px!important}
  .hd-home-map-hero{grid-area:map!important;min-height:174px!important;height:100%!important}
  .hd-home-quick{grid-area:quick!important;gap:8px!important}
  .hd-home-actions{grid-area:actions!important;gap:6px!important}
  .hd-home-memo{grid-area:memo!important;margin:0!important;padding:6px 9px!important}

  .hd-home-top h1{font-size:31px!important}
  .hd-home-eyebrow{font-size:8.5px!important}
  .hd-settings-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}

  #accueil-statut .accueil-meteo-anim{
    width:52px!important;
    min-width:52px!important;
    flex-basis:52px!important;
  }
  #accueil-statut .accueil-meteo-anim .wx-scene{
    transform:scale(.78)!important;
  }

  .hd-home-quick-card{
    min-height:54px!important;
    padding:6px!important;
  }
  .hd-home-action{
    min-height:46px!important;
    padding:6px 9px!important;
  }
  .hd-home-action .hd-action-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }
  .hd-home-action b{font-size:13.5px!important}
  .hd-home-action small{font-size:9.5px!important}

  .hd-home-memo-title{
    margin:0 0 4px!important;
    padding:0!important;
    font-size:9.5px!important;
  }
  .hd-home-radio-grid{gap:6px!important}
  .accueil-memo-radio{
    min-height:36px!important;
    padding:4px 7px!important;
  }
  .accueil-memo-radio-nom{font-size:8.5px!important}
  .accueil-memo-radio input{font-size:13px!important}
}

/* Le mode compact est activé automatiquement uniquement si le contenu
   dépasserait encore sur un appareil particulièrement petit. */
body.hd-home-fit-tight #ecran-accueil .hd-home-v097{gap:6px!important}
body.hd-home-fit-tight .hd-home-map-hero{min-height:145px!important}
body.hd-home-fit-tight #accueil-statut{min-height:82px!important}
body.hd-home-fit-tight .hd-home-quick-card{min-height:54px!important}
body.hd-home-fit-tight .hd-home-action{min-height:47px!important}
body.hd-home-fit-tight .hd-home-memo{padding-top:5px!important;padding-bottom:5px!important}
body.hd-home-fit-tight .accueil-memo-radio{min-height:34px!important}

body.hd-home-fit-ultra #ecran-accueil .hd-home-v097{gap:5px!important}
body.hd-home-fit-ultra .hd-home-top{min-height:40px!important}
body.hd-home-fit-ultra .hd-home-map-hero{min-height:130px!important}
body.hd-home-fit-ultra #accueil-statut{min-height:76px!important;padding-top:6px!important;padding-bottom:6px!important}
body.hd-home-fit-ultra .hd-home-quick-card{min-height:49px!important}
body.hd-home-fit-ultra .hd-home-action{min-height:43px!important}
body.hd-home-fit-ultra .hd-home-memo-title{margin-bottom:2px!important}
body.hd-home-fit-ultra .accueil-memo-radio{min-height:31px!important;padding-top:3px!important;padding-bottom:3px!important}
