/* Styles personnalisés (repris de Simple Custom CSS and JS, nov. 2026) */

/* Formulaire (90250) */
.formulaires {
  /* Couleurs */
  --form-color-text: #034470;
  --form-color-field-text: #33475b;
  --form-color-field-bg: #f5f8fa;
  --form-color-border: #c4d0dd;
  --form-color-focus: #6bb1ea;
  --form-color-error: #ee4d54;
  --form-color-error-border: #c06e69;
  --form-color-required: #fd2427;
  --form-color-link: #001ae5;
  --form-color-primary: #fec532;
  --form-color-primary-hover: #eab52e;
  --form-color-primary-text: #ffffff;

  /* Typographie : textes (labels, choix, messages, bouton) */
  --form-font-family: arial, helvetica, sans-serif;
  --form-font-size: 13px;
  --form-line-height: 1.3;
  --form-font-weight-button: 700;

  /* Typographie : texte saisi dans les champs */
  --form-field-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --form-field-font-size: 16px;
  --form-field-font-weight: normal;
  --form-field-line-height: 22px;

  /* Formes et espacements */
  --form-radius-field: 15px;
  --form-radius-button: 19px;
  --form-border-width: 1px;
  --form-field-height: 40px;        /* bordure et marge interne incluses */
  --form-field-padding-x: 15px;
  --form-textarea-padding-y: 8px;
  --form-label-gap: 6px;
  --form-row-gap: 20px;
  --form-error-gap: 4px;
  --form-error-indent: 5px;
  --form-choice-gap: 10px;
  --form-choice-spacing: 10px;
  --form-button-height: 38px;
  --form-button-padding-x: 26px;
  --form-submit-gap: 22px;          /* espace au-dessus du bouton (s'ajoute à la marge du <p> parent) */

  /* Breakpoint mobile : max-width 767px (non variabilisable en media query) */

  margin: 0;
  padding: 0;
  font-family: var(--form-font-family);
  font-size: var(--form-font-size);
  line-height: var(--form-line-height);
  color: var(--form-color-text);
}

/* ---------- Base ---------- */
.formulaires *,
.formulaires *::before,
.formulaires *::after {
  box-sizing: border-box;
}

.formulaires p {
  margin: 0 0 var(--form-row-gap);
  padding: 0;
}

.formulaires p:empty {
  display: none;
}

.formulaires fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.formulaires label,
.formulaires legend {
  display: block;
  float: none;
  width: auto;
  margin: 0 0 var(--form-label-gap);
  padding: 0;
  font-family: var(--form-font-family);
  font-size: var(--form-font-size);
  font-weight: 400;
  line-height: var(--form-line-height);
  color: var(--form-color-text);
}

/* Astérisque "champ requis" */
.formulaires .required,
.formulaires abbr,
.formulaires label abbr,
.formulaires legend abbr {
  color: var(--form-color-required);
  text-decoration: none;
  border: 0;
  cursor: inherit;
}

/* ---------- Champs ---------- */
.formulaires input:not([type]),
.formulaires input[type="text"],
.formulaires input[type="email"],
.formulaires input[type="tel"],
.formulaires input[type="url"],
.formulaires input[type="number"],
.formulaires input[type="password"],
.formulaires input[type="search"],
.formulaires input[type="date"],
.formulaires textarea,
.formulaires select {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
  height: var(--form-field-height);
  min-height: 0;
  margin: 0;
  padding: 0 var(--form-field-padding-x);
  font-family: var(--form-field-font-family);
  font-size: var(--form-field-font-size);
  font-weight: var(--form-field-font-weight);
  line-height: var(--form-field-line-height);
  color: var(--form-color-field-text);
  background-color: var(--form-color-field-bg) !important;
  border: var(--form-border-width) solid var(--form-color-border) !important;
  border-radius: var(--form-radius-field);
  box-shadow: none;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
}

.formulaires textarea {
  height: auto;
  min-height: calc(var(--form-field-height) * 3);
  padding: var(--form-textarea-padding-y) var(--form-field-padding-x);
  resize: vertical;
}

/* Select : aucune flèche définie ici (elle est gérée ailleurs sur le site) */
.formulaires select {
  padding-right: calc(var(--form-field-padding-x) * 2);
}

