/* Custom overrides to complement Tailwind build */
:root { --brand-navy: #07053f; }

/* Buttons: classic style requested (blue = brand) */
.button-79{
  backface-visibility:hidden;
  background: var(--brand-navy);
  border:0;
  border-radius:.375rem;
  box-sizing:border-box;
  color:#fff;
  cursor:pointer;
  display:inline-block;
  font-family:'Open Sans', Helvetica, Arial, sans-serif;
  font-size:1.125rem;
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.3;
  padding:1rem 1.25rem;
  position:relative;
  text-align:center;
  text-decoration:none;
  transform:translateZ(0) scale(1);
  transition:transform .2s ease;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
}
.button-79:disabled{ color:#787878; cursor:auto; }
.button-79:not(:disabled):hover{ transform:scale(1.05); }
.button-79:not(:disabled):hover:active{ transform:scale(1.05) translateY(.125rem); }
.button-79:focus{ outline:0 solid transparent; }
.button-79:focus:before{
  content:"";
  position:absolute;
  top:calc(-1*.375rem);
  left:calc(-1*.375rem);
  right:calc(-1*.375rem);
  bottom:calc(-1*.375rem);
  border:.125rem solid rgba(7,5,63,.35);
  border-radius:.5rem;
  pointer-events:none;
  transition:border-radius .2s ease;
}
.button-79:focus:not(:focus-visible){ outline:0 solid transparent; }
.button-79:not(:disabled):active{ transform:translateY(.125rem); }

/* Home hero: fixed bg on desktop, full-bleed cover on all */
.hero-fixed{
  position:relative;
  width:100%;
  /* Ensure full viewport height without gaps across devices */
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  background-position:center center;
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-size:cover; /* avoid side bands by covering fully */
}
/* Mobile: avoid background-attachment fixed issues */
@media (max-width: 768px){
  .hero-fixed{
    background-attachment:scroll;
    background-position:center 60%;
    background-size:cover;
  }
}
.home-hero{
  /* Desktop/default: neutral vertical center, no white bar */
  background-position: center -20%;
  background-image: url('../images/accueil/fond.jpg');
}

/* Mobile-specific override placed after the base rule */
@media (max-width: 768px){
  .home-hero{
    /* Create vertical overflow so Y position actually moves */
    background-size: auto 112%;
    /* Requested mobile tuning: X=51%, Y=-95% */
    background-position:51% -55%;
  }
}

/* About hero: cover on mobile to remove side bands, contain on larger */
.about-hero .about-hero-img{
  width:100% !important;
  height:100% !important;
  max-height:82svh;
  object-fit:cover !important;      /* fill, accept slight crop on mobile */
  object-position:60% 50%;          /* keep subject toward right-center */
}
@media (min-width: 768px){
  .about-hero .about-hero-img{
    width:auto !important;
    object-fit:contain !important;  /* desktop: show the whole image */
    object-position:center top;
  }
}
