/*
Theme Name: emmanuelleimmo
Theme URI: 
Description: Thème enfant de Twenty Twenty-Five
Author: 
Author URI: 
Template: twentytwentyfive
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: emmanuelleimmo
Tags: child-theme
*/

* {
    transition: color .3s, background-color .3s;
}
a:focus,
.wp-block-navigation__responsive-container-open:focus,
.wp-block-navigation__responsive-container-close:focus {
    outline: transparent;
}
h2 strong {
    color: var(--wp--preset--color--primary);
}
.wp-block-tiptip-hyperlink-group-block {
    text-decoration: none;
}
.wp-block-tiptip-hyperlink-group-block:hover {
    color: initial;
}
main > div {
    padding-top: 0 !important;
}
@media (min-width: 768px) {
  .mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .desktop-only {
    display: none !important;
  }
}
/* HEADER */
.header_secondtopbar {
    position: relative;
    z-index: 2;
}
header:not(.header_hp) .header_logonav {
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.25);
}
.header_logonav .wp-block-navigation__container > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.header_logonav .wp-block-navigation__container > li > a:hover,
.header_logonav .wp-block-navigation__container > li > a:focus {
    text-decoration: none;
    outline: transparent;
    color: var(--wp--preset--color--primary);
}
.header_logonav .wp-block-navigation__container > li > a::after {
    content: "";
    width: 0;
    height: 2px;
    background-color: var(--wp--preset--color--primary);
    margin: 3px 0 0 0;
    opacity: 0;
    transition: opacity .3s, width .3s;
}
.header_logonav .wp-block-navigation__container > li > a:hover::after,
.header_logonav .wp-block-navigation__container > li.current-menu-item > a::after {
    width: 30px;
    opacity: 1;
}
.header_logonav .wp-block-navigation__container > li.current-menu-item > a {
    color: var(--wp--preset--color--primary);
}
.header_hp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}
.header_hp.headersticky .telblack,
.header_hp.headersticky .logo-color {
    display: none;
}
.header_hp:not(.headersticky) .header_logonav #logo-white,
.header_hp:not(.headersticky) .header_secondtopbar .telwhite {
    display: none;
}
.header_hp .header_logonav figure {
    max-width: 150px;
}
.header_hp .header_secondtopbar,
.header_hp .header_logonav {
    transition: background-color .3s;
}
.headersticky .header_secondtopbar {
    background-color: transparent !important;
    position: relative;
    z-index: 2;
}
.headersticky .header_secondtopbar * {
    color: var(--wp--preset--color--white);
}
.headersticky .header_logonav {
    background-color: transparent !important;
}
.rank-math-breadcrumb a, .rank-math-breadcrumb p {
    text-decoration: none;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
}
@media (min-width: 600px) {
    .headersticky .header_logonav .wp-block-navigation__container > li > a {
        color: var(--wp--preset--color--white);
    }
    .headersticky .header_logonav .wp-block-navigation__container > li > a::after {
        background-color: var(--wp--preset--color--white);
    }
    .headersticky .header_logonav .wp-block-navigation__submenu-icon {
        color: var(--wp--preset--color--white) !important;
    }
    .headersticky .header_logonav .wp-block-navigation__submenu-icon svg path {
        stroke: var(--wp--preset--color--white) !important;
    }
    .headersticky .header_logonav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
        color: var(--wp--preset--color--white) !important;
    }
    .headersticky .header_logonav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
        color: var(--wp--preset--color--white) !important;
    }
    .header_logonav .wp-block-navigation__container .only-mobile {
        display: none !important;
    }
}
@media (max-width: 600px) {
    .wp-block-navigation__responsive-close {
        padding: 30px;
    }
    .header_logonav .wp-block-navigation__container > li > a {
        align-items: flex-start;
    }
    .wp-block-navigation__responsive-container-content {
        gap: 10px;
    }
    .header_hp__firstopbar p {
        font-size: 10px;
    }
    .headersticky .wp-block-navigation__responsive-container-open {
        color: var(--wp--preset--color--white);
    }
}
.wp-block-navigation__submenu-container.has-secondary-color a.wp-block-navigation-item__content,
.wp-block-navigation__submenu-container.has-secondary-color .wp-block-navigation-item__label {
    color: #ffffff !important;
}
/* HEADER - END */

/* FOOTER */