.formulaires input:disabled,
.formulaires textarea:disabled,
.formulaires select:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Balisage où le champ est à l'intérieur du label : espace sous le texte du label */
.formulaires label > :is(
  input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
  input[type="number"], input[type="password"], input[type="search"], input[type="date"],
  textarea, select
) {
  margin-top: var(--form-label-gap);
}

.formulaires label > br:has(+ :is(input, textarea, select)) {
  display: none;
}

/* ---------- État erreur ---------- */
.formulaires :is(input, textarea, select):user-invalid,
.formulaires :is(input, textarea, select)[aria-invalid="true"],
.formulaires :is(input, textarea, select).is-invalid,
.formulaires :is(input, textarea, select).error {
  border-color: var(--form-color-error-border) !important;
}

/* Message d'erreur sous le champ */
.formulaires label.error,
.formulaires .error-message,
.formulaires .invalid-feedback,
.formulaires [role="alert"] {
  display: block;
  margin: var(--form-error-gap) 0 0;
  padding: 0 0 0 var(--form-error-indent);
  font-family: var(--form-font-family);
  font-size: var(--form-font-size);
  font-weight: 400;
  line-height: var(--form-line-height);
  color: var(--form-color-error);
}

/* ---------- État focus (après l'erreur : il l'emporte pendant la saisie) ---------- */
.formulaires :is(input, textarea, select):focus,
.formulaires :is(input, textarea, select):focus-visible {
  border-color: var(--form-color-focus) !important;
  outline: 0;
  box-shadow: none;
}

