/* ==========================================================================
   HR Entretien de l'habitat : styles du site (front et canvas de l'éditeur)
   Convention : variables, socle, composants, un marqueur par bloc,
   gabarits, puis toutes les media queries en fin de fichier.
   Valeurs relevées sur la maquette HTML de la page d'accueil.
   ========================================================================== */

/* ---- VARIABLES --------------------------------------------------------- */
:root {
	/* Palette : réglages globaux de Kadence (repli = valeurs de la maquette) */
	--hr-orange: var(--global-palette1, #E5610D);
	--hr-orange-fonce: var(--global-palette2, #C24E05);   /* survol des fonds orange */
	--hr-noir: var(--global-palette3, #1C1B19);
	--hr-texte: var(--global-palette4, #4A4A47);
	--hr-texte-doux: var(--global-palette5, #6B6864);
	--hr-orange-texte: var(--global-palette6, #A8450B);  /* liens et petits textes orange (5,96:1) */
	--hr-gris-clair: var(--global-palette7, #F5F4F2);
	--hr-creme: var(--global-palette8, #FDF3EC);
	--hr-blanc: var(--global-palette9, #FFFFFF);
	/* Couleurs de la maquette hors palette */
	--hr-orange-clair: #F48036;   /* surtitre sur fond brun (4,51:1) */
	--hr-brun: #3A3732;
	--hr-noir-2: #26241F;
	--hr-creme-survol: #F5EDE5;
	--hr-creme-filet: #EBDDD1;
	--hr-filet: #E7E5E1;
	--hr-filet-fort: #D8D5D0;
	/* Typographie */
	--hr-titre: var(--global-heading-font-family, 'Archivo', system-ui, sans-serif);
	--hr-corps: var(--global-body-font-family, 'Source Sans 3', system-ui, sans-serif);
	/* Mise en page */
	--hr-wrap: var(--global-content-width, 1200px);
	--hr-gutter: 24px;
	--hr-section-y: 96px;
	--hr-r-sm: 8px;
	--hr-r-md: 12px;
	--hr-r-lg: 14px;
	--hr-r-xl: 16px;
	--hr-ombre-onglet: -6px 0 24px rgba(28, 27, 25, .22);
	--hr-ombre-menu: 0 18px 40px rgba(0, 0, 0, .35);
	/* Empilement : contenu 1, en-tête 100, sous-menu 110, flottants 200, boîte de dialogue 300 */
	--hr-z-header: 100;
	--hr-z-sub: 110;
	--hr-z-flottant: 200;
	--hr-z-dialog: 300;
	--hr-header-h: 64px;
}

/* ---- SOCLE ------------------------------------------------------------- */
body.hr { background: var(--hr-blanc); color: var(--hr-texte); font-family: var(--hr-corps); -webkit-font-smoothing: antialiased; }
.hr *, .hr *::before, .hr *::after { box-sizing: border-box; }
.hr h1, .hr h2, .hr h3, .hr h4 { font-family: var(--hr-titre); color: var(--hr-noir); margin: 0; text-wrap: balance; }
.hr-main p { margin: 0; text-wrap: pretty; }
.hr [id] { scroll-margin-top: calc(var(--hr-header-h) + 16px); }
.hr :focus-visible { outline: 3px solid var(--hr-orange); outline-offset: 2px; }
.hr .hr-section--orange :focus-visible, .hr .hr-topbar :focus-visible { outline-color: var(--hr-noir); }
.hr .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.hr .hr-skip:focus { position: fixed !important; top: 8px; left: 8px; width: auto; height: auto; clip: auto; z-index: 1000; padding: 12px 18px; background: var(--hr-blanc); color: var(--hr-noir); border-radius: var(--hr-r-sm); }
.hr-site { max-width: 100%; overflow-x: clip; position: relative; }
.hr-wrap { max-width: var(--hr-wrap); margin-inline: auto; }
.hr-main :where(ol, ul[class]) { list-style: none; margin: 0; padding: 0; }
.hr-icon { display: block; flex: none; }

/* ---- COMPOSANTS -------------------------------------------------------- */
.hr-section { position: relative; padding: var(--hr-section-y) var(--hr-gutter); }
.hr-section--blanc { background: var(--hr-blanc); }
.hr-section--creme { background: var(--hr-creme); }
.hr-section--gris { background: var(--hr-gris-clair); border-top: 1px solid var(--hr-filet); }
.hr-section--sombre { background: var(--hr-noir); }
.hr-section--orange { background: var(--hr-orange); overflow: hidden; }

.hr-eyebrow { font-family: var(--hr-corps); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--hr-orange-texte); }
.hr-eyebrow--vif { color: var(--hr-orange); }
.hr-eyebrow--clair { color: var(--hr-orange-clair); }
.hr .hr-h2 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; line-height: 1.1; letter-spacing: -.015em; }
.hr .hr-lead { font-size: 18px; line-height: 1.6; }
.hr-accent { color: var(--hr-orange-texte); }
.hr-section--sombre .hr-accent, .hr-hero .hr-accent { color: var(--hr-orange); }

.hr .hr-link, .hr .hr-link:visited { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-family: var(--hr-titre); font-weight: 700; font-size: 16px; color: var(--hr-orange-texte); text-decoration: none; }
.hr .hr-link:hover, .hr .hr-link:focus { color: var(--hr-orange-fonce); text-decoration: underline; text-underline-offset: .2em; }
.hr .hr-link .hr-icon { transition: transform .15s ease; }
.hr .hr-link:hover .hr-icon { transform: translateX(3px); }
.hr .is-inactive { cursor: default; }
.hr .hr-link.is-inactive:hover { text-decoration: none; color: var(--hr-orange-texte); }

.hr .hr-btn, .hr .hr-btn:visited, .hr .hr-btn:hover, .hr .hr-btn:focus, .hr .hr-btn:active {
	-webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--hr-titre); font-weight: 700; font-size: 16px; line-height: 1.2; padding: 16px 26px; border-radius: var(--hr-r-sm);
	border: 1px solid transparent; text-decoration: none; box-shadow: none; cursor: pointer; transition: background-color .15s ease, color .15s ease;
}
.hr .hr-btn--lg, .hr .hr-btn--lg:hover, .hr .hr-btn--lg:focus { font-size: 19px; padding: 16px 30px; }
.hr .hr-btn--sm, .hr .hr-btn--sm:hover, .hr .hr-btn--sm:focus { font-size: 14px; letter-spacing: .04em; text-transform: uppercase; padding: 12px 18px; }
.hr .hr-btn--primary, .hr .hr-btn--primary:visited { background: var(--hr-orange); color: var(--hr-blanc); }
.hr .hr-btn--primary:hover, .hr .hr-btn--primary:focus, .hr .hr-btn--primary:active { background: var(--hr-orange-fonce); color: var(--hr-blanc); }
.hr .hr-btn--dark, .hr .hr-btn--dark:visited { background: var(--hr-noir); color: var(--hr-blanc); }
.hr .hr-btn--dark:hover, .hr .hr-btn--dark:focus, .hr .hr-btn--dark:active { background: #000; color: var(--hr-blanc); }
.hr .hr-btn--ghost, .hr .hr-btn--ghost:visited { background: transparent; color: var(--hr-blanc); border-color: rgba(255, 255, 255, .35); font-weight: 600; }
.hr .hr-btn--ghost:hover, .hr .hr-btn--ghost:focus, .hr .hr-btn--ghost:active { background: rgba(255, 255, 255, .08); color: var(--hr-blanc); border-color: rgba(255, 255, 255, .35); }

.hr-head { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-end; justify-content: space-between; }
.hr-head__text { display: flex; flex-direction: column; gap: 16px; max-width: 620px; }
.hr .hr-head .hr-h2 { font-size: clamp(28px, 3.4vw, 40px); }
.hr .hr-head .hr-lead { font-size: 17px; }

/* Conteneur média générique : l'image remplit toujours sa boîte. */
.hr-hero__media, .hr-args__media, .hr-artisan__media, .hr-post-card__media, .hr-aa-item__shot { position: relative; overflow: hidden; }
.hr-hero__media img, .hr-args__media img, .hr-artisan__media img, .hr-post-card__media img, .hr-aa-item__shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; }

/* ---- EN-TÊTE : bandeau de contact ------------------------------------- */
.hr-topbar { background: var(--hr-orange); }
.hr-topbar__inner { max-width: var(--hr-wrap); margin: 0 auto; padding: 9px var(--hr-gutter); display: flex; flex-wrap: wrap; gap: 6px 28px; align-items: center; justify-content: space-between; }
.hr-topbar__contacts { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
.hr .hr-topbar__link, .hr .hr-topbar__link:visited { color: var(--hr-blanc); font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 8px; text-decoration: none; }
.hr .hr-topbar__link:hover, .hr .hr-topbar__link:focus { color: var(--hr-blanc); text-decoration: underline; text-underline-offset: .2em; }
.hr-topbar__label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.hr-topbar__sep { width: 1px; height: 14px; background: rgba(255, 255, 255, .4); }
.hr-topbar__note { color: var(--hr-blanc); font-size: 14px; font-weight: 600; letter-spacing: .02em; }

/* ---- EN-TÊTE : barre principale --------------------------------------- */
.hr-header { position: sticky; top: 0; z-index: var(--hr-z-header); background: var(--hr-noir); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.admin-bar .hr-header { top: var(--wp-admin--admin-bar--height, 32px); }
.hr-header__inner { max-width: var(--hr-wrap); margin: 0 auto; padding: 14px var(--hr-gutter); display: flex; align-items: center; gap: 28px; position: relative; }
.hr .hr-brand, .hr .hr-brand:hover, .hr .hr-brand:focus { display: flex; align-items: center; gap: 28px; text-decoration: none; }
.hr-brand__logo { height: 34px; width: auto; display: block; }
.hr-brand__text { display: flex; flex-direction: column; line-height: 1; }
.hr-brand__name { font-family: var(--hr-titre); font-weight: 800; font-size: 22px; color: var(--hr-blanc); letter-spacing: -.01em; }
.hr-brand__dot { color: var(--hr-orange); }
.hr-brand__tagline { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); margin-top: 4px; }

.hr-nav { margin-left: auto; }
.hr-nav__list { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; list-style: none; margin: 0; padding: 0; }
.hr-nav__item { position: relative; display: flex; align-items: center; }
.hr .hr-nav__link, .hr .hr-nav__link:visited { color: rgba(255, 255, 255, .82); font-size: 15px; text-decoration: none; }
.hr .hr-nav__link:hover, .hr .hr-nav__link:focus, .hr .hr-nav__item.is-active > .hr-nav__link { color: var(--hr-blanc); }
.hr .hr-nav__item.is-active > .hr-nav__link { text-decoration: underline; text-decoration-color: var(--hr-orange); text-decoration-thickness: 2px; text-underline-offset: .45em; }
.hr .hr-nav__toggle, .hr .hr-nav__toggle:hover, .hr .hr-nav__toggle:focus, .hr .hr-nav__toggle:active { -webkit-appearance: none; appearance: none; background: transparent; border: 0; box-shadow: none; color: rgba(255, 255, 255, .7); padding: 4px; margin-left: 2px; display: grid; place-items: center; cursor: pointer; border-radius: 6px; }
.hr .hr-nav__toggle:hover { color: var(--hr-blanc); }
.hr-nav__toggle .hr-icon { transition: transform .15s ease; }
.hr-nav__toggle[aria-expanded="true"] .hr-icon { transform: rotate(180deg); }
.hr-nav__sub { display: none; position: absolute; top: 100%; left: -16px; z-index: var(--hr-z-sub); min-width: 268px; margin: 0; padding: 26px 10px 10px; list-style: none; background: linear-gradient(transparent 16px, var(--hr-noir-2) 16px); }
.hr-nav__sub::before { content: ''; position: absolute; inset: 16px 0 0; border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--hr-r-md); box-shadow: var(--hr-ombre-menu); pointer-events: none; }
.hr-nav__item.has-sub:hover > .hr-nav__sub, .hr-nav__item.has-sub:focus-within > .hr-nav__sub, .hr-nav__item.has-sub.is-open > .hr-nav__sub { display: flex; flex-direction: column; gap: 2px; }
.hr .hr-nav__sublink, .hr .hr-nav__sublink:visited { display: block; position: relative; color: rgba(255, 255, 255, .82); font-size: 15px; padding: 9px 12px; border-radius: var(--hr-r-sm); text-decoration: none; }
.hr .hr-nav__sublink:hover, .hr .hr-nav__sublink:focus, .hr .hr-nav__subitem.is-active > .hr-nav__sublink { background: rgba(229, 97, 13, .18); color: var(--hr-blanc); }
.hr-nav__item--bouton { margin-left: 6px; }
.hr .hr-burger, .hr .hr-burger:hover, .hr .hr-burger:focus, .hr .hr-burger:active { display: none; -webkit-appearance: none; appearance: none; margin-left: auto; width: 44px; height: 44px; place-items: center; padding: 0; background: transparent; border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--hr-r-sm); color: var(--hr-blanc); box-shadow: none; cursor: pointer; }
.hr-burger .hr-icon--close, .hr-header.is-open .hr-burger .hr-icon--menu { display: none; }
.hr-header.is-open .hr-burger .hr-icon--close { display: block; }

/* ---- ONGLET LATÉRAL ET BARRE MOBILE ------------------------------------ */
.hr .hr-tab, .hr .hr-tab:visited { display: none; position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: var(--hr-z-flottant); width: 120px; background: var(--hr-orange); color: var(--hr-blanc); border-radius: 18px 0 0 18px; padding: 20px 12px 18px; flex-direction: column; align-items: center; gap: 12px; box-shadow: var(--hr-ombre-onglet); text-decoration: none; }
.hr .hr-tab:hover, .hr .hr-tab:focus { background: var(--hr-orange-fonce); color: var(--hr-blanc); text-decoration: none; }
/* 120 px maximum à 1440 px pour ne rien recouvrir : titre réduit pour garder des marges intérieures. */
.hr-tab__title { font-family: var(--hr-titre); font-weight: 800; font-size: 15px; line-height: 1.2; text-align: center; letter-spacing: -.01em; }
.hr-tab .hr-icon { width: 30px; height: 30px; }
.hr-tab__rule { width: 56px; height: 1px; background: rgba(255, 255, 255, .55); }
.hr-tab__text { font-size: 13px; font-weight: 600; text-align: center; line-height: 1.3; }
.hr-mobilebar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--hr-z-flottant); grid-template-columns: 1fr 1fr; padding-bottom: env(safe-area-inset-bottom); background: var(--hr-noir); }
.hr .hr-mobilebar__btn, .hr .hr-mobilebar__btn:visited, .hr .hr-mobilebar__btn:hover, .hr .hr-mobilebar__btn:focus { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; font-family: var(--hr-titre); font-weight: 700; font-size: 19px; color: var(--hr-blanc); text-decoration: none; }
.hr .hr-mobilebar__btn--appel { background: var(--hr-noir); }
.hr .hr-mobilebar__btn--devis { background: var(--hr-orange); }

/* ---- BLOC: hero -------------------------------------------------------- */
.hr-hero { position: relative; background: var(--hr-noir); }
.hr-hero__media { position: absolute; inset: 0; }
.hr-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(28, 27, 25, .92) 0%, rgba(28, 27, 25, .78) 48%, rgba(28, 27, 25, .25) 100%); pointer-events: none; }
.hr-hero__inner { position: relative; padding: 112px var(--hr-gutter) 120px; }
.hr-hero__content { max-width: 660px; display: flex; flex-direction: column; gap: 26px; }
/* Plein écran : le héro prend la hauteur de l'écran moins ce qui l'entoure (mesuré par front.js). */
.hr-hero--plein-ecran { display: flex; flex-direction: column; justify-content: center; min-height: calc(100vh - var(--hr-hero-offset, 170px)); min-height: calc(100svh - var(--hr-hero-offset, 170px)); }
.hr-hero--plein-ecran .hr-hero__inner { width: 100%; padding-top: clamp(40px, 8vh, 112px); padding-bottom: clamp(48px, 9vh, 120px); }
.hr .hr-hero__title { color: var(--hr-blanc); font-size: clamp(32px, 4.6vw, 54px); font-weight: 800; line-height: 1.06; letter-spacing: -.02em; }
.hr .hr-hero__text { color: rgba(255, 255, 255, .86); font-size: 20px; line-height: 1.5; max-width: 560px; }
.hr-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

/* ---- BLOC: reassurance ------------------------------------------------- */
.hr-reassurance { background: var(--hr-gris-clair); border-bottom: 1px solid var(--hr-filet); }
.hr .hr-reassurance__list { padding: 18px var(--hr-gutter); display: flex; flex-wrap: wrap; gap: 12px 57px; align-items: center; justify-content: center; font-size: 15px; color: var(--hr-texte); }
.hr-reassurance__item { position: relative; }
.hr-reassurance__item + .hr-reassurance__item::before { content: ''; position: absolute; left: -29px; top: 50%; width: 1px; height: 16px; margin-top: -8px; background: var(--hr-filet-fort); }
.hr-reassurance__item strong { color: var(--hr-noir); }

/* ---- BLOC: liste-numerotee --------------------------------------------- */
.hr-liste { overflow: hidden; }
.hr-liste__decor { position: absolute; right: -30px; bottom: -20px; width: min(460px, 40vw); height: auto; opacity: .08; pointer-events: none; user-select: none; }
.hr-liste__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 56px; align-items: start; }
.hr-liste__intro { display: flex; flex-direction: column; gap: 20px; }
.hr-liste__items { display: flex; flex-direction: column; gap: 12px; }
.hr-liste__item { display: flex; gap: 14px; padding: 18px 20px; background: var(--hr-creme); border-radius: var(--hr-r-md); align-items: baseline; }
.hr-liste__num { font-family: var(--hr-titre); font-weight: 700; color: var(--hr-orange-texte); }
.hr .hr-liste__text { font-size: 17px; color: var(--hr-noir); }
.hr-liste--filets { padding-block: 72px; }
.hr-liste--filets .hr-liste__grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }
.hr-liste--filets .hr-liste__intro { gap: 14px; }
.hr .hr-liste--filets .hr-h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.12; }
.hr .hr-liste--filets .hr-lead { font-size: 17px; }
.hr-liste--filets .hr-liste__items { gap: 0; }
.hr-liste--filets .hr-liste__item { background: none; border-radius: 0; padding: 16px 0; border-bottom: 1px solid var(--hr-creme-filet); }
.hr-liste--filets .hr-liste__item:last-child { border-bottom: 0; }

