/* 
Theme Name: Animal University
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Animal University is a child theme of Hello Elementor, created by Mixit7 team
Author: Mixit7
Author URI: https://www.mixit7.com/
Template: hello-elementor
Version: 3.0.0
Text Domain: animal-university
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Mobile-first */
.br-desktop { display: none; } 
.br-mobile  { display: inline; } 

@media (min-width: 1025px){
  .br-desktop { display: inline; }
  .br-mobile  { display: none; }
}

/* Homepage */
.right-white-ruban-effect {
    position: relative;
}
.right-white-ruban-effect::after {
  content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0px;
    height: 100%;
    border-width: 23px 10px 23px 0px;
    border-color: transparent #213046 transparent transparent;
    border-style: solid;
}

.right-yellow-ruban-effect {
  position: relative;
  background: yellow; /* fond visible pour test */
  clip-path: polygon(
    0 0,
    calc(100% - 10px) 0,
    91% 50%, 
    calc(100% - 10px) 100%,
    0 100%);
}

.right-yellow-ruban-formation {
  background: yellow; /* fond visible pour test */
  clip-path: polygon(
    0 0,
    calc(100% - 10px) 0,
    91% 50%, 
    calc(100% - 10px) 100%,
    0 100%);
	transform: translateX(-40px);
}
@media (max-width: 767px){
.right-yellow-ruban-formation {
	  transform: translateX(-20px); 
	}
}

.double-yellow-ruban-effect {
  background: yellow;
  clip-path: polygon(
    10px 0,                 /* coin haut gauche rentré */
    calc(100% - 10px) 0,    /* coin haut droit rentré */
    91% 50%,                /* arrête milieu droit */
    calc(100% - 10px) 100%, /* coin bas droit rentré */
    10px 100%,              /* coin bas gauche rentré */
    9% 50%                  /* arrête milieu gauche */
  );
}


/* Instructions formation DP */

/* Start Page formations */
.au-tarifs-tabs a{
    cursor: pointer;
}
.au-cta-formation:hover .elementor-heading-title{
    color: #fff !important;
}
/* End Page formations */

/* Start actus  */
.sidebar-actus-listing:hover .elementor-icon-list-text{
    color: #F1C000 !important;
}
/* End actus  */

.f-step {
    position: relative;
}

.f-step::after {
  content: "";
  position: absolute;
  bottom: -75px;
  left: -45px;
  width: 100%; 
  height: 100px;
  z-index: 9;
  background-image: url('https://www.au.test7.eu/wp-content/uploads/2025/04/illustration-arrow-left-formations-animal-university.png');
  background-size: contain;
  background-repeat: no-repeat;
}
.au-temoignages-carousel .elementor-swiper-button-prev{
	left: -57% !important;
}
.au-temoignages-carousel .elementor-swiper-button-next{
	left: -50% !important;
}
.au-temoignages-carousel .elementor-swiper-button{
    font-size: 37px !important;
	top: 85% !important;
}

/*  Start page aides financement DP*/
.ulli-bullets-container ul {
  list-style: none;    
  padding-left: 0;     
  margin-left: 0;
}
.ulli-bullets-container ul li {
  position: relative;
  padding-left: 20px;  
}
.ulli-bullets-container ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;          
  width: 10px;         
  height: 10px;
  background-color: #F1C000; 
  border-radius: 50%; 
}


.accordeon-aides .e-n-accordion-item-title-text{
	position: relative;
  padding-left: 20px;  
}
.accordeon-aides ul {
  list-style: none;    
  padding-left: 0;     
  margin-left: 0;
}
.accordeon-aides ul li{
	position: relative;
  padding-left: 20px;  
}

.accordeon-aides  ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;          
  width: 7px;         
  height: 7px;
  background-color: #F1C000; 
  border-radius: 50%; 
}
.ul-icone-mail-contact ul li .elementor-icon-list-text{
    display: block;
}
.ul-icone-mail-contact ul li .elementor-icon-list-text a{
    font-weight: bold;
    display: inline;
}
.ul-icone-mail-contact .ul li{
	position: relative;
   
}
.ul-icone-mail-contact  ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;          
  width: 0;         
  height: 0;
  background-color: #F1C000; 
  border-radius: 50%; 
}
.accordeon-aides ul li ul li {
  position: relative;
  padding-left: 20px;
}

