﻿/* =========================
   Variables (palette)
========================= */
:root{
  /* Brand */
  --primary:        #004080;
  --primary-600:    #0b3c66;
  --secondary:      #2f6fb2;

  --accent:         #f28c48;
  --accent-600:     #e3641d;
  --accent-700:     #cc5618;

  /* Neutres & surfaces */
  --bg:             #eaf3f7;
  --surface:        #ffffff;
  --surface-weak:   #f6f7f9;
  --surface-stripe: #f8fafc;
  --border:         #ccdae4;

  /* Texte & liens */
  --text:           #304562;
  --link:           #5c9ed8;

  /* Footer */
  --footer-bg:      var(--primary-600);
  --footer-text:    #ffffff;
  --footer-muted:   rgba(255,255,255,.85);
  --footer-link:    #ffffff;
  --footer-link-hover:#eaf3f7;
  --footer-sep:     rgba(255,255,255,.12);

  /* Utilitaires */
  --shadow-weak:    rgba(0,0,0,.05);
  --shadow-med:     rgba(0,0,0,.12);
  --shadow-deep:    rgba(0,0,0,.25);
  --shadow-strong:  rgba(0,0,0,.3);
  --dot:            rgba(0,0,0,.35);
  --dot-active:     rgba(0,0,0,.6);
  --border-weak:    rgba(0,0,0,.04);
  --overlay-hero:   #4ca1d8;
  --alertbar-bg:    #174682;
}

/* =========================
   Base / Reset
========================= */
html{height:100%;font-size:14px!important;}
body{
  height:100%;
  padding-top:0;
  font-family:'Open sans',serif;
  color:var(--text);
  background:var(--bg);
  font-size:14px;
  line-height:24px;
}
*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img{max-width:100%;height:auto;}
.clear{clear:both;}
a{color:var(--link);text-decoration:underline;}
a:hover{color:var(--link);text-decoration:none;}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;}

/* =========================
   Titres H1 → H6
========================= */
h1,h2,h3,h4,h5,h6{
  font-weight:600;line-height:1.2;color:var(--text);
  margin-top:0;margin-bottom:.75rem;
}
h1{font-size:2.5rem;}  /* ~40px */
h2{font-size:2rem;}    /* ~32px */
h3{font-size:1.75rem;} /* ~28px */
h4{font-size:1.5rem;}  /* ~24px */
h5{font-size:1.25rem;} /* ~20px */
h6{font-size:1rem;}    /* ~16px */

@media (max-width:991.98px){
  h1{font-size:2rem;} h2{font-size:1.75rem;} h3{font-size:1.5rem;}
  h4{font-size:1.25rem;} h5{font-size:1.125rem;} h6{font-size:1rem;}
}
@media (max-width:575.98px){
  h1{font-size:1.75rem;} h2{font-size:1.5rem;} h3{font-size:1.25rem;}
  h4{font-size:1.125rem;} h5{font-size:1rem;} h6{font-size:.875rem;}
}

/* Titres dans la section HERO */
.hero-header h1,
.hero-header h2,
.hero-header h3,
.hero-header h4,
.hero-header h5,
.hero-header h6{
  color:#fff!important;
  text-shadow:2px 2px 4px var(--shadow-strong);
}

/* Helpers images flottantes */
.imgLeft{float:left;margin:5px 20px 5px 0;}
.imgRight{float:right;margin:5px 0 5px 20px;}

/* Vidéos responsives */
.videoWrapper{position:relative;padding-bottom:56.25%;padding-top:25px;height:0;}
.videoWrapper iframe{position:absolute;inset:0;width:100%;height:100%;}

/* Boutons texte accent */
.btna{font-weight:700;text-transform:uppercase;}
.btna::after{content:" \00BB";}

/* =========================
   Header / Navbar
========================= */
.site-logo{height:70px;max-height:70px;width:auto;transition:height .3s;}
@media (max-width:991.98px){.site-logo{height:48px;max-height:48px;}}
.navbar.scrolled{background:var(--surface);}
.navbar.scrolled .site-logo{height:50px;}

.mainheader{
  position:fixed;top:0;left:0;right:0;z-index:1050;
  background:rgb(255 255 255 / 95%);border-bottom:1px solid var(--border);
}

.navbar .nav-link{
  position:relative;
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;
  font-weight:600;font-size:15px;text-transform:uppercase;line-height:1.4;letter-spacing:.01em;
  color:#0b1f33;padding:.5rem 0;transition:color .25s;
}
@media (min-width:991.98px){.navbar .navbar-nav{display:flex;align-items:center;gap:1.5rem;}}

