/* --- Conteneur global du formulaire --- */
.bloc-contact-gravity .gform_wrapper {
    width: 1092px;
    margin: 0 auto;
}

.page-template-tpl-realisation .acf-logos-carousel {
    margin: 112px auto 112px;
	padding: 0;
}

.bloc-contact-gravity .contact-header {
    gap: 20px;
    display: flex;
    flex-direction: column;
	margin-bottom: 15px;
}

.bloc-contact-gravity .contact-title p,
.bloc-contact-gravity .contact-desc p{
	margin: 0;
}

.bloc-contact-gravity .contact-title{
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	font-size: 50px;
	line-height: 110%;
	color: #000000;
}

.bloc-contact-gravity .contact-title strong{
	font-weight: 700;
}

.bloc-contact-gravity .contact-desc{
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	font-size: 20px;
	line-height: 36px;
	text-align: center;
	color: #000000;
}

/* --- Labels (Titres des champs) --- */
/* "Entreprise", "téléphone", etc. en gras au dessus */
.bloc-contact-gravity .gform_wrapper .gfield_label {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 130%;
	color: #000000;
    margin-bottom: 8px;
    display: block;
}

/* --- Champs (Input, Select, Textarea) --- */
.bloc-contact-gravity .gform_wrapper input[type=text],
.bloc-contact-gravity .gform_wrapper input[type=email],
.bloc-contact-gravity .gform_wrapper input[type=tel],
.bloc-contact-gravity .gform_wrapper textarea {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 0px 15px;
	height: 60px;
	border: 1px solid #C3C3C3;
	border-radius: 10px;
	font-family: 'Raleway';
	font-style: italic;
	font-weight: 300;
	font-size: 13px;
	line-height: 23px;
	color: #78797A;
	text-align: center;
	transition: border-color 0.3s ease;
	    box-shadow: none;
}

.bloc-contact-gravity .gform_wrapper select{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 0px 15px;
	height: 60px;
	border: 1px solid #C3C3C3;
	border-radius: 10px;
	font-family: 'Raleway';
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	color: #000000;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='16' viewBox='0 0 22 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.25 6.75L10.75 9.25L13.25 6.75' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.75 0.75L4.75 0.750001C3.68913 0.750001 2.67172 1.17143 1.92157 1.92157C1.17143 2.67172 0.75 3.68914 0.75 4.75L0.750001 10.75C0.750001 11.8109 1.17143 12.8283 1.92157 13.5784C2.67172 14.3286 3.68914 14.75 4.75 14.75L16.75 14.75C17.8109 14.75 18.8283 14.3286 19.5784 13.5784C20.3286 12.8283 20.75 11.8109 20.75 10.75L20.75 4.75C20.75 3.68913 20.3286 2.67172 19.5784 1.92157C18.8283 1.17143 17.8109 0.75 16.75 0.75Z' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 22px 16px;
	    box-shadow: none;
}

/* Focus : Quand on clique dans le champ */
.bloc-contact-gravity .gform_wrapper input:focus,
.bloc-contact-gravity .gform_wrapper textarea:focus,
.bloc-contact-gravity .gform_wrapper select:focus {
    border: 1px solid #C3C3C3;
    outline: none;
}

/* --- Placeholders (Textes gris à l'intérieur) --- */
/* "ICI VOTRE ENTREPRISE" en italique gris clair */
.bloc-contact-gravity .gform_wrapper ::placeholder {
    font-family: 'Raleway';
	font-style: italic;
	font-weight: 300;
	font-size: 13px;
	line-height: 23px;
	color: #78797A;
}

.bloc-contact-gravity .gform_button{
	display: inline-flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 0px !important;
	gap: 10px !important;
	width: 235px !important;
	height: 85px !important;
	font-family: 'Raleway' !important;
	font-style: normal !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	line-height: 44px !important;
	color: #FFFFFF !important;
	background: #0084FF !important;
	border: 1px solid #0084FF !important;
	border-radius: 20px !important;
	-webkit-appearance: none; /* annule le style iOS par défaut */
	text-align: center !important;
	text-indent: 0 !important;
    appearance: none;

}

.bloc-contact-gravity .gform_footer{
    justify-content: end !important;
	        margin-top: -60px !important;
}

.bloc-contact-gravity  .gfield_required{
	display: none !important;
}

.bloc-contact-gravity .ginput_container_consent input{
	width: 21px;
	height: 22px;
	border: 1px solid #000000;
	    border-radius: 50% !important;
}

/* --- Case à cocher (Ronde comme sur l'image) --- */
.bloc-contact-gravity .gfield_checkbox input[type=checkbox],
.bloc-contact-gravity .gfield_consent_label input[type=checkbox] {
    border-radius: 50%; /* Rend la case ronde */
    width: 20px;
    height: 20px;
    border: 1px solid #aaa;
    margin-right: 10px;
    position: relative;
    top: 5px;
}

/* --- Bouton Envoyer --- */
.bloc-contact-gravity .gform_footer {
    margin-top: 20px;
    text-align: right; /* Aligner à droite */
    padding: 0;
}

.bloc-contact-gravity .gform_footer input[type=submit] {
    background-color: #007bff; /* Bleu vif */
    color: #fff;
    font-weight: 600;
    padding: 15px 50px;
    border-radius: 12px; /* Bouton bien arrondi */
    border: none;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.3s;
}