.accordeon-aides ul li ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px; 
  width: 7px;  
  height: 7px; 
  background-image: url("https://www.au.test7.eu/wp-content/uploads/animal-university-bullet-vide-icone.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
	background-color: transparent; 
}
.accordeon-aides .e-n-accordion-item-title-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;          
  width: 10px;         
  height: 10px;
  background-color: #F1C000; 
  border-radius: 50%; 
}
.accordeon-aides  a{
	color: #F1C000;
}
.aides-table-container-white table tbody tr td,
.aides-table-container-white table thead th,
.aides-table-container-bleu table thead th,
.aides-table-container-bleu table tbody tr td{
        border: none !important;
}
/* Ligne d’en-tête */
.aides-table-container-bleu .table-financements thead th {
  background-color: #5B6E8A; 
  font-weight: 700;
  padding: 12px 16px;
}
.aides-table-container-white .table-financements thead th {
  background-color: #BFCFE5; 
  font-weight: 700;
  padding: 12px 16px;
}
/* Lignes paires (zébrage) */
.aides-table-container-bleu .table-financements tbody tr:nth-child(even) {
  background-color: #374B68;
}
.aides-table-container-white .table-financements tbody tr:nth-child(even) {
  background-color: #E3ECF8;
}
/* Lignes impaires */
.aides-table-container-bleu .table-financements tbody tr:nth-child(odd) {
  background-color: #2B3E5A;
}
.aides-table-container-white .table-financements tbody tr:nth-child(odd) {
  background-color: #F8FAFC;
}

/* Colonnes */
.aides-table-container-white .table-financements th,
.aides-table-container-bleu .table-financements th{
  padding: 25px 50px;
}
.aides-table-container-white .table-financements th
.aides-table-container-bleu .table-financements td{
  padding: 18px 50px;
}

/*  End page  aides financement  DP*/

/*  Start page  webinaire  DP*/
/* ===== Checkboxes Elementor – compat mobile (input masqué + case sur label) ===== */

/* Structure Elementor: <span class="elementor-field-option"><input type="checkbox"><label>Texte</label></span> */

/* 1) Masquer l'input natif mais conserver accessibilité/clic sur label */
.elementor-form .elementor-field-subgroup .elementor-field-option input[type="checkbox"],
.elementor-form .elementor-field-type-acceptance input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

/* 2) Styliser le label + créer la “fausse” case via ::before */
.elementor-form .elementor-field-subgroup .elementor-field-option label,
.elementor-form .elementor-field-type-acceptance label {
  position: relative;
  display: block;
  padding-left: 35px;           /* place pour la case */
  cursor: pointer;
  line-height: 1.4;
}

/* 3) Case (vide) */
.elementor-form .elementor-field-subgroup .elementor-field-option label::before,
.elementor-form .elementor-field-type-acceptance label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 20px;                  /* taille desktop */
  height: 20px;
  border: 1px solid #6B85AB;
  border-radius: 0px;           /* 0 pour carrés stricts */
  background: transparent;
  box-sizing: border-box;
}

/* 4) Coche (affichée quand input est coché) */
.elementor-form .elementor-field-subgroup .elementor-field-option input[type="checkbox"]:checked + label::after,
.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked + label::after {
  content: "";
	  content: "✔";

  position: absolute;
  left: 2px;                    /* centrer la coche dans la case 24px */
  top: 5px;
  width: 8px;
  height: 14px;
	font-size: 25px;
	font-weight: bold;
}
/* 5) État focus/clavier (accessibilité) */
.elementor-form .elementor-field-subgroup .elementor-field-option input[type="checkbox"]:focus + label::before,
.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:focus + label::before {
  outline: 2px solid #6B85AB;
/*   outline-offset: 2px; */
}

/* 6) Espacement entre options */
.elementor-form .elementor-field-subgroup .elementor-field-option,
.elementor-form .elementor-field-type-acceptance {
  margin-bottom: 0px;
}
.elementor-field-option label{
	display: flex;
        align-content: center;
        flex-wrap: wrap;
}
/* Supprimer la fausse case uniquement pour les champs RADIO */
.elementor-form .elementor-field-type-radio .elementor-field-option label::before {
  content: none !important;
  display: none !important;
}

/* (Sécurité) si tu avais aussi un ::after générique */
.elementor-form .elementor-field-type-radio .elementor-field-option label::after {
  content: none !important;
}
.elementor-form .elementor-field-type-radio .elementor-field-option {
    display: flex;
}
.elementor-form .elementor-field-type-radio .elementor-field-subgroup {
    display: flex
;
    flex-wrap: wrap;
    gap: 10px;
}

.elementor-form .elementor-field-type-radio .elementor-field-option label{
    padding-left: 010px;
}