/* ---------- Boutons radio et case à cocher (rendu natif conservé) ---------- */
.formulaires input[type="radio"],
.formulaires input[type="checkbox"] {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

.formulaires label:has(> input[type="radio"]),
.formulaires label:has(> input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: var(--form-choice-gap);
  margin: 0 0 var(--form-choice-spacing);
  cursor: pointer;
}

/* Case à cocher à texte multiligne : l'élément reste aligné en haut */
.formulaires label:has(> input[type="checkbox"]) {
  align-items: flex-start;
}

.formulaires label:has(> input[type="checkbox"]) > input[type="checkbox"] {
  margin-top: 0.15em;
}

/* Balisage alternatif : input puis label frère */
.formulaires input[type="radio"] + label,
.formulaires input[type="checkbox"] + label {
  display: inline-block;
  margin: 0 0 var(--form-choice-spacing) var(--form-choice-gap);
  cursor: pointer;
}

/* ---------- Liens ---------- */
.formulaires a {
  color: var(--form-color-link);
  text-decoration: underline;
}

/* ---------- Bouton d'envoi (largeur = son contenu, jamais pleine largeur) ---------- */
.formulaires input[type="submit"],
.formulaires button[type="submit"] {
  display: inline-block;
  flex: 0 0 auto;
  align-self: flex-start;
  justify-self: start;
  float: none;
  width: auto;
  min-width: 0;
  max-width: none;
  height: var(--form-button-height);
  min-height: 0;
  margin: var(--form-submit-gap) 0 0;
  padding: 0 var(--form-button-padding-x);
  font-family: var(--form-font-family);
  font-size: var(--form-font-size);
  font-weight: var(--form-font-weight-button);
  line-height: 1;
  text-align: center;
  color: var(--form-color-primary-text);
  background-color: var(--form-color-primary);
  border: 0;
  border-radius: var(--form-radius-button);
  box-shadow: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 0.15s ease;
}

.formulaires input[type="submit"]:hover,
.formulaires button[type="submit"]:hover,
.formulaires input[type="submit"]:active,
.formulaires button[type="submit"]:active {
  background-color: var(--form-color-primary-hover);
}

.formulaires input[type="submit"]:focus-visible,
.formulaires button[type="submit"]:focus-visible {
  outline: 2px solid var(--form-color-focus);
  outline-offset: 2px;
}

.formulaires input[type="submit"]:disabled,
.formulaires button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ---------- Mobile (≤ 767px) ----------
   La mise en colonnes est gérée nativement : on garantit seulement que les
   champs occupent toute la largeur de leur colonne sans déborder.
   Le bouton garde sa largeur naturelle. */
@media (max-width: 767px) {
  .formulaires input:not([type]),
  .formulaires input[type="text"],
  .formulaires input[type="email"],
  .formulaires input[type="tel"],
  .formulaires input[type="url"],
  .formulaires input[type="number"],
  .formulaires input[type="password"],
  .formulaires input[type="search"],
  .formulaires input[type="date"],
  .formulaires textarea,
  .formulaires select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

.formulaires.formulaires input[type="submit"],
.formulaires.formulaires button[type="submit"] {
  width: fit-content !important;
  inline-size: auto !important;
  min-inline-size: 0 !important;
  flex: none !important;
}

.formulaires p:has(> [type="submit"]) {
  display: block;
  background: none;
}

.formulaires a:hover {
  color: #E7407A;
}

/* Correctifs texte (84298) */
/* Ajouter votre code CSS ici.
                     
Par exemple:
.exemple {
    color: red;
}

Pour améliorer vos connaissances en CSS, visitez http://www.w3schools.com/css/css_syntax.asp

Fin du commentaire */ 


.dm-text-fix p {
    margin-top: 0;
}

/* Refonte (87148) */
.header-top {
    background: #096F79 !important;
}
header .desktop {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

header .desktop .column .btn-connexion a {
    background: #096f79 !important;
}
footer .footer-haut {
    background: #05444A !important;
}
footer .footer-bas {
    background: #064E55 !important;
}

footer .footer-bas * {
    color: #fff !important;
}
.language-option.current {
    background: #096f79 !important;
}
a#cookie_action_close_header {
    background: #05444a !important;
}


.content-archive .bandeau-cpt--footer--right .hs-cta-wrapper a {
    color: #05444A !important;
}

.post-row .post-liste .post-list .posts .post--item p.program:before {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.22593 6.68019L7.29932 0L11.3727 6.68019H3.22593ZM11.9592 16C10.987 16 10.1628 15.6619 9.48672 14.9858C8.81061 14.3097 8.47256 13.4856 8.47256 12.5133C8.47256 11.5411 8.81061 10.7169 9.48672 10.0408C10.1628 9.36472 10.987 9.02666 11.9592 9.02666C12.9315 9.02666 13.7556 9.36472 14.4317 10.0408C15.1078 10.7169 15.4459 11.5411 15.4459 12.5133C15.4459 13.4856 15.1078 14.3097 14.4317 14.9858C13.7556 15.6619 12.9315 16 11.9592 16ZM0 15.5764V9.45029H6.12608V15.5764H0ZM11.959 14.7293C12.5793 14.7293 13.1038 14.5151 13.5324 14.0867C13.9609 13.6583 14.1752 13.1339 14.1752 12.5135C14.1752 11.8932 13.961 11.3688 13.5326 10.9402C13.1042 10.5116 12.5798 10.2973 11.9594 10.2973C11.3391 10.2973 10.8147 10.5115 10.3861 10.94C9.95751 11.3684 9.74323 11.8928 9.74323 12.5131C9.74323 13.1335 9.95744 13.6579 10.3859 14.0865C10.8143 14.515 11.3387 14.7293 11.959 14.7293ZM1.27067 14.3057H4.85541V10.721H1.27067V14.3057ZM5.46798 5.40952H9.13066L7.29932 2.46361L5.46798 5.40952Z' fill='%2305444A'/%3E%3C/svg%3E") !important;
}

.post-row .post-liste .post-list .posts .post--item p.prix:before {
    background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.44531 16C4.02691 16 0.445312 12.4184 0.445312 8C0.445312 3.5816 4.02691 0 8.44531 0C12.8637 0 16.4453 3.5816 16.4453 8C16.4453 12.4184 12.8637 16 8.44531 16ZM8.44531 14.4C10.1427 14.4 11.7706 13.7257 12.9708 12.5255C14.171 11.3253 14.8453 9.69739 14.8453 8C14.8453 6.30261 14.171 4.67475 12.9708 3.47452C11.7706 2.27428 10.1427 1.6 8.44531 1.6C6.74793 1.6 5.12006 2.27428 3.91983 3.47452C2.7196 4.67475 2.04531 6.30261 2.04531 8C2.04531 9.69739 2.7196 11.3253 3.91983 12.5255C5.12006 13.7257 6.74793 14.4 8.44531 14.4ZM6.88531 7.2H10.8453V8.8H6.88531C6.95462 9.14026 7.11132 9.45662 7.33999 9.71794C7.56867 9.97926 7.86145 10.1765 8.18952 10.2904C8.51758 10.4042 8.86963 10.4306 9.21101 10.3671C9.5524 10.3035 9.87136 10.1522 10.1365 9.928L11.4965 10.8344C11.0292 11.3431 10.4254 11.7067 9.75707 11.8816C9.08879 12.0566 8.38428 12.0356 7.72761 11.8211C7.07095 11.6066 6.48985 11.2078 6.05368 10.6721C5.6175 10.1364 5.34466 9.48651 5.26771 8.8H4.44531V7.2H5.26691C5.3436 6.51315 5.61636 5.86289 6.05264 5.32688C6.48892 4.79088 7.07027 4.39178 7.72725 4.17726C8.38423 3.96273 9.08907 3.94185 9.7576 4.11711C10.4261 4.29237 11.0301 4.65636 11.4973 5.1656L10.1365 6.072C9.87136 5.84778 9.5524 5.69645 9.21101 5.63292C8.86963 5.56938 8.51758 5.59582 8.18952 5.70965C7.86145 5.82347 7.56867 6.02074 7.33999 6.28206C7.11132 6.54338 6.95462 6.85974 6.88531 7.2Z' fill='%2305444A'/%3E%3C/svg%3E") !important;
}

.post-row .post-liste .post-list .posts .post--item p.date-div:before {
    background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.44531 16C4.02691 16 0.445312 12.4184 0.445312 8C0.445312 3.5816 4.02691 0 8.44531 0C12.8637 0 16.4453 3.5816 16.4453 8C16.4453 12.4184 12.8637 16 8.44531 16ZM8.44531 14.4C10.1427 14.4 11.7706 13.7257 12.9708 12.5255C14.171 11.3253 14.8453 9.69739 14.8453 8C14.8453 6.30261 14.171 4.67475 12.9708 3.47452C11.7706 2.27428 10.1427 1.6 8.44531 1.6C6.74793 1.6 5.12006 2.27428 3.91983 3.47452C2.7196 4.67475 2.04531 6.30261 2.04531 8C2.04531 9.69739 2.7196 11.3253 3.91983 12.5255C5.12006 13.7257 6.74793 14.4 8.44531 14.4ZM9.24531 8H12.4453V9.6H7.64531V4H9.24531V8Z' fill='%2305444A'/%3E%3C/svg%3E") !important;
}

.content-archive .post-list .en-tete-post .cols .fa-xl, .content-archive .post-list .en-tete-post .post .fa-xl, .content-archive .post-list .posts .cols .fa-xl, .content-archive .post-list .posts .post .fa-xl {
    color: #096f79 !important;
}
.post-row .post-liste .post-list .posts .post--container {
    background-color: #05444A12 !important;
    border-color : #05444A25 !important;
}

.post-row .post-liste .post-list .posts .post--container:hover{
    border-color: #05444A50 !important;
}
.post-row .post-liste .post-list .posts .post--action a,
.content-archive .recherche-cpt--bg-white .pagination .page-numbers.current:not(.dots),
.content-archive .recherche-cpt--bg-white .pagination .page-numbers:hover:not(.dots){
    background-color:#096f79 !important;
	border-color:#096f79 !important;
}

.post-row .post-side--body .filters .filter .hidden .list_item.active:before{
    background-color:#096f79 !important;
    border-color:#096f79 !important;
}

.post-row .post-side--body .filters .filter .hidden .load-more span,
.post-row .post-side--header .remove-filter,
.post-row .post-liste .post-result--order .dropdown .dropdown-list .dropdown-item.active{
    color:#096f79 !important;
}
.content-archive .bandeau-cpt--footer--right .hs-cta-wrapper a:after{
	background-image:url("data:image/svg+xml,%3Csvg width='14' height='15' viewBox='0 0 14 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6505 6.60003L5.957 1.77256L7.19425 0.5L14 7.5L7.19425 14.5L5.957 13.2274L10.6505 8.39997H0V6.60003H10.6505Z' fill='%23096F79'/%3E%3C/svg%3E") !important;
}
.elementor-65350 .elementor-element.elementor-element-637dfaeb:not(.elementor-motion-effects-element-type-background), .elementor-65350 .elementor-element.elementor-element-637dfaeb > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #096f79 !important;
}
#infos-complementaires .infos div span, #infos-complementaires .infos div a {
    color: #096f79 !important;
}