/* ---- BLOC: prestations ------------------------------------------------- */
.hr-presta__intro { position: relative; background: var(--hr-brun); padding: 80px var(--hr-gutter) calc(13.2vw + 90px); }
.hr-presta__intro-inner { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; }
.hr .hr-presta__title { color: var(--hr-blanc); line-height: 1.15; }
.hr .hr-presta__text { color: rgba(255, 255, 255, .85); max-width: 720px; margin-top: 6px; }
.hr-presta__roof { position: absolute; left: 0; bottom: -1px; width: 100%; height: auto; aspect-ratio: 1440 / 397; display: block; fill: var(--hr-blanc); pointer-events: none; }
.hr-presta__cards { background: var(--hr-blanc); padding: 36px var(--hr-gutter) var(--hr-section-y); }
.hr .hr-presta__grid { max-width: 1080px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.hr-presta__cell { width: min(320px, 100%); display: flex; }
.hr .hr-presta-card, .hr .hr-presta-card:visited { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 26px; background: var(--hr-creme); border-radius: var(--hr-r-lg); text-decoration: none; color: inherit; transition: background-color .15s ease; }
.hr a.hr-presta-card:hover, .hr a.hr-presta-card:focus { background: var(--hr-creme-survol); text-decoration: none; }
.hr-presta-card__num { font-family: var(--hr-titre); font-size: 13px; font-weight: 700; color: var(--hr-orange-texte); }
.hr-presta-card__icon img { width: 36px; height: 36px; object-fit: contain; }
.hr .hr-presta-card__title { font-size: 20px; font-weight: 700; line-height: 1.2; }
.hr .hr-presta-card__text { font-size: 15px; line-height: 1.5; color: var(--hr-texte); }

/* ---- BLOC: etapes ------------------------------------------------------ */
.hr-etapes { overflow: hidden; }
.hr-etapes__decor { position: absolute; right: 0; bottom: 0; width: min(230px, 24vw); height: auto; pointer-events: none; user-select: none; }
.hr-etapes__inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 48px; }
.hr-etapes__head { display: flex; flex-direction: column; gap: 16px; max-width: 640px; }
.hr .hr-etapes__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
/* Nombre de colonnes calé sur le nombre d'étapes (2 ou 3), pour ne jamais laisser une étape seule. */
.hr .hr-etapes__grid:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hr .hr-etapes__grid:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hr-etape { display: flex; flex-direction: column; gap: 12px; padding-top: 22px; border-top: 3px solid var(--hr-filet); }
.hr-etape:first-child { border-top-color: var(--hr-orange); }
.hr-etape__num { font-family: var(--hr-titre); font-weight: 800; font-size: 38px; color: var(--hr-noir); line-height: 1; }
.hr .hr-etape__title { font-size: 19px; font-weight: 700; }
.hr .hr-etape__text { font-size: 16px; line-height: 1.55; }
.hr-etapes__cta { align-self: flex-start; }

