/*
 Theme Name:   Kwantic Pro Theme Child
 Theme URI:    https://kwantic.fr
 Description:  Thème enfant pour Kwantic Pro Theme (custom CSS & JS)
 Author:       Kwantic
 Template:     kwantic-pro-theme
 Version:      1.0.0
 Text Domain:  kwantic-pro-theme-child
*/

/* Écrivez votre code CSS personnalisé ci-dessous : */
/** CSS Général **/

html, body {
  overflow-x: hidden;
}

/*
Theme Name: Kwantic Pro Theme
Author: Kwantic
Version: 1.0
Text Domain: kwantic-pro
*/
body{margin:0;padding:0;}
.container{max-width:1200px;margin:auto;padding:0 20px;}

.menu_top_bar .hfe-nav-menu li {
    border-right: 1px solid #fff;
    padding: 0 11px;
}

.menu_top_bar .hfe-nav-menu li:last-child {
    border: none;
}

.menu_top_bar .hfe-nav-menu li:first-child {
    padding-left: 10px;
    background-image: url("images/icon_accs.svg");
    background-repeat:no-repeat;
    background-position:left center;
}

.menu_princ li#menu-item-18 a{
    font-size: 0;
    background-image: url(images/icon_home_menu.svg);
    background-repeat: no-repeat;
    background-position: left center;
    width: 24px;
    height: 24px;
    margin-top: 5px;
}

.hfe-submenu-icon-arrow .hfe-nav-menu .parent-has-child .sub-arrow i::before {
    color: #007ab8;
    font-size: 15px;
}

.btn_anim .elementor-button-icon{
    position: relative;
    width: 13px;
    height: 14px;
    overflow: hidden;
    display: inline-block;
}

.btn_anim .elementor-button-icon svg{
    position: absolute;
    top: 0;
    left: 0;
    width: 13px;
    height: 14px;
    transition: transform .35s ease;
}

.btn_anim .arrow-original{
    transform: translateX(0);
}

.btn_anim .arrow-clone{
    transform: translateX(-20px);
}

.btn_anim .elementor-button:hover .arrow-original{
    transform: translateX(20px);
}

.btn_anim .elementor-button:hover .arrow-clone{
    transform: translateX(0);
}
.btn_anim   span.elementor-button-content-wrapper {
    align-items: center;
}

.form_news .elementor-form-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.form_news .elementor-field-group-name {
    order: 1;
    width: calc(50% - 10px);
}

.form_news .e-form__buttons {
    order: 2;
    width: calc(50% - 10px);
}

.form_news .elementor-field-group-field_03e3adc {
    order: 3;
    width: 100%;
}

.form_news #form-field-name {
    width: 100%;
    height: 48px;
    border: 1px solid #2C4466;
    border-radius: 10px;
    padding: 0 16px;
    background: #FFFFFE;
}

.form_news .elementor-button {
    width: 100%;
    height: 48px;
    border-radius: 10px;
    background: #007AB8 !important;
}