/* ===== Mobile : augmenter la touch target ===== */
@media (max-width: 767px) {
  .elementor-form .elementor-field-subgroup .elementor-field-option label,
  .elementor-form .elementor-field-type-acceptance label {
    padding-left: 32px;         /* plus de place à gauche */
  }
  .elementor-form .elementor-field-subgroup .elementor-field-option label::before,
  .elementor-form .elementor-field-type-acceptance label::before {
    width: 20px;                /* vraie grande case tactile */
    height: 20px;
    top: 8px;
  }
  .elementor-form .elementor-field-subgroup .elementor-field-option input[type="checkbox"]:checked + label::after,
  .elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked + label::after {
    left: 9px;                  /* recaler la coche dans 32px */
    top: 5px;
    width: 10px;
    height: 18px;
    border-width: 3px;
  }
	.elementor-form .elementor-field-subgroup .elementor-field-option,
.elementor-form .elementor-field-type-acceptance {
  margin-bottom: 0px;
}
}


/* Effet quand cochée */
.elementor-form input[type="checkbox"]:checked {
  background-color: #2D3D55; /* fond jaune */
  border-color: #6B85AB;
}



/* Alignement du texte avec la case */
.elementor-form .elementor-field-type-checkbox .elementor-field-option {
  display: flex;
  align-items: top;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
	height: 35px;
}
.webinaire-form .elementor-form .elementor-field-type-checkbox .elementor-field-option {
	height: auto;
}
/*  End  page  webinaire  DP*/

/* Start Newsletter */
.pas-form button{
    cursor: pointer !important;
}
/* End Newsletter */


@media(max-width:1024px){
	.au-temoignages-carousel .elementor-swiper-button{
	top: 100% !important;
}
	.au-temoignages-carousel .elementor-swiper-button-prev{
	left: 4% !important;
}
.au-temoignages-carousel .elementor-swiper-button-next{
	left: 10% !important;
}
}
/* Start footer */
#sb_instagram #sbi_images {;
    padding: 0;
}
/* End footer */

/* Par défaut : icon tabs visible sur mobile et tablette */
.close-mobile-tabs .e-n-tab-icon {
  display: flex !important;
}

/* Top bar text */
/* Site Topbar - Add to Child Theme style.css */

.site-topbar {
  text-align: center;
  padding: 0 12px;
}

.site-topbar .mixit7-topbar-heading {
  font-family: "Raleway", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.02em;
  color: #000000;
  margin: 0;
}

.site-topbar .mixit7-topbar-heading a,
.site-topbar .mixit7-topbar-link {
  color: #000000 !important;
  text-decoration: none;
  font: inherit;
}

.site-topbar .mixit7-topbar-heading a:hover,
.site-topbar .mixit7-topbar-link:hover {
  color: #333333 !important;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

.site-topbar .mixit7-topbar-heading a:focus,
.site-topbar .mixit7-topbar-link:focus {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .site-topbar {
    padding: 0 8px;
  }
  
  .site-topbar .mixit7-topbar-heading {
    font-size: 14px;
  }
}

/* Sur desktop (écrans 1024px et +) : on cache */
@media (min-width:1024px) {
	.close-mobile-tabs .e-n-tab-icon {
		display: none !important;
	}
	button #heading-tabs {
		display: flex !important;
		justify-content: space-between !important;
	}
	.elementor-widget-n-tabs .e-n-tab-title {
		display: flex !important;
		justify-content: space-between !important;
	}
}

@media (max-width:1024px) {
	button #heading-tabs {
		display: flex !important;
		justify-content: space-between !important;
	}
	.elementor-widget-n-tabs .e-n-tab-title {
		display: flex !important;
		justify-content: space-between !important;
	}
}

@media(max-width:768px){
	.f-step::after {
    bottom: 0;
    left: 0;
    width: 70%;
    height: 70px;
	}
	.s-step::after {
    bottom: -113px;
    left: 83%;
    width: 50px;
    height: 70px;
	}
}
@media(max-width:425px){
.au-temoignages-carousel .elementor-swiper-button-next{
	left: 18% !important;
}
	.s-step2::after,
	.s-step::after,
	.f-step::after {
    width: 0%;
    height: 0px;
}
	
}
@media(min-width:426px){
	.au-temoignages-carousel .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    display: none;
}
}

:target {
  scroll-margin-top: 80px; /* adjust height */
}

/* Legal pages typography adjustments */
.legal-text h2 {
  font-size: 1.35em;     /* bigger than h3, but lighter than default */
  line-height: 1.4;
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
}

.legal-text h3 {
  font-size: 1.15em;     /* smaller than h2 */
  line-height: 1.4;
  font-weight: 600;
  margin-top: 1.2em;
  margin-bottom: 0.6em;
}

/* Extra spacing after lists */
.legal-text ul,
.legal-text ol {
  margin-bottom: 1.2em;
}