#wpadminbar {
    display: none;
}

body {
    background-color: #f2f4f8;
}

header {
    background-color: #FFFFFF;
    height: 65px;
    box-shadow: 0 0 20px #c3c3c380;
    z-index: 99;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
}

.text-right {
  text-align: right;
  }

.container-article, article.container-article, .widget_custom_html, .widget_wmp_widget, .widget_recent_entries {
    padding: 20px;
    box-shadow: 0px 3px 6px #E8E8E8;
    background-color: white;
    border: 1px solid #E5EDF8;
    border-radius: 4px;
    margin-top: 20px;
    margin-bottom: 20px;
    transition: box-shadow 1s cubic-bezier(.25,.8,.25,1);
}

.container-article:hover, article.container-article:hover {
    box-shadow: 0px 3px 6px #E0DFDF;
}

.menu-container {
    background-color: #FFF;
    position: fixed;
    width: calc( 20% - 10px);
    top: 65px;
    bottom: 0;
    z-index: 2;
    box-shadow: 0px 3px 6px #E8E8E8;
    overflow:auto;
}
.logo {
    display: inline-block;
    position: relative;
    padding: 10px 0 0 20px;
    float: left;
}

.logo a {
  display: inline-block
}

.logo img {
    height: 50px;
    max-width: 100%;
    text-align: left;
}

.logo-subtitle {
    padding: 0;
    font-size: 16px;
    font-style: italic;
    display: inline-block;
    position: relative;
    bottom: -5px;
}


.meteo .meteo-thumbnail img {
    width: 100%;
    height: auto;
}


/* MENU */
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#cssmenu {
  width: 100%;
  font-family: 'Source Sans Pro', sans-serif;
  color: #ffffff;
}
#cssmenu ul ul {
  display: none;
}
.align-right {
  float: right;
}
#cssmenu > ul > li > a {
  padding: 11px 10px 11px 46px;
  cursor: pointer;
  z-index: 2;
  font-size: 14px;
  text-decoration: none;
  color: rgb(51, 51, 51);
  position: relative;
}
#cssmenu > ul > li > a::before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border: #2fa99e solid 2px;
  border-radius: 6px;
  top: 12px;
  left: 24px;
}
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.active > a,
#cssmenu > ul > li.open > a {
  background-color: #F5F5F5 !important;
  text-overflow: initial;
  white-space: normal;
  padding: 11px 10px 11px 46px;
  border-radius: 25px;
}

.holder {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  right: 0;
}
.holder::before {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  right: 20px;
  z-index: 10;
  -webkit-transform: rotate(-225deg);
  -moz-transform: rotate(-225deg);
  -ms-transform: rotate(-225deg);
  -o-transform: rotate(-225deg);
  transform: rotate(-225deg);
  transition: transform .25s;
}

#cssmenu > ul > li > a:hover > span::after,
#cssmenu > ul > li.active > a > span::after,
#cssmenu > ul > li.open > a > span::after {
  border-color: #eeeeee;
}
.holder::before {
  top: 16px;
  border-top: 2px solid;
  border-left: 2px solid;
  border-top-color: inherit;
  border-left-color: inherit;
}
#cssmenu ul ul li a {
  cursor: pointer;
  padding: 10px 20px 10px 50px;
  z-index: 1;
  text-decoration: none;
  font-size: 13px;
  color: #43425d;
  background: #ffffff;
}

#cssmenu ul ul li a:hover {
  text-decoration: underline !important;
}

#cssmenu ul ul ul li a {
  padding-left: 55px;
}
#cssmenu ul ul li.has-sub > a::after {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  right: 20px;
  z-index: 10;
  top: 18px;
  border-top: 2px solid #43425d;
  border-left: 2px solid #43425d;
  -webkit-transform: rotate(-225deg);
  -moz-transform: rotate(-225deg);
  -ms-transform: rotate(-225deg);
  -o-transform: rotate(-225deg);
  transform: rotate(-225deg);
  transition: transform .25s;
}
#cssmenu ul ul li.active > a::after,
#cssmenu ul ul li.open > a::after,
#cssmenu ul ul li > a:hover::after {
  border-color: #43425d;
}


#cssmenu ul ul li.open > a::after, 
.open .holder::before {
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
}


#cssmenu ul li {
  padding: 5px;
  border-bottom: #dfdfea solid 1px;
}

#cssmenu ul li ul li {
  padding: 0;
  border: none
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ----- A Adapter ----- */

