/* PRO Home Services — Footer Qiolo. Styles limited to this footer. */
#phsf-prohome-footer.phsf-footer {
  --phsf-orange:#ff7900; --phsf-black:#151515; --phsf-white:#fff; --phsf-soft:#c9c9c9; --phsf-line:#3d3d3d;
  width:100%; max-width:none; padding:0; margin:0; gap:0; display:flex; flex-direction:column;
  background:var(--phsf-black); color:var(--phsf-white); border:0; border-top:4px solid var(--phsf-orange);
  font-family:Heebo,Arial,sans-serif; container-type:inline-size; container-name:phsf-footer;
  --container-max-width:100%; --content-width:100%; --widgets-spacing:0px;
}
#phsf-prohome-footer * { box-sizing:border-box; }
#phsf-prohome-footer .e-con:where([class*="phsf-"]) {
  --container-max-width:100%; --content-width:100%; --widgets-spacing:0px;
  min-width:0; margin:0; padding:0; gap:0; width:100%; max-width:none;
}
#phsf-prohome-footer .elementor-widget:where([class*="phsf-"]) { margin:0; min-width:0; max-width:100%; }
#phsf-prohome-footer .elementor-widget-container { min-width:0; }
#phsf-prohome-footer .phsf-heading .elementor-heading-title,
#phsf-prohome-footer .phsf-text, #phsf-prohome-footer .phsf-text p {
  margin:0; color:var(--phsf-white); opacity:1; -webkit-text-fill-color:currentColor;
  font-family:Heebo,Arial,sans-serif; text-transform:none;
}
#phsf-prohome-footer .phsf-heading .elementor-heading-title { font-weight:700; font-size:16px; line-height:1.4; }
#phsf-prohome-footer .phsf-text { font-size:14px; line-height:1.7; }
#phsf-prohome-footer .phsf-text a { color:inherit; text-decoration:none; }
#phsf-prohome-footer a:focus-visible { outline:2px solid var(--phsf-orange); outline-offset:5px; }
#phsf-prohome-footer .phsf-inner { width:calc(100% - 68px); max-width:1200px; margin:0 auto; padding:44px 0 0; }
#phsf-prohome-footer .phsf-intro { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); gap:32px; align-items:center; padding-bottom:36px; border-bottom:1px solid var(--phsf-line); }
#phsf-prohome-footer .phsf-overline { margin-bottom:18px; }
#phsf-prohome-footer .phsf-overline .elementor-heading-title { display:flex; gap:10px; align-items:center; color:var(--phsf-orange); font-size:11px; line-height:1.5; letter-spacing:1.6px; font-weight:700; text-transform:uppercase; }
#phsf-prohome-footer .phsf-overline .elementor-heading-title:before { content:''; display:block; width:24px; height:2px; background:var(--phsf-orange); flex-shrink:0; }
#phsf-prohome-footer .phsf-title .elementor-heading-title { font-size:clamp(38px,7cqi,68px); line-height:1.06; letter-spacing:-2px; text-transform:uppercase; font-weight:800; }
#phsf-prohome-footer .phsf-title .phsf-outline { color:transparent; -webkit-text-fill-color:transparent; -webkit-text-stroke:1px var(--phsf-orange); }
#phsf-prohome-footer .phsf-actions { display:flex; flex-direction:column; align-items:flex-start; padding-top:12px; gap:17px; }
#phsf-prohome-footer .phsf-button .elementor-button { border:0; border-radius:0; box-shadow:none; font-family:inherit; text-transform:none; text-decoration:none; opacity:1; line-height:1.5; }
#phsf-prohome-footer .phsf-button .elementor-button-icon svg { width:1em; height:1em; fill:currentColor; }
#phsf-prohome-footer .phsf-cta { width:100%; max-width:278px; }
#phsf-prohome-footer .phsf-cta .elementor-button { display:block; width:100%; padding:18px 19px; background:var(--phsf-orange); color:#101010; font-size:14px; font-weight:800; }
#phsf-prohome-footer .phsf-cta .elementor-button-content-wrapper { display:flex; align-items:center; justify-content:space-between; gap:18px; }
#phsf-prohome-footer .phsf-cta .elementor-button-text { flex-grow:0; }
#phsf-prohome-footer .phsf-cta .elementor-button:hover { background:#ff9638; color:#101010; }
#phsf-prohome-footer .phsf-phone { width:auto; }
#phsf-prohome-footer .phsf-phone .elementor-button { padding:0; background:transparent; color:var(--phsf-white); font-size:25px; font-weight:700; line-height:1.2; letter-spacing:.4px; }
#phsf-prohome-footer .phsf-phone .elementor-button-content-wrapper { align-items:center; gap:12px; }
#phsf-prohome-footer .phsf-phone .elementor-button-icon { order:-1; color:var(--phsf-orange); margin:0; font-size:19px; }
#phsf-prohome-footer .phsf-hours,#phsf-prohome-footer .phsf-hours p { color:var(--phsf-soft); font-size:12px; line-height:1.5; }
#phsf-prohome-footer .phsf-columns { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,1fr); gap:28px; padding:33px 0 29px; }
#phsf-prohome-footer .phsf-brand { align-items:flex-start; }
#phsf-prohome-footer .phsf-logo { display:block; width:188px; max-width:100%; background:#fff; padding:8px 9px; margin-bottom:18px; }
#phsf-prohome-footer .phsf-logo a,#phsf-prohome-footer .phsf-logo img { display:block; width:100%; height:auto; }
#phsf-prohome-footer .phsf-bio { margin-bottom:15px; }
#phsf-prohome-footer .phsf-bio,#phsf-prohome-footer .phsf-bio p,#phsf-prohome-footer .phsf-address,#phsf-prohome-footer .phsf-address p { color:var(--phsf-soft); font-size:13px; line-height:1.7; }
#phsf-prohome-footer .phsf-bio strong { color:var(--phsf-white); font-weight:600; font-size:14px; }
#phsf-prohome-footer .phsf-socials { margin-top:18px; }
#phsf-prohome-footer .phsf-socials .elementor-grid { display:flex; flex-wrap:wrap; gap:10px; }
#phsf-prohome-footer .phsf-socials .elementor-grid-item { margin:0; }
#phsf-prohome-footer .phsf-socials .elementor-social-icon { display:inline-flex; width:36px; height:36px; padding:0; border:1px solid #555; border-radius:0; background:transparent; align-items:center; justify-content:center; color:var(--phsf-white); }
#phsf-prohome-footer .phsf-socials .elementor-social-icon i,#phsf-prohome-footer .phsf-socials .elementor-social-icon svg { font-size:16px; width:16px; height:16px; fill:currentColor; color:inherit; }
#phsf-prohome-footer .phsf-socials .elementor-social-icon:hover { border-color:var(--phsf-orange); color:var(--phsf-orange); background:transparent; }
#phsf-prohome-footer .phsf-nav-heading { margin:3px 0 19px; }
#phsf-prohome-footer .phsf-nav-heading .elementor-heading-title { font-size:11px; line-height:1.4; letter-spacing:1.8px; text-transform:uppercase; font-weight:700; color:var(--phsf-orange); }
#phsf-prohome-footer .phsf-nav-links ul { list-style:none; padding:0; margin:0; }
#phsf-prohome-footer .phsf-nav-links li { padding:0; margin:0 0 12px; }
#phsf-prohome-footer .phsf-nav-links a { display:inline-block; font-size:14px; line-height:1.65; color:#e4e4e4; }
#phsf-prohome-footer .phsf-nav-links a:hover { color:var(--phsf-orange); text-decoration:underline; text-underline-offset:4px; }
#phsf-prohome-footer .phsf-nav-links li:last-child a { margin-top:7px; color:var(--phsf-orange); font-weight:600; font-size:13px; }
#phsf-prohome-footer .phsf-local { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:22px 26px; justify-content:space-between; padding:23px 0; border-top:1px solid var(--phsf-line); }
#phsf-prohome-footer .phsf-local-copy { flex:1 1 210px; }
#phsf-prohome-footer .phsf-local-copy,#phsf-prohome-footer .phsf-local-copy p { color:var(--phsf-soft); font-size:13px; line-height:1.7; }
#phsf-prohome-footer .phsf-local-copy strong { color:var(--phsf-white); font-weight:500; }
#phsf-prohome-footer .phsf-trust { display:flex; flex-direction:row; flex:1.3 1 360px; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
#phsf-prohome-footer .phsf-google-widget { flex:0 1 220px; width:220px; min-width:0; }
#phsf-prohome-footer .phsf-google-widget .elementor-shortcode { max-width:100%; }
#phsf-prohome-footer .phsf-qualification { width:auto; flex:0 1 auto; text-align:right; font-size:12px; line-height:1.7; }
#phsf-prohome-footer .phsf-qualification strong { display:block; color:var(--phsf-white); font-size:18px; letter-spacing:1px; font-weight:700; }
#phsf-prohome-footer .phsf-qualification span { display:block; color:var(--phsf-orange); }
#phsf-prohome-footer .phsf-qualification small { display:block; font-size:11px; color:var(--phsf-soft); }
#phsf-prohome-footer .phsf-public-info { padding:10px 0 25px; }
#phsf-prohome-footer .phsf-france-renov { width:100%; background:white; }
#phsf-prohome-footer .phsf-france-renov a,#phsf-prohome-footer .phsf-france-renov img { display:block; width:100%; height:auto; max-width:100%; border-radius:0; }
#phsf-prohome-footer .phsf-france-caption { display:none; }
#phsf-prohome-footer .phsf-bottom { border-top:1px solid var(--phsf-line); }
#phsf-prohome-footer .phsf-legal { width:calc(100% - 68px); max-width:1200px; margin:0 auto; padding:19px 0; display:flex; flex-direction:row; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between; }
#phsf-prohome-footer .phsf-legal .phsf-text { width:auto; color:#bfbfbf; font-size:11px; line-height:1.7; }
#phsf-prohome-footer .phsf-legal .phsf-text p { color:inherit; font-size:inherit; line-height:inherit; }
#phsf-prohome-footer .phsf-legal-links p { display:flex; flex-wrap:wrap; gap:8px 20px; }
#phsf-prohome-footer .phsf-legal a:hover { color:var(--phsf-white); text-decoration:underline; }
/* The theme owns this wrapper; widen it only while our new footer is present. */
footer#footer:has(#phsf-prohome-footer) { background:#151515; }
footer#footer:has(#phsf-prohome-footer) > .footer_top-area { padding:0; margin:0; }
footer#footer:has(#phsf-prohome-footer) > .footer_top-area > .wgl-container,
footer#footer:has(#phsf-prohome-footer) > .footer_top-area > .wgl-container > .row-footer,
footer#footer:has(#phsf-prohome-footer) .elementor[data-elementor-post-type="footer"] { width:100%; max-width:none; padding:0; margin:0; }
@container phsf-footer (max-width:600px) {
  #phsf-prohome-footer .phsf-inner { width:calc(100% - 48px); padding:31px 0 0; }
  #phsf-prohome-footer .phsf-intro { gap:24px; grid-template-columns:minmax(0,1fr); padding-bottom:29px; }
  #phsf-prohome-footer .phsf-title .elementor-heading-title { font-size:clamp(37px,9cqi,54px); letter-spacing:-1px; }
  #phsf-prohome-footer .phsf-actions { padding:0; gap:16px; }
  #phsf-prohome-footer .phsf-cta { max-width:100%; }
  #phsf-prohome-footer .phsf-columns { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 24px; }
  #phsf-prohome-footer .phsf-brand { grid-column:1/-1; }
  #phsf-prohome-footer .phsf-local { align-items:flex-start; }
  #phsf-prohome-footer .phsf-local-copy { flex-basis:100%; }
  #phsf-prohome-footer .phsf-trust { flex-basis:100%; }
  #phsf-prohome-footer .phsf-legal { width:calc(100% - 48px); padding:17px 0; }
  #phsf-prohome-footer .phsf-france-caption { display:block; margin-top:10px; }
  #phsf-prohome-footer .phsf-france-caption,#phsf-prohome-footer .phsf-france-caption p { color:var(--phsf-soft); font-size:12px; line-height:1.6; }
  #phsf-prohome-footer .phsf-france-caption a { color:var(--phsf-white); text-decoration:underline; text-underline-offset:3px; }
}
@container phsf-footer (max-width:370px) {
  #phsf-prohome-footer .phsf-inner { width:calc(100% - 38px); padding:28px 0 0; }
  #phsf-prohome-footer .phsf-columns { column-gap:20px; }
  #phsf-prohome-footer .phsf-local { display:block; }
  #phsf-prohome-footer .phsf-trust { margin-top:16px; }
  #phsf-prohome-footer .phsf-qualification { text-align:left; }
  #phsf-prohome-footer .phsf-legal { width:calc(100% - 38px); padding:17px 0; }
}
@media (pointer:coarse) {
  #phsf-prohome-footer .phsf-socials .elementor-social-icon { width:44px; height:44px; }
  #phsf-prohome-footer .phsf-nav-links a { min-height:44px; display:flex; align-items:center; }
  #phsf-prohome-footer .phsf-nav-links li { margin-bottom:3px; }
  #phsf-prohome-footer .phsf-legal a { min-height:44px; display:inline-flex; align-items:center; }
}