#contentcall .priories a {
    color: #096f79 !important;
}

div#contentcall {
    background: #096f7912 !important;
}

.expert.container.bordtwo {
    background: #096f7912 !important;
}

.nv-bloc .expert.container.bordone {
    background: #096f7912 !important;
}

.expert.container.bordone {
    background: #096f7912 !important;
}
.grid-container i {
    color: #096f79 !important;
}
.content-archive .bandeau-cpt .content {
    background-color: #096f7980 !important;
}

.content-archive .header-recherche .form .search-submit,
.content-archive .post-list .en-tete-post .cols .action-div a:hover, 
.content-archive .post-list .en-tete-post .post .action-div a:hover,
.content-archive .post-list .posts .cols .action-div a:hover, 
.content-archive .post-list .posts .post .action-div a:hover{
    background: #096f79 !important;
    color:#fff !important;
}
.content-archive .post-list .en-tete-post .cols .action-div a, .content-archive .post-list .en-tete-post .post .action-div a, .content-archive .post-list .posts .cols .action-div a, .content-archive .post-list .posts .post .action-div a{
    color:#096f79 !important;
    border-color:#096f79 !important;
}

.content-archive .pagination .page-numbers.current,
body .content-archive .pagination .page-numbers:hover,
.content-archive .pagination a.page-numbers.next:hover, 
.content-archive .pagination a.page-numbers.prev:hover,
a#cta_button_20379407_651d026c-8617-4e2b-9109-cd3c62ef2ea4{
    background: #096f79 !important;
    border-color: #096f79 !important;
}
#actus-similaires .posts .single-post div a {
    color: #096f79 !important;
}

