/*
Theme Name: Zizou Services — Divi 5
Template: Divi
Version: 1.0.0
*/
/* Compléments d'accessibilité et safe-area absents des réglages natifs. */
:focus-visible{outline:3px solid #0054b8!important;outline-offset:4px}
.zs-skip{position:absolute;left:16px;top:-90px;z-index:99999;background:white;color:#0b2344;padding:14px 18px}
.zs-skip:focus{top:8px}
.et_pb_contact_form_label{display:block!important;margin-bottom:8px;font-weight:700;color:#0b2344}
.zs-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:980px){.zs-mobile-dock{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}body{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Contact : aligner les contenus des deux cartes, sans hauteur fixe. */
body.page-id-79 #page-container #main-content .zs-contact-main :is(.zs-home-form-copy,.zs-home-form-panel){
  padding:28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form-copy{border:1px solid transparent;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form-copy>.et_pb_module:last-child{margin-bottom:0!important;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form-panel{gap:24px!important;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form-panel>.et_pb_module{margin:0!important;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-form-privacy-note p{margin:0!important;}
@media(max-width:980px){
  body.page-id-79 #page-container #main-content .zs-contact-main :is(.zs-home-form-copy,.zs-home-form-panel){padding:20px!important;}
}

/* Aligner aussi les lettres, indépendamment de la taille des lignes. */
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form-copy>.et_pb_module:last-child p:last-child,
body.page-id-79 #page-container #main-content .zs-contact-main .zs-form-privacy-note p{text-box:trim-end cap alphabetic;}

/* Contact : conserver 24 px sous le bouton, quelle que soit la largeur des deux colonnes. */
@media(min-width:981px){
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form .et_pb_contact{display:flex;flex:1;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form form{flex:1;grid-template-rows:auto auto minmax(116px,1fr) auto;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form .et_pb_contact_field:has(textarea){display:flex!important;flex-direction:column!important;}
body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form textarea{flex:1;height:auto!important;min-height:90px!important;}
}

/* Le mot complémentaire est réservé à la largeur des tablettes. */
body.page-id-76 #page-container #main-content .zs-problem-card .zs-ipad-detail{display:none;}
@media(min-width:981px) and (max-width:1399px) and (hover:none) and (pointer:coarse){body.page-id-76 #page-container #main-content .zs-problem-card .zs-ipad-detail{display:inline;}}

/* Dépannage : ancrer les boutons au bas des cartes à toutes les largeurs,
   en conservant 12 px de séparation minimale en plus du gap de la colonne. */
body.page-id-76 #page-container #main-content .zs-problems .zs-problem-card>.et_pb_button_module_wrapper{margin-top:auto!important;padding-top:12px!important;}

/* Neutraliser une ancienne règle encore conservée dans certains caches navigateur. */
@media(min-width:981px) and (max-width:1399px) and (hover:none) and (pointer:coarse){body.page-id-79 #page-container #main-content .zs-contact-main .zs-home-form-copy>.et_pb_module:first-child p{text-box:normal;}}

/* Compenser la marge transparente plus grande sous les équipements de climatisation.
   Les deux marges se compensent pour conserver la position de l’image animée. */
body.page-id-76 #page-container #main-content .zs-product-scene .zs-layer-climatisation .zs-product-label{
--zs-clim-caption-shift:min(7.7%,45px);
margin-top:calc(12px - var(--zs-clim-caption-shift))!important;
margin-bottom:calc(12px + var(--zs-clim-caption-shift))!important;
}
@media(max-width:980px){body.page-id-76 #page-container #main-content .zs-product-scene .zs-layer-climatisation .zs-product-label{margin-bottom:var(--zs-clim-caption-shift)!important;}}
@media(max-width:767px){body.page-id-76 #page-container #main-content .zs-product-scene .zs-layer-climatisation .zs-product-label{--zs-clim-caption-shift:min(7.7%,28px);}}
@media(prefers-reduced-motion:reduce){body.page-id-76 #page-container #main-content .zs-product-scene .zs-layer-climatisation .zs-product-label{--zs-clim-caption-shift:min(7.7%,25px);}}
