/* ==========================================================================
   Plombier Hofmann – styles du thème (reprise du design de la landing Ads,
   sans Bootstrap ni jQuery). Les couleurs/typos viennent de theme.json.
   ========================================================================== */

:root {
	--ph-primary: var(--wp--preset--color--primary, #0d57d7);
	--ph-secondary: var(--wp--preset--color--secondary, #4d8eff);
	--ph-heading: var(--wp--preset--color--heading, #373a3f);
	--ph-body: var(--wp--preset--color--body, #696969);
	--ph-dark: var(--wp--preset--color--dark, #2b2e32);
	--ph-tint: var(--wp--preset--color--tint, #f1f6ff);
	--ph-tint-strong: var(--wp--preset--color--tint-strong, #dbe8ff);
	--ph-border: var(--wp--preset--color--border, #d8dde1);
	--ph-gradient: linear-gradient(90deg, var(--ph-primary) 0%, var(--ph-secondary) 100%);
	--ph-gradient-v: linear-gradient(180deg, var(--ph-primary) 0%, var(--ph-secondary) 100%);
	--ph-shadow: 0 4px 30px rgba(0, 0, 0, .06);
	--ph-radius: 10px;
	--ph-wide: 1290px;
	--ph-gutter: clamp(1rem, 4vw, 1.5rem);
	--ph-section: clamp(4.5rem, 9vw, 7.5rem);
	--ph-heading-font: var(--wp--preset--font-family--open-sans, 'Open Sans', sans-serif);
	--ph-drop: url("../images/shapes/vector-1.svg");
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
/* Sections pleine largeur collées les unes aux autres (gabarits accueil/service/ville/hub) ; pas sur les pages classiques (.ph-page). */
.ph-main > *, .ph-main:not(.ph-page) > .wp-block-post-content > * { margin-block-start: 0; }
a { text-underline-offset: .15em; }
:focus-visible { outline: 3px solid var(--ph-secondary); outline-offset: 2px; }
.screen-reader-text:not(:focus) { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* ---------- Icônes (masques SVG, couleur = currentColor) ---------- */
.ph-ico { display: inline-block; width: 1.1em; height: 1.1em; flex: none; vertical-align: -.18em; background: currentColor; -webkit-mask: var(--ph-i) center / contain no-repeat; mask: var(--ph-i) center / contain no-repeat; margin-right: .5em; }

/* ---------- Boutons ---------- */
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .1em; transition: background-color .3s, color .3s, transform .3s; }
.wp-block-button__link:not(.has-background) { background-image: var(--ph-gradient); }
.wp-block-button__link:not(.has-background):hover { background-image: linear-gradient(90deg, var(--ph-secondary) 0%, var(--ph-primary) 100%); }
.wp-block-button__link .ph-ico { margin-right: .55em; }
.ph-btn-arrow .wp-block-button__link::after { content: ""; width: 1em; height: 1em; margin-left: .6em; background: currentColor; -webkit-mask: var(--ph-i-arrow) center / contain no-repeat; mask: var(--ph-i-arrow) center / contain no-repeat; transition: transform .3s; }
.ph-btn-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.ph-btn-white .wp-block-button__link:hover { background: var(--ph-heading) !important; color: #fff !important; }
.ph-btn-outline .wp-block-button__link { background: transparent !important; background-image: none !important; color: var(--ph-heading) !important; border: 1px solid var(--ph-border); }
.ph-btn-outline .wp-block-button__link:hover { background: var(--ph-primary) !important; border-color: var(--ph-primary); color: #fff !important; }
.ph-btn-lg .wp-block-button__link { font-size: 1.15rem; padding: 1.15rem 2rem; }

/* ---------- En-tête (sticky) ---------- */
.ph-header { position: sticky; top: 0; z-index: 100; background: #fff; transition: box-shadow .3s; }
.admin-bar .ph-header { top: var(--wp-admin--admin-bar--height, 32px); }
.ph-header.is-scrolled { box-shadow: 0 0 15px rgba(0, 0, 0, .08); }
.ph-topbar { font-size: .875rem; padding-block: .55rem; }
.ph-topbar p { margin: 0; }
.ph-topbar__inner { gap: .5rem 1.5rem; }
.ph-topbar a { color: #fff; text-decoration: none; font-weight: 600; }
.ph-topbar a:hover { color: var(--ph-secondary); }
.ph-mainbar { background: linear-gradient(90deg, #fff 50%, var(--ph-secondary) 50%); }
.ph-mainbar__inner { gap: 0; align-items: stretch !important; }
.ph-logo { margin: 0; padding-block: .9rem; padding-right: 70px; align-self: center; flex: none; }
.ph-logo img { display: block; height: auto; }
.ph-mainbar__nav { background: var(--ph-secondary); padding-left: clamp(1rem, 4vw, 3.5rem); gap: 2rem; flex: 1 1 auto; position: relative; }
.ph-mainbar__nav::before { content: ""; position: absolute; top: 0; bottom: 0; left: -59px; width: 60px; background: var(--ph-secondary); clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.ph-nav .wp-block-navigation-item__content { padding-block: 1.6rem; text-decoration: none; }
.ph-nav .wp-block-navigation__container { gap: 2rem; }
.ph-nav .wp-block-navigation-item__content:hover { color: var(--ph-dark) !important; }
.ph-nav .wp-block-navigation__submenu-container { border: 0 !important; border-radius: 0 0 8px 8px; box-shadow: var(--ph-shadow); min-width: 270px !important; padding: .5rem 0; background: #fff !important; color: var(--ph-heading) !important; }
.ph-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.25rem; color: var(--ph-heading); font-weight: 600; }
.ph-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--ph-primary) !important; background: var(--ph-tint); }
.ph-header-cta { margin: 0; align-self: center; }
.ph-header-cta .wp-block-button__link { text-transform: uppercase; padding: 1rem 1.4rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: currentColor; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding-block: .5rem; font-size: 1.1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding: 0 0 0 1rem; min-width: 0 !important; }

@media (max-width: 1199px) {
	.ph-header .ph-header-cta { display: none; }
	.ph-nav .wp-block-navigation__container { gap: 1.3rem; }
}
@media (max-width: 599px) {
	.ph-topbar__text { display: none; }
	.ph-topbar__inner { justify-content: center !important; }
	.ph-mainbar { background: #fff; }
	.ph-mainbar__nav { background: transparent; padding: 0; flex: 0 0 auto; }
	.ph-mainbar__nav::before { display: none; }
	.ph-nav .wp-block-navigation__responsive-container-open { color: var(--ph-heading); background: var(--ph-tint); border-radius: 8px; padding: .55rem; }
	.ph-logo { padding-right: 0; }
	.ph-logo img { width: 160px !important; }
}

/* ---------- Fil d'Ariane ---------- */
.ph-breadcrumb { font-size: .875rem; margin-bottom: 1rem; }
.ph-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.ph-breadcrumb li + li::before { content: "›"; margin-right: .35rem; color: var(--ph-primary); font-weight: 700; }
.ph-breadcrumb a { color: var(--ph-body); text-decoration: none; }
.ph-breadcrumb a:hover { color: var(--ph-primary); text-decoration: underline; }
.ph-breadcrumb [aria-current] { color: var(--ph-heading); font-weight: 600; }

/* ---------- Sections génériques ---------- */
.ph-section { padding-block: var(--ph-section); position: relative; }
.ph-section--tint { background: var(--ph-tint); }
.ph-section--dark { background: var(--ph-dark); color: #c9ccd1; }
.ph-section--dark :where(h2, h3, h4) { color: #fff; }
.ph-section > .wp-block-group__inner-container, .ph-wrap { max-width: var(--ph-wide); margin-inline: auto; }
.ph-center { text-align: center; }
.ph-center .ph-kicker { justify-content: center; }
.ph-section-head { margin-bottom: clamp(2rem, 5vw, 3.75rem); }
.ph-section-head > * { margin-block: 0; }
.ph-section-head > * + * { margin-top: 1rem; }
.ph-lead { font-size: 1.125rem; max-width: 760px; }
.ph-center .ph-lead { margin-inline: auto; }

/* Surtitre avec clé (« subs-title » de la landing) */
.ph-kicker { display: flex; align-items: center; gap: .65rem; color: var(--ph-primary); font-family: var(--ph-heading-font); font-weight: 700; font-size: 1.05rem; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 1rem !important; }
.ph-kicker::before { content: ""; width: 1.35em; height: 1.35em; flex: none; background: currentColor; -webkit-mask: var(--ph-i-wrench) center / contain no-repeat; mask: var(--ph-i-wrench) center / contain no-repeat; }
.ph-section--dark .ph-kicker { color: var(--ph-secondary); }

/* Listes à puces bleues */
.ph-dots { list-style: none; padding: 0; margin-inline: 0; margin-bottom: 0; display: grid; gap: .65rem 1.5rem; }
.ph-dots li { position: relative; padding-left: 1.6rem; color: var(--ph-heading); font-weight: 700; font-size: 1.05rem; }
.ph-dots.is-prose li { font-weight: 400; color: var(--ph-body); font-size: 1rem; }
.ph-dots.is-prose li strong { color: var(--ph-heading); }
.ph-dots li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: var(--ph-gradient); }
@media (min-width: 600px) { .ph-dots.is-2col { grid-template-columns: 1fr 1fr; } }
.ph-checks { list-style: none; padding: 0; margin-inline: 0; margin-bottom: 0; display: grid; gap: .6rem; }
.ph-checks li { display: block; position: relative; padding-left: calc(1.25em + .75rem); font-family: var(--ph-heading-font); font-weight: 700; font-size: 1.05rem; color: var(--ph-heading); }
.ph-checks li::before { content: ""; position: absolute; left: 0; top: .2em; width: 1.25em; height: 1.25em; background: var(--ph-primary); -webkit-mask: var(--ph-i-check-circle) center / contain no-repeat; mask: var(--ph-i-check-circle) center / contain no-repeat; }

/* ---------- Hero accueil (slider) ---------- */
.ph-hero { background: var(--ph-tint); padding-block: clamp(3rem, 8vw, 6.5rem) clamp(3.5rem, 8vw, 7rem); position: relative; overflow: hidden; z-index: 0; }
.ph-hero::before { content: ""; position: absolute; inset: 0 auto 0 0; width: min(535px, 45vw); background: url("../images/shapes/hero-shapes.svg") right center / cover no-repeat; z-index: -1; }
.ph-hero > .wp-block-columns { max-width: var(--ph-wide); margin-inline: auto; gap: 2rem; }
.ph-hero__sub { display: block; position: relative; padding-left: 65px; font-family: var(--ph-heading-font); font-weight: 700; font-size: 1.05rem; text-transform: uppercase; color: var(--ph-heading); margin-bottom: 1rem !important; }
.ph-hero__sub::before { content: ""; position: absolute; left: 0; top: 50%; width: 50px; height: 1px; background: currentColor; }
.ph-hero h1 { margin: 0; }
.ph-hero h1 em, .ph-hero h1 strong { font-style: normal; color: var(--ph-primary); }
.ph-hero__desc { font-family: var(--ph-heading-font); font-weight: 600; font-size: 1.125rem; line-height: 1.85; margin-top: 1.25rem !important; max-width: 615px; }
.ph-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 1.75rem; margin-top: 2rem; }
.ph-hero__actions .wp-block-buttons { margin: 0; }
.ph-hero__badges { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; font-weight: 600; color: var(--ph-heading); font-size: .95rem; }
.ph-hero__badges li { display: flex; align-items: center; gap: .45rem; }
.ph-hero__badges li::before { content: ""; width: 1.15em; height: 1.15em; background: var(--ph-primary); -webkit-mask: var(--ph-i-check-circle) center / contain no-repeat; mask: var(--ph-i-check-circle) center / contain no-repeat; }
.ph-call-pulse { display: inline-flex; align-items: center; gap: .9rem; text-decoration: none; color: var(--ph-heading); font-weight: 700; font-family: var(--ph-heading-font); }
.ph-call-pulse__icon { position: relative; width: 58px; height: 58px; border-radius: 50%; background: var(--ph-gradient); display: grid; place-items: center; color: #fff; }
.ph-call-pulse__icon::after { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 2px solid var(--ph-secondary); animation: ph-pulse 1.8s ease-out infinite; }
.ph-call-pulse__icon .ph-ico { margin: 0; width: 22px; height: 22px; }
.ph-call-pulse small { display: block; font-weight: 600; color: var(--ph-body); font-size: .8rem; text-transform: uppercase; }
@keyframes ph-pulse { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.35); opacity: 0; } }

.ph-hero-slider { position: relative; width: min(100%, 540px); aspect-ratio: 1; margin: 0 0 0 auto; border: 5px solid var(--ph-primary); border-radius: 50%; overflow: hidden; background: var(--ph-tint-strong); }
.ph-hero-slider > figure { position: absolute; inset: 0; margin: 0 !important; opacity: 0; transition: opacity .8s ease; }
.ph-hero-slider > figure:first-child, .ph-hero-slider > figure.is-active { opacity: 1; }
.ph-hero-slider.is-ready > figure:first-child:not(.is-active) { opacity: 0; }
.ph-hero-slider img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.ph-hero-media { position: relative; }
.ph-hero-thumbs { position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 18px; z-index: 2; }
.ph-hero-thumbs button { width: 92px; height: 104px; padding: 7px; border: 0; cursor: pointer; background: var(--ph-border); -webkit-mask: var(--ph-drop) center / contain no-repeat; mask: var(--ph-drop) center / contain no-repeat; transition: background .3s; }
.ph-hero-thumbs button:nth-child(2) { transform: translateX(-36px); }
.ph-hero-thumbs button[aria-current="true"] { background: var(--ph-gradient); }
.ph-hero-thumbs img { width: 100%; height: 100%; object-fit: cover; -webkit-mask: var(--ph-drop) center / contain no-repeat; mask: var(--ph-drop) center / contain no-repeat; display: block; }
@media (max-width: 781px) {
	.ph-hero-slider { margin: 1rem auto 0; width: min(100%, 360px); }
	.ph-hero-thumbs { display: none; }
}

/* ---------- Hero des pages intérieures ---------- */
.ph-page-hero { background: var(--ph-tint); padding-block: clamp(2rem, 5vw, 4rem) clamp(2.5rem, 6vw, 4.5rem); position: relative; overflow: hidden; z-index: 0; }
.ph-page-hero::before { content: ""; position: absolute; inset: 0 auto 0 0; width: min(420px, 40vw); background: url("../images/shapes/hero-shapes.svg") right center / cover no-repeat; z-index: -1; }
.ph-page-hero > .wp-block-columns { max-width: var(--ph-wide); margin-inline: auto; gap: 2.5rem; align-items: center !important; }
.ph-page-hero h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); margin: 0; }
.ph-page-hero .ph-hero__desc { margin-top: 1rem !important; }
.ph-page-hero__img { margin: 0 !important; position: relative; }
.ph-page-hero__img img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; border: 5px solid var(--ph-primary); width: min(100%, 400px); margin-left: auto; display: block; }
.ph-page-head { padding-block: 2.5rem; margin-bottom: 2.5rem; }
.ph-page-head .wp-block-post-title { margin-top: .5rem; font-size: clamp(2rem, 4vw, 2.8rem); }
@media (max-width: 781px) { .ph-page-hero__img { display: none; } }

/* ---------- À propos ---------- */
.ph-about > .wp-block-columns, .ph-why > .wp-block-columns, .ph-split > .wp-block-columns { max-width: var(--ph-wide); margin-inline: auto; gap: clamp(2rem, 5vw, 4.5rem); align-items: center !important; }
.ph-about::after { content: ""; position: absolute; right: 0; top: 0; width: min(285px, 25vw); aspect-ratio: 285 / 420; background: url("../images/shapes/approach-1.svg") center / contain no-repeat; opacity: .5; z-index: -1; }
.ph-drop-media { position: relative; max-width: 560px; margin: 0 auto; z-index: 1; padding: 0 0 1rem 1rem; }
.ph-drop-media::before, .ph-drop-media::after { content: ""; position: absolute; z-index: -1; background: var(--ph-primary); -webkit-mask: url("../images/shapes/slider-overly-mask-1.svg") center / contain no-repeat; mask: url("../images/shapes/slider-overly-mask-1.svg") center / contain no-repeat; }
.ph-drop-media::before { left: 0; bottom: 0; width: 72%; height: 86%; }
.ph-drop-media::after { right: 4%; top: 2%; width: 38%; height: 50%; opacity: .25; }
.ph-drop-media figure { margin: 0 !important; }
.ph-drop-media img { width: 100%; aspect-ratio: 585 / 644; object-fit: cover; -webkit-mask: url("../images/shapes/about-mask.svg") center / contain no-repeat; mask: url("../images/shapes/about-mask.svg") center / contain no-repeat; display: block; }
.ph-badge { position: absolute; right: 0; bottom: 2rem; z-index: 2; background: var(--ph-tint); padding: 1rem 1.6rem 1.2rem; border-radius: 4px; box-shadow: var(--ph-shadow); display: flex; align-items: center; gap: 1rem; margin: 0 !important; }
.ph-badge__icon { width: 52px; height: 52px; flex: none; background: var(--ph-gradient); -webkit-mask: var(--ph-i-clock) center / contain no-repeat; mask: var(--ph-i-clock) center / contain no-repeat; }
.ph-badge strong { display: block; font-family: var(--ph-heading-font); font-weight: 800; font-size: 2.6rem; line-height: 1; color: var(--ph-primary); }
.ph-badge span { display: block; font-weight: 600; color: var(--ph-heading); line-height: 1.3; font-size: .95rem; }
.ph-badge a { color: inherit; text-decoration: none; }
.ph-about__list { background: var(--ph-tint); border-radius: var(--ph-radius); padding: 1.6rem 1.8rem; margin-block: 1.75rem !important; }
.ph-feature-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2rem; }
.ph-feature-inline .wp-block-buttons { margin: 0; }

/* ---------- Cartes services + carrousel ---------- */
.ph-services { background: var(--ph-tint); }
.ph-cards { display: grid; gap: 30px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); max-width: var(--ph-wide); margin-inline: auto; }
.ph-service-card { position: relative; background: #f9fbff; border-radius: var(--ph-radius); box-shadow: var(--ph-shadow); text-align: center; padding: 2.25rem 2rem 2rem; display: flex; flex-direction: column; gap: 0; transition: transform .35s, box-shadow .35s; margin: 0 !important; }
.ph-service-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(13, 87, 215, .15); }
.ph-service-card h3 { font-size: 1.35rem; margin: 0 0 .75rem; }
.ph-service-card h3 a { color: inherit; text-decoration: none; }
.ph-service-card h3 a:hover { color: var(--ph-primary); }
.ph-service-card p { margin: 0 0 1.25rem; font-size: .975rem; }
.ph-service-card__icon { position: relative; width: 56px; height: 74px; margin: 0 auto 1.25rem !important; background: var(--ph-gradient-v); -webkit-mask: var(--ph-drop) center / contain no-repeat; mask: var(--ph-drop) center / contain no-repeat; }
.ph-service-card__icon::after { content: ""; position: absolute; left: 50%; top: 60%; width: 26px; height: 26px; transform: translate(-50%, -50%); background: #fff; -webkit-mask: var(--ph-i, var(--ph-i-wrench)) center / contain no-repeat; mask: var(--ph-i, var(--ph-i-wrench)) center / contain no-repeat; }
.ph-service-card figure { margin: auto 0 1.4rem !important; border-radius: 6px; overflow: hidden; }
.ph-service-card figure img { width: 100%; aspect-ratio: 344 / 228; object-fit: cover; display: block; transition: transform .5s; }
.ph-service-card:hover figure img { transform: scale(1.06); }
.ph-service-card .wp-block-buttons { justify-content: center; margin: 0; }
.ph-service-card .wp-block-button__link { text-transform: uppercase; font-size: .875rem; padding: .9rem 1.35rem; }

.ph-carousel { position: relative; max-width: var(--ph-wide); margin-inline: auto; }
.ph-carousel__track { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px) / 3); gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 10px 4px 30px; scrollbar-width: none; overscroll-behavior-x: contain; }
.ph-carousel__track::-webkit-scrollbar { display: none; }
.ph-carousel__track > * { scroll-snap-align: start; }
@media (max-width: 1023px) { .ph-carousel__track { grid-auto-columns: calc((100% - 30px) / 2); } }
@media (max-width: 639px) { .ph-carousel__track { grid-auto-columns: 86%; gap: 16px; } }
.ph-carousel__nav { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.ph-carousel__btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--ph-border); background: #fff; color: var(--ph-heading); cursor: pointer; display: grid; place-items: center; transition: all .3s; }
.ph-carousel__btn:hover { background: var(--ph-primary); border-color: var(--ph-primary); color: #fff; }
.ph-carousel__btn span { width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ph-i-arrow) center / contain no-repeat; mask: var(--ph-i-arrow) center / contain no-repeat; }
.ph-carousel__btn--prev span { transform: rotate(180deg); }
.ph-carousel__dots { display: flex; gap: 14px; }
.ph-carousel__dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: var(--ph-primary); opacity: .35; cursor: pointer; position: relative; }
.ph-carousel__dots button[aria-current="true"] { opacity: 1; box-shadow: 0 0 0 5px var(--ph-tint), 0 0 0 6px var(--ph-primary); }

/* ---------- Pourquoi nous choisir ---------- */
.ph-stack-media { position: relative; max-width: 480px; margin: 1.5rem 0 0 auto; z-index: 1; }
.ph-stack-media::before, .ph-stack-media::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); height: 100%; border-radius: 13px; z-index: -1; }
.ph-stack-media::before { top: -20px; width: 90%; background: var(--ph-secondary); }
.ph-stack-media::after { top: -10px; width: 95%; background: var(--ph-primary); }
.ph-stack-media figure { margin: 0 !important; }
.ph-stack-media img { border-radius: var(--ph-radius); display: block; width: 100%; }
.ph-stack-media .ph-badge { right: auto; left: -1.5rem; bottom: auto; top: 50%; transform: translateY(-50%); }
@media (max-width: 781px) { .ph-stack-media { margin: 2rem auto 0; } .ph-stack-media .ph-badge { left: 0; top: auto; bottom: -1.5rem; transform: none; } }
.ph-why__desc { margin-top: 1.25rem !important; }
.ph-why .ph-checks { margin-top: 1.5rem !important; }
.ph-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); max-width: var(--ph-wide); margin: clamp(3rem, 6vw, 5rem) auto 0 !important; gap: 0; }
.ph-step { padding: 2.5rem; position: relative; z-index: 1; margin: 0 !important; }
.ph-step::before { content: ""; position: absolute; inset: 0; background: var(--ph-tint-strong); z-index: -1; }
.ph-step:nth-child(1)::before { opacity: .35; border-radius: 20px 0 0 20px; }
.ph-step:nth-child(2)::before { opacity: .6; }
.ph-step:nth-child(3)::before { border-radius: 0 20px 20px 0; }
.ph-step__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.6rem !important; }
.ph-step__icon { width: 54px; height: 72px; position: relative; background: var(--ph-gradient-v); -webkit-mask: var(--ph-drop) center / contain no-repeat; mask: var(--ph-drop) center / contain no-repeat; }
.ph-step__icon::after { content: ""; position: absolute; left: 50%; top: 60%; width: 26px; height: 26px; transform: translate(-50%, -50%); background: #fff; -webkit-mask: var(--ph-i) center / contain no-repeat; mask: var(--ph-i) center / contain no-repeat; }
.ph-step__num { font-family: var(--ph-heading-font); font-weight: 800; font-size: 3.1rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.2px var(--ph-primary); margin: 0 !important; }
.ph-step h3 { font-size: 1.4rem; margin: 0 0 .8rem; }
.ph-step p { margin: 0; font-weight: 500; }
@media (max-width: 899px) { .ph-step, .ph-step::before { border-radius: 20px !important; } .ph-steps { gap: 1rem; } }

/* ---------- Logos assurances ---------- */
.ph-brands { background: var(--ph-gradient); padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.ph-brands__title { color: #fff; text-align: center; font-family: var(--ph-heading-font); font-weight: 700; font-size: 1.15rem; margin: 0 0 1.75rem !important; }
.ph-brands__list { list-style: none; margin: 0 auto; padding: 0; max-width: var(--ph-wide); display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(.75rem, 2.5vw, 2rem); }
.ph-brands__list li { width: clamp(78px, 11vw, 140px); }
.ph-brands__list img { display: block; width: 100%; height: auto; border-radius: 8px; background: #fff; }

/* ---------- Avis Google ---------- */
.ph-reviews::before { content: ""; position: absolute; right: 0; top: 0; width: 220px; height: 260px; background: linear-gradient(180deg, rgba(13, 87, 215, .1), rgba(77, 142, 255, .1)); -webkit-mask: url("../images/shapes/slider-overly-mask-1.svg") center / contain no-repeat; mask: url("../images/shapes/slider-overly-mask-1.svg") center / contain no-repeat; }
.ph-reviews .ph-rating { margin-bottom: 3rem !important; }
.ph-rating { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem 2rem; background: #fff; box-shadow: var(--ph-shadow); border-radius: 15px; padding: 1.75rem 2rem; max-width: 760px; margin: 0 auto 2.5rem !important; }
.ph-rating p { margin: 0; }
.ph-rating__score { font-family: var(--ph-heading-font); font-weight: 800; font-size: 3.4rem; line-height: 1; color: var(--ph-heading); }
.ph-stars { display: inline-flex; gap: 3px; vertical-align: middle; }
.ph-stars::before { content: ""; display: block; width: 130px; height: 24px; background: #fbbc04; -webkit-mask: var(--ph-i-stars) left center / contain no-repeat; mask: var(--ph-i-stars) left center / contain no-repeat; }
.ph-rating__meta { font-weight: 600; color: var(--ph-heading); }
.ph-rating__meta span:not(.ph-stars) { display: block; font-weight: 500; color: var(--ph-body); font-size: .9rem; }
.ph-rating .wp-block-buttons { margin: 0; }
.ph-review-grid { display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); max-width: var(--ph-wide); margin-inline: auto !important; }
.ph-review { background: var(--ph-tint); border-radius: 15px; padding: 2.5rem 2rem 2rem; position: relative; margin: 0 !important; }
.ph-review::before { content: "“"; position: absolute; top: -.35em; left: 1.5rem; font: 800 5rem/1 Georgia, serif; color: var(--ph-primary); }
.ph-review blockquote { margin: 0; padding: 0; border: 0; }
.ph-review .ph-review__text { color: var(--ph-heading); font-weight: 500; font-size: 1.05rem; line-height: 1.85; margin: 0; }
.ph-review__author span { font-family: var(--wp--preset--font-family--inter); font-weight: 500; color: var(--ph-body); font-size: .9rem; }
.ph-review blockquote p { color: var(--ph-heading); font-weight: 500; font-size: 1.05rem; line-height: 1.85; margin: 0; }
.ph-review cite, .ph-review__author { display: block; margin-top: 1.25rem; font-style: normal; font-weight: 700; color: var(--ph-heading); font-family: var(--ph-heading-font); }

/* ---------- FAQ (blocs Détails natifs, sans JS) ---------- */
.ph-faq { background: var(--ph-dark) url("../images/shapes/faq-1.svg") center / cover no-repeat; color: #c9ccd1; }
.ph-faq > .wp-block-columns { max-width: var(--ph-wide); margin-inline: auto; gap: clamp(2rem, 5vw, 4.5rem); }
.ph-faq h2 { color: #fff; }
.ph-faq .ph-kicker { color: var(--ph-secondary); }
.ph-faq-list { display: grid; gap: 14px; margin-top: 2rem !important; }
.ph-faq-list.is-light { margin-top: 1.75rem !important; }
.ph-faq-list .wp-block-details { background: #fff; border-radius: 8px; margin: 0 !important; overflow: hidden; color: var(--ph-body); }
.ph-faq-list .wp-block-details summary { list-style: none; cursor: pointer; padding: 1.15rem 3.5rem 1.15rem 1.5rem; font-family: var(--ph-heading-font); font-weight: 700; font-size: 1.05rem; color: var(--ph-heading); position: relative; line-height: 1.45; transition: background .3s, color .3s; }
.ph-faq-list .wp-block-details summary::-webkit-details-marker { display: none; }
.ph-faq-list .wp-block-details summary::after { content: ""; position: absolute; right: 1.25rem; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: currentColor; -webkit-mask: var(--ph-i-plus) center / contain no-repeat; mask: var(--ph-i-plus) center / contain no-repeat; transition: transform .3s; }
.ph-faq-list .wp-block-details[open] summary { background: var(--ph-gradient); color: #fff; }
.ph-faq-list .wp-block-details[open] summary::after { transform: rotate(45deg); }
.ph-faq-list .wp-block-details > :not(summary) { padding-inline: 1.5rem; }
.ph-faq-list .wp-block-details > :not(summary):first-of-type { padding-top: 1rem; }
.ph-faq-list .wp-block-details > :last-child { padding-bottom: 1.25rem; margin-bottom: 0; }
.ph-section--tint .ph-faq-list .wp-block-details, .ph-faq-list.is-light .wp-block-details { box-shadow: var(--ph-shadow); }
.ph-faq .ph-drop-media .ph-badge { background: #fff; }

/* ---------- Processus 4 étapes (reprise à l'identique de .tj-process-section de la landing) ---------- */
.ph-process { background: var(--ph-tint); }
.ph-process .ph-section-head { margin-bottom: 40px; }
.ph-process__grid { display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; justify-content: space-between; gap: 25px; padding-top: 50px; max-width: var(--ph-wide); margin: 0 auto !important; }
.ph-process__item { position: relative; z-index: 1; max-width: 305px; width: 100%; margin: 0 0 30px !important; transition: all .4s ease-in-out; }
.ph-process__item::before { content: ""; position: absolute; left: 0; bottom: -20px; width: 100%; height: 170px; background: rgba(55, 58, 63, .1); border-radius: 5px; z-index: -1; transition: background-color .4s ease-in-out; }
.ph-process__item:nth-child(even)::before { top: -20px; bottom: auto; }
.ph-process__item:hover::before { background-color: var(--ph-primary); }
.ph-process__card { display: flex; flex-direction: column; align-items: center; max-width: 90%; width: 100%; margin: 0 auto; padding: 0 30px 40px; background: var(--ph-tint); box-shadow: 0 4px 30px rgba(0, 0, 0, .0588); text-align: center; border-radius: 5px 5px 0 0; transition: all .4s ease-in-out; }
.ph-process__card > * { margin-block: 0 !important; }
.ph-process__item:nth-child(even) .ph-process__card { padding: 25px 30px 0; }
.ph-process__icon { position: relative; z-index: 1; flex: none; width: 100px; height: 100px; padding: 8px; margin: -50px auto 25px !important; border-radius: 50%; background: var(--ph-tint); display: inline-flex; align-items: center; justify-content: center; }
.ph-process__item:nth-child(even) .ph-process__icon { order: 9; margin: 0 auto !important; bottom: -30px; }
.ph-process__icon::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--ph-gradient); z-index: -1; opacity: 0; visibility: hidden; transition: all .3s ease-in-out; }
.ph-process__item:hover .ph-process__icon::after { opacity: 1; visibility: visible; }
.ph-process__icon::before { content: ""; width: 85px; height: 85px; border-radius: 50%; background: #fff var(--ph-pi) center / 40px 40px no-repeat; }
.ph-process__item:nth-child(4n+1) { --ph-pi: url("../icons/process-support-24h.svg"); }
.ph-process__item:nth-child(4n+2) { --ph-pi: url("../icons/process-home.svg"); }
.ph-process__item:nth-child(4n+3) { --ph-pi: url("../icons/process-customer.svg"); }
.ph-process__item:nth-child(4n+4) { --ph-pi: url("../icons/process-toilet.svg"); }
.ph-process__num { margin-bottom: 15px !important; font-family: var(--ph-heading-font); font-weight: 800; font-size: 55px; line-height: 1; color: var(--ph-tint); -webkit-text-fill-color: var(--ph-tint); -webkit-text-stroke: 1px var(--ph-body); }
.ph-process__card h3 { margin-bottom: 15px !important; font-size: 1.5rem; font-weight: 800; line-height: 1.3; }
.ph-process__card p:last-child { color: var(--ph-body); }
@media (min-width: 1200px) and (max-width: 1399px) {
	.ph-process__item::before { bottom: -10px; }
	.ph-process__item:nth-child(even)::before { top: -10px; }
	.ph-process__card { max-width: 240px; padding: 0 15px 40px; }
	.ph-process__item:nth-child(even) .ph-process__card { padding: 25px 15px 0; }
}
@media (min-width: 992px) and (max-width: 1199px) { .ph-process__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) and (max-width: 991px) { .ph-process__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .ph-process__grid { grid-template-columns: 1fr; } }
@media (max-width: 991px) {
	.ph-process__item { margin: 0 auto 70px !important; }
	.ph-process__item:nth-child(even)::before { top: auto; bottom: -20px; }
	.ph-process__item:nth-child(even) .ph-process__card { padding: 0 30px 40px; }
	.ph-process__item:nth-child(even) .ph-process__icon { order: 0; margin: -50px auto 25px !important; bottom: 0; }
}

/* ---------- Zones, quartiers, carte ---------- */
.ph-chips { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.ph-chips li { background: #fff; border: 1px solid var(--ph-border); border-radius: 40px; padding: .4rem 1rem; font-weight: 600; color: var(--ph-heading); font-size: .95rem; }
.ph-chips li a { color: inherit; text-decoration: none; }
.ph-chips li:has(a):hover { border-color: var(--ph-primary); background: var(--ph-primary); }
.ph-chips li:has(a):hover a { color: #fff; }
.ph-section--tint .ph-chips li { background: #fff; }
.ph-map-block { margin: 0; }
.ph-map-block__top { display: flex; justify-content: flex-end; margin: 0 0 .6rem !important; }
.ph-map-open { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; font-size: .9rem; color: var(--ph-primary); text-decoration: none; background: #fff; border: 1px solid var(--ph-border); border-radius: 40px; padding: .4rem .95rem; }
.ph-map-open::after { content: ""; width: .85em; height: .85em; background: currentColor; -webkit-mask: var(--ph-i-arrow) center / contain no-repeat; mask: var(--ph-i-arrow) center / contain no-repeat; transform: rotate(-45deg); }
.ph-map-open:hover { background: var(--ph-primary); border-color: var(--ph-primary); color: #fff; }
.ph-map { position: relative; border-radius: 15px; overflow: hidden; box-shadow: var(--ph-shadow); background: #eef1f4; width: 100%; aspect-ratio: 4 / 3; margin: 0 !important; isolation: isolate; }
@media (max-width: 599px) { .ph-map { aspect-ratio: 1 / 1; } }
.ph-map__canvas { position: absolute; inset: 0; z-index: 1; background: #eef1f4; font-family: inherit; }
.ph-map__fallback { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: .4rem; padding: 1.5rem; background: var(--ph-tint) url("../images/shapes/hero-shapes.svg") left center / auto 120% no-repeat; color: var(--ph-heading); }
.ph-map__fallback p { margin: 0; }
.ph-map__rating span { color: #f4b400; }
.ph-map.is-loaded .ph-map__fallback { visibility: hidden; }
.ph-map__hint { position: absolute; inset: 0; z-index: 1001; display: grid; place-items: center; padding: 1rem; background: rgba(43, 46, 50, .55); color: #fff; font-weight: 600; text-align: center; opacity: 0; pointer-events: none; transition: opacity .25s; }
.ph-map.show-hint .ph-map__hint { opacity: 1; }
.ph-map .leaflet-tile-pane { filter: grayscale(1) brightness(1.08) contrast(.88); }
.ph-map .leaflet-control-attribution { font-size: 11px; background: rgba(255, 255, 255, .85); }
.ph-map .leaflet-bar a { color: var(--ph-heading); }
.ph-pin { background: none; border: 0; }
.ph-pin svg { display: block; overflow: visible; filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .3)); transform-origin: 50% 100%; animation: ph-pin-in .55s cubic-bezier(.34, 1.4, .64, 1) both; }
@keyframes ph-pin-in { from { opacity: 0; transform: translateY(-18px) scale(.85); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ph-pin svg { animation: none; } }
.ph-leaflet-popup .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 8px 30px rgba(0, 0, 0, .15); }
.ph-leaflet-popup .leaflet-popup-content { margin: 14px 16px; line-height: 1.45; font-family: var(--wp--preset--font-family--inter, sans-serif); }
.ph-popup { display: flex; flex-direction: column; gap: .2rem; min-width: 200px; color: var(--ph-body); font-size: .875rem; }
.ph-popup__name { font-family: var(--ph-heading-font); font-weight: 800; font-size: 1rem; color: var(--ph-heading); }
.ph-popup__rating { font-weight: 600; color: var(--ph-heading); }
.ph-popup__star { color: #f4b400; }
.ph-popup__btns { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .45rem; }
.ph-popup .ph-popup__btn { display: inline-block; padding: .4rem .8rem; border-radius: 30px; background: var(--ph-primary); color: #fff; font-weight: 700; font-size: .8rem; text-decoration: none; }
.ph-popup .ph-popup__btn.is-ghost { background: #fff; color: var(--ph-primary); border: 1px solid var(--ph-border); }
.ph-popup .ph-popup__btn:hover { background: var(--ph-heading); color: #fff; }
.ph-nap { background: #fff; border-radius: var(--ph-radius); box-shadow: var(--ph-shadow); padding: 1.6rem 1.8rem; margin-top: 1.75rem !important; }
.ph-nap p { margin: 0; }
.ph-zone-cols { max-width: var(--ph-wide); margin-inline: auto; gap: 30px; }
.ph-zone-card { background: #fff; border-radius: 15px; box-shadow: var(--ph-shadow); padding: 2rem; height: 100%; margin: 0 !important; }
.ph-zone-card h3 { margin: 0 0 .5rem; }
.ph-zone-card h3 a { color: inherit; text-decoration: none; }
.ph-zone-card h3 a:hover { color: var(--ph-primary); }

/* ---------- Contenu éditorial (pages ville/service) ---------- */
.ph-content { max-width: var(--ph-wide); margin-inline: auto; }
.ph-content h2 { margin-top: 0; }
.ph-content h3 { margin-top: 2rem; }
.ph-prose { max-width: 800px; margin-inline: auto; padding-bottom: var(--ph-section); }
.ph-prose h2 { font-size: 1.6rem; margin-top: 2.5rem; }
.ph-prose h3:not(:first-child) { margin-top: 2rem; }
.ph-prose > .ph-lead { max-width: none; }
.ph-prose > .wp-block-buttons { margin-block: 1.75rem 0; }
.ph-prose > .wp-block-columns { margin-top: 3rem; }
.ph-info-box { background: var(--ph-tint); border-left: 4px solid var(--ph-primary); border-radius: 0 var(--ph-radius) var(--ph-radius) 0; padding: 1.4rem 1.6rem; }
.ph-info-box > :first-child { margin-top: 0; }
.ph-info-box > :last-child { margin-bottom: 0; }
.ph-table { overflow-x: auto; }
.ph-table table { border-collapse: collapse; width: 100%; background: #fff; }
.ph-table th, .ph-table td { border: 1px solid var(--ph-border); padding: .75rem 1rem; text-align: left; }
.ph-table th { background: var(--ph-tint); color: var(--ph-heading); }

/* ---------- Pied de page ---------- */
.ph-site-footer { margin-top: 0; }
.ph-footer-cta { padding-block: clamp(2rem, 5vw, 3rem); }
.ph-footer-cta__inner { max-width: var(--ph-wide); gap: 1.5rem 3rem; }
.ph-footer-cta p { margin: 0; color: rgba(255, 255, 255, .92); max-width: 720px; }
.ph-footer-cta .ph-footer-cta__title { font-family: var(--ph-heading-font); font-weight: 800; font-size: clamp(1.35rem, 2.6vw, 1.9rem); color: #fff; margin-bottom: .4rem; line-height: 1.3; }
.ph-footer { color: #b9bdc4; padding-block: clamp(3rem, 7vw, 5rem) 1.5rem; font-size: .95rem; }
.ph-footer__cols { max-width: var(--ph-wide); margin-inline: auto; gap: 2.5rem; }
.ph-footer a { color: #e6e8eb; text-decoration: none; }
.ph-footer a:hover { color: var(--ph-secondary); text-decoration: underline; }
.ph-footer__title { color: #fff; font-family: var(--ph-heading-font); font-weight: 700; font-size: 1.15rem; margin: 0 0 1rem; }
.ph-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.ph-footer__nap { line-height: 1.8; }
.ph-footer__nap strong { color: #fff; }
.ph-footer__logo { margin-bottom: 1.25rem !important; }
.ph-footer__copy { max-width: var(--ph-wide); margin: 3rem auto 0 !important; padding-top: 1.25rem; border-top: 1px solid rgba(191, 191, 191, .25); font-size: .875rem; text-align: center; }

/* Bouton d'appel fixe en bas d'écran (mobile) */
.ph-mobile-call { display: none; }
@media (max-width: 781px) {
	body { padding-bottom: 64px; }
	.ph-mobile-call { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; margin: 0 !important; background: var(--ph-gradient); box-shadow: 0 -4px 20px rgba(0, 0, 0, .15); }
	.ph-mobile-call p { margin: 0; }
	.ph-mobile-call a { display: flex; align-items: center; justify-content: center; min-height: 64px; color: #fff; font-weight: 700; font-family: var(--ph-heading-font); font-size: 1.1rem; text-decoration: none; }
}

/* ---------- Responsive colonnes ---------- */
@media (max-width: 781px) {
	.ph-about > .wp-block-columns, .ph-why > .wp-block-columns, .ph-faq > .wp-block-columns, .ph-split > .wp-block-columns { gap: 2.5rem; }
	.ph-why > .wp-block-columns { flex-direction: column-reverse; }
}

/* ---------- Éditeur ---------- */
.editor-styles-wrapper .ph-hero-slider > figure { position: relative; opacity: 1; }
.editor-styles-wrapper .ph-hero-slider { aspect-ratio: auto; border-radius: 20px; overflow: visible; }
.editor-styles-wrapper .ph-hero-slider img { border-radius: 12px; }
.editor-styles-wrapper .ph-carousel__track { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(3, 1fr); overflow: visible; }
.editor-styles-wrapper .ph-mobile-call { display: block; position: static; }

/* @icons:start – généré par tools/icons.mjs, ne pas modifier à la main */
:root {
	--ph-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--ph-i-wrench: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");
	--ph-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--ph-i-check-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E");
	--ph-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
	--ph-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M4 12h16'/%3E%3C/svg%3E");
	--ph-i-drop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E");
	--ph-i-pipe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h7a4 4 0 0 1 4 4v10'/%3E%3Cpath d='M3 3v8M18 21v-6M10 21h12'/%3E%3C/svg%3E");
	--ph-i-flame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.07-2.14-.22-4.05 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.15.43-2.29 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");
	--ph-i-heater: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M7 5v14M11 5v14M15 5v14M3 21h2M19 21h2'/%3E%3C/svg%3E");
	--ph-i-faucet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h9a4 4 0 0 1 4 4v1'/%3E%3Cpath d='M8 10V6h4v4M6 6h8M17 19c0 1.1-.9 2-2 2'/%3E%3Cpath d='M17 17.5c0 .8-.4 1.5-1 1.5'/%3E%3C/svg%3E");
	--ph-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--ph-i-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.6 2.6A2 2 0 0 0 11.2 2H4a2 2 0 0 0-2 2v7.2a2 2 0 0 0 .6 1.4l8.7 8.7a2.4 2.4 0 0 0 3.4 0l6.6-6.6a2.4 2.4 0 0 0 0-3.4z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E");
	--ph-i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 22V12h6v10'/%3E%3C/svg%3E");
	--ph-i-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M16 13H8M16 17H8'/%3E%3C/svg%3E");
	--ph-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--ph-i-team: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	--ph-i-headset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E");
	--ph-i-stars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 24'%3E%3Cpolygon transform='translate(0 0)' points='12 1 15.1 8 23 8.9 17 14.2 18.7 22 12 18 5.3 22 7 14.2 1 8.9 8.9 8' fill='black'/%3E%3Cpolygon transform='translate(26.5 0)' points='12 1 15.1 8 23 8.9 17 14.2 18.7 22 12 18 5.3 22 7 14.2 1 8.9 8.9 8' fill='black'/%3E%3Cpolygon transform='translate(53 0)' points='12 1 15.1 8 23 8.9 17 14.2 18.7 22 12 18 5.3 22 7 14.2 1 8.9 8.9 8' fill='black'/%3E%3Cpolygon transform='translate(79.5 0)' points='12 1 15.1 8 23 8.9 17 14.2 18.7 22 12 18 5.3 22 7 14.2 1 8.9 8.9 8' fill='black'/%3E%3Cpolygon transform='translate(106 0)' points='12 1 15.1 8 23 8.9 17 14.2 18.7 22 12 18 5.3 22 7 14.2 1 8.9 8.9 8' fill='black'/%3E%3C/svg%3E");
}
.ph-ico--phone, .is-icon-phone { --ph-i: var(--ph-i-phone); }
.ph-ico--wrench, .is-icon-wrench { --ph-i: var(--ph-i-wrench); }
.ph-ico--arrow, .is-icon-arrow { --ph-i: var(--ph-i-arrow); }
.ph-ico--check-circle, .is-icon-check-circle { --ph-i: var(--ph-i-check-circle); }
.ph-ico--clock, .is-icon-clock { --ph-i: var(--ph-i-clock); }
.ph-ico--plus, .is-icon-plus { --ph-i: var(--ph-i-plus); }
.ph-ico--drop, .is-icon-drop { --ph-i: var(--ph-i-drop); }
.ph-ico--pipe, .is-icon-pipe { --ph-i: var(--ph-i-pipe); }
.ph-ico--flame, .is-icon-flame { --ph-i: var(--ph-i-flame); }
.ph-ico--heater, .is-icon-heater { --ph-i: var(--ph-i-heater); }
.ph-ico--faucet, .is-icon-faucet { --ph-i: var(--ph-i-faucet); }
.ph-ico--shield, .is-icon-shield { --ph-i: var(--ph-i-shield); }
.ph-ico--tag, .is-icon-tag { --ph-i: var(--ph-i-tag); }
.ph-ico--home, .is-icon-home { --ph-i: var(--ph-i-home); }
.ph-ico--file, .is-icon-file { --ph-i: var(--ph-i-file); }
.ph-ico--pin, .is-icon-pin { --ph-i: var(--ph-i-pin); }
.ph-ico--team, .is-icon-team { --ph-i: var(--ph-i-team); }
.ph-ico--headset, .is-icon-headset { --ph-i: var(--ph-i-headset); }
.ph-ico--stars, .is-icon-stars { --ph-i: var(--ph-i-stars); }
/* @icons:end */
