/* Icônes Line Awesome utilisées par le site (police réduite à 5 icônes) */
@font-face{font-family:'Line Awesome Free';font-style:normal;font-weight:400;font-display:block;src:url(../fonts/la-icons.woff2) format("woff2")}
.la,.las{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-family:'Line Awesome Free';font-weight:400}
.la-bars:before{content:"\f0c9"}
.la-times-circle:before{content:"\f057"}
.la-arrow-right:before{content:"\f061"}
.la-eye:before{content:"\f06e"}

/* Flèche du bouton retour en haut */
.progress-wrap::after{content:"\f30c";font-family:'Line Awesome Free';font-weight:400}

/* Apparition des blocs (reprise d'animate.css) */
.animated{animation-duration:1s;animation-fill-mode:both}
.fadeInUp{animation-name:fadeInUp}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.animated{animation:none}}

/* Les dimensions des photos servent à réserver la place, la hauteur suit la largeur affichée */
img[src$=".webp"]{height:auto}

/* Page 404 */
.error-dispatch{max-width:640px;margin:0 auto;text-align:center}
.error-dispatch p{margin:0 0 18px}
.error-code{font-family:"Outfit",sans-serif;font-size:140px!important;line-height:1!important;font-weight:600;color:#274796!important;margin:0 0 12px!important;letter-spacing:-4px}
.error-code::after{content:".";color:#E62139}
.error-dispatch h1{font-size:34px;line-height:42px;color:#171717;margin:0 0 14px}
.error-chapo{font-size:18px!important;line-height:30px!important}
.error-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
@media (max-width:767px){
  .error-code{font-size:96px!important}
  .error-dispatch h1{font-size:26px;line-height:34px}
  }

/* Logo de l'en-tête : la bulle rouge s'anime au survol */
.logo-mark{position:relative;display:inline-block;line-height:0}
.logo-mark .logo-bulle{position:absolute;top:0;left:0;transform-origin:68.3% 41.3%;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.header-area .logo a:hover .logo-bulle,.header-area .logo a:focus-visible .logo-bulle{transform:scale(1.35) rotate(-14deg)}
@media (prefers-reduced-motion:reduce){.logo-mark .logo-bulle{transition:none}}

/* Logo Atelier Cassis dans les mentions légales */
.legal-credit-logo{display:inline-block;margin-top:4px;transition:opacity .3s ease}
.legal-credit-logo img{display:block;width:120px;height:auto}
.legal-credit-logo:hover{opacity:.75}

/* Apparition douce des blocs au défilement */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Boutons du site : fond bleu, pastille ronde avec flèche qui passe au rouge de la bulle du logo */
.or-btn,button.or-btn{position:relative;display:inline-flex;align-items:center;gap:16px;width:auto;padding:7px 7px 7px 26px;border:1px solid #274796;border-radius:999px;background:#274796;color:#fff;font-family:"Outfit",sans-serif;font-size:17px;font-weight:500;line-height:1.2;text-decoration:none;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 10px 24px -12px rgba(39,71,150,.75);transition:color .35s ease,box-shadow .35s ease,transform .35s ease}
.or-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:#1d3a80;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.or-btn-icon{position:relative;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#fff;transition:background .35s ease,transform .35s ease}
.or-btn-icon::after{content:"";position:absolute;inset:0;background:#274796;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat;transition:background .35s ease,transform .35s ease}
.or-btn:hover,.or-btn:focus-visible,button.or-btn:hover{color:#fff;background:#274796;border-color:#274796;transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(39,71,150,.85)}
.or-btn:hover::before,.or-btn:focus-visible::before{transform:scaleX(1)}
.or-btn:hover .or-btn-icon,.or-btn:focus-visible .or-btn-icon{background:#E62139;transform:rotate(-45deg)}
.or-btn:hover .or-btn-icon::after,.or-btn:focus-visible .or-btn-icon::after{background:#fff}
/* Variante claire, sur fond bleu */
.or-btn.or-btn-light{background:#fff;border-color:#fff;color:#274796;box-shadow:none}
.or-btn.or-btn-light::before{background:#f7f3e7}
.or-btn.or-btn-light .or-btn-icon{background:#274796}
.or-btn.or-btn-light .or-btn-icon::after{background:#fff}
.or-btn.or-btn-light:hover{background:#fff;border-color:#fff;color:#274796}
/* Variante contour, bouton secondaire */
.or-btn.or-btn-outline{background:transparent;color:#274796;box-shadow:none}
.or-btn.or-btn-outline .or-btn-icon{background:#274796}
.or-btn.or-btn-outline .or-btn-icon::after{background:#fff}
.or-btn.or-btn-outline:hover{background:transparent;color:#fff}
.or-btn.or-btn-light:hover .or-btn-icon,.or-btn.or-btn-outline:hover .or-btn-icon{background:#E62139}
button.or-btn:disabled{opacity:.7;cursor:wait;transform:none}
@media (prefers-reduced-motion:reduce){.or-btn,.or-btn::before,.or-btn-icon,.or-btn-icon::after{transition:none}}