.form_news .elementor-field-group-field_03e3adc .elementor-field-subgroup {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.form_news .elementor-field-group-field_03e3adc .elementor-field-label {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #5C6066;
    margin-top: -3px;
}

.form_news .elementor-acceptance-field {
    width: 18px;
    height: 18px;
    margin-top: 3px;
}
.form_news .elementor-field-group-field_03e3adc {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 10px;
}

.form_news  .elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_03e3adc.elementor-col-100.elementor-field-required {
    display: flex;
    flex-direction: row-reverse !important;
    flex-wrap: revert;
    margin-top: 1px;
}
.form_news  .elementor-field-subgroup {
    max-width: 23px !important;
}





@media (max-width: 768px) {
    body .elementor-element.elementor-element-7b127d2.e-con-full.e-flex.e-con.e-child {
        max-width: 176px !important;
        gap: 0 !important;
    }
    body .elementor-element.elementor-element-4247fcf.e-con-full.e-flex.e-con.e-child {
        display: flex !important;
    }
    body .elementor-11 .elementor-element.elementor-element-0100427 {
        max-width: 50px !important;
    }
    body .elementor-element.elementor-element-5b8da1e.e-grid.elementor-hidden-desktop.e-con-boxed.e-con.e-child {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

 
    body .elementor-field-type-text.elementor-field-group.elementor-column.elementor-field-group-name.elementor-col-100.elementor-field-required {
        width:100% !important;
    }
        .form_news .elementor-form-fields-wrapper {
            flex-direction: column;
        }

        .form_news .elementor-field-group-name {
            width:100% !important;
        }

        .form_news .elementor-field-group-name {
            width: 100% !important;
        }
        .form_news .e-form__buttons {
            width: 100%;
        }
        .form_news .elementor-form-fields-wrapper {
            gap: 10px;
        }
        body .elementor-element.elementor-element-4247fcf.e-con-full.e-flex.e-con.e-child {
            display: flex !important;
            gap: 11px;
        }

}

/*Animation de la fleche des boutons*/
.btn_anim{
    overflow: hidden;
}
.btn_anim .elementor-button-icon{
    display: inline-block;
}

.btn_anim:hover .elementor-button-icon{
    animation: slideArrow 0.4s ease forwards;
}
@keyframes slideArrow {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(150%);
    opacity: 0;
  }
  46% {
    transform: translateX(-150%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/* Fin */

/*Posts Filter CSS code*/
/* Chaque colonne / groupe de champ */
.searchandfilter > ul > li {
  flex: 1 1 200px;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
}

/* Labels au-dessus des champs (Mot-clé, Territoire, Date, Thème) */
.searchandfilter h4 {
  font-weight: 700;
	font-family: "Inter", Sans-serif;
  color: #5C6066;
  margin: 0 0 8px 0 !important;
  text-transform: none;
}

/* Style des champs input et select */
.searchandfilter input[type="text"], .searchandfilter input[type="date"],
.searchandfilter select {
  width: 100%;
  height: 46px;
  padding: 0 16px;
  background-color: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  color: #374151;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Style du placeholder */
.searchandfilter input[type="text"]::placeholder, .searchandfilter input[type="date"]::placeholder {
  color: #5C6066;
  font-size: 16px;
}

/* Flèche personnalisée pour les listes déroulantes */
.searchandfilter select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234B5563' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  padding-right: 40px;
  cursor: pointer;
}

/* Focus sur les champs */
.searchandfilter input[type="text"]:focus,
.searchandfilter select:focus {
  border-color: #0077b6;
  box-shadow: 0 0 0 2px rgba(0, 119, 182, 0.15);
}

/* Colonne du bouton */
.searchandfilter > ul > li:last-child {
  flex: 0 0 auto;
}

/* Bouton Rechercher */
.searchandfilter input[type="submit"] {
  height: 46px;
  padding: 0 24px;
  background-color: #0077b6; /* Bleu primaire */
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.searchandfilter input[type="submit"]:hover {
  background-color: #005f94;
}

/* Adaptation Mobile & Tablette */
@media (max-width: 900px) {
  .searchandfilter {
    padding: 20px;
  }
  
  .searchandfilter > ul {
    flex-direction: column;
    align-items: stretch;
  }
  
  .searchandfilter > ul > li {
    width: 100%;
    flex: none;
  }

  .searchandfilter input[type="submit"] {
    width: 100%;
  }
}

/*Fin*/

/* Code CSS du filtre Page Actualités */
/* TYPOGRAPHIE & BOX */
    .actu-filter-box, .actu-meta-bar, .elementor-loop-container {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    }
    .actu-filter-box {
        margin-bottom: 25px;
		background: #ffffff;
    border: 1px solid #000000;
    border-radius: 16px;
    padding: 28px 32px;
    }
    .actu-filter-title {
        font-size: 32px;
        font-weight: 700;
        margin: 0 0 6px 0;
        color: #000000;
    }
    .actu-filter-subtitle {
        font-size: 16px;
        color: #5C6066;
        margin: 0 0 22px 0;
    }
    .actu-filter-grid {
        display: flex;
        gap: 14px;
        align-items: flex-end;
        flex-wrap: wrap;
    }
    .actu-field-col {
        display: flex;
		flex:content !important;
        flex-direction: column;
        gap: 6px;
    }
    .actu-field-col label {
        font-size: 12px;
        font-weight: 600;
        color: #334155;
    }
    .actu-field-col input, .actu-field-col select {
        width: 100%;
        height: 44px;
        padding: 0 14px;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        background-color: #ffffff;
        font-size: 13.5px;
        color: #1e293b;
        outline: none;
        font-family: inherit;
        box-sizing: border-box;
        transition: border-color 0.2s, box-shadow 0.2s;
    }
    .actu-field-col input:focus, .actu-field-col select:focus {
        border-color: #007bb6;
        box-shadow: 0 0 0 3px rgba(0, 123, 182, 0.12);
    }
    .actu-field-col select {
        cursor: pointer;
        appearance: none;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2364748b" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>');
        background-repeat: no-repeat;
        background-position: right 12px center;
        padding-right: 34px;
    }
    .actu-btn-col { flex: 0 0 auto; }
    .actu-btn-search {
        height: 44px;
        padding: 0 22px;
        background-color: #007bb6;
        color: #ffffff !important;
        border: none;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: background-color 0.2s ease;
    }
    .actu-btn-search:hover { background-color: #006699; }
    .actu-btn-search svg { transition: transform 0.2s ease; }
    .actu-btn-search:hover svg { transform: translateX(3px); }

    /* MÉTADONNÉES */
    .actu-meta-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 24px;
    }
    .actu-results-counter {
        font-size: 18px;
        font-weight: 700;
        color: #0f172a;
    }
    .actu-events-link {
        color: #0f172a;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        transition: color 0.2s;
    }
    .actu-events-link:hover { color: #007bb6; }
    .actu-no-results {
        text-align: center;
        padding: 40px 20px;
        color: #64748b;
        font-size: 15px;
        display: none;
    }
    @media (max-width: 900px) {
        .actu-filter-grid { flex-direction: column; align-items: stretch; }
        .actu-btn-search { width: 100%; justify-content: center; }
        .actu-meta-bar { flex-direction: column; align-items: flex-start; gap: 12px; }
    }
/*Fin*/