article a.wp-block-file__button:link {
    text-decoration: none !important;
    border-radius: 4px;
    background-color: #2fa99e;
}

ol > li::marker {
    font-weight: 700;
}

table tr {
    vertical-align: top;
}

table tr td {
    border-bottom: 1pt solid #92B0C5;
    padding: 3px 3px 3px 0px !important;
}


/* ----- MÃ©tÃ©o ----- */

.meteo-details {
    margin: 40px 0 20px 0;
    border-bottom: solid 2px #f2f4f8;
}

.meteo-logo > figure {
  overflow: hidden;
}

.meteo-logo > figure > img {
  height: 80px;
  width: auto;
  max-width: 100%;
}

.meteo-details > div {
  padding: 10px;
}

.meteo-details > div:nth-child(odd) {
  background-color: #f2f4f8;
}

.meteo-block {
    padding: 20px 20px 20px 10px;
    box-shadow: 0px 3px 6px #e8e8e8;
    background-color: white;
    border: 1px solid #E5EDF8;
    border-radius: 4px;
    transition: box-shadow 1s cubic-bezier(.25,.8,.25,1);
}


.meteo .meteo-thumbnail img {
    max-height: 80px !important;
    width: auto;
    max-width: 100%
}

.meteo .meteo-thumbnail {
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
}

.meteo .meteo-statut span {
  padding: 4px 15px;
  border-radius: 15px;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: bold;
  display: inline-block;
}

.meteo .meteo-statut.Résolu span, .statut-single.Résolu{
  background-color: #0670BA;
  color: #FFF;
  font-weight: bold;
}

.meteo .meteo-statut.Interruption span, .statut-single.Interruption{
  background-color: #FEF5F5 !important;
  color: #C53434;
  font-weight: bold;
}

.meteo .meteo-statut.Amélioration span, .statut-single.Amélioration{
  background-color: #1C7C4D !important;
  color: #FFF;
  font-weight: bold;
}

.meteo .meteo-statut.majeure span, .statut-single.majeure{
  background-color: #0C4F2F !important;
  color: #FFF;
  font-weight: bold;
}

.meteo .meteo-statut.cours span, .statut-single.cours{
  background-color: #FEF0E0 !important;
  color: #A05C1C;
  font-weight: bold;
}

.meteo .meteo-statut.Évolution span, .statut-single.Évolution{
  background-color: #DED3EC !important;
  color: #C6929C4;
  font-weight: bold;
}

.meteo-extrait {
  margin: 10px 0
}

.statut-single {
  margin-left: 5px;
  position: relative;
  top: -2px;
}

figure.icons-home {
    text-align: center;
}

figure.icons-home img {
    width: 60%;
}


.list-block-home ul {
    padding-left: 20px;
    margin-bottom: 0;
}

.list-block-home li {
    list-style-type: square;
    color: #2fa99e;
    font-size: 16px;
    line-height: 18px;
    padding-top: 15px;
    padding-bottom: 15px;
    position: relative;
}

.list-block-home li+li::before {
    content: "";
    width: calc(100% + 18px);
    height: 1px;
    background-color: #E9EAEB;
    position: absolute;
    top: 0;
    left: -18px;
}

.list-block-home li a {
    color: #434b50 !important;
    text-decoration: none !important;
}

article a.seeall {
    text-decoration: none !important;
    background: white;
    border: solid 1px #E1EBF7;
    padding: 10px 18px;
    border-radius: 6px;
    -webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.1);
    margin: 5px 0;
    display: inline-block;
    color : #445D78;
    transition: all .5s;
}

article a.seeall:hover {
    background: #F5F6F8;
}


.wp-block-table td, .wp-block-table th {
  border: 1px solid;
  padding: .5em;
  padding: 10px !important;
  border: solid 1px lightgray !important;
}

article.grid-item {
    width: 100% !important;
}

.button {
  display: inline-block;
  padding: 10px 18px;
  margin-bottom: 10px;
  background: #FFF;
  border: none;
  border-radius: 7px;
  color: #222;
  font-family: sans-serif;
  font-size: 16px;
  cursor: pointer;
  font-weight: bold;
  margin-right: 10px
}

.button.is-checked {
  color: white;
}

.button span {
  display: inline-block;
  padding: 0 6px;
  border-radius: 4px;
  margin-left: 8px;
  font-size: 14px;
  width: 28px;
  text-align: center;
  color: #FFF;
}