.navbar .nav-link::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--primary);transition:width .3s;
}
.navbar .nav-link:hover::after,
.navbar .nav-link:focus::after,
.navbar .nav-link.active::after{width:100%;}
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{color:var(--primary);}

.dropdown-menu{
  border-radius:.5rem;padding:.5rem;border:0;box-shadow:0 6px 18px var(--shadow-med);
}
.dropdown-menu .dropdown-item{
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;
  font-weight:500;font-size:16px;line-height:1.4;padding:.5rem .75rem;border-radius:.35rem;transition:.2s;
}
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus{background:var(--bg);color:var(--primary);}

.navbar .btn.btn-primary{margin-left:1rem;padding:.5rem 1rem;font-size:16px;box-shadow:none;}

@media (max-width:1399.98px){.site-logo{max-height:52px}.navbar .navbar-nav{gap:.75rem}}
@media (max-width:1199.98px){.site-logo{max-height:46px}.navbar .nav-link{font-size:.9375rem;padding:0 .5rem}}

/* Offcanvas / Mobile */
@media (max-width:991.98px){
  #mainMenu.offcanvas{background:var(--primary);}
  #mainMenu .offcanvas-header{border-bottom:1px solid var(--footer-sep);}
  #mainMenu .offcanvas-title{color:#fff;}
  #mainMenu .btn-close{filter:invert(1);}
  #mainMenu .navigation{display:flex;flex-direction:column;gap:.25rem;}
  #mainMenu .navigation .nav-link{color:#fff;font-size:1.1rem;padding:.8rem 0;border-radius:8px;transition:color .2s,transform .2s;}
  #mainMenu .navigation .nav-link:hover,
  #mainMenu .navigation .nav-link:focus{color:var(--accent);transform:translateX(4px);}
  #mainMenu .navigation .nav-link::after{display:none;}
  #mainMenu .btn-phone{
    display:block;width:92%;background:var(--accent);color:#fff;font-weight:600;font-size:1.05rem;
    padding:.9rem;border-radius:8px;margin-top:1rem;text-align:center;
  }
  #mainMenu .btn-phone:hover,#mainMenu .btn-phone:focus{background:var(--accent-600);transform:scale(1.02);}
}
@media (min-width:991.98px){#mainMenu.offcanvas-lg{background:transparent;box-shadow:none;}}

/* =========================
   Boutons principaux
========================= */
.btn-primary{
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;
  font-weight:600;font-size:18px;color:#fff;background:var(--accent);border-color:var(--accent);
  border-radius:.5rem;padding:.65rem 1.5rem;transition:all .25s;
}
.btn-primary:hover,.btn-primary:focus{background:var(--accent-600)!important;border-color:var(--accent-600)!important;color:#fff;box-shadow:0 4px 12px rgba(243,116,45,.35);}
.btn-primary:active,.btn-primary.active{background:var(--accent-700)!important;border-color:var(--accent-700)!important;color:#fff;}
.btn-primary:disabled,.btn-primary.disabled{background:var(--accent)!important;border-color:var(--accent)!important;opacity:.65;}

.hero-header .btn.btn-primary.btn-lg{
  padding:1rem 2rem;font-size:20px;border-radius:.6rem;
  box-shadow:0 6px 14px var(--shadow-deep);transition:all .25s ease-in-out;
}
.hero-header .btn.btn-primary.btn-lg:hover,
.hero-header .btn.btn-primary.btn-lg:focus{
  transform:scale(1.05);box-shadow:0 8px 18px rgba(0,0,0,.3);
}

/* =========================
   Pré-footer
========================= */
.prefooter{
  position:relative;background:var(--border);padding:60px 0;z-index:1;
  border-top:1px solid var(--border-weak);border-bottom:1px solid var(--border-weak);
}
.prefooter-card{border-radius:12px;border:0;}
#testiCarousel .carousel-inner{max-width:540px;padding:0 1rem 0 0;}
#testiCarousel .carousel-item{padding:0 .5rem 0 0;}
#testiCarousel .carousel-item>.card{border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.15);overflow:hidden;}
#testiCarousel .carousel-indicators{max-width:540px;margin:0 0 1rem 0;}
#testiCarousel .carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;background-color:var(--dot);}
#testiCarousel .carousel-indicators .active{background-color:var(--dot-active);}
.text-primary-900{color:var(--primary-600);}
.prefooter-form{background:var(--secondary);border-radius:10px;}
.prefooter-form h3{color:#fff;}
.prefooter-form .form-control{border-radius:8px;border:0;}
.prefooter-form .btn.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;font-size:18px;border-radius:8px;}
.prefooter-form .btn.btn-primary:hover,
.prefooter-form .btn.btn-primary:focus{background:var(--accent-600);border-color:var(--accent-600);}
.prefooter-form-float{
  position:absolute;left:50%;transform:translateX(-50%);z-index:5;width:100%;
  margin-top:30px;padding:1.5rem;
}
@media (max-width:991.98px){
  #testiCarousel .carousel-indicators,#testiCarousel .carousel-inner{max-width:100%;padding:0 1rem;}
  #testiCarousel .carousel-item{padding:0 .5rem;}
  .prefooter-form-float{position:relative;left:0;transform:none;margin:0;}
}

/* =========================
   Footer
========================= */
.footer-brand{
  background:var(--footer-bg);
  color:var(--footer-muted);
  border-top:1px solid var(--footer-sep);
  font-size:16px;
}
.footer-brand h1,.footer-brand h2,.footer-brand h3,.footer-brand h4,.footer-brand h5{color:var(--footer-text);margin:0;}
.footer-text p{color:var(--footer-muted);margin-bottom:.75rem;}
.map-figure{border-radius:6px;box-shadow:0 8px 20px var(--shadow-deep);display:block;max-width:100%;height:auto;}
.footer-logo{max-height:54px;width:auto;filter:drop-shadow(0 1px 0 rgba(0,0,0,.1));}
.footer-nav ul{list-style:none;padding-left:0;margin:0;display:flex;flex-wrap:wrap;gap:1.25rem;}
.footer-nav a{color:var(--footer-link);text-decoration:none;font-weight:500;}
.footer-nav a:hover,.footer-nav a:focus{color:var(--footer-link-hover);text-decoration:underline;text-underline-offset:3px;}
.footer-contacts{color:var(--footer-text);font-weight:500;}
.footer-link{color:var(--footer-link);text-decoration:none;}
.footer-link:hover,.footer-link:focus{color:var(--footer-link-hover);text-decoration:underline;text-underline-offset:3px;}
.footer-copy{background:var(--footer-bg);border-top:1px solid var(--footer-sep);}
.info-footer{margin-top:190px;}
@media (max-width:991.98px){.info-footer{margin-top:70px;}}

/* =========================
   Éléments / Alert bar
========================= */
#alertBar{color:#fff;background:var(--alertbar-bg);max-height:90px;}
#alertBar .h1scroll{color:#fff;font-size:42px;font-weight:400;margin:14px 0 16px;height:60px;line-height:60px;overflow:hidden;}
#alertBar .locations.alert{color:#fff!important;}
#alertBar #plemx-root,#alertBar .meteo{
  position:absolute;margin-top:-85px!important;height:224px;overflow:hidden;margin-left:0!important;z-index:9;padding:16px;width:207px!important;
}
#alertBar #plemx-root #main_button{border-radius:2px!important;}
#plemx-root .weather-button.four .locations.alert{border-radius:0;}
.insidepage #alertBar .meteo{margin-top:-12px!important;margin-left:-6px!important;height:127px;padding:8px 16px!important;}
.insidepage #alertBar{margin-top:28px!important;}

/* =========================
   Page / Texte
========================= */
.block-text{line-height:1.6;}
.block-text ul{margin:2rem 0 1.5rem;padding-left:2rem;list-style:none;}
.block-text ul li{position:relative;margin-bottom:.75rem;padding-left:.5rem;}
.block-text ul li::before{
  content:"\F26E";font-family:"bootstrap-icons";color:var(--primary);position:absolute;left:-1em;top:-.25em;font-size:1.5em;
}

/* =========================
   Compte (onglets / tableaux / formulaires)
========================= */
/* Onglets soulignés */
.nav-tabs.tabs-underline{border-bottom:0;gap:.5rem;}
.nav-tabs.tabs-underline .nav-link{
  border:0;border-radius:.5rem;color:#4b5563;padding:.5rem .75rem;position:relative;
}
.nav-tabs.tabs-underline .nav-link:hover{color:#111827;}
.nav-tabs.tabs-underline .nav-link.active{color:#111827;background:transparent;}
.nav-tabs.tabs-underline .nav-link.active::after,
.nav-tabs.tabs-underline .nav-link:hover::after{
  content:"";position:absolute;left:.5rem;right:.5rem;bottom:-6px;height:3px;border-radius:3px;background:var(--primary);transition:all .18s;
}

/* Cartouche autour du tableau */
.table-card{background:var(--surface);border-radius:.75rem;box-shadow:0 2px 10px var(--shadow-weak);padding:.25rem;}
.table thead th{background:var(--surface-weak);border-bottom:1px solid #e5e7eb!important;font-weight:700;}
.table.table-striped>tbody>tr:nth-of-type(odd)>*{background:var(--surface-stripe);}
.tabnum{font-variant-numeric:tabular-nums;}
.col-actions{width:56px;text-align:center;}
.col-actions .btn,.col-actions a{padding:.25rem .4rem;}
.table-sm>:not(caption)>*>*{padding:.55rem .75rem;}
.table-responsive{max-height:60vh;}
.table-responsive thead th{position:sticky;top:0;z-index:2;}
@media (max-width:576px){.table td,.table th{white-space:nowrap;}}

/* Cartes tarifs / suppléments (styles legacy) */
.tarif,.supplement{
  margin-bottom:20px;padding:10px 0 15px;box-shadow:2px 2px 4px #ccc;
}
.tarif .pull-left{width:70%;}
.tarif .pull-left img{max-width:100%;height:auto;margin-top:14px;}
.tarif .pull-right{width:30%;text-align:right;}

/* Largeurs de champs ciblées */
form#frm_client .form-control,form#frm_client .form-select{max-width:320px;}
form#frm_facturedetail .form-control,form#frm_facturedetail .form-select{max-width:120px;display:inline;}
form#frm_facturedetail #commentaire.form-control{max-width:420px;}
form#frm_facturedetail #fatt.form-control{max-width:420px;}

/* =========================
   Hero
========================= */
.hero-header{
  position:relative;background:url('/themes/web/assets/img/hero.jpg') center center/cover no-repeat;
  height:90vh;color:#fff;overflow:hidden;
}
@media (max-width:991.98px){.hero-header{background-position:center right;}}
.hero-header::before{
  content:"";position:absolute;inset:0;background:var(--overlay-hero);mix-blend-mode:multiply;opacity:1;z-index:1;
  clip-path:polygon(0% 0%,78% 0%,64% 100%,0% 100%);
}
.hero-header .container{position:relative;z-index:2;}
.hero-title{
  font-family:'Poppins',sans-serif;font-weight:600;font-size:48px;line-height:1.2;margin-bottom:15px;
  text-transform:uppercase;text-shadow:2px 2px 0 hsl(0 0% 0% / 30%);
}
.hero-subtitle{
  font-family:'Poppins',sans-serif;font-weight:500;font-size:42px;line-height:1.2;margin-bottom:40px;
  text-shadow:2px 2px 0 hsl(0 0% 0% / 30%);
}
@media (max-width:991.98px){.hero-title{font-size:35px}.hero-subtitle{font-size:32px}}
@media (max-width:575.98px){.hero-title{font-size:28px}.hero-subtitle{font-size:24px}}

/* Animations (accessibles) */
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.anim-in{opacity:0;animation:fadeSlideUp .6s ease-out forwards;will-change:opacity,transform;}
.anim-delay-1{animation-delay:.15s;}
.anim-delay-2{animation-delay:.3s;}
@media (prefers-reduced-motion:reduce){
  .anim-in{animation:none!important;opacity:1!important;transform:none!important;}
}

/* Pages internes */
body.insidepage .hero-header{height:430px;}
body.insidepage .hero-header h1.hero-title{margin-top:150px;}
@media (max-width:991.98px){
  body.insidepage .hero-header{height:330px;}
  body.insidepage .hero-header h1.hero-title{margin-top:140px;}
}

/* =========================
   Cards / Sections en vedette
========================= */
.featured-cards{position:relative;margin-top:-250px;z-index:5;}
.feature-card{
  border:none;background:var(--surface);padding:48px 20px 32px;transition:transform .2s,box-shadow .2s;
}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 10px 20px rgba(0,0,0,.12);}
.feature-hero{height:60px;background-size:contain;background-repeat:no-repeat;background-position:center;}
.feature-card .card-title{
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.75rem;color:var(--text);
}
.feature-card .btn-link{color:#2a6fb5;font-size:1.125rem;}
.feature-card .btn-link:hover,.feature-card .btn-link:focus{color:var(--primary);}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 480ms ease-out,transform 480ms ease-out;will-change:opacity,transform;}
.reveal.in-view{opacity:1;transform:translateY(0);}
.featured-cards .col-lg-4:nth-child(1) .reveal{transition-delay:60ms;}
.featured-cards .col-lg-4:nth-child(2) .reveal{transition-delay:140ms;}
.featured-cards .col-lg-4:nth-child(3) .reveal{transition-delay:220ms;}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal.in-view{transition:none!important;opacity:1!important;transform:none!important;}
}
@media (max-width:500px){
	.featured-cards{margin-top:-100px;}
}
