/* CAKCI — interactions : retour visuel, apparitions douces, aides à la saisie. Respecte « réduire les animations ». */
html{scroll-behavior:smooth;scroll-padding-top:96px}

/* En-tête : ombre légère dès que l'on descend */
.site-header{transition:box-shadow .25s ease}
.site-header.is-scrolled{box-shadow:0 8px 28px rgba(8,40,88,.12)}

/* Barre de progression de lecture */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold,#ffb400),#e09a00);z-index:90;pointer-events:none}

/* Boutons : survol, appui, clavier */
.button{transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,40,88,.18)}
.button:active{transform:translateY(0) scale(.98);box-shadow:none}
.button:disabled,.button.is-loading,.button[aria-busy=true]{transform:none!important;box-shadow:none!important}
.button:focus-visible,.to-top:focus-visible{outline:3px solid var(--gold,#ffb400);outline-offset:3px}

/* Cartes : légère élévation et zoom d'image */
.destination-card,.approach-card,.coord-card,.product-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.destination-card:hover,.approach-card:hover,.coord-card:hover,.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(8,40,88,.12)}
.service-card-image{overflow:hidden}
.service-card-image img{transition:transform .5s ease}
.service-card:hover .service-card-image img{transform:scale(1.05)}

/* Apparition au défilement (ajoutée par le script ; sans script, tout reste visible) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--d,0ms)}
.reveal.is-in{opacity:1;transform:none}

/* Champs de formulaire : retour visuel après saisie */
.is-touched:invalid{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.is-touched:valid{border-color:#0f7a4b!important}
.field-hint{display:block;margin-top:4px;font-size:12.5px;color:#b42318}

/* Retour en haut de page */
.to-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border:0;border-radius:50%;background:var(--navy,#082858);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 22px rgba(8,40,88,.28);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background-color .2s ease;z-index:80}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:#0c3a7c}
.to-top svg{width:20px;height:20px}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .button:hover,.destination-card:hover,.approach-card:hover,.coord-card:hover,.product-card:hover{transform:none}
  .service-card:hover .service-card-image img{transform:none}
}