/* ALL */
.button.all {
  background-color: #FFF;
  color: #012233;
}

.button.all span {
  background-color: #175C8D;
}

.button.all:hover {
  background-color: #012233;
  color: #FFF;
  opacity: .8;
}

.button.all:active,
.button.all.is-checked {
  background-color: #012233;
  color: #FFF
}
/* ALL */

/* AMELIO */
.button.amelio {
  background-color: #FFF;
  color: #1C7C4D;
}

.button.amelio span {
  background-color: #4AA478;
}

.button.amelio:hover {
  background-color: #1C7C4D;
  color: #FFF;
  opacity: .8;
}

.button.amelio:active,
.button.amelio.is-checked {
  background-color: #1C7C4D;
  color: #FFF;
}
/* AMELIO */

/* MAINT */
.button.maint {
  background-color: #FFF;
  color: #0670BA;
}

.button.maint span {
  background-color: #5799DB;
}

.button.maint:hover {
  background-color: #0670BA;
  color: #FFF;
  opacity: .95;
}

.button.maint:active,
.button.maint.is-checked {
  background-color: #0670BA;
  color: #FFF;
}
/* MAINT */

/* INCID */
.button.incid {
  background-color: #FFF;
  color: #E76B37;
}

.button.incid span {
  background-color: #EF885D;
}

.button.incid:hover {
  background-color: #E76B37;
  color: #FFF;
  opacity: .8;
}

.button.incid:active,
.button.incid.is-checked {
  background-color: #E76B37;
  color: #FFF;
}
/* INCID */


#alert {
    padding: 10px 20px;
    margin: 0 0 20px;
    border-radius: 4px;
    font-size: 16px;
    display: none;
    font-family: sans-serif;
    background: #FFF;
}

.last-updated {
  font-style: italic;
}