.wp-block-social-link-anchor svg {
    width: 23px;
    height: 23px;
}
footer {
    box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.25);
    margin-block-start: 0;
}
@media (max-width: 600px) {
    .footer_bloclogos {
        justify-content: center;
    }
    .footer_bloclogos figure {
        width: 70px;
    }
    footer .wp-block-social-links,
    footer .wp-block-buttons {
        justify-content: center;
    }
    footer, footer p {
        text-align: center !important;
    }
}
/* FOOTER - END */

/* HOMEPAGE */

.homepage_newsbloc .wp-block-tiptip-hyperlink-group-block {
    transition: transform .3s;
}
.homepage_newsbloc .wp-block-tiptip-hyperlink-group-block:hover {
    transform: scale(1.03);
}
.wp-block-tiptip-hyperlink-group-block {
    text-decoration: none;
}
@media (max-width: 992px) {
    .home main > div .wp-block-cover {
        min-height: 760px;
        height: 760px;
    }
    .home main > div .wp-block-cover h1 {
        font-size: 20px !important;
    }
}
.hp_notegoogle>div {
    background-color: #fff;
    border-radius: 10px;
    padding: 9px 30px 16px 30px;
    margin: 30px auto 0 auto !important;
}

.hp_notegoogle>div .google-rating-widget > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hp_notegoogle>div .google-rating-widget > div .google-rating-widget-stars {}

.hp_notegoogle>div .google-rating-widget > div .google-rating-widget-note {
    order: 1;
}

.hp_notegoogle>div .google-rating-widget > div .google-rating-widget-note span {
    font-size: 21px;
    font-weight: 600;
}

.hp_notegoogle>div .google-rating-widget > div .google-rating-widget-note span:first-child {
    font-size: 32px;
}


@media (min-width: 992px) {
    .hp_notegoogle>div .google-rating-widget > div .google-rating-widget-stars>svg {
        width: 30px;
        height: 30px;
    }
}
/* HOMEPAGE - END */

/* PATTERN */

.pattern_articlefull img {
    border-radius: 20px;
}
.pattern_maillageinterne .wp-block-cover {
    border-radius: 20px;
}
@media (max-width: 600px) {
    .pattern_articlefull .wp-block-cover.is-light {
        height: 350px;
        width: 100%;
    }
}

.pattern_argument {
    padding: 30px 30px;
}
@media (min-width: 992px) {
    .pattern_argument {
        padding: 30px 80px;
    }
}
.pattern_argument_chiffre {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--wp--preset--color--primary);
    color: #ffffff;
}
.pattern_maillageinterne_banner {
    background-color: #000000;
}

.pattern_maillageinterne_banner > img {
    opacity: .5;
}

/* >= 600px : comportement au hover, transition douce dans les 2 sens */
@media (min-width: 600px) {
    .pattern_maillageinterne_banner > div > div:first-child {
        opacity: 1;
        transition: opacity 1s cubic-bezier(.25,.1,.25,1);
    }

    .pattern_maillageinterne_banner > div > div:nth-child(2) {
        overflow: hidden;
        opacity: 0;
        max-height: 0;
        transform: translateY(40px);
        transition:
            opacity .6s cubic-bezier(.25,.1,.25,1),
            max-height .6s cubic-bezier(.25,.1,.25,1),
            transform .6s cubic-bezier(.25,.1,.25,1);
    }

    .pattern_maillageinterne_banner:hover > div > div:nth-child(2) {
        opacity: 1;
        max-height: 500px;
        transform: translateY(0);
    }

    .pattern_maillageinterne_banner:hover > div > div:first-child {
        opacity: 0;
    }
}

/* < 600px : reveal progressif au scroll, piloté en JS via --reveal (0 à 1) */
@media (max-width: 599.98px) {
    .pattern_maillageinterne_banner {
        --reveal: 0;
    }
    .pattern_maillageinterne_banner > div > div:first-child {
        opacity: calc(1 - var(--reveal));
        transition: opacity .15s linear;
    }
    .pattern_maillageinterne_banner > div > div:nth-child(2) {
        overflow: hidden;
        opacity: var(--reveal);
        max-height: calc(500px * var(--reveal));
        transform: translateY(calc(40px * (1 - var(--reveal))));
        transition: opacity .15s linear, max-height .15s linear, transform .15s linear;
    }
}
.pattern_cardsimgtext figure > img {
    border-radius: 20px;
}
/* PATTERN - END /

/* PAGE LISTE DE PRODUITS */