#actus-similaires .posts .single-post div span {
    background: #096f7912 !important;
    border-color: #096f7912 !important;
}
button.woocommerce-Button.button {
    color: #fff !important;
}
p.woocommerce-LostPassword.lost_password a {
    color: #096f79 !important;
}
.cli-tab-footer .wt-cli-privacy-accept-btn {
    background: #096f79 !important;
}
.post-row .post-liste .post-list .posts .post .title a,
.post-row .post-liste .post-list .posts .post--item p{
    color: #092437 !important;
}

.content-archive .bandeau-cpt .img-background, .content-archive .bandeau-cpt--search #filter-input .search-submit, .content-archive .bandeau-cpt--footer--container {
    background: #096F79 !important;
	  box-shadow: 0px 0px 3px #000 !important;
}
.single .contenu-article,
.elementor.programs{
    background: linear-gradient(
  to bottom,
  #096F7920,
  rgba(9, 111, 121, 0.02)
) !important;
padding-top:50px;
}
.single .expert.container.row {
    gap: 50px;
}

.single .expert .column:nth-child(1),
.single .s003,
.expert.container.bordone,
.nv-bloc .expert.container.bordone,
.reseau,.lien-element,
#actus-similaires .posts .single-post,
.elementor-65350 .elementor-element.elementor-element-631f > .elementor-element-populated,
.elementor-widget-container .expert.container.bordtwo{
    box-shadow: 3px 1px 7px 0px rgba(6, 78, 85, 0.04);
    background: #fff !important;
    padding: 20px;
    border-radius: 20px;
    
}
.single .expert .column:nth-child(1){
	margin-bottom: 71px;
}
.lien-element {
    margin-top: 20px;
}


.expert.container {
    padding: 0;
}
body .expert.container > h3 {
    margin: 0;
    font-size: 35px !important;
}


.posts {
    margin-top: 34px !important;
}
div#eurofoundings {
    margin: 0;
}
button.btn-cent {
    border-radius: 6px;
    margin-top: 20px;
    padding-left: 25px;
    padding-right: 25px;
    background: #096F79 !important;
}
.s003 form .inner-form .input-field.third-wrap .btn-search {
    background: #096F79 !important;
}
.column:nth-child(1) div#infos-complementaires {
    padding: 0;
}

.grid-container {
    border-radius: 20px;
}
.elementor-65350 .elementor-element.elementor-element-4bf65eab:not(.elementor-motion-effects-element-type-background), .elementor-65350 .elementor-element.elementor-element-4bf65eab > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background: transparent !important;
}
.single .contenu-article, .elementor.programs{
	padding:0 !important;
}
.single .contenu-article {
    padding-top: 50px !important;
}
.elementor-65473 .elementor-element.elementor-element-690aa815:not(.elementor-motion-effects-element-type-background), .elementor-65473 .elementor-element.elementor-element-690aa815 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background: #096F7938 !important;
}

.single-programs span.elementor-icon {
    background: #096f79 !important;
}
.btn-welcomeurope-bleu {
    background: #096f79 !important;
    border-color: #096f79 !important;
}