.bloc-contact-gravity .gform_footer input[type=submit]:hover {
    background-color: #0056b3;
}
.page-template-tpl-offre-demploi .bloc-contact-gravity {
    padding: 0;
	margin: 85px auto 92px;
}
.gform_wrapper .ginput_container_fileupload {
    padding: 17px 22px 17px 22px;
           width: 250px;
	height: 78px;
}
.gfield_description.gform_fileupload_rules{
	display: none !important;
}

#field_2_10{
	grid-column: span 6 !important;    display: flex;
    align-items: center;
}
#field_2_12{
        grid-column: span 3 !important;
    }

/* 1. Target the Gravity Forms File Upload Container */
.gform_wrapper .ginput_container_fileupload {
    position: relative; /* Necessary for layering */
    display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
    
    /* Design from your image */
    padding: 17px 22px 17px 10px;
	gap: 10px;
    color: #ffffff;
    background: #000000;
	border: 1px solid #0084FF;
	border-radius: 20px;
    padding: 12px 25px;
      display: flex;
    align-items: center;
	height: 78px;
    transition: all 0.3s ease;
    
    /* To hide the default ugly file text pushing the layout */
    overflow: hidden; 
}

/* 2. Create the "Télécharger votre CV" text */
.gform_wrapper .ginput_container_fileupload::before {
    content: "Télécharger votre CV";

font-family: 'Raleway';
font-style: normal;
font-weight: 600;
font-size: 16px;
line-height: 44px;

color: #FFFFFF;

    white-space: nowrap;
    z-index: 1;
}

/* 3. Create the Icon (SVG) */
.gform_wrapper .ginput_container_fileupload::after {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    margin-left: 15px;
    z-index: 1;
    
    /* This is the SVG icon from your image encoded as background */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* 4. Make the actual Input invisible but clickable */
.gform_wrapper .ginput_container_fileupload input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0; /* Make it invisible */
    cursor: pointer;
    z-index: 10; /* Put it on top of the text/icon */
    font-size: 0; /* Helps hide default text in some browsers */
}

/* 5. Hover Effect */
.gform_wrapper .ginput_container_fileupload:hover {
    background-color: #333333;
}
/* --- Bouton Envoyer --- */
.page-template-tpl-offre-demploi  .gform_footer {
    margin-top: 20px;
    text-align: right; /* Aligner à droite */
    padding: 0;
}
.page-template-tpl-offre-demploi #field_2_10{
	grid-column: span 6 !important;    display: flex;
    align-items: center;
}
.page-template-tpl-offre-demploi #field_2_12{
        grid-column: span 3 !important;
    }
	.page-template-tpl-offre-demploi .gform_footer{
    justify-content: end !important;
	        margin-top: -83px !important;
}
@media (max-width: 1499px) and (min-width: 769px) {
    
    /* 1. Container Adjustment */
    .bloc-contact-gravity .gform_wrapper {
        max-width: 900px; /* Constrain width to avoid edge touching */
    }

    .page-template-tpl-offre-demploi .bloc-contact-gravity {
        margin: 60px auto 60px;
    }

    /* 2. Typography Scaling */
    .bloc-contact-gravity .contact-title {
        font-size: 40px; /* Reduced from 50px */
    }

    .bloc-contact-gravity .contact-desc {
        font-size: 16px; /* Reduced from 20px */
        line-height: 1.5;
    }

    /* 3. Inputs */
    .bloc-contact-gravity .gform_wrapper input[type=text],
    .bloc-contact-gravity .gform_wrapper input[type=email],
    .bloc-contact-gravity .gform_wrapper input[type=tel],
    .bloc-contact-gravity .gform_wrapper textarea {
        height: 55px; /* Slightly compact inputs */
        font-size: 14px;
    }

    /* 4. Button & Upload */
    .bloc-contact-gravity .gform_button,
    .gform_wrapper .ginput_container_fileupload {
        height: 70px !important; /* Slightly smaller height */
    }
    
    .page-template-tpl-offre-demploi .gform_footer {
        margin-top: -75px !important; /* Adjust negative margin for new height */
    }
	.page-template-tpl-offre-demploi #field_2_12 {
 
    margin-left: -50px;
}
}
@media (max-width: 768px) {
	.page-template-tpl-offre-demploi  #field_2_12 {
    grid-column: span 12 !important;margin: 30px 0px;
}
.page-template-tpl-offre-demploi  #field_2_10 {
    grid-column: span 12 !important;
order: 9999;
}
	.bloc-contact-gravity .contact-title {
    font-size: 26px;
line-height: 110%;
}
.bloc-contact-gravity .contact-desc {
    font-size: 14px;
line-height: 130%;
}	
.gform_wrapper{
	    width: 100% !important;
}
.gform-theme--foundation .gform_fields {
  
 
    grid-row-gap: 8px!important;
    row-gap: 8px!important;
}
.bloc-contact-gravity .gform_footer {
    justify-content: center !important;
    margin-top: 30px !important;
}
#field_1_8,
#field_1_10{
	margin-top: 30px !important;
}
#field_1_10 {
    padding-left: 40px;
}
.bloc-contact-gravity {
    padding: 0 !important;

}

}
