/*
Theme Name: Sérénité — Isabelle Wojtera
Template: kadence
Description: Thème enfant de Kadence : palette lac, sauge et sable, police Halant hébergée localement, bleu #277498 du site d'origine.
Version: 1.0.0
Text Domain: iw-serenite
*/

/* ---------- Polices locales ---------- */
@font-face { font-family: "Halant"; font-style: normal; font-weight: 300; font-display: swap; src: url("fonts/halant-300-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 300; font-display: swap; src: url("fonts/halant-300.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/halant-400-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/halant-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/halant-500-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/halant-500.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/halant-600-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/halant-600.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/halant-700-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Halant"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/halant-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Jetons ---------- */
:root {
	--iw-ink: #1d2a29;
	--iw-text: #3a4745;
	--iw-muted: #66726f;
	--iw-lake: #277498;
	--iw-lake-dark: #1c5a77;
	--iw-sage: #8da597;
	--iw-sage-soft: #e3ebe5;
	--iw-sand: #f3ede4;
	--iw-cream: #faf7f2;
	--iw-clay: #b5714f;
	--iw-line: #e2dacd;
	--iw-white: #fff;
	--iw-serif: "Halant", Georgia, serif;
	--iw-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--iw-radius: 22px;
	--iw-radius-sm: 12px;
	--iw-shadow: 0 1px 2px rgba(29, 42, 41, .04), 0 12px 32px -12px rgba(29, 42, 41, .14);
	--iw-wrap: 1180px;
	--iw-gutter: clamp(20px, 5vw, 48px);
	--iw-space: clamp(64px, 10vw, 128px);
}

/* ---------- Base ---------- */
body {
	font-family: var(--iw-sans);
	color: var(--iw-text);
	background: var(--iw-cream);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .iw-serif {
	font-family: var(--iw-serif);
	color: var(--iw-ink);
	font-weight: 400;
	letter-spacing: -.015em;
}
h1 { font-size: clamp(2.4rem, 5.2vw, 4.1rem); line-height: 1.06; }
h2 { font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.12; }
h3 { font-size: clamp(1.3rem, 2vw, 1.55rem); line-height: 1.25; }
h1 em, h2 em { font-style: normal; color: inherit; font-weight: inherit; }
a { color: var(--iw-lake); text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--iw-clay); }
::selection { background: var(--iw-sage-soft); color: var(--iw-ink); }
:focus-visible { outline: 2px solid var(--iw-clay); outline-offset: 3px; border-radius: 4px; }

.content-area { margin-top: 0; margin-bottom: 0; }
.site-main .entry.single-entry, .entry-content-wrap { box-shadow: none; background: transparent; padding: 0 !important; }
.entry-content > * { margin-top: 0; margin-bottom: 0; }

/* ---------- En-tête ---------- */
#masthead, #masthead .site-header-row-container-inner {
	background: rgba(250, 247, 242, .92);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	transition: box-shadow .3s ease;
}
#masthead { position: sticky; top: 0; z-index: 100; }
#masthead.iw-scrolled { box-shadow: 0 1px 0 var(--iw-line); }
.admin-bar #masthead { top: 32px; }
.site-branding .site-title {
	font-family: var(--iw-serif) !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	color: var(--iw-ink) !important;
	letter-spacing: -.01em;
}
.site-branding .site-description {
	font-family: var(--iw-sans) !important;
	font-size: .72rem !important;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--iw-muted) !important;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a {
	font-size: .95rem;
	letter-spacing: .01em;
	color: var(--iw-text) !important;
	position: relative;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a::after {
	content: ""; position: absolute; left: 1.2em; right: 1.2em; bottom: .7em; height: 1px;
	background: var(--iw-clay); transform: scaleX(0); transition: transform .3s ease;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover::after,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a::after { transform: scaleX(1); }
.header-button-wrap .header-button,
.mobile-header-button-wrap .button {
	background: var(--iw-lake) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: .8em 1.5em !important;
	font-size: .78rem !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
	transition: background .25s ease, transform .25s ease;
}
.header-button-wrap .header-button:hover { background: var(--iw-lake-dark) !important; transform: translateY(-1px); }
.mobile-toggle-open-container .menu-toggle-open { color: var(--iw-ink) !important; }
#mobile-drawer .drawer-inner { background: var(--iw-cream) !important; }
#mobile-drawer .mobile-navigation ul li > a, #mobile-drawer .drawer-header .drawer-toggle { color: var(--iw-ink) !important; font-family: var(--iw-serif); font-size: 1.4rem; }

/* ---------- Mise en page ---------- */
.iw-wrap { max-width: var(--iw-wrap); margin-inline: auto; padding-inline: var(--iw-gutter); }
.iw-section { padding-block: var(--iw-space); padding-inline: var(--iw-gutter); }
.iw-section > *,
.iw-hero > * { max-width: var(--iw-wrap); margin-inline: auto; }
.iw-section--sand { background: var(--iw-sand); }
.iw-section--white { background: var(--iw-white); }
.iw-section--lake { background: var(--iw-lake-dark); color: #e3eef4; }
.iw-section--lake h2, .iw-section--lake h3 { color: #fff; }

.iw-section--tight { padding-block: clamp(40px, 6vw, 72px); }
.iw-narrow { max-width: 720px !important; }
.iw-center { text-align: center; margin-inline: auto; }
.iw-head { max-width: 680px; margin-bottom: clamp(32px, 5vw, 56px) !important; }
.iw-head.iw-center { margin-inline: auto !important; }
.iw-head p { color: var(--iw-muted); font-size: 1.08rem; }
.iw-head h2 { margin: .2em 0 .4em; }

.iw-eyebrow {
	font-family: var(--iw-sans);
	font-size: .74rem !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--iw-clay);
	margin: 0 0 .9em !important;
	display: inline-flex; align-items: center; gap: .7em;
}
.iw-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.iw-center .iw-eyebrow, .iw-eyebrow.has-text-align-center { justify-content: center; }
.iw-section--lake .iw-eyebrow { color: #d9a98f; }
.iw-lead { font-size: clamp(1.08rem, 1.5vw, 1.25rem); line-height: 1.65; color: var(--iw-text); }

/* ---------- Boutons ---------- */
.iw-btn, .wp-block-button.iw-button .wp-block-button__link {
	display: inline-flex; align-items: center; gap: .6em;
	font-family: var(--iw-sans); font-size: .95rem; font-weight: 500; letter-spacing: .01em;
	padding: 1em 1.8em; border-radius: 999px; text-decoration: none;
	background: var(--iw-lake); color: #fff; border: 1px solid var(--iw-lake);
	transition: background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
}
.iw-btn:hover, .wp-block-button.iw-button .wp-block-button__link:hover { background: var(--iw-lake-dark); border-color: var(--iw-lake-dark); color: #fff; transform: translateY(-2px); }
.wp-block-button.iw-button--ghost .wp-block-button__link { background: transparent; color: var(--iw-lake); border-color: rgba(39, 116, 152, .35); }
.wp-block-button.iw-button--ghost .wp-block-button__link:hover { background: var(--iw-lake); color: #fff; }
.iw-btn--light { background: #fff; color: var(--iw-lake-dark); border-color: #fff; }
.iw-btn--light:hover { background: var(--iw-sand); border-color: var(--iw-sand); color: var(--iw-lake-dark); }
.iw-btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .4); }
.iw-btn--ghost-light:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
.wp-block-buttons.iw-buttons { gap: 12px; margin-top: 2rem !important; }

/* ---------- Hero ---------- */
.iw-hero { padding: clamp(40px, 6vw, 88px) var(--iw-gutter) clamp(56px, 8vw, 112px); position: relative; overflow: hidden; }
.iw-hero::before {
	content: ""; position: absolute; width: 60vw; height: 60vw; max-width: 820px; max-height: 820px;
	right: -18vw; top: -22vw; border-radius: 50%;
	background: radial-gradient(circle, rgba(141, 165, 151, .28), rgba(141, 165, 151, 0) 68%);
	pointer-events: none;
}
.iw-hero > .wp-block-columns { max-width: var(--iw-wrap); margin-inline: auto; gap: clamp(32px, 6vw, 88px); align-items: center !important; }
.iw-hero h1 { margin: 0 0 .45em; }
.iw-hero .iw-lead { max-width: 34em; }
.iw-hero__media { position: relative; }
.iw-hero__media img { border-radius: 200px 200px var(--iw-radius) var(--iw-radius); aspect-ratio: 4 / 5; object-fit: cover; width: 100%; box-shadow: var(--iw-shadow); }
.iw-hero__badge {
	position: absolute; left: -28px; bottom: 36px; margin: 0 !important;
	background: #fff; border-radius: 16px; padding: 14px 18px; box-shadow: var(--iw-shadow);
	font-size: .85rem; line-height: 1.4; max-width: 230px;
}
.iw-hero__badge strong { display: block; font-family: var(--iw-serif); font-weight: 500; font-size: 1.05rem; color: var(--iw-ink); }
.iw-hero__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 2.2rem !important; padding: 0 !important; list-style: none; font-size: .9rem; color: var(--iw-muted); }
.iw-hero__meta li { display: flex; align-items: center; gap: .5em; }
.iw-hero__meta li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--iw-sage); }

/* ---------- Bandeau de valeurs ---------- */
.iw-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--iw-line); border-bottom: 1px solid var(--iw-line); }
.iw-values > * { padding: 28px 28px 28px 0; margin: 0 !important; }
.iw-values > * + * { padding-left: 28px; border-left: 1px solid var(--iw-line); }
.iw-values h3 { font-size: 1.2rem; margin: 0 0 .25em; }
.iw-values p { margin: 0; color: var(--iw-muted); font-size: .95rem; }

/* ---------- Cartes ---------- */
.iw-cards { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.iw-cards > * { margin: 0 !important; }
.iw-card {
	background: var(--iw-white); border: 1px solid var(--iw-line); border-radius: var(--iw-radius);
	padding: 32px 30px 30px; position: relative;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.iw-card:hover { transform: translateY(-4px); box-shadow: var(--iw-shadow); border-color: transparent; }
.iw-card h3 { margin: 0 0 .5em; }
.iw-card p { margin: 0 0 .8em; font-size: .98rem; }
.iw-card p:last-child { margin-bottom: 0; }
.iw-card__num { font-family: var(--iw-serif); color: var(--iw-clay); font-size: 1rem; margin: 0 0 1.4em !important; display: block; }
.iw-card .iw-card__link { font-size: .9rem; font-weight: 500; text-decoration: none; }
.iw-card .iw-card__link::after { content: " →"; }
.iw-section--sand .iw-card { border-color: transparent; }

/* ---------- Image + texte ---------- */
.iw-split { gap: clamp(32px, 7vw, 96px) !important; align-items: center !important; }
.iw-split img { border-radius: var(--iw-radius); width: 100%; object-fit: cover; }
.iw-split .iw-img-tall img { aspect-ratio: 4 / 5; }
.iw-split .iw-img-wide img { aspect-ratio: 4 / 3; }
.iw-arch img { border-radius: 999px 999px var(--iw-radius) var(--iw-radius) !important; }

/* ---------- Listes ---------- */
.iw-checklist { list-style: none; padding: 0 !important; margin: 1.4em 0 !important; }
.iw-checklist li { position: relative; padding: .55em 0 .55em 2em; border-bottom: 1px solid var(--iw-line); }
.iw-checklist li:last-child { border-bottom: 0; }
.iw-checklist li::before {
	content: ""; position: absolute; left: 0; top: 1.05em; width: 14px; height: 8px;
	border-left: 1.5px solid var(--iw-lake); border-bottom: 1.5px solid var(--iw-lake); transform: rotate(-45deg);
}
.iw-section--lake .iw-checklist li { border-color: rgba(255, 255, 255, .12); }
.iw-section--lake .iw-checklist li::before { border-color: #bcd7e6; }

.iw-tags { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0 !important; margin: 1.2em 0 !important; }
.iw-tags li { padding: .45em 1.1em; border-radius: 999px; background: var(--iw-sage-soft); color: var(--iw-lake-dark); font-size: .92rem; }
.iw-section--sand .iw-tags li { background: #fff; }

/* ---------- Étapes ---------- */
.iw-steps { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 40px); counter-reset: iw-step; }
.iw-steps > * { margin: 0 !important; counter-increment: iw-step; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .18); }
.iw-steps > *::before { content: "0" counter(iw-step); font-family: var(--iw-serif); font-size: 1.05rem; color: #d9a98f; display: block; margin-bottom: .9em; }
.iw-steps h3 { font-size: 1.3rem; margin: 0 0 .4em; }
.iw-steps p { margin: 0; color: #cfe0ea; font-size: .98rem; }

/* ---------- Citation ---------- */
.iw-quote { border: 0 !important; padding: 0 !important; margin: 0 auto !important; max-width: 860px; text-align: center; }
.iw-quote p { font-family: var(--iw-serif); font-weight: 300; font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.35; color: var(--iw-ink); }
.iw-quote cite { font-style: normal; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--iw-muted); }

/* ---------- Tarifs ---------- */
.iw-prices table { border-collapse: collapse; width: 100%; background: #fff; border-radius: var(--iw-radius); overflow: hidden; }
.iw-prices td, .iw-prices th { border: 0 !important; border-bottom: 1px solid var(--iw-line) !important; padding: 18px 24px !important; text-align: left; }
.iw-prices tr:last-child td { border-bottom: 0 !important; }
.iw-prices thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .14em; color: var(--iw-muted); font-weight: 600; background: var(--iw-sand); }
.iw-prices td:first-child { color: var(--iw-ink); font-weight: 500; }
.iw-prices td:last-child { font-family: var(--iw-serif); font-size: 1.15rem; color: var(--iw-lake); white-space: nowrap; text-align: right; }
.iw-prices thead th:last-child { text-align: right; }
.iw-prices figcaption { font-size: .88rem; color: var(--iw-muted); text-align: left; margin-top: 1em; }

/* ---------- FAQ ---------- */
.iw-faq { border-top: 1px solid var(--iw-line); }
.iw-faq details { border-bottom: 1px solid var(--iw-line); padding: 0; margin: 0 !important; }
.iw-faq summary {
	cursor: pointer; list-style: none; padding: 24px 48px 24px 0; position: relative;
	font-family: var(--iw-serif); font-size: 1.2rem; color: var(--iw-ink);
}
.iw-faq summary::-webkit-details-marker { display: none; }
.iw-faq summary::after {
	content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; margin-top: -9px;
	border-right: 1.5px solid var(--iw-lake); border-bottom: 1.5px solid var(--iw-lake); transform: rotate(45deg); transition: transform .3s ease;
}
.iw-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -3px; }
.iw-faq details > :not(summary) { margin: 0 0 24px !important; color: var(--iw-text); max-width: 62em; }

/* ---------- Galerie du cabinet ---------- */
.iw-gallery { display: grid !important; grid-template-columns: 1.3fr 1fr 1fr; grid-auto-rows: 220px; gap: 14px !important; }
.iw-gallery > figure { margin: 0 !important; width: auto !important; }
.iw-gallery > figure:first-child { grid-row: span 2; }
.iw-gallery img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: var(--iw-radius-sm); }

/* ---------- Infos pratiques ---------- */
.iw-info { background: #fff; border-radius: var(--iw-radius); padding: clamp(28px, 4vw, 44px); border: 1px solid var(--iw-line); }
.iw-info dl, .iw-info { margin: 0; }
.iw-info h3 { margin-top: 0; }
.iw-info p { margin: 0 0 1.1em; }
.iw-info .iw-label { display: block; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--iw-muted); font-weight: 600; margin-bottom: .2em; }
.iw-map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; border-radius: var(--iw-radius); filter: saturate(.6) contrast(.95); }

.iw-note {
	background: var(--iw-sage-soft); border-radius: var(--iw-radius-sm); padding: 18px 22px !important;
	font-size: .93rem; color: var(--iw-lake-dark); border-left: 3px solid var(--iw-sage);
}

/* ---------- Page simple (mentions légales…) ---------- */
.iw-page-head { padding: clamp(56px, 8vw, 104px) var(--iw-gutter) clamp(32px, 4vw, 48px); text-align: center; }
.iw-page-head h1 { margin: 0 0 .3em; }
.iw-page-head p { color: var(--iw-muted); max-width: 40em; margin-inline: auto; }
.iw-prose { max-width: 760px; margin-inline: auto; padding: 0 var(--iw-gutter) var(--iw-space); }
.iw-prose h2 { font-size: 1.6rem; margin: 2.2em 0 .6em; }
.iw-prose h3 { font-size: 1.2rem; margin: 1.6em 0 .4em; }

/* ---------- Amelia & formulaire ---------- */
.iw-booking { background: #fff; border-radius: var(--iw-radius); padding: clamp(16px, 3vw, 40px); box-shadow: var(--iw-shadow); }
.iw-booking #amelia-container, .iw-booking .amelia-v2-booking { --am-c-primary: var(--iw-lake); }
.kb-form input[type="text"], .kb-form input[type="email"], .kb-form textarea,
.kadence-blocks-form-field input, .kadence-blocks-form-field textarea {
	border: 1px solid var(--iw-line) !important; border-radius: var(--iw-radius-sm) !important;
	background: var(--iw-cream) !important; padding: 14px 16px !important; font-family: var(--iw-sans);
}
.kadence-blocks-form-field input:focus, .kadence-blocks-form-field textarea:focus { border-color: var(--iw-lake) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(39, 116, 152, .12) !important; }
.kadence-blocks-form-field label { font-size: .85rem; font-weight: 500; color: var(--iw-ink); }
.kb-forms-submit, .kadence-blocks-form-field .kb-forms-submit {
	background: var(--iw-lake) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: 14px 32px !important; font-size: .95rem !important; text-transform: none !important; letter-spacing: .01em !important;
}
.kb-forms-submit:hover { background: var(--iw-lake-dark) !important; }

/* ---------- Pied de page ---------- */
.iw-footer__cta { background: var(--iw-lake); color: #fff; padding: clamp(56px, 8vw, 96px) 0; text-align: center; position: relative; overflow: hidden; }
.iw-footer__cta::after {
	content: ""; position: absolute; inset: auto -10% -60% -10%; height: 120%;
	background: radial-gradient(ellipse at center, rgba(255, 255, 255, .09), rgba(255, 255, 255, 0) 60%); pointer-events: none;
}
.iw-footer__cta .iw-eyebrow { color: #e6bba4; justify-content: center; }
.iw-footer__cta .iw-eyebrow::before { display: none; }
.iw-footer__cta-title { font-family: var(--iw-serif); font-weight: 300; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.15; color: #fff; max-width: 18em; margin: 0 auto .9em; }
.iw-footer__cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; position: relative; z-index: 1; }
.iw-footer__main { background: var(--iw-ink); color: #b4c0bd; font-size: .93rem; padding: clamp(48px, 6vw, 72px) 0 28px; }
.iw-footer__main a { color: #dfe7e5; text-decoration: none; }
.iw-footer__main a:hover { color: #e6bba4; }
.iw-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1.2fr 1fr; gap: 40px; }
.iw-footer__grid p { margin: 0; }
.iw-footer__brand { font-family: var(--iw-serif); font-size: 1.5rem; color: #fff; margin-bottom: .5em !important; }
.iw-footer__label { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: #7f8f8b; font-weight: 600; margin-bottom: .8em !important; }
.iw-footer__links { list-style: none; margin: 0; padding: 0; }
.iw-footer__links li { margin-bottom: .35em; }
.iw-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 48px; padding-top: 24px; font-size: .82rem; color: #8a9895; }
.iw-footer__bottom p { margin: 0; }

/* ---------- Apparition ---------- */
.iw-js .iw-reveal { opacity: 0; transform: translateY(18px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
.iw-js .iw-reveal.is-visible { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.iw-footer__grid { grid-template-columns: 1fr 1fr; }
	.iw-hero__badge { left: 16px; }
}
@media (max-width: 781px) {
	.iw-values { grid-template-columns: 1fr; }
	.iw-values > * { padding: 22px 0 !important; border-left: 0 !important; }
	.iw-values > * + * { border-top: 1px solid var(--iw-line); }
	.iw-steps { grid-template-columns: 1fr; }
	.iw-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; }
	.iw-gallery > figure:first-child { grid-column: span 2; grid-row: span 2; }
	.iw-hero__media { max-width: 420px; }
	.iw-hero__media img { aspect-ratio: 4 / 3; border-radius: 140px 140px var(--iw-radius) var(--iw-radius); }
	.iw-hero__badge { bottom: 16px; }
	.iw-prices td, .iw-prices th { padding: 14px 16px !important; }
	.admin-bar #masthead { top: 0; }
}
@media (max-width: 560px) {
	.iw-footer__grid { grid-template-columns: 1fr; gap: 28px; }
	.wp-block-buttons.iw-buttons .wp-block-button { width: 100%; }
	.wp-block-buttons.iw-buttons .wp-block-button__link { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* Intro de section alignée à gauche sur la grille */
.iw-section > .iw-head:not(.iw-center) { margin-left: max(0px, calc((100% - var(--iw-wrap)) / 2)); margin-right: auto; }

/* Les sections pleine largeur gardent leurs marges latérales (Kadence les met à 0). */
.entry-content .iw-section.alignfull,
.entry-content .iw-hero.alignfull,
.entry-content .iw-page-head.alignfull { padding-left: var(--iw-gutter); padding-right: var(--iw-gutter); }

/* Grille de cartes : 3 / 2 / 1 colonnes */
.iw-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .iw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .iw-cards { grid-template-columns: 1fr; } }