.drop select.filters-select {
    padding: 8px 28px 8px 16px;
    height: 44px;
    border: solid 1px #DEE3E7;
    border-radius: 6px;
    background-color: #FFF;
    background-image: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.filters label {
  display: inline-block;
  margin-right: 8px;
}

.drop {
  position: relative;
  display: inline-block;
}

.drop::after {
    content: "";
    position: absolute;
    display : inline-block;
   height : 0;
   width : 0;
   border-top : 6px solid #012233;
   border-right : 6px solid transparent;
   border-left : 6px solid transparent;
  top: 50%;
  transform: translate(-22px, -50%);
      display: inline-block;
}


/** UPDATE QUARTZ V3 **/
body {
    background: #F5F7F9;
}

header {
    box-shadow: none;
    border-bottom: solid 2px #DEE3E7;
    background-color: #FCFCFD;
}

.meteo-block, .container-article, article.container-article, .widget_custom_html, .widget_wmp_widget, .widget_recent_entries {
    box-shadow: none;
    border: 1px solid #DEE3E7;
    border-radius: 12px;
}

.container-article:hover, article.container-article:hover {
    box-shadow: none;
}
/** UPDATE QUARTZ V3 **/







/** UPDATE QUARTZ 2025/09/18 **/

/* =========================
   Base / Reset
========================= */
html, body { margin: 0 !important; }
.bg-white { background: #FFF; }
#back-to-top { display: none; }

/* =========================
   Hero / Search
========================= */
.search-jumbo{
  background:#012233 url("../img/bg-harvest-gradient-web.jpg") no-repeat center top;
  background-size:100%;
  padding:96px 26px 76px 26px;
}
.search-jumbo .display-1{ font-size:28px !important; font-weight:500; margin-top:10px; }
.search-jumbo input{ border-radius:8px; padding:26px; }
.input-group input.form-control{ border-radius:6px !important; margin-right:16px; }
/* Uniquement la version utile (on garde les !important déjà présents) */
.search-jumbo button{
  border-radius:6px !important;
  background-color:#F5F7F9;
  width:60px;
  padding:14px;
}

/* =========================
   Header / Navbar
========================= */
header{ height:75px; transition:top 0.2s ease-in-out; }
header.header-up{ top:-75px; }
.navbar{
  height:75px !important;
  box-shadow:0px 0px 12px 0px rgba(0,0,0,0.04);
  border-bottom:1px solid #DEE3E7;
}
.navbar-light .navbar-nav .nav-link{ color:#012233; padding-left:20px; padding-right:20px; }
.navbar-collapse{ background-color:#FFF; }
.logo img{ height:60px; }

/* =========================
   Chatbot
========================= */
.chatbot-btn{
  position:fixed; z-index:9999; bottom:60px; right:20px;
  background:#012233; color:#fff; border:none;
  padding:8px 20px; padding-left:50px; border-radius:50px;
  cursor:pointer; font-weight:600;
}
.chatbot-btn::before{
  position:absolute; content:''; left:16px; top:10px; width:20px; height:20px;
  background:url("../img/ai-sparks.svg") no-repeat center;
  background-size:cover;
}
.chat-bg{ display:none; position:fixed; top:0; bottom:0; left:0; right:0; z-index:9990; }
.chat-container{
  display:none; position:fixed; z-index:9999; bottom:120px; right:20px;
  width:640px; height:750px; background:white;
  border-radius:10px; box-shadow:0 0 20px 5px rgba(0,0,0,0.15); overflow:hidden;
}
.chat-container h2{ font-size:26px !important; }
.chatbox{ height:750px; padding:10px; overflow-y:auto; }
.chatbox .embed-responsive-16by9::before{ padding-top:105% !important; }
.chatbox-close{
  position:absolute; width:32px; height:32px; top:22px; right:22px; border:none;
  background:url("../img/close.svg") no-repeat center;
}

/* =========================
   Layout / Blocks
========================= */
.onboarding{ display:inline-block; width:100%; }
.onboarding h1{ font-size:58px !important; line-height:58px; font-weight:700; color:#FFF; }
.onboarding h1 span{ color:#36d7c9; }

.blueblock{
  background-color:#012233; color:#FFF; border-radius:12px;
}
.blueblock h3{ color:#FFF; font-weight:600; }

/* cartes/visuels hauts-bas */
.img-top, .img-bottom{ border-radius:12px; }
.img-top{
  height:calc(50% - 12px) !important;
  background:#f5f7f9 url("../img/weather.svg") no-repeat center;
  background-size:36%;
}
.img-bottom{
  height:calc(50% - 12px) !important; margin-top:24px;
  background:url("../img/cap-O2S.png") no-repeat top left;
  background-size:200%; border:1px solid #dee3e7;
}

.card-top, .card-bottom{
  height:calc(50% - 12px) !important;
  box-shadow:none; border:1px solid #DEE3E7; border-radius:12px; background-color:#FFF;
}
.card-bottom{ margin-top:24px; }

.meteo-block{ border:1px solid #a3b7c1; }

/* =========================
   Contenu / Typo
========================= */
.content{ padding-top:80px; color:#555F6D; }
.content h1{ font-size:36px !important; font-weight:600 !important; color:#012233; }
h1{ margin-bottom:45px; }
h2.title-home{ font-size:32px !important; font-weight:600 !important; color:#012233; }

h2, h3, h4, h5{ font-weight:400 !important; }
h2{ font-size:26px !important; font-weight:500 !important; }
h3{ font-size:24px !important; }
h4{ font-size:22px !important; }
h5{ font-size:18px !important; }

p.under-title{ font-size:22px; color:#43425D; }
article.container-article h2{ font-size:20px !important; font-weight:600; }
article.container-article a{ color:#0670BA; }
h3.post-title.green{ color:#36d7c9; }

span.post-info time{
  font-size:12px; font-style:normal; font-weight:600; color:#0B629C;
  text-transform:uppercase; background:#E7F4FD; padding:3px 12px; border-radius:12px;
  margin-bottom:8px; display:inline-block;
}

.entete-parcours{ font-size:18px; line-height:26px; font-weight:200; }

/* =========================
   Articles / Widgets
========================= */
.hentry{
  border:1px solid #DEE3E6 !important;
  border-radius:4px; /* fix 4ps -> 4px */
}
.hentry + .hentry{ margin-top:10px; }
.card-body{ border-top:1px solid #DEE3E6 !important; }
.home .card-body{ border-top:none !important; }

.meteo-block, .container-article, article.container-article, .widget_custom_html, .widget_wmp_widget, .widget_recent_entries{
  box-shadow:none !important; border:none !important; border-radius:8px !important;
}
.single article{
  border-radius:8px; box-shadow:0 0 12px 0 rgba(0,0,0,0.04);
  border:1px solid #DEE3E7; padding:30px;
}

article a.wp-block-button__link.wp-element-button:link {
    text-decoration: none !important;
}

/* =========================
   Menu latéral / CSSMenu
========================= */
.menu-container{
  top:105px; left:30px; bottom:auto;
  border-radius:8px; box-shadow:0 0 12px 0 rgba(0,0,0,0.04);
  border:1px solid #DEE3E7; padding:20px 12px;
}
#cssmenu{
  max-height:calc(100dvh - 305px);
  overflow:auto; -webkit-overflow-scrolling:touch;
  padding:0 12px;
  scrollbar-width:thin;
  scrollbar-color:#7E8C9A transparent;
  scrollbar-gutter:stable both-edges;
}
#cssmenu ul li{ padding:6px 5px; border-bottom:#dfdfea solid 1px; }

#cssmenu > ul > li{ border:none; padding:0; }
#cssmenu > ul > li > a::before{ display:none; }
#cssmenu > ul > li > a, #cssmenu ul ul li a{
  padding:12px 10px; border-radius:6px; font-weight:600; line-height:18px;
}
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.open > a{
  background:#f2f4f8 !important; padding:12px 10px; border-radius:6px;
}

/* états actifs (et parent contenant un actif) */
#cssmenu > ul > li:has(li.active) a,
#cssmenu > ul > li.active > a{
  background:#012233 !important; color:#FFF; padding:12px 10px; border-radius:6px;
}
#cssmenu > ul > li:has(li.active) li a{
  background:#FFF !important; color:#43425d !important;
}
#cssmenu > ul > li:has(li.active) li.active a{
  background:#f2f4f8 !important;
}
#cssmenu ul ul li a{
  margin:6px 0; font-weight:500; margin-left:20px;
}

/* Scrollbar WebKit pour .cssmenu (laisse tel quel si ton conteneur a cette classe) */
.cssmenu::-webkit-scrollbar{ width:4px; height:4px; }
.cssmenu::-webkit-scrollbar-track{ background:transparent; }
.cssmenu::-webkit-scrollbar-thumb{
  background:#7E8C9A; border-radius:999px; border:1px solid transparent; background-clip:content-box;
}
.cssmenu::-webkit-scrollbar-thumb:hover{ background:#CFD6DD; }
.cssmenu::-webkit-scrollbar-corner{ background:transparent; }

/* =========================
   Accordéon Parcours
========================= */
/* Chevron animé (une seule définition) */
#accordionParcours .chevron{ transition:transform .2s ease; }
#accordionParcours .btn[aria-expanded="true"] .chevron{ transform:rotate(180deg); }

/* Bouton-titre : alignements et reset décorations */
#accordionParcours .card-header .btn.btn-link{
  text-decoration:none; white-space:normal; color:inherit; padding-left:0; padding-right:0;
}

/* Fond blanc forcé */
#accordionParcours .card,
#accordionParcours .card-header,
#accordionParcours .card-body{ background:#fff; }

.card-header a{ font-weight:300; font-size:18px; }
.card-body a{ text-decoration:underline !important; }

/* =========================
   Divers
========================= */
.menu-container { top:105px; } /* consolidation */
.logo img{ height:60px; }      /* déjà plus haut, gardé pour clarté */

img.card-img-focus { width: 80px; margin: 20px auto;}

.searchBlock{ padding:16px !important; background:#F0F3F5 !important; }
.searchBlock button{ border-radius:6px !important; background-color:#FFF; }

.lost{ text-align:center; }
.lost h1{ font-size:116px !important; margin-bottom:0px !important; }
.lost p{ font-size:26px !important; font-weight:300; margin-bottom:18px; }

.card-header .tag{
  background-color:#28a6a8; color:#FFF; display:inline-block; padding:3px 12px;
  width:100px; text-align:center; border-radius:25px; font-size:18px; font-family:'Source Sans Pro', sans-serif;
}
.circle-img{
  background-color:#FFF; display:inline-block; width:122px; height:122px; border-radius:122px;
  -webkit-box-shadow:2px 1px 0px 0px #D8F8E7; box-shadow:2px 1px 0px 0px #D8F8E7;
}

/* =========================
   Media Queries
========================= */
@media (min-width: 992px){
  .d-lg-block{ display:block !important; }
}
@media (max-width: 992px){
  .AppLogout{ float:left; }
}

/* =========================
   Fallback dvh
========================= */
@supports not (height: 100dvh){
  .menu-container{ height:calc(100vh - 65px); }
}

/** UPDATE QUARTZ 2025/09/18 **/