/* ---- BLOC: arguments --------------------------------------------------- */
.hr-args__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 48px; }
.hr-args__intro { display: flex; flex-direction: column; gap: 16px; }
.hr .hr-args .hr-h2 { font-size: clamp(28px, 3.4vw, 40px); }
.hr .hr-args .hr-lead { font-size: 17px; }
.hr-args__media { height: 230px; border-radius: var(--hr-r-lg); margin-top: 8px; }
.hr-arg { padding: 22px 0; border-bottom: 1px solid var(--hr-creme-filet); }
.hr-arg:last-child { border-bottom: 0; }
.hr .hr-arg__title { font-size: 19px; font-weight: 700; margin-bottom: 6px; }
.hr .hr-arg__text { font-size: 16px; line-height: 1.55; }

/* ---- BLOC: avant-apres ------------------------------------------------- */
.hr-aa .hr-wrap { display: flex; flex-direction: column; gap: 40px; }
.hr .hr-aa__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.hr-aa-item { display: flex; flex-direction: column; gap: 12px; }
.hr-aa-item__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; height: 230px; }
.hr .hr-aa-item__shot, .hr .hr-aa-item__shot:hover, .hr .hr-aa-item__shot:focus, .hr .hr-aa-item__shot:active { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; background: var(--hr-gris-clair); box-shadow: none; cursor: zoom-in; }
.hr-aa-item__label { position: absolute; left: 8px; bottom: 8px; z-index: 1; padding: 4px 8px; border-radius: 6px; background: rgba(28, 27, 25, .78); color: var(--hr-blanc); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.hr .hr-aa-item__title { font-size: 18px; font-weight: 700; }
.hr .hr-aa-item__text { font-size: 15px; }
.hr-lightbox { max-width: min(92vw, 1200px); max-height: 90vh; padding: 0; border: 0; border-radius: var(--hr-r-lg); background: var(--hr-noir); overflow: visible; }
.hr-lightbox::backdrop { background: rgba(28, 27, 25, .85); }
.hr-lightbox__img { display: block; max-width: 100%; max-height: 90vh; width: auto; height: auto; border-radius: var(--hr-r-lg); }
.hr .hr-lightbox__close, .hr .hr-lightbox__close:hover, .hr .hr-lightbox__close:focus { -webkit-appearance: none; appearance: none; position: absolute; top: -18px; right: -18px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--hr-blanc); color: var(--hr-noir); box-shadow: 0 4px 16px rgba(0, 0, 0, .3); cursor: pointer; }

