.ip-profile-editorial { font-family:Manrope,sans-serif; color:#516761; line-height:1.8; }
.ip-profile-editorial h2,.ip-profile-editorial h3 { color:#163E39; font-family:Manrope,sans-serif; letter-spacing:-.025em; }
.ip-profile-editorial h2 { font-size:1.5rem; margin:2rem 0 1rem; }
.ip-profile-editorial h3 { font-size:1.15rem; margin:1.5rem 0 .75rem; }
.ip-profile-editorial p { margin:0 0 1.15rem; }
.ip-profile-editorial ul { margin:0 0 1.25rem; padding-left:1.25rem; }
.ip-profile-sources a { color:#163E39; text-decoration:underline; text-underline-offset:.25rem; }
.ip-profile-sources a:hover { color:#316958; }
.ip-record-card { height:100%; }
.ip-record-card a { text-underline-offset:.25rem; }
.ip-record-card .ip-card-contact { margin-top:auto; }
.ip-record-card .ip-phone { font-family:Manrope,sans-serif; font-weight:800; color:#163E39; font-size:.9rem; }
.ip-record-card .ip-phone:hover { text-decoration:underline; }
.ip-results-loading { opacity:.65; pointer-events:none; }

body.ip-no-business-email .ip-profile-email-link,body.ip-no-business-phone .ip-profile-phone-link,.ip-record-card .ip-phone:not([href^="tel:"]) { display:none!important; }

/* Optional company contacts are rendered only when a source provides them. */
.elementor-98 a:not([href]),.elementor-98 a[href=""],.elementor-98 a[href="#"]{display:none!important;}

/* Legal company names must fit narrow cards and mobile profile headings. */
.ip-record-card{min-width:0;overflow-wrap:break-word;}
.ip-record-card h2,.ip-record-card h3,.ip-record-card h4,.elementor-98 h1{overflow-wrap:anywhere;hyphens:auto;}

/* Make the existing profile link cover its whole card; keep direct phone links above it. */
.ip-record-card {
 position:relative;
 isolation:isolate;
 cursor:pointer;
}
.ip-record-card .ip-card-contact,
.ip-record-card .ip-card-contact > a.ip-secondary[href*="/installateur/"] {
 position:static;
}
.ip-record-card .ip-card-contact > a.ip-secondary[href*="/installateur/"]::after {
 content:"";
 position:absolute;
 inset:0;
 z-index:1;
 border-radius:1.4rem;
}
.ip-record-card .ip-card-contact > a[href^="tel:"] {
 position:relative;
 z-index:2;
 align-self:flex-start;
}
.ip-record-card:has(.ip-card-contact > a.ip-secondary:focus-visible) {
 outline:2px solid #316958;
 outline-offset:4px;
}

/* Subtle feedback for clickable company cards, without sticky hover on touchscreens. */
.elementor .ip-record-card {
 transition:transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
@media (hover:hover) and (pointer:fine) {
 .elementor .ip-record-card:hover {
  transform:translateY(-3px);
  border-color:#9AB8AA;
  box-shadow:0 12px 28px rgba(22,62,57,.10);
 }
}
@media (prefers-reduced-motion:reduce) {
 .elementor .ip-record-card { transition:none; }
 .elementor .ip-record-card:hover { transform:none; }
}