.woocommerce-result-count {
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
}
.wc-block-catalog-sorting .orderby {
    border: 1px solid #B4B2B0;
    padding: 10px 10px;
    text-transform: uppercase;
}
.wc-block-catalog-sorting .orderby:focus {
    outline: transparent !important;
}
.wc-block-components-product-image a img {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

/* PAGE LISTE DE PRODUITS - END */

/* PAGINATION */

nav.wp-block-query-pagination .wp-block-query-pagination-numbers a {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 1px solid var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
    margin: 0 5px;
}

nav.wp-block-query-pagination .wp-block-query-pagination-numbers span {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background-color: var(--wp--preset--color--primary);
    color: #fff;
    border: 1px solid var(--wp--preset--color--primary);
    margin: 0 5px;
}

/* PAGINATION - END*/

/* FORMULAIRE */

.gform_button {
    background-color: var(--wp--preset--color--primary) !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    border-radius: 10px !important;
}
/* FORMULAIRE - END */

/* MOTEUR DE RECHERCHE DE BIENS */

/* MOTEUR DE RECHERCHE DE BIENS - END */

.bloc_searchform {
    height: 100%;
}
.bloc_searchform .wp-block-z-gateways-recherche-bien {
    height: 100%;
    flex-grow: 1;
}
.bloc_searchform .wp-block-z-gateways-recherche-bien form label {
    display: none;
}
.bloc_searchform .wp-block-z-gateways-recherche-bien form input {
    border-radius: 0;
    border: 1px solid #e9e9e9;
    padding: 20px 20px;
    background-image: url(/wp-content/uploads/2026/05/icon-calendar.svg);
    background-repeat: no-repeat;
    background-size: 22px;
    background-position: 96% 50%;
}
.pattern_searchform form.zgw-recherche-bien__form input::-webkit-input-placeholder { color: #272727; }
.pattern_searchform form.zgw-recherche-bien__form input::-moz-placeholder { color: #272727; }
.pattern_searchform form.zgw-recherche-bien__form input:-ms-input-placeholder { color: #272727; }
.pattern_searchform form.zgw-recherche-bien__form input::placeholder { color: #272727; }

.bloc_searchform .wp-block-z-gateways-recherche-bien form input:focus {
    outline: transparent;
}
.zgw-recherche-bien__form {
    gap: 0 !important;
}
.zgw-recherche-bien__error {
    order: 1;
    background-color: #f5b7b7;
    color: red;
    padding: 10px 17px;
    font-weight: bold;
    border: 2px solid red;
    border-radius: 5px;
}
.zgw-recherche-bien__fields {
    gap: 0 !important;
}
@media (max-width: 992px) {
    .zgw-recherche-bien__fields {
        flex-direction: column;
    }
}
.zgw-recherche-bien__submit {
    background-color: var(--wp--preset--color--primary);
    border-radius: 0;
    border: transparent;
    padding: 23px;
}
@media (max-width: 768px) {
    .zgw-recherche-bien__submit {
        width: 100%;
        display: flex;
        justify-content: center;
    }
}
.zgw-recherche-bien__submit:focus {
    outline: transparent;
}
.zgw-recherche-bien__field {
    position: relative;
    flex-direction: row;
}
.pattern_searchform form.zgw-recherche-bien__form input {
    border-radius: 0;
    border: transparent;
    padding: 21px 20px;
    background-image: url(/wp-content/uploads/2026/05/icon-calendar.svg);
    background-repeat: no-repeat;
    background-size: 22px;
    background-position: 96% 50%;
    font-family: var(--wp--preset--font-family--primary);
    border: 1px solid #e9e9e9;
}
.pattern_searchform form.zgw-recherche-bien__form input::-webkit-input-placeholder {
  color: #272727;
}

.pattern_searchform form.zgw-recherche-bien__form input::-moz-placeholder {
  color: #272727;
}

.pattern_searchform form.zgw-recherche-bien__form input::placeholder {
  color: #272727;
}
.bloc_searchform .wp-block-z-gateways-recherche-bien form input::-webkit-input-placeholder { color: #272727; }
.bloc_searchform .wp-block-z-gateways-recherche-bien form input::-moz-placeholder { color: #272727; }
.bloc_searchform .wp-block-z-gateways-recherche-bien form input:-ms-input-placeholder { color: #272727; }
.bloc_searchform .wp-block-z-gateways-recherche-bien form input::placeholder { color: #272727; }
.pattern_searchform form.zgw-recherche-bien__form input:focus {
    outline: transparent;
}
.pattern_searchform form.zgw-recherche-bien__form .zgw-recherche-bien__fields .zgw-recherche-bien__field label {
    display: none;
}
.pattern_searchform form.zgw-recherche-bien__form .zgw-recherche-bien__fields .zgw-recherche-bien__field + .zgw-recherche-bien__field input {
    border-left: transparent;
}
/* ══════════════════════════════════════
   jQuery UI Datepicker — custom theme
   ══════════════════════════════════════ */

/* ── Conteneur principal ── */
.ui-datepicker {
  font-family: inherit;
  background: #fff;
  border: 0.5px solid rgba(0,0,0,.12);
  border-radius: 0;
  padding: 16px;
  width: 300px;
  box-sizing: border-box;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
}

/* ── Header ── */
.ui-datepicker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.ui-datepicker-title {
  flex: 1;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: #111;
}

/* ── Flèches ── */
.ui-datepicker-prev,
.ui-datepicker-next {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 0.5px solid rgba(0,0,0,.12);
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  transition: background .15s, color .15s;
  text-decoration: none;
  font-size: 0;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
  background: #f5f5f5;
  color: #222;
}

/* Icône flèche gauche */
.ui-datepicker-prev::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-left: 3px;
}

/* Icône flèche droite */
.ui-datepicker-next::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  margin-right: 3px;
}

/* Flèche désactivée */
.ui-datepicker-prev.ui-state-disabled,
.ui-datepicker-next.ui-state-disabled {
  opacity: .3;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Grille ── */
.ui-datepicker-calendar {
  width: 100%;
  border-collapse: collapse;
}

.ui-datepicker-calendar thead th {
  font-size: 12px;
  color: #aaa;
  font-weight: 400;
  padding: 0 0 10px;
  text-align: center;
}

.ui-datepicker-calendar td {
  padding: 2px;
  text-align: center;
}

/* Cellule (lien ou span) */
.ui-datepicker-calendar td a,
.ui-datepicker-calendar td span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0 auto;
  border-radius: px;
  font-size: 13px;
  text-decoration: none;
  transition: background .12s;
}

/* Jours sélectionnables */
.ui-datepicker-calendar td a {
  color: #222;
  cursor: pointer;
}

.ui-datepicker-calendar td a:hover {
  background: #f0f0f0;
}

/* Jours non sélectionnables */
.ui-datepicker-calendar td span {
  cursor: default;
  color: #ccc;
  opacity: 1;
}

/* Mois précédent/suivant */
.ui-datepicker-calendar td.ui-datepicker-other-month span,
.ui-datepicker-calendar td.ui-datepicker-other-month.ui-state-disabled span {
  color: #d8d8d8;
  opacity: 1;
}

/* Jours passés du mois courant */
.ui-datepicker-calendar td.ui-state-disabled:not(.ui-datepicker-other-month) span {
  color: #bbb;
  opacity: 1;
}

/* Weekends */
.ui-datepicker-calendar td.ui-datepicker-week-end a {
  color: #888;
}

/* Aujourd'hui */
.ui-datepicker-calendar td a.ui-state-highlight {
  background: #f0f0f0;
  font-weight: 500;
  color: #111;
}

/* Jour sélectionné */
.ui-datepicker-calendar td a.ui-state-active {
  background: var(--wp--preset--color--primary);
  color: #fff;
  font-weight: 500;
}

/* Hover sur jour sélectionné */
.ui-datepicker-calendar td a.ui-state-active:hover {
  background: var(--wp--preset--color--primary);
}

.wp-block-woocommerce-product-results-count {
    text-transform: uppercase;
    color: #741a7e;
}
.wc-block-product-template .wc-block-product {
    display: flex;
    flex-direction: column;
}
.wc-block-product-template .wc-block-product > .wp-block-group {
    flex-grow: 1;
}

/* FIChe PRODUIT */
.product_blocresa_sticky {
    top: 120px;
    z-index: 9;
}
.single-product .wc-bookings-date-picker .ui-datepicker-next::before,
.single-product .wc-bookings-date-picker .ui-datepicker-prev::before {
    content: "";
}
.zgw-booking-options__list {
    max-height: 250px;
    overflow: auto;
    margin: 0 0 30px 0;
}
.wc-block-product-gallery-thumbnails__thumbnail img {
    border-radius: 20px;
}
.wc-block-product-gallery-large-image__wrapper img {
    border-radius: 20px;
}
.woocommerce.product .wp-block-woocommerce-product-gallery,
.woocommerce.product .wc-block-product-gallery-thumbnails__scrollable {
    gap: 5px;
}
.product_equipmenttoplist {
    gap: 0;
}
.product_equipmenttoplist > div {
    width: 25%;
    padding: 10px 0;
}

.product_equipmenttoplist > div img,
.product_equipmentlist_item .zgw-ac3-equipments img {
    width: 32px;
    margin: 0 5px 0 0;
}
@media (max-width: 992px) {
    .product_equipmenttoplist > div {
        width: 55%;
        padding: 3px 0;
    }
    .product_equipmenttoplist > div img,
    .product_equipmentlist_item .zgw-ac3-equipments img {
        width: 22px;
    }
}
.product_equipmentlist_item .zgw-ac3-equipments > h2 {
    display: none;
}
.product_equipmentlist_item .zgw-ac3-equipments {
    margin: 7px 0 0 0;
}
.product_equipmentlist_item .zgw-ac3-equipments .wp-block-z-gateways-gateway-equipements > div {
    margin-bottom: 5px;
}
.wc-bookings-booking-cost.price {
    text-align: center;
}
.single-product .wc-bookings-booking-form label {
    display: flex;
    align-items: center;
    margin: 0;
}
.single-product .wc-bookings-booking-form input {
    width: initial;
    margin: 0 5px 0 0;
    min-height: initial;
}
.single-product .wc-bookings-booking-form label span.zgw-booking-option__name {
    flex-grow: 1;
}
.zgw-booking-option p {
    margin: 0;
    font-size: 12px;
    font-style: italic;
    color: #80158d;
}
.zgw-booking-option {
    margin: 20px 0;
}
.single-product .wc-bookings-booking-form-button, .single-product form.cart .button {
    height: initial;
    min-height: initial;
    padding: 25px 0;
}
.single-product .wc-bookings-booking-form-button, .single-product form.cart .button:focus {
    outline: transparent;
}
/* FIChe PRODUIT - END */

/* FORMULAIRE */
.gform_fields > div {
    display: flex;
}
.gform_fields > div label {
    background-color: #741a7e;
    color: #ffffff !important;
    padding: 10px 20px;
    margin: 0 !important;
    min-width: 140px;
    text-transform: uppercase;
    font-weight: 600 !important;
}
.gform_fields > div label span {
    color: #ffffff !important;
}
.gform_fields > div > div input[type="text"], 
.gform_fields > div > div input[type="email"], 
.gform_fields > div > div input[type="tel"], 
.gform_fields > div > div textarea {
    border-radius: 0 !important;
    height: 100% !important;
    border: transparent !important;
    padding: 0 15px !important;
    border-bottom: 1px solid #741a7e36 !important;
}
.gform_fields > div > div input[type="text"]:focus, 
.gform_fields > div > div input[type="email"]:focus, 
.gform_fields > div > div input[type="tel"]:focus, 
.gform_fields > div > div textarea:focus {
    outline: transparent !important;
}
.gform_fields > div > div {
    flex-grow: 1;
}
.gform_fields {
    row-gap: 10px !important;
}
/* FORMULAIRE - END */
#scroll-to-top-btn {
    position: fixed;
    bottom: 85px;
    right: 24px;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: var(--wp--preset--border-radius--full, 50%);
    background-color: var(--wp--preset--color--primary, #741A7E);
    color: var(--wp--preset--color--white, #fff);
    box-shadow: var(--wp--preset--shadow--neat, 0 2px 8px rgba(0, 0, 0, .3));
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, background-color .2s ease;
}

#scroll-to-top-btn.is-visible {
    opacity: .85;
    visibility: visible;
    transform: translateY(0);
}

#scroll-to-top-btn:hover {
    opacity: 1;
    background-color: var(--wp--custom--color--primary-hover, #5E076A);
}
@media (max-width: 768px) {
    #scroll-to-top-btn {
        display: none;
    }
}

@media (max-width: 992px) {
    .pattern_searchform form.zgw-recherche-bien__form input {
        padding: 11px 20px;
    }
    .zgw-recherche-bien__submit {
        padding: 13px;
    }
    .pattern_maillageinterne_banner {
        height: 300px !important;
        min-height: 300px !important;
    }
    .pattern_home_avis > .wp-block-cover {
        min-height: initial !important;
        height: initial !important;
    }
  .contact_formbloc {
    padding-left: 0 !important;
  }
}
@media (max-width: 599px) {
    .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: 1fr !important;
    }
    .pattern_home_avis {
        margin-top: 50px !important;
    }
    .pattern_articlefull>div> .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
        order: 1;
    }
}