/* ---- BLOC: avis -------------------------------------------------------- */
.hr-avis .hr-wrap { display: flex; flex-direction: column; gap: 40px; }
.hr-avis .hr-head__text { gap: 14px; }
.hr-avis__badge { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; background: var(--hr-blanc); border: 1px solid var(--hr-filet); border-radius: 999px; padding: 12px 22px; }
.hr-avis__badge-label { font-family: var(--hr-titre); font-weight: 700; font-size: 16px; color: var(--hr-noir); }
.hr-avis__badge-text { font-size: 15px; color: var(--hr-texte); }
.hr-stars { display: inline-flex; gap: 2px; color: var(--hr-orange); }
.hr .hr-avis__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.hr-avis-card { margin: 0; height: 100%; display: flex; flex-direction: column; gap: 16px; background: var(--hr-blanc); border: 1px solid var(--hr-filet); border-radius: var(--hr-r-xl); padding: 30px; }
.hr .hr-avis-card__quote { margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 1.55; color: var(--hr-noir); font-style: normal; }
.hr .hr-avis-card__quote p { font-size: inherit; }
.hr-avis-card__author { font-size: 15px; color: var(--hr-texte); font-style: italic; }
.hr-avis__links { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; }
.hr-avis__links > :last-child { margin-left: auto; }

/* ---- BLOC: artisan ----------------------------------------------------- */
.hr-artisan__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 56px; align-items: center; }
.hr-artisan__media { height: 420px; border-radius: var(--hr-r-xl); }
.hr-artisan--image-droite .hr-artisan__media { order: 2; }
.hr-artisan__content { display: flex; flex-direction: column; gap: 20px; }
.hr .hr-artisan__title { color: var(--hr-blanc); font-size: clamp(28px, 3.4vw, 40px); }
.hr .hr-artisan__text { color: rgba(255, 255, 255, .82); }
.hr .hr-artisan__link, .hr .hr-artisan__link:visited { align-self: flex-start; color: var(--hr-blanc); font-family: var(--hr-titre); font-weight: 700; font-size: 16px; border-bottom: 2px solid var(--hr-orange); padding-bottom: 2px; text-decoration: none; }
.hr a.hr-artisan__link:hover, .hr a.hr-artisan__link:focus { color: var(--hr-orange); text-decoration: none; }

/* ---- BLOC: conseils et cartes d'articles ------------------------------ */
.hr-conseils .hr-wrap { display: flex; flex-direction: column; gap: 40px; }
.hr-conseils .hr-head { gap: 20px; }
.hr-conseils .hr-head__text { gap: 14px; }
.hr .hr-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.hr-cards__item { display: flex; }
.hr-post-card { flex: 1; display: flex; }
.hr .hr-post-card__link, .hr .hr-post-card__link:visited { flex: 1; display: flex; flex-direction: column; gap: 14px; border: 1px solid var(--hr-filet); border-radius: var(--hr-r-xl); overflow: hidden; background: var(--hr-blanc); color: inherit; text-decoration: none; transition: border-color .15s ease; }
.hr a.hr-post-card__link:hover, .hr a.hr-post-card__link:focus { border-color: var(--hr-orange); text-decoration: none; }
.hr-post-card__media { height: 170px; background: var(--hr-gris-clair); }
.hr-post-card__body { padding: 0 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.hr .hr-post-card__cat { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--hr-orange-texte); font-weight: 600; }
.hr .hr-post-card__title { font-size: 19px; font-weight: 700; line-height: 1.25; }
.hr .hr-post-card__excerpt { font-size: 15px; line-height: 1.55; color: var(--hr-texte); }

/* ---- BLOC: devis ------------------------------------------------------- */
.hr-devis { padding-block: 88px; }
.hr-devis__decor { position: absolute; left: -30px; bottom: -30px; width: min(560px, 48vw); height: auto; opacity: 1; pointer-events: none; user-select: none; }
.hr-devis__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; align-items: start; }
.hr-devis__intro { display: flex; flex-direction: column; gap: 20px; }
.hr .hr-devis__title { color: var(--hr-blanc); font-size: clamp(30px, 3.8vw, 44px); line-height: 1.08; }
.hr .hr-devis__text { color: var(--hr-noir); font-size: 19px; line-height: 1.55; max-width: 460px; font-weight: 600; }
.hr-devis__card { background: var(--hr-blanc); border-radius: var(--hr-r-xl); padding: 28px; display: flex; flex-direction: column; gap: 14px; container-type: inline-size; }
.hr .hr-devis__note { font-size: 14px; line-height: 1.5; color: var(--hr-texte-doux); }
.hr-devis__fallback { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; font-size: 17px; color: var(--hr-noir); }

