/*
 Theme Name:   iwego child
 Description:  Theme iwego
 Author:       Iwego
 Template:     iwego
 Version:      1.0.0
*/



/************************************************/
/**                                            **/
/**                 GENERAL                    **/
/**                                            **/
/************************************************/

:root {
    --box-shadow : rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
    --box-shadow-hover: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
}


.txt-white,.txt-white *{color: white;}

.bloc-texte-bandeau *{color: white;}
.bloc-texte-bandeau h2 {margin: 0; font-family: "Abhaya Libre", serif; line-height: 1;}
.bloc-texte-bandeau .btn-cta {background-color: white; color: var(--couleur-principale);}
.bloc-texte-bandeau .btn-cta:hover{  box-shadow: inset 25em 0 0 0 var(--couleur-secondaire);color: white;} 

.breadcrumb span, .breadcrumb a, .breadcrumb .breadcrumb_last {color: white; font-weight: 300; text-decoration: none;}

.slick-dotted .slick-dots {bottom: -4rem;}
.slick-dotted .slick-dots li button:before {color: #fff !important;}

.btn-cta, .btn-contact {text-decoration: none; padding: 1.2rem 3rem; text-align: center;}

h1 {margin-top: 0;}

.txt-abhaya {font-family: "Abhaya Libre", serif; }
h2 .txt-abhaya, h3 .txt-abhaya {font-size: 140%; }

strong {font-weight: 700;}

@media (min-width: 1024px) {
    .section-margin {margin-top: 10rem; margin-bottom: 10rem;}
    .bloc-texte-bandeau h2 {font-size: 5rem; }
    body:not(.home) h1 {margin-bottom: 2.5rem; line-height: 5.5rem;}
}


/************************************************/
/**                                            **/
/**              TARTE AU CITRON               **/
/**                                            **/
/************************************************/


.tarteaucitronAlertBigTop::after {
    content: '' !important;
    background: url(/wp-content/uploads/2025/10/cookie-iwego.png) !important;
    height: 70px !important;
    width: 100px !important;
    position: absolute !important;
    right: 1.1em !important;
    margin: 0 auto !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
}
div#tarteaucitronRoot.tarteaucitronBeforeVisible:before{display:none;}



/************************************************/
/**                                            **/
/**                  HEADER                   **/
/**                                            **/
/************************************************/

header * {color: inherit;}
.topbar-menu {background-color: white; display: none;}
.topbar-menu .main-container{display: flex; justify-content: center; align-items: center; padding: 1rem 0;gap: 4rem;}
.topbar-menu .main-container p {margin: 0; font-style: italic; font-size: 1.5rem; color: var(--couleur-secondaire);}
.topbar-menu .footer-social{display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; background-color: var(--couleur-secondaire); color: white; border-radius: 50%; margin-left: 0.8rem; text-decoration: none; transition: all 0.3s ease;}
.topbar-menu .footer-social:hover{background-color: var(--couleur-principale); transform: translateY(-2px);}
.topbar-menu .footer-social i {font-size: 1.4rem;}
.topbar-menu .telephone-topbar{align-items: center;gap:2rem;}
.topbar-menu .btn-cta {font-size: 1.5rem; padding: .6rem 2rem;}

.header-menu {padding: 0;}
#headermenu.sticky {background-color: #fff; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;}
#headermenu.sticky .main-menu>li.menu-item>a {color: var(--couleur-principale);}
#headermenu.sticky .header-logo {filter: invert(53%) sepia(24%) saturate(911%) hue-rotate(326deg) brightness(90%) contrast(87%);}
#headermenu.sticky .topbar-menu {display: none;}

header .logo-header {padding: 2rem 1rem;}
.home .sticky .logo-header{display: block;}

.main-menu>li.menu-item:not(.current_page_item)>a:hover, .main-menu>li.menu-item.open>a, .main-menu>li.current_page_item>a{color: white; text-decoration: underline; font-weight: 600;}
.main-menu>li>a{text-transform: uppercase;}
.main-menu a {text-decoration: none;}

.menu-tarifs .container-bloc-vignettes-tarifs .container-texte-detail{display: none;}

@media (min-width: 1024px) {
    .topbar-menu {display: block;}
}

/************ MEGA MENU ************/


.mega-menu-content {display: none; position: absolute; left: 0; top: 100%; width: 100%; background: var(--couleur-principale-light); z-index: 10; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;}
/*.main-menu li:nth-child(1) .mega-menu-content {display: block !important;}*/

.main-menu>li.menu-item>a {padding: 3rem 1.5rem;}
.mega-menu-content .nos-services-accueil-columns {margin-bottom: 0;}
.mega-menu-content .container-bloc-vignettes-services {background-color: #fff;}
.mega-menu-content .container-bloc-vignettes-services .texte-vignette {background-color: transparent;}
.mega-menu-content .container-bloc-vignettes-services .texte-vignette>p {color: var(--couleur-secondaire);}
.mega-menu-content .container-bloc-vignettes-services .texte-vignette .titre-overlay-vignette p {color: #fff;}

.mega-menu-content .container-bloc-vignettes-tarifs .slick-slider-tarifs {justify-content: center;}
.mega-menu-content .container-bloc-vignettes-tarifs .container-tarif {width: 35rem; flex: none; transition: all 230ms ease-in-out;}
.mega-menu-content .container-bloc-vignettes-tarifs .bloc-contenu-tarif {padding: 2rem 3rem;}
.mega-menu-content .container-bloc-vignettes-tarifs .prix-tarif {display: none;}
.mega-menu-content .container-bloc-vignettes-tarifs .texte-tarif p {font-size: 1.5rem;}
.mega-menu-content .container-bloc-vignettes-tarifs .image-tarif img {height: 20rem;}


@media (min-width: 768px) {
    header .logo-header {padding: 0;} 
    .home .logo-header {display: none;}
    .container-bloc-vignettes-services .vignette-link:hover {transform: none;}
    .container-bloc-vignettes-services .vignette-link:hover .texte-vignette * {color: #fff;}
    .mega-menu-content .container-bloc-vignettes-tarifs .container-tarif:hover {transform: translateY(-0.3rem); box-shadow: var(--box-shadow-hover);}
}


/************************************************/
/**                                            **/
/**                  FOOTER                   **/
/**                                            **/
/************************************************/
.hamburger-box.active .line:nth-child(3){transform: translateY(-7px) rotate(-45deg);}
footer {padding-top: 0;}
footer a {text-decoration: none; font-weight: 300;}
footer ul.menu li {margin: .5rem 0;}


.footer-desktop {padding: 0 0 6rem; justify-content: left;}
.footer-desktop * {color: white;}
.footer-desktop .footer-arbo {width: 100%;}
.footer-desktop .footer-col {flex: none;}
.footer-desktop .footer-col:nth-child(-n + 1) {width: 50%;}
.footer-desktop .col-tel-reseau-footer {width: 100%; order: -1;}
.footer-desktop .col-tel-reseau-footer p {font-style: italic; font-size: 1.8rem; margin: 0; font-weight: 500; margin-bottom: 1rem;}
.footer-desktop .col-tel-reseau-footer .tel-footer {font-weight: bold;}
.footer-desktop .col-tel-reseau-footer .footer-social {margin-top: 1rem; column-gap: 1rem;}
.footer-desktop .col-tel-reseau-footer .footer-social-icon {display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; background-color: white; color: white; border-radius: 50%; text-decoration: none; transition: all 0.3s ease;}
.footer-desktop .col-tel-reseau-footer .footer-social-icon i{color: var(--couleur-principale); }
.footer-desktop .col-tel-reseau-footer .footer-social-icon:hover{background-color: var(--couleur-secondaire); color: white; transform: translateY(-2px);}
.footer-desktop .col-tel-reseau-footer .footer-social-icon:hover i{color: white;}
.footer-desktop .menu *{text-transform: uppercase;}
.footer-desktop .footer-logo img {max-width: 100%;} 
footer .footer-copyright a{font-weight: 400;}
.footer-copyright p {text-align: center; font-size: 1.5rem ; font-weight: 400; font-style: italic; margin-top: 3rem;}
.footer-copyright {justify-content: center;}

footer ul.menu li:hover a {transform: translateY(-0.2rem);}



.footer-mobile-bottom {background-color: var(--couleur-principale-light); box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;}
.footer-mobile-bottom .hamburger-box {height: 2rem;}
.footer-mobile-bottom .hamburger-box span {background-color: #fff;}
.footer-mobile-bottom .footer-devis-button {padding: .1rem;}
.footer-mobile .footer-col ul li {padding: 1.5rem 0;}
.footer-mobile .footer-menu-close, .footer-mobile .footer-social {background-color: #fff;}
.footer-mobile-menu .footer-mobile-logo a {height: 5rem;}

@media (min-width: 768px) {
    .footer-desktop .footer-logo img {max-width: 25rem;}
    .footer-desktop .footer-col:nth-child(-n + 1), .footer-desktop .col-tel-reseau-footer, .footer-desktop .footer-col {flex: 1; width: auto;}
    .footer-desktop .col-tel-reseau-footer {order: initial;}
}

@media (min-width: 1400px) {
    .footer-desktop .footer-logo img {max-width: 25rem;}
    .footer-desktop {padding: 0;}
}



/************************************************/
/**                                            **/
/**                  ACCUEIL                   **/
/**                                            **/
/************************************************/


.section-nos-services-accueil {position: relative;}
.section-nos-services-accueil .nos-services-accueil-columns {position: relative; z-index: 1;}

.section-fond-parallax h2 {text-shadow: 0px 0px 5px rgba(0, 0, 0, 1); font-weight: 400;}


/************************************************/
/**                                            **/
/**                NOS SERVICES                **/
/**                                            **/
/************************************************/


.section-presentation .bloc-image-contain {max-height: 30rem;}

.bandeau-lien-tarif .container-bloc-texte .bloc-texte-titre {margin-bottom: 0;}



@media (min-width: 768px) {
    .section-presentation .bloc-image-contain {max-height: 45rem;}
    .bandeau-lien-tarif {background-image: url(/wp-content/uploads/2025/10/logo-trame.svg);  background-repeat: no-repeat; position: relative;   background-size: contain; background-position: center;}

}
@media (min-width: 1024px) {
.section-zone-intervention h2 {font-size: 3rem; font-size: 3rem;}
}



/************************************************/
/**                                            **/
/**                  NOS TARIFS                   **/
/**                                            **/
/************************************************/

.section-tableau-tarifs{position: relative;}

.section-sur-mesure{border:1px solid var(--couleur-principale-light);}
.section-sur-mesure .container-bloc-texte .bloc-texte-contenu {padding: 0 !important;}

.section-sur-mesure .bloc-right h3 {margin-top: 0; margin-bottom: 2rem;}
.section-sur-mesure .bloc-right {padding: 2rem 3rem 3rem;}

.container-bloc-texte-image ul li {margin-bottom: 1rem;}


@media (min-width: 1400px) {
    .section-tableau-tarifs::before, .section-tableau-tarifs::after {content: ''; position: absolute; top: 0;  width: 100%; height: 100%; background-image: url(/wp-content/uploads/2025/10/logo-trame.svg); background-repeat: no-repeat; background-size: 40rem; }
    .section-tableau-tarifs::before { left: 0; background-position: center left -20rem;}
    .section-tableau-tarifs::after {right: 0; background-position: center right -20rem;}
    .section-sur-mesure {max-width: 90rem;}
    .section-sur-mesure .bloc-right h3 {font-size: 2.5rem; margin-bottom: 2rem;}
    .section-sur-mesure .bloc-right {padding: 3rem 5rem 5rem;}
    .section-sur-mesure .titre-bloc {padding: 3rem 6rem; font-size: 3rem;}
}

@media (min-width: 1800px) {
    .section-tableau-tarifs::before, .section-tableau-tarifs::after {content: ''; position: absolute; top: 0;  width: 100%; height: 100%; background-image: url(/wp-content/uploads/2025/10/logo-trame.svg); background-repeat: no-repeat; background-size: 50rem; }
    .section-tableau-tarifs::before { left: 0; background-position: center left -25rem;}
    .section-tableau-tarifs::after {right: 0; background-position: center right -25rem;}
    .section-sur-mesure .titre-bloc {margin-left: auto; margin-right: auto;}
}

/************************************************/
/**                                            **/
/**              SINGLE LOGEMENT               **/
/**                                            **/
/************************************************/

.single-logement #content{overflow: hidden;}

.entete-single-logement{padding: 0 2rem;}
.container-entete-single-logement {display: flex; flex-direction: column; gap: 2rem;}
.container-entete-single-logement .colonne-gauche{display: flex; flex-direction: column;}
.container-entete-single-logement .colonne-droite {display: flex; align-items: center; justify-content: center; height: inherit;}
.container-entete-single-logement .etoiles{display: flex; gap: 0.5rem;}
.container-entete-single-logement .etoiles i {font-size: 2rem;}
.container-entete-single-logement .titre-logement { margin-left: 0; margin-right: 0; margin-top: 2rem; margin-bottom: 0; text-align: left;}
.container-entete-single-logement .sous-titre-logement {font-size: 2rem; margin: 0; font-weight: normal;}
.container-entete-single-logement .sous-titre-logement p {margin-top: .5rem; margin-bottom: 0; font-size: 1.8rem;}
.container-entete-single-logement .description-logement {margin-top: 3rem; }
.container-entete-single-logement .boutons-logement{display: flex; flex-direction: column; gap: 1rem; margin-top: 2rem;}
.container-entete-single-logement .btn-google,.container-entete-single-logement .btn-reservation { gap: 1rem; transition: all 0.3s ease;}

.container-entete-single-logement .image-principale {width: 100%;}
.container-entete-single-logement .image-principale img{width: 100%; height: 100%; object-fit: cover;}

.container-entete-single-logement  .btn-cta.btn-reservation{background-color: white; color: var(--couleur-principale);}
.container-entete-single-logement  .btn-cta.btn-reservation:hover{    box-shadow: inset 25em 0 0 0 var(--couleur-secondaire);color: white;}

.container-entete-single-logement  .btn-cta.btn-google:hover{    box-shadow: inset 25em 0 0 0 white;color: var(--couleur-secondaire);}

.galerie-single-logement .titre-galerie{text-align: center;margin-bottom: 2rem;color: white; font-style: italic;}
.carrousel-avis-client-logement h2{color:white;font-style: italic;text-align: center;font-weight: bold;}

.galerie-single-logement{padding: 2rem 0; width: 100vw; margin-left: calc(-50vw + 50%);}
.container-galerie-single-logement{width: 100%;}
.slider-galerie{width: 100%;}
.slide-galerie{aspect-ratio: 1; overflow: hidden;}
.slide-galerie a{display: block; width: 100%; height: 100%;}
.slide-galerie img{width: 100%; height: 100%; object-fit: cover;}

@media (min-width: 768px) {
    .container-entete-single-logement {flex-direction: row;  gap: 4rem;}
    .container-entete-single-logement .colonne-gauche {flex: 0 0 60%;}
    .container-entete-single-logement .colonne-droite {flex: 0 0 40%;}
    .container-entete-single-logement .boutons-logement{flex-direction: row; gap: 2rem;}
    .slider-galerie .slick-slide{padding: 0 1rem;}
    .container-entete-single-logement .image-principale {height: 100%;}
    .entete-single-logement {padding: 0 0 0 4rem;}
}

@media (min-width: 1400px) {
    .container-entete-single-logement {column-gap: 8rem; align-items: center;}
    .container-entete-single-logement .colonne-gauche {max-width: calc(1180px / 2 + 4rem); margin-left: auto;}
    .container-entete-single-logement .colonne-droite, .container-entete-single-logement .colonne-gauche {flex: 0 0 50%;}
    .container-entete-single-logement .sous-titre-logement p {font-size: 2rem;}
    .single-logement .slider-galerie .slick-dots {display: block !important;}

}


/************************************************/
/**                                            **/
/**                    FORM                    **/
/**                                            **/
/************************************************/

form input, form textarea {font-size: 1.6rem;  color: white; font-weight: 500; font-family: inherit; }
form input:not([type="submit"]):not([type="checkbox"]), form textarea {border-width: 0 0 1px 0; border-color: white; padding: .8rem .5rem; margin: 1rem 0; width: 100%; background-color: transparent; }
.home form input:not([type="submit"]):not([type="checkbox"]), .home form textarea {border-color: #cecece;}
.home form .form-politique-conf {color: var(--couleur-principale-light);}
form ::placeholder, form label {font-size: 1.6rem;  color: white; font-weight: 500; font-family: inherit; }
form input:focus-visible, form textarea:focus-visible {outline-color:  var(--couleur-principale);}
form input[type="submit"] {background-color: var(--couleur-secondaire); margin-top: 2rem; color: #fff; border-radius: 2.5rem; border: none; padding: 1rem 3rem; cursor: pointer; transition: all 230ms ease-in-out;}
form input[type="submit"]:hover {transform: translateY(-0.5rem);}
form .wpcf7-not-valid-tip {font-size: 1.4rem; margin-top: .5rem;}
form .btn-submit {justify-content: center; margin-top: 4rem;}
form .btn-submit input[type="submit"] {width: 100% !important;}
form .form-politique-conf {font-size: 1.5rem; font-style: italic; font-weight: 300; position: relative; text-decoration: none; }
form .form-politique-conf::after {content: "→"; display: inline-block; margin-left: .6rem;}

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item,.wpcf7-form .wpcf7-checkbox .wpcf7-list-item label { margin-left: 0!important}
.wpcf7-form input[type="checkbox"] {   -webkit-appearance: auto}
.wpcf7-form .form-row p { margin: 0}
.wpcf7-checkbox label {  position: relative; cursor: pointer}
.wpcf7-checkbox input[type=checkbox] { position: absolute; visibility: hidden;  width: 20px; height: 20px;  top: 0;  left: 0}
.wpcf7-checkbox input[type=checkbox]+span:before { display: block; position: absolute; content: '';   border-radius: 0;  height: 20px; width: 20px;   top: 0;  left: 0; border: 1px solid white}
.wpcf7-checkbox input[type=checkbox]+span:after { display: block; position: absolute; content: "\2713"; height: 20px; width: 20px; top: 0; left: 0;   visibility: hidden; font-size: 18px;text-align: center; line-height: 20px; color: white;  font-weight: 700}
.wpcf7-checkbox input[type=checkbox]:checked+span:before {background: transparent}
.wpcf7-checkbox input[type=checkbox]:checked+span:after { visibility: visible}
.wpcf7-list-item-label {  margin-left: 30px; display: inline-block;}
.wpcf7-form .row-rgpd{margin: 2rem 0;}
.section-formulaire .formulaire-contact-accueil .wpcf7-checkbox input[type=checkbox]+span:before{border: 1px solid var(--couleur-principale);}
.section-formulaire .formulaire-contact-accueil .wpcf7-checkbox input[type=checkbox]+span:after { color: var(--couleur-principale);}

.section-formulaire {position: relative; top: -20rem;}
.section-formulaire .formulaire-contact-accueil {background-color: #fff; padding: 2rem 3rem; }
.section-formulaire .formulaire-contact-accueil form input, .section-formulaire .formulaire-contact-accueil form textarea {color: var(--couleur-principale);}
.section-formulaire .formulaire-contact-accueil form ::placeholder,.section-formulaire .formulaire-contact-accueil form label {  color: var(--couleur-principale);}
.section-formulaire .formulaire-contact-accueil form .btn-submit input[type="submit"] {color: white;}
.section-formulaire h2 {color: var(--couleur-principale); line-height: 1;}

.wpcf7-form  .wpcf7-turnstile.cf-turnstile { order: 999;align-self: flex-start;}
.wpcf7-form {position: relative; display: flex;flex-direction: column;}


@media (min-width: 1024px) {
    form .form-row {display: flex; column-gap: 5rem;} 
    form .form-row .form-column {flex: 1;}
    .section-formulaire {max-width: 80rem; margin-left: auto; margin-right: auto;}
    .section-formulaire .formulaire-contact-accueil {padding: 3rem 5rem;}
    form input[type="submit"] {margin-top: 0;}
    form .form-politique-conf {opacity: .8;}
    form .form-politique-conf:hover {opacity: 1;}
}

@media (min-width: 1400px) {
    .section-formulaire h2 {margin-bottom: 4rem;}

}


/************************************************/
/**                                            **/
/**             NOUS CONTACTER                 **/
/**                                            **/
/************************************************/


.section-contact form input, .section-contact form textarea {border-color: var(--couleur-principale-light);}
.section-contact .contact-columns {column-gap: 8rem;}
/*.titre-nous-contacter{background-image: url(/wp-content/uploads/2025/10/logo-trame.svg);  background-repeat: no-repeat; position: relative;   background-size: contain; background-position: center;}*/
.section-contact .titre-nous-contacter {position: relative; align-self: auto !important; align-items: center; display: flex;}
.section-contact .titre-nous-contacter::after {content: ''; background-image: url(/wp-content/uploads/2025/10/logo-trame.svg);  background-repeat: no-repeat; position: relative; background-size: contain; background-position: right; width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: .6;}
.container-bloc-carte-openstreetmap .carte-openstreetmap {height: 45rem !important;}

@media (min-width: 1024px) {
    .container-bloc-carte-openstreetmap .carte-openstreetmap {height: 65rem !important;}
    .section-contact .titre-nous-contacter::after {background-position: center; top: -5rem; left: 0rem;}
}

@media (min-width: 1400px) {
     h1.titre-contact{line-height: 5rem; }
     .section-contact .titre-nous-contacter::after {left: -6rem;}

}

@media (min-width: 1800px) {
    .section-contact .titre-nous-contacter::after {left: -8rem; }

}

/* CONTACT FORM 7 - MESSAGE */
.section-formulaire .formulaire-contact-accueil .wpcf7 form .wpcf7-response-output{background-color: var(--couleur-secondaire); color: white; border: none; padding: 1.2rem 1.6rem; margin: 1rem 0; border-radius: .4rem}

.section-contact .wpcf7 form .wpcf7-response-output{background-color: var(--couleur-secondaire); color: white; border: none; padding: 1.2rem 1.6rem; margin: 1rem 0; border-radius: .4rem}

/* États de succès CF7 (compatibilité nouvelles/anciennes classes) */
.section-formulaire .formulaire-contact-accueil .wpcf7 form.sent .wpcf7-response-output,.section-formulaire .formulaire-contact-accueil .wpcf7 .wpcf7-mail-sent-ok{background-color: var(--couleur-secondaire); color: white}

.section-contact .wpcf7 form.sent .wpcf7-response-output,.section-contact .wpcf7 .wpcf7-mail-sent-ok{background-color: var(--couleur-secondaire); color: white}
.leaflet-touch .leaflet-bar a *{color: black;}