/* ---- PIED DE PAGE ------------------------------------------------------ */
.hr-footer { background: var(--hr-noir); padding: 64px var(--hr-gutter) 32px; }
.hr-footer__grid { max-width: var(--hr-wrap); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; }
.hr-footer__col { display: flex; flex-direction: column; gap: 10px; }
.hr-footer__brand { gap: 12px; }
.hr-footer__name { font-family: var(--hr-titre); font-weight: 800; font-size: 20px; color: var(--hr-blanc); }
.hr-footer__desc { color: rgba(255, 255, 255, .62); font-size: 15px; line-height: 1.6; margin: 0; }
.hr-footer__title { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .5); font-weight: 600; }
.hr-footer__text, .hr-footer__zone { color: rgba(255, 255, 255, .78); font-size: 15px; line-height: 1.6; margin: 0; }
.hr .hr-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.hr .hr-footer a, .hr .hr-footer a:visited { color: rgba(255, 255, 255, .78); font-size: 15px; text-decoration: none; }
.hr .hr-footer a:hover, .hr .hr-footer a:focus { color: var(--hr-blanc); text-decoration: underline; text-underline-offset: .2em; }
.hr-footer__social { display: flex; gap: 14px; flex-wrap: wrap; }
.hr-footer__bottom { max-width: var(--hr-wrap); margin: 40px auto 0; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px 20px; font-size: 14px; color: rgba(255, 255, 255, .5); }
.hr-footer__mention { grid-column: 1; justify-self: start; }
/* Crédit du créateur du site, centré dans la barre légale. */
.hr-footer__credit { grid-column: 2; justify-self: center; text-align: center; }
.hr-footer__legalnav { grid-column: 3; justify-self: end; }
.hr .hr-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; margin: 0; padding: 0; }
.hr .hr-footer__bottom a, .hr .hr-footer__bottom a:visited { color: rgba(255, 255, 255, .5); font-size: 14px; }

/* ---- GABARITS ---------------------------------------------------------- */
.hr-page-head { background: var(--hr-noir); padding: 72px var(--hr-gutter) 64px; }
.hr-page-head__inner { max-width: var(--hr-wrap); margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.hr .hr-page-head__title { color: var(--hr-blanc); font-size: clamp(30px, 4vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; max-width: 860px; }
.hr .hr-page-head__text { color: rgba(255, 255, 255, .82); font-size: 18px; line-height: 1.6; max-width: 720px; }
.hr-page-head__meta { color: rgba(255, 255, 255, .62); font-size: 15px; }
.hr-listing { padding: 64px var(--hr-gutter) var(--hr-section-y); }
.hr-listing__inner { max-width: var(--hr-wrap); margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
.hr-empty { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; max-width: 640px; }
.hr .hr-empty p { font-size: 18px; line-height: 1.6; }
.hr-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.hr .hr-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--hr-filet); border-radius: var(--hr-r-sm); color: var(--hr-noir); font-family: var(--hr-titre); font-weight: 700; text-decoration: none; }
.hr .hr-pagination .page-numbers.current, .hr .hr-pagination a.page-numbers:hover { background: var(--hr-noir); border-color: var(--hr-noir); color: var(--hr-blanc); }
.hr-search { display: flex; gap: 8px; width: 100%; max-width: 520px; }
.hr .hr-search__input { flex: 1; min-height: 48px; font: inherit; font-size: 16px; padding: 12px 14px; border: 1px solid var(--hr-filet-fort); border-radius: var(--hr-r-sm); color: var(--hr-noir); background: var(--hr-blanc); }
.hr-page-head .hr-search__input { border-color: transparent; }
.hr-article__figure { max-width: var(--hr-wrap); margin: 0 auto; padding: 0 var(--hr-gutter); }
.hr-article__figure img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--hr-r-xl); margin-top: 40px; }
.hr-article__foot { max-width: 760px; margin: 0 auto; padding: 0 var(--hr-gutter) var(--hr-section-y); display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; align-items: center; }

/* Contenu éditorial (articles, pages classiques) : les blocs natifs suivent la charte. */
.hr-prose { max-width: 760px; margin: 0 auto; padding: 56px var(--hr-gutter) 48px; color: var(--hr-texte); font-size: 18px; line-height: 1.7; }
.hr .hr-prose > * + * { margin-top: 1.1em; }
.hr .hr-prose h2 { font-size: clamp(24px, 2.6vw, 30px); font-weight: 800; line-height: 1.2; margin-top: 2em; letter-spacing: -.01em; }
.hr .hr-prose h3 { font-size: 21px; font-weight: 700; line-height: 1.3; margin-top: 1.6em; }
.hr .hr-prose p { margin-bottom: 0; }
.hr .hr-prose ul, .hr .hr-prose ol { padding-left: 1.3em; margin-bottom: 0; }
.hr .hr-prose ul { list-style: disc; }
.hr .hr-prose ol { list-style: decimal; }
.hr .hr-prose li + li { margin-top: .4em; }
.hr .hr-prose li::marker { color: var(--hr-orange); }
.hr .hr-prose a, .hr .hr-prose a:visited { color: var(--hr-orange-texte); text-decoration: underline; text-underline-offset: .15em; }
.hr .hr-prose a:hover, .hr .hr-prose a:focus { color: var(--hr-orange-fonce); }
.hr .hr-prose strong { color: var(--hr-noir); }
.hr .hr-prose blockquote { margin-left: 0; margin-right: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--hr-orange); font-style: normal; color: var(--hr-noir); }
.hr .hr-prose figure { margin-left: 0; margin-right: 0; }
.hr .hr-prose img { border-radius: var(--hr-r-md); }
.hr .hr-prose .wp-block-table { overflow-x: auto; }
.hr .hr-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.hr .hr-prose th, .hr .hr-prose td { border: 1px solid var(--hr-filet); padding: 10px 12px; text-align: left; }
.hr .hr-prose th { background: var(--hr-gris-clair); color: var(--hr-noir); }
.hr .hr-prose .wp-block-button__link, .hr .hr-prose .wp-block-button__link:visited { background: var(--hr-orange); color: var(--hr-blanc); border-radius: var(--hr-r-sm); font-family: var(--hr-titre); font-weight: 700; font-size: 19px; text-decoration: none; box-shadow: none; }
.hr .hr-prose .wp-block-button__link:hover, .hr .hr-prose .wp-block-button__link:focus { background: var(--hr-orange-fonce); color: var(--hr-blanc); box-shadow: none; }
.hr-encadre { background: var(--hr-creme); border-radius: var(--hr-r-lg); padding: 22px 24px; }
/* Pages en blocs : deux sections de texte qui se suivent ne cumulent pas leurs marges. */
.hr-prose + .hr-prose { padding-top: 0; }
.hr .hr-prose > h2:first-child { margin-top: 0; }

/* ---- FORMULAIRE (CF7 et SBD Forms) ------------------------------------- */
/* Le skin SBD Forms passe sa hauteur fixe, son cadre et sa barre de navigation
   à la mise en page de la maquette : la carte blanche est portée par le bloc. */
.hr .hr-devis__form .wpcf7-form { margin: 0; }
.hr .hr-devis .sbd-form.sbd-form--inline { display: block; height: auto; min-height: 0; overflow: visible; box-shadow: none; border-radius: 0; background: transparent; }
.hr .hr-devis .sbd-form .sbd-form-main { display: block; padding: 0; overflow: visible; min-height: 0; }
.hr .hr-devis .sbd-form .sbd-form-topbar, .hr .hr-devis .sbd-form .sbd-form-headline, .hr .hr-devis .sbd-form .sbd-stepper { display: none; }
.hr .hr-devis .sbd-form .sbd-form-body { padding: 0; overflow: visible; min-height: 0; }
.hr .hr-devis .sbd-form .sbd-step.is-active { display: block; }
.hr .hr-devis .sbd-form .sbd-step-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field { grid-column: span 6; margin: 0; }
.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="nom"],
.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="telephone"],
.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="email"] { grid-column: span 2; }
.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="commune"],
.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="besoin"] { grid-column: span 3; }
.hr .hr-devis .sbd-form .sbd-field-head { margin: 0 0 6px; }
.hr .hr-devis .sbd-form .sbd-field-label { margin: 0; font-family: var(--hr-corps); font-size: 14px; font-weight: 600; color: var(--hr-noir); }
.hr .hr-devis .sbd-form .sbd-field-description { margin-top: 2px; font-size: 13px; color: var(--hr-texte-doux); }
.hr .hr-devis .sbd-form .sbd-field input:not([type="checkbox"]):not([type="file"]), .hr .hr-devis .sbd-form .sbd-field select, .hr .hr-devis .sbd-form .sbd-field textarea {
	width: 100%; min-height: 48px; margin: 0; padding: 12px 14px; font-family: var(--hr-corps); font-size: 16px; line-height: 1.4;
	color: var(--hr-noir); background-color: var(--hr-blanc); border: 1px solid var(--hr-filet-fort); border-radius: var(--hr-r-sm); box-shadow: none;
}
.hr .hr-devis .sbd-form .sbd-field select { padding-right: 36px; background-position: right 14px center; }
.hr .hr-devis .sbd-form .sbd-field textarea { min-height: 92px; height: 92px; }
.hr .hr-devis .sbd-form .sbd-field input:focus, .hr .hr-devis .sbd-form .sbd-field select:focus, .hr .hr-devis .sbd-form .sbd-field textarea:focus { border-color: var(--hr-noir); box-shadow: 0 0 0 3px rgba(229, 97, 13, .25); outline: 0; }
.hr .hr-devis .sbd-form .sbd-field input[type="file"] { width: 100%; padding: 14px; font-size: 15px; color: var(--hr-texte); background: var(--hr-blanc); border: 1px dashed var(--hr-filet-fort); border-radius: var(--hr-r-sm); }
.hr .hr-devis .sbd-form .sbd-field .wpcf7-acceptance label { font-size: 14px; line-height: 1.4; color: var(--hr-texte); }
.hr .hr-devis .sbd-form .sbd-field .wpcf7-acceptance input[type="checkbox"] { accent-color: var(--hr-noir); }
.hr .hr-devis .sbd-form .sbd-structural { margin: 0; }
.hr .hr-devis .sbd-form .sbd-form-nav { display: block; margin: 16px 0 0; padding: 0; border: 0; background: transparent; }
.hr .hr-devis .sbd-form .sbd-nav-next, .hr .hr-devis .sbd-form .sbd-nav-next:hover, .hr .hr-devis .sbd-form .sbd-nav-next:focus, .hr .hr-devis .sbd-form .sbd-nav-next:active {
	display: flex; width: 100%; margin: 0; justify-content: center; align-items: center; gap: 8px; padding: 16px; border: 0; border-radius: var(--hr-r-sm);
	background: var(--hr-noir); color: var(--hr-blanc); font-family: var(--hr-titre); font-weight: 700; font-size: 17px; line-height: 1.2; box-shadow: none; cursor: pointer;
}
.hr .hr-devis .sbd-form .sbd-nav-next:hover, .hr .hr-devis .sbd-form .sbd-nav-next:focus { background: #000; }
.hr .hr-devis .sbd-form .sbd-nav-next[hidden] { display: none; }
/* Fenêtre SBD Forms ouverte par l'onglet : panneau latéral droit d'une colonne.
   Le skin n'a pas de colonne de marque, or la grille de SBD Forms lui réserve 340 px. */
.hr .sbd-modal .sbd-modal-backdrop { background: rgba(28, 27, 25, .6); }
.hr .sbd-modal .sbd-modal-frame { width: min(560px, 100vw); margin-left: auto; }
.hr .sbd-modal .sbd-form { grid-template-columns: 1fr; }
/* Titre et bouton de la fenêtre aux couleurs du site. */
.hr .sbd-modal .sbd-form-title { font-family: var(--hr-titre); font-weight: 800; letter-spacing: -.015em; }
.hr .sbd-modal .sbd-nav-next, .hr .sbd-modal .sbd-nav-next:hover, .hr .sbd-modal .sbd-nav-next:focus { border-radius: var(--hr-r-sm); font-family: var(--hr-titre); font-weight: 700; box-shadow: none; }
.hr .hr-devis .sbd-form .sbd-form-body .wpcf7-response-output { margin: 14px 0 0; border-radius: var(--hr-r-sm); font-size: 15px; }

/* ==========================================================================
   RESPONSIVE (la maquette n'en contient pas : conçu dans son esprit)
   ========================================================================== */
@media (min-width: 1440px) {
	.hr .hr-tab, .hr .hr-tab:visited, .hr .hr-tab:hover, .hr .hr-tab:focus { display: flex; }
}
/* Assez de marge à droite du contenu : onglet et typographie de la maquette (19 px). */
@media (min-width: 1560px) {
	.hr .hr-tab, .hr .hr-tab:visited, .hr .hr-tab:hover, .hr .hr-tab:focus { width: 156px; padding: 22px 16px 20px; gap: 14px; }
	.hr-tab__title { font-size: 19px; line-height: 1.15; }
	.hr-tab__text { font-size: 14px; }
	.hr-tab .hr-icon { width: 34px; height: 34px; }
}
/* Formulaire : les champs s'adaptent à la largeur réelle de la carte, pas à celle de l'écran. */
@container (max-width: 540px) {
	.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="nom"] { grid-column: span 6; }
	.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="telephone"],
	.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name="email"] { grid-column: span 3; }
}
@container (max-width: 400px) {
	.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name] { grid-column: span 6; }
}
@media (min-width: 900px) and (max-width: 1099px) {
	.hr-presta__cell { width: 300px; }
}
@media (max-width: 1099px) {
	.hr .hr-etapes__grid, .hr .hr-etapes__grid:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hr .hr-footer__menu { gap: 2px; }
	.hr .hr-footer__menu a, .hr .hr-footer__legal a { display: inline-block; padding-block: 8px; }
}
@media (max-width: 899px) {
	.hr-devis__grid { grid-template-columns: 1fr; }
	.hr-footer__bottom { grid-template-columns: 1fr; }
	.hr-footer__mention, .hr-footer__credit, .hr-footer__legalnav { grid-column: 1; justify-self: start; text-align: left; }
}
@media (max-width: 1099px) {
	.hr .hr-burger, .hr .hr-burger:hover, .hr .hr-burger:focus, .hr .hr-burger:active { display: grid; }
	.hr-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; margin: 0; background: var(--hr-noir); border-top: 1px solid rgba(255, 255, 255, .1); max-height: calc(100vh - var(--hr-header-h)); overflow-y: auto; box-shadow: 0 18px 30px rgba(0, 0, 0, .3); }
	.hr-header.is-open .hr-nav { display: block; }
	.hr-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 20px; }
	.hr-nav__item { flex-wrap: wrap; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.hr .hr-nav__link, .hr .hr-nav__link:visited { flex: 1; padding: 14px var(--hr-gutter); font-size: 17px; }
	.hr .hr-nav__toggle, .hr .hr-nav__toggle:hover, .hr .hr-nav__toggle:focus { width: 56px; height: 52px; margin: 0; border-left: 1px solid rgba(255, 255, 255, .08); border-radius: 0; }
	.hr-nav__sub, .hr-nav__item.has-sub:hover > .hr-nav__sub, .hr-nav__item.has-sub:focus-within > .hr-nav__sub { display: none; position: static; width: 100%; min-width: 0; padding: 4px 12px 12px; background: var(--hr-noir-2); }
	.hr-nav__sub::before { display: none; }
	.hr-nav__item.has-sub.is-open > .hr-nav__sub { display: flex; }
	.hr .hr-nav__sublink, .hr .hr-nav__sublink:visited { padding: 13px 12px; font-size: 16px; }
	.hr-nav__item--bouton { margin: 16px var(--hr-gutter) 0; border-bottom: 0; }
	.hr-nav__item--bouton .hr-btn { width: 100%; }
	.hr-mobilebar { display: grid; }
	body.hr { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}
@media (max-width: 767px) {
	:root { --hr-gutter: 20px; --hr-section-y: 64px; }
	.hr .hr-devis .sbd-form .sbd-step-fields > .sbd-field[data-field-name] { grid-column: span 6; }
	.hr-topbar { display: none; }
	.hr-header__inner { padding-block: 10px; }
	.hr .hr-brand, .hr .hr-brand:hover, .hr .hr-brand:focus { gap: 14px; }
	.hr-brand__logo { height: 30px; }
	.hr-hero__inner { padding: 72px var(--hr-gutter) 80px; }
	.hr-hero--plein-ecran .hr-hero__inner { padding-top: clamp(32px, 6vh, 72px); padding-bottom: clamp(40px, 7vh, 80px); }
	.hr-hero__content { gap: 20px; }
	.hr .hr-hero__text { font-size: 18px; }
	.hr-liste__grid, .hr-args__grid, .hr-artisan__grid, .hr-devis__grid { gap: 36px; }
	.hr-liste--filets { padding-block: 56px; }
	.hr-presta__intro { padding-top: 64px; }
	.hr-presta__cards { padding-top: 24px; }
	.hr-artisan__media { height: 340px; }
	.hr-artisan--image-droite .hr-artisan__media { order: 0; }
	.hr-devis { padding-block: 64px; }
	.hr-devis__card { padding: 22px; }
	.hr .hr-reassurance__list { gap: 10px 41px; font-size: 14px; }
	.hr-reassurance__item + .hr-reassurance__item::before { left: -21px; }
	.hr-lightbox__close { top: 8px; right: 8px; }
}
@media (max-width: 559px) {
	.hr .hr-etapes__grid, .hr .hr-etapes__grid:has(> li:nth-child(3):last-child), .hr .hr-etapes__grid:has(> li:nth-child(2):last-child) { grid-template-columns: 1fr; }
	.hr-hero__actions .hr-btn { width: 100%; }
	.hr-aa-item__pair { height: 180px; }
	.hr-avis__badge { border-radius: var(--hr-r-lg); }
	.hr-avis-card { padding: 24px; }
	.hr-reassurance__item + .hr-reassurance__item::before { display: none; }
	.hr .hr-reassurance__list { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
	.hr *, .hr *::before, .hr *::after { transition: none !important; scroll-behavior: auto !important; }
}
