/* inner-pages.css — extracted per source-page, scoped via body.page-slug-{slug} */

/* === Source: agregats.php === */
body.page-slug-agregats .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-agregats .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-agregats .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-agregats .si-grid { grid-template-columns: 1fr; } }
body.page-slug-agregats .si-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-agregats .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-agregats .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-agregats .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-agregats .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-agregats .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-agregats .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-agregats .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-agregats .prod-card:hover { transform: translateY(-4px); }
body.page-slug-agregats .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-agregats .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-agregats .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-agregats .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-agregats .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-agregats .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-agregats .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-agregats .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-agregats .usage h2 { color: var(--white); }
body.page-slug-agregats .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-agregats .use-grid { grid-template-columns: 1fr; } }
body.page-slug-agregats .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-agregats .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-agregats .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-agregats .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: amenagements.php === */
body.page-slug-amenagements .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-amenagements .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-amenagements .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-amenagements .si-grid { grid-template-columns: 1fr; } }
body.page-slug-amenagements .si-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-amenagements .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-amenagements .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-amenagements .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-amenagements .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-amenagements .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-amenagements .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-amenagements .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-amenagements .prod-card:hover { transform: translateY(-4px); }
body.page-slug-amenagements .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-amenagements .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-amenagements .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-amenagements .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-amenagements .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-amenagements .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-amenagements .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-amenagements .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-amenagements .usage h2 { color: var(--white); }
body.page-slug-amenagements .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-amenagements .use-grid { grid-template-columns: 1fr; } }
body.page-slug-amenagements .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-amenagements .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-amenagements .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-amenagements .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: animations.php === */
body.page-slug-atelier-jardinier .agenda { padding: 6rem 0; background: var(--surface); }
body.page-slug-atelier-jardinier .agenda .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-atelier-jardinier .ev-list { display: flex; flex-direction: column; gap: 1rem; margin-top: 3rem; }
body.page-slug-atelier-jardinier .ev { background: var(--white); border-radius: 0.5rem; padding: 2rem; display: grid; grid-template-columns: 110px 1fr auto; gap: 2rem; align-items: center; box-shadow: 0 10px 30px rgba(55,15,0,0.06); border-left: 4px solid var(--accent); }
@media (max-width: 800px) { body.page-slug-atelier-jardinier .ev { grid-template-columns: 1fr; gap: 1rem; } }
body.page-slug-atelier-jardinier .ev-date { text-align: center; padding-right: 1.5rem; border-right: 1px solid rgba(55,15,0,0.1); }
@media (max-width: 800px) { body.page-slug-atelier-jardinier .ev-date { text-align: left; border-right: 0; padding-right: 0; padding-bottom: 1rem; border-bottom: 1px solid rgba(55,15,0,0.1); } }
body.page-slug-atelier-jardinier .ev-date .day { font-family:'Oswald'; font-size: 2.5rem; font-weight: 700; color: var(--primary); line-height: 1; }
body.page-slug-atelier-jardinier .ev-date .month { font-family:'Oswald'; font-size: 0.8rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-top: 0.25rem; }
body.page-slug-atelier-jardinier .ev-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.5rem; }
body.page-slug-atelier-jardinier .ev-body .meta { font-size: 0.8rem; color: var(--accent); font-family:'Oswald'; text-transform: uppercase; letter-spacing: 0.15em; font-weight: 700; margin-bottom: 0.5rem; display: flex; gap: 1rem; flex-wrap: wrap; }
body.page-slug-atelier-jardinier .ev-body .meta span { display: flex; align-items: center; gap: 0.3rem; }
body.page-slug-atelier-jardinier .ev-body p { color: var(--on-surface-variant); font-size: 0.95rem; margin: 0; }
body.page-slug-atelier-jardinier .ev-cta { display: flex; gap: 0.5rem; }

body.page-slug-atelier-jardinier .types { padding: 6rem 0; background: var(--white); }
body.page-slug-atelier-jardinier .types .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-atelier-jardinier .types-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-atelier-jardinier .types-grid { grid-template-columns: 1fr; } }
body.page-slug-atelier-jardinier .type-card { padding: 2rem; background: var(--surface); border-radius: 0.5rem; }
body.page-slug-atelier-jardinier .type-card .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-atelier-jardinier .type-card h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; }
body.page-slug-atelier-jardinier .type-card p { color: var(--on-surface-variant); font-size: 0.95rem; margin: 0 0 1rem; }
body.page-slug-atelier-jardinier .type-card .price { font-family:'Oswald'; color: var(--accent); font-weight: 700; font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; }

body.page-slug-atelier-jardinier .newsletter { padding: 6rem 0; background: var(--primary-container); color: var(--white); }
body.page-slug-atelier-jardinier .newsletter .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: 800px; margin: 0 auto; text-align: center; }
body.page-slug-atelier-jardinier .newsletter h2 { color: var(--white); }
body.page-slug-atelier-jardinier .newsletter p { color: rgba(255,255,255,0.75); max-width: 50ch; margin: 1rem auto 2rem; }
body.page-slug-atelier-jardinier .news-form { display: flex; gap: 1rem; max-width: 500px; margin: 0 auto; }
@media (max-width: 600px) { body.page-slug-atelier-jardinier .news-form { flex-direction: column; } }
body.page-slug-atelier-jardinier .news-form input { flex: 1; padding: 1rem 1.25rem; border-radius: 0.25rem; border: 0; font-family: 'Work Sans'; font-size: 1rem; background: rgba(255,255,255,0.1); color: var(--white); border: 1px solid rgba(255,255,255,0.2); }
body.page-slug-atelier-jardinier .news-form input::placeholder { color: rgba(255,255,255,0.5); }

/* === Source: apropos.php === */
body.page-slug-apropos .intro { padding: 6rem 0; background: var(--white); }
body.page-slug-apropos .intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-apropos .intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-apropos .intro-grid { grid-template-columns: 1fr; gap: 3rem; } }
body.page-slug-apropos .intro-img { position: relative; }
body.page-slug-apropos .intro-img .ph { aspect-ratio: 3/4; box-shadow: 0 30px 60px rgba(55,15,0,0.15); }
body.page-slug-apropos .intro-badge { position: absolute; bottom: -1.5rem; right: -1.5rem; background: var(--surface); border: 2px solid var(--primary-container); padding: 1.5rem 2rem; box-shadow: 0 20px 40px rgba(55,15,0,0.15); text-align: center; }
body.page-slug-apropos .intro-badge .num { font-family: 'Oswald'; font-size: 2.5rem; color: var(--primary); font-weight: 700; line-height: 1; display: block; }
body.page-slug-apropos .intro-badge .txt { font-family: 'Oswald'; font-size: 0.8rem; color: var(--primary); text-transform: uppercase; letter-spacing: 0.1em; display: block; margin-top: 0.25rem; }
body.page-slug-apropos .intro-content p { color: var(--on-surface-variant); font-size: 1.05rem; line-height: 1.7; }

body.page-slug-apropos .timeline-sec { padding: 6rem 0; background: var(--surface-container-low); }
body.page-slug-apropos .timeline-sec .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-apropos .tl { position: relative; margin-top: 3rem; padding-left: 2rem; border-left: 3px solid var(--accent); display: flex; flex-direction: column; gap: 3rem; }
body.page-slug-apropos .tl-item { position: relative; }
body.page-slug-apropos .tl-item::before { content: ''; position: absolute; left: -2.4rem; top: 0.25rem; width: 1rem; height: 1rem; background: var(--accent); border: 3px solid var(--surface-container-low); border-radius: 50%; }
body.page-slug-apropos .tl-year { font-family: 'Oswald'; font-size: 2rem; color: var(--accent); font-weight: 700; line-height: 1; }
body.page-slug-apropos .tl-item h3 { font-size: 1.5rem; color: var(--primary); margin: 0.5rem 0; }
body.page-slug-apropos .tl-item p { color: var(--on-surface-variant); max-width: 60ch; margin: 0; }

body.page-slug-apropos .team { padding: 6rem 0; background: var(--white); }
body.page-slug-apropos .team .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-apropos .team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 900px) { body.page-slug-apropos .team-grid { grid-template-columns: 1fr; } }
body.page-slug-apropos .member .ph { aspect-ratio: 3/4; margin-bottom: 1.25rem; }
body.page-slug-apropos .member .role { display: block; font-family:'Work Sans'; font-weight:700; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent); margin-bottom: 0.5rem; }
body.page-slug-apropos .member h3 { font-size: 1.5rem; color: var(--primary); margin-bottom: 0.5rem; }
body.page-slug-apropos .member p { color: var(--on-surface-variant); font-size: 0.95rem; margin: 0; }

body.page-slug-apropos .values { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-apropos .values .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-apropos .values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-apropos .values-grid { grid-template-columns: 1fr; } }
body.page-slug-apropos .val-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-apropos .val-card .material-symbols-outlined { color: var(--accent); font-size: 2.5rem; margin-bottom: 1.25rem; }
body.page-slug-apropos .val-card h3 { font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; }
body.page-slug-apropos .val-card p { color: rgba(255,255,255,0.75); margin: 0; font-size: 0.95rem; }

/* === Source: blog.php === */
/* FEATURED */
body.page-slug-blog .featured { padding: 5rem 0 4rem; background: var(--surface); }
body.page-slug-blog .featured .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-blog .featured .kicker { font-family: 'Work Sans'; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.2em; color: var(--accent); text-transform: uppercase; margin-bottom: 1rem; }
body.page-slug-blog .featured h2 { font-family: 'Oswald'; font-size: clamp(1.5rem, 2.5vw, 2rem); color: var(--primary); margin-bottom: 2.5rem; }
body.page-slug-blog .feat-card { display: grid; grid-template-columns: 1.25fr 1fr; gap: 3rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-blog .feat-card { grid-template-columns: 1fr; gap: 2rem; } }
body.page-slug-blog .feat-card .ph { aspect-ratio: 16/10; border-radius: 0.5rem; }
body.page-slug-blog .feat-card .content .kick { font-family: 'Work Sans'; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.18em; color: var(--accent); text-transform: uppercase; margin-bottom: 1rem; display: inline-block; }
body.page-slug-blog .feat-card .content h3 { font-family: 'Oswald'; font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 1.1; margin-bottom: 1rem; }
body.page-slug-blog .feat-card .content h3 a { color: inherit; text-decoration: none; transition: color 0.2s; }
body.page-slug-blog .feat-card .content h3 a:hover { color: var(--accent); }
body.page-slug-blog .feat-card .content p { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.1rem; color: var(--on-surface-variant); line-height: 1.6; margin-bottom: 1.5rem; max-width: 46ch; }
body.page-slug-blog .feat-card .meta { display: flex; gap: 1.5rem; font-size: 0.8rem; color: var(--on-surface-variant); opacity: 0.75; }

/* FILTERS */
body.page-slug-blog .filter-bar { background: var(--surface-container-low); border-top: 1px solid rgba(55,15,0,0.08); border-bottom: 1px solid rgba(55,15,0,0.08); padding: 1.5rem 0; position: sticky; top: 80px; z-index: 50; }
body.page-slug-blog .filter-bar .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
body.page-slug-blog .filter-bar .label { font-family: 'Oswald'; font-size: 0.8rem; letter-spacing: 0.15em; color: var(--primary); text-transform: uppercase; font-weight: 600; }
body.page-slug-blog .filter-chips { display: flex; gap: 0.6rem; flex-wrap: wrap; }
body.page-slug-blog .chip { padding: 0.5rem 1rem; border-radius: 9999px; background: var(--white); border: 1px solid rgba(55,15,0,0.12); font-family: 'Work Sans'; font-size: 0.8rem; font-weight: 500; color: var(--on-surface-variant); cursor: pointer; transition: all 0.2s var(--ease); }
body.page-slug-blog .chip:hover { border-color: var(--accent); color: var(--accent); }
body.page-slug-blog .chip.active { background: var(--primary); color: var(--white); border-color: var(--primary); }
body.page-slug-blog .chip.accent.active { background: var(--accent); border-color: var(--accent); }

/* GRID */
body.page-slug-blog .post-grid { padding: 4rem 0 5rem; background: var(--surface-container-low); }
body.page-slug-blog .post-grid .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-blog .posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.5rem 3rem; }
@media (max-width: 960px) { body.page-slug-blog .posts { grid-template-columns: repeat(2, 1fr); gap: 3rem 2rem; } }
@media (max-width: 600px) { body.page-slug-blog .posts { grid-template-columns: 1fr; gap: 2.5rem; } }

body.page-slug-blog .post-card { display: flex; flex-direction: column; gap: 1.1rem; text-decoration: none; color: inherit; }
body.page-slug-blog .post-card .ph { aspect-ratio: 4/3; border-radius: 0.5rem; transition: transform 0.4s var(--ease); }
body.page-slug-blog .post-card:hover .ph { transform: translateY(-4px); }
body.page-slug-blog .post-card .cat { font-family: 'Work Sans'; font-weight: 700; font-size: 0.7rem; letter-spacing: 0.15em; color: var(--accent); text-transform: uppercase; }
body.page-slug-blog .post-card h3 { font-family: 'Oswald'; font-size: 1.25rem; color: var(--primary); line-height: 1.2; transition: color 0.2s; }
body.page-slug-blog .post-card:hover h3 { color: var(--accent); }
body.page-slug-blog .post-card p { font-size: 0.9rem; color: var(--on-surface-variant); line-height: 1.5; margin-top: -0.4rem; }
body.page-slug-blog .post-card .meta { display: flex; gap: 1rem; font-size: 0.75rem; color: var(--on-surface-variant); opacity: 0.7; margin-top: 0.2rem; }

/* NEWSLETTER */
body.page-slug-blog .newsletter { padding: 5rem 0; background: var(--primary); color: var(--white); }
body.page-slug-blog .newsletter .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: 48rem; margin: 0 auto; text-align: center; }
body.page-slug-blog .newsletter .kicker { font-family: 'Work Sans'; font-weight: 700; font-size: 0.75rem; letter-spacing: 0.2em; color: var(--accent); text-transform: uppercase; margin-bottom: 1rem; }
body.page-slug-blog .newsletter h2 { font-family: 'Oswald'; font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 1rem; line-height: 1.1; }
body.page-slug-blog .newsletter p { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.1rem; opacity: 0.85; margin-bottom: 2rem; }
body.page-slug-blog .news-form { display: flex; gap: 0.75rem; max-width: 32rem; margin: 0 auto; flex-wrap: wrap; justify-content: center; }
body.page-slug-blog .news-form input { flex: 1; min-width: 220px; padding: 0.95rem 1.25rem; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.1); color: var(--white); font-family: 'Work Sans'; font-size: 0.95rem; border-radius: 0.25rem; outline: none; }
body.page-slug-blog .news-form input::placeholder { color: rgba(255,255,255,0.6); }
body.page-slug-blog .news-form input:focus { border-color: var(--accent); background: rgba(255,255,255,0.15); }
body.page-slug-blog .news-form button { padding: 0.95rem 2rem; background: var(--accent); border: none; color: var(--white); font-family: 'Oswald'; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; border-radius: 0.25rem; transition: all 0.2s var(--ease); }
body.page-slug-blog .news-form button:hover { background: #c50068; transform: translateY(-2px); }

/* === Source: boutique.php === */
body.page-slug-boutique .terroir-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-boutique .terroir-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-boutique .ti-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-boutique .ti-grid { grid-template-columns: 1fr; } }
body.page-slug-boutique .ti-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-boutique .ti-grid h2 { font-size: clamp(2rem, 3.5vw, 2.75rem); color: var(--primary); margin-bottom: 1.5rem; line-height: 0.95; }
body.page-slug-boutique .ti-grid p { color: var(--on-surface-variant); font-size: 1.05rem; }

body.page-slug-boutique .products-section { padding: 6rem 0; background: var(--surface); }
body.page-slug-boutique .products-section .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-boutique .products-head { text-align: center; margin-bottom: 3rem; }
body.page-slug-boutique .products-head p { color: var(--on-surface-variant); max-width: 60ch; margin: 1rem auto 0; }
body.page-slug-boutique .prod-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
@media (max-width: 1000px) { body.page-slug-boutique .prod-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { body.page-slug-boutique .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-boutique .prod { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); transition: transform 0.3s var(--ease); }
body.page-slug-boutique .prod:hover { transform: translateY(-4px); }
body.page-slug-boutique .prod .ph { aspect-ratio: 1/1; border-radius: 0; }
body.page-slug-boutique .prod-body { padding: 1.5rem; }
body.page-slug-boutique .prod-body .origin { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.15em; color: var(--accent); text-transform: uppercase; font-weight: 700; margin-bottom: 0.5rem; display: block; }
body.page-slug-boutique .prod-body h3 { font-size: 1.1rem; color: var(--primary); margin-bottom: 0.25rem; }
body.page-slug-boutique .prod-body .desc { font-size: 0.85rem; color: var(--on-surface-variant); }

body.page-slug-boutique .producers { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-boutique .producers .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-boutique .producers h2 { color: var(--white); }
body.page-slug-boutique .prod-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-boutique .prod-list { grid-template-columns: 1fr; } }
body.page-slug-boutique .producer { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-boutique .producer h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.5rem; }
body.page-slug-boutique .producer .loc { font-size: 0.8rem; color: var(--accent); text-transform: uppercase; letter-spacing: 0.1em; display: block; margin-bottom: 1rem; font-weight: 700; font-family: 'Oswald'; }
body.page-slug-boutique .producer p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: contact.php === */
body.page-slug-contact .contact-section { padding: 6rem 0; background: var(--surface); }
body.page-slug-contact .contact-section .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-contact .contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 4rem; }
@media (max-width: 900px) { body.page-slug-contact .contact-grid { grid-template-columns: 1fr; gap: 3rem; } }
body.page-slug-contact .info-block { display: flex; flex-direction: column; gap: 2rem; }
body.page-slug-contact .info-card { background: var(--white); border: 1px solid rgba(55,15,0,0.1); border-radius: 0.5rem; padding: 2rem; display: flex; gap: 1.25rem; align-items: flex-start; }
body.page-slug-contact .info-card .ic { background: rgba(226,0,121,0.1); color: var(--accent); padding: 0.75rem; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
body.page-slug-contact .info-card h3 { font-family: 'Oswald'; font-size: 0.85rem; letter-spacing: 0.15em; color: var(--primary); margin-bottom: 0.75rem; }
body.page-slug-contact .info-card p, body.page-slug-contact .info-card a { font-size: 0.95rem; color: var(--on-surface-variant); text-decoration: none; line-height: 1.6; margin: 0; }
body.page-slug-contact .info-card a:hover { color: var(--accent); }

body.page-slug-contact .form-card { background: var(--white); border: 1px solid rgba(55,15,0,0.1); border-radius: 0.5rem; padding: 2.5rem; box-shadow: 0 20px 40px rgba(55,15,0,0.05); }
body.page-slug-contact .form-card h2 { font-size: 1.75rem; color: var(--primary); margin-bottom: 0.75rem; }
body.page-slug-contact .form-card > p { color: var(--on-surface-variant); margin-bottom: 2rem; font-size: 0.95rem; }
body.page-slug-contact .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.25rem; }
@media (max-width: 600px) { body.page-slug-contact .form-row { grid-template-columns: 1fr; } }
body.page-slug-contact .field { display: flex; flex-direction: column; margin-bottom: 1.25rem; }
body.page-slug-contact .field label { font-family: 'Oswald'; font-size: 0.75rem; letter-spacing: 0.15em; color: var(--primary); margin-bottom: 0.5rem; text-transform: uppercase; font-weight: 700; }
body.page-slug-contact .field input, body.page-slug-contact .field textarea, body.page-slug-contact .field select {
  border: 1px solid rgba(55,15,0,0.2); border-radius: 0.375rem;
  background: var(--surface); color: var(--on-surface);
  padding: 0.875rem 1rem; font-family: inherit; font-size: 0.95rem;
  transition: all 0.25s var(--ease);
}
body.page-slug-contact .field input:focus, body.page-slug-contact .field textarea:focus, body.page-slug-contact .field select:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(226,0,121,0.15);
  background: var(--white);
}
body.page-slug-contact .field textarea { min-height: 120px; resize: vertical; }
body.page-slug-contact .subjects { display: flex; flex-wrap: wrap; gap: 0.5rem; }
body.page-slug-contact .subj { flex: 1 1 auto; padding: 0.6rem 1rem; border-radius: 9999px; border: 1px solid rgba(55,15,0,0.2); background: transparent; cursor: pointer; font-family: inherit; font-size: 0.8rem; font-weight: 600; color: var(--primary); transition: all 0.25s var(--ease); text-transform: uppercase; letter-spacing: 0.08em; text-align: center; }
body.page-slug-contact .subj:hover { border-color: var(--accent); color: var(--accent); }
body.page-slug-contact .subj.active { background: var(--accent); color: var(--white); border-color: var(--accent); }

body.page-slug-contact .map-stub { padding: 0 0 6rem; background: var(--surface-container-low); }
body.page-slug-contact .map-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 clamp(1.25rem,4vw,3rem); }
body.page-slug-contact .map-card { background: var(--primary-container); border-radius: 0.5rem; overflow: hidden; height: 360px; position: relative; color: var(--white); }
body.page-slug-contact .map-card .ph { height: 100%; border-radius: 0; }
body.page-slug-contact .map-card .ph.ph-bark::before { opacity: 0.5; }
body.page-slug-contact .map-card .pin { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-100%); color: var(--accent); font-size: 4rem; text-shadow: 0 10px 30px rgba(0,0,0,0.4); }
body.page-slug-contact .map-card .label { position: absolute; bottom: 1.5rem; left: 1.5rem; background: var(--white); color: var(--primary); padding: 1rem 1.5rem; border-radius: 0.5rem; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
body.page-slug-contact .map-card .label strong { display: block; font-family: 'Oswald'; font-size: 0.95rem; letter-spacing: 0.05em; margin-bottom: 0.25rem; }
body.page-slug-contact .map-card .label span { font-size: 0.85rem; color: var(--on-surface-variant); }

/* === Source: creation.php === */
body.page-slug-creation .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-creation .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-creation .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-creation .si-grid { grid-template-columns: 1fr; } }
body.page-slug-creation .si-grid .ph { aspect-ratio: 1/1; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-creation .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-creation .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-creation .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-creation .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-creation .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-creation .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-creation .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-creation .prod-card:hover { transform: translateY(-4px); }
body.page-slug-creation .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-creation .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-creation .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-creation .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-creation .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-creation .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-creation .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-creation .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-creation .usage h2 { color: var(--white); }
body.page-slug-creation .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-creation .use-grid { grid-template-columns: 1fr; } }
body.page-slug-creation .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-creation .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-creation .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-creation .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: deco.php === */
body.page-slug-deco .deco-cats { padding: 6rem 0; background: var(--surface); }
body.page-slug-deco .deco-cats .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-deco .deco-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 280px; gap: 1.25rem; }
@media (max-width: 900px) { body.page-slug-deco .deco-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; } }
body.page-slug-deco .deco-cell { border-radius: 0.5rem; overflow: hidden; position: relative; box-shadow: 0 10px 30px rgba(55,15,0,0.08); cursor: pointer; }
body.page-slug-deco .deco-cell:hover img { transform: scale(1.04); }
body.page-slug-deco .deco-cell img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease); }
body.page-slug-deco .deco-cell .overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(55,15,0,0.85) 0%, rgba(55,15,0,0.1) 50%, transparent 100%); padding: 2rem; display: flex; flex-direction: column; justify-content: flex-end; color: var(--white); }
body.page-slug-deco .deco-cell h3 { font-family:'Oswald'; font-size: 1.5rem; color: var(--white); margin-bottom: 0.3rem; }
body.page-slug-deco .deco-cell p { color: rgba(255,255,255,0.8); font-size: 0.85rem; margin: 0; }
body.page-slug-deco .d1 { grid-column: span 6; grid-row: span 2; }
body.page-slug-deco .d2 { grid-column: span 6; }
body.page-slug-deco .d3 { grid-column: span 3; }
body.page-slug-deco .d4 { grid-column: span 3; }
body.page-slug-deco .d5 { grid-column: span 4; }
body.page-slug-deco .d6 { grid-column: span 4; }
body.page-slug-deco .d7 { grid-column: span 4; }
@media (max-width: 900px) { body.page-slug-deco .d1, body.page-slug-deco .d2, body.page-slug-deco .d3, body.page-slug-deco .d4, body.page-slug-deco .d5, body.page-slug-deco .d6, body.page-slug-deco .d7 { grid-column: span 4; grid-row: auto; } }

/* Decoration selection: uniform desktop cards, incomplete rows start left. */
@media (min-width: 901px) {
  body.page-slug-decoration-jardin-28 .deco-cats .deco-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
  body.page-slug-decoration-jardin-28 .deco-cats .deco-grid > .deco-cell { grid-column: auto; grid-row: auto; }
}


body.page-slug-deco .styles { padding: 6rem 0; background: var(--white); }
body.page-slug-deco .styles .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-deco .styles-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-deco .styles-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { body.page-slug-deco .styles-grid { grid-template-columns: 1fr; } }
body.page-slug-deco .style-card { padding: 2rem; background: var(--surface); border-radius: 0.5rem; border: 1px solid rgba(55,15,0,0.08); }
body.page-slug-deco .style-card .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; }
body.page-slug-deco .style-card h3 { font-size: 1.125rem; color: var(--primary); margin-bottom: 0.75rem; }
body.page-slug-deco .style-card p { color: var(--on-surface-variant); font-size: 0.9rem; margin: 0; }

/* === Source: elagage.php === */
body.page-slug-elagage .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-elagage .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-elagage .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-elagage .si-grid { grid-template-columns: 1fr; } }
body.page-slug-elagage .si-grid .ph { aspect-ratio: 1/1; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-elagage .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-elagage .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-elagage .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-elagage .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-elagage .prod-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; margin-top: 3rem; }
body.page-slug-elagage .prod-card { flex: 0 1 calc((100% - 4rem) / 3); }
@media (max-width: 900px) { body.page-slug-elagage .prod-card { flex: 0 1 100%; } }
body.page-slug-elagage .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-elagage .prod-card:hover { transform: translateY(-4px); }
body.page-slug-elagage .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-elagage .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-elagage .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-elagage .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-elagage .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-elagage .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-elagage .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-elagage .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-elagage .usage h2 { color: var(--white); }
body.page-slug-elagage .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-elagage .use-grid { grid-template-columns: 1fr; } }
body.page-slug-elagage .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-elagage .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-elagage .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-elagage .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: entretien.php === */
body.page-slug-entretien .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-entretien .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-entretien .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-entretien .si-grid { grid-template-columns: 1fr; } }
body.page-slug-entretien .si-grid .ph { aspect-ratio: 1/1; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-entretien .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-entretien .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-entretien .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-entretien .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-entretien .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-entretien .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-entretien .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-entretien .prod-card:hover { transform: translateY(-4px); }
body.page-slug-entretien .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-entretien .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-entretien .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-entretien .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-entretien .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-entretien .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-entretien .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-entretien .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-entretien .usage h2 { color: var(--white); }
body.page-slug-entretien .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-entretien .use-grid { grid-template-columns: 1fr; } }
body.page-slug-entretien .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-entretien .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-entretien .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-entretien .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: materiaux.php === */
body.page-slug-materiaux .mat-categories { padding: 6rem 0; background: var(--surface); }
body.page-slug-materiaux .mat-categories .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-materiaux .mat-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; margin-bottom: 6rem; }
body.page-slug-materiaux .mat-row:last-child { margin-bottom: 0; }
body.page-slug-materiaux .mat-row.reverse .mat-img { order: 2; }
@media (max-width: 900px) { body.page-slug-materiaux .mat-row, body.page-slug-materiaux .mat-row.reverse { grid-template-columns: 1fr; gap: 2rem; } body.page-slug-materiaux .mat-row.reverse .mat-img { order: 0; } }
body.page-slug-materiaux .mat-img .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-materiaux .mat-row h2 { font-size: clamp(2rem, 3.5vw, 2.75rem); color: var(--primary); margin-bottom: 1.5rem; line-height: 0.95; }
body.page-slug-materiaux .mat-row p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1.5rem; }
body.page-slug-materiaux .mat-row .products { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
body.page-slug-materiaux .mat-row .products li { display: flex; gap: 0.5rem; font-size: 0.9rem; color: var(--on-surface-variant); }
body.page-slug-materiaux .mat-row .products li .material-symbols-outlined { color: var(--accent); font-size: 1.1rem; font-variation-settings: 'FILL' 1; }

body.page-slug-materiaux .quote-strip { padding: 4rem 0; background: var(--primary-container); color: var(--white); }
body.page-slug-materiaux .quote-strip .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; text-align: center; }
body.page-slug-materiaux .quote-strip h3 { font-size: 2rem; color: var(--white); margin-bottom: 1rem; }
body.page-slug-materiaux .quote-strip p { color: rgba(255,255,255,0.8); max-width: 50ch; margin: 0 auto 2rem; }

/* === Source: mentions-legales.php === */
body.page-slug-mentions-legales .legal { padding: 5rem 0 6rem; background: var(--surface); }
body.page-slug-mentions-legales .legal .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: 85rem; margin: 0 auto; }
body.page-slug-mentions-legales .legal h2 { font-family: 'Oswald'; font-size: 1.5rem; color: var(--primary); margin: 2.5rem 0 1rem; text-transform: uppercase; letter-spacing: 0.05em; }
body.page-slug-mentions-legales .legal h2:first-of-type { margin-top: 0; }
body.page-slug-mentions-legales .legal h3 { font-family: 'Oswald'; font-size: 1rem; color: var(--primary); margin: 1.5rem 0 0.5rem; text-transform: uppercase; letter-spacing: 0.1em; }
body.page-slug-mentions-legales .legal p, body.page-slug-mentions-legales .legal li { color: var(--on-surface-variant); font-size: 0.95rem; line-height: 1.75; margin-bottom: 1rem; }
body.page-slug-mentions-legales .legal ul { padding-left: 1.25rem; margin-bottom: 1.5rem; }
body.page-slug-mentions-legales .legal li { margin-bottom: 0.5rem; }
body.page-slug-mentions-legales .legal strong { color: var(--primary); font-weight: 600; }
body.page-slug-mentions-legales .legal a { color: var(--accent); text-decoration: underline; text-underline-offset: 0.2em; }
body.page-slug-mentions-legales .legal .rule { width: 48px; height: 3px; background: var(--accent); margin: 1.5rem 0 2.5rem; }
body.page-slug-mentions-legales .legal .box { background: var(--white); border: 1px solid rgba(55,15,0,0.08); border-radius: 0.5rem; padding: clamp(2rem, 5vw, 4rem); box-shadow: 0 10px 40px rgba(55,15,0,0.06); }
body.page-slug-mentions-legales .legal .rule { display: none; }
body.page-slug-mentions-legales .legal .info-card { background: var(--surface-container-low); border-radius: 0.5rem; padding: 1.75rem 2rem; margin: 1.5rem 0; overflow-wrap: anywhere; word-break: break-word; }
body.page-slug-mentions-legales .legal .info-card p:last-child { margin-bottom: 0; }
@media (max-width: 500px) { body.page-slug-mentions-legales .legal .info-card { padding: 1.25rem; } }
body.page-slug-mentions-legales .legal .box { overflow-wrap: anywhere; }
body.page-slug-mentions-legales .legal .box p:last-child { margin-bottom: 0; }
body.page-slug-mentions-legales .legal table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.9rem; }
body.page-slug-mentions-legales .legal th, body.page-slug-mentions-legales .legal td { padding: 0.75rem; border-bottom: 1px solid rgba(55,15,0,0.08); text-align: left; color: var(--on-surface-variant); }
body.page-slug-mentions-legales .legal th { font-family: 'Oswald'; color: var(--primary); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; }

/* === Source: paillage-mineral.php === */
body.page-slug-paillage-mineral .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-paillage-mineral .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paillage-mineral .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-paillage-mineral .si-grid { grid-template-columns: 1fr; } }
body.page-slug-paillage-mineral .si-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-paillage-mineral .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-paillage-mineral .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-paillage-mineral .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-paillage-mineral .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paillage-mineral .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-paillage-mineral .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-paillage-mineral .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-paillage-mineral .prod-card:hover { transform: translateY(-4px); }
body.page-slug-paillage-mineral .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-paillage-mineral .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-paillage-mineral .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-paillage-mineral .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-paillage-mineral .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-paillage-mineral .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-paillage-mineral .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-paillage-mineral .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paillage-mineral .usage h2 { color: var(--white); }
body.page-slug-paillage-mineral .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-paillage-mineral .use-grid { grid-template-columns: 1fr; } }
body.page-slug-paillage-mineral .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-paillage-mineral .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-paillage-mineral .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-paillage-mineral .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: paillage-vegetal.php === */
body.page-slug-paillage-vegetal .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-paillage-vegetal .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paillage-vegetal .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-paillage-vegetal .si-grid { grid-template-columns: 1fr; } }
body.page-slug-paillage-vegetal .si-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-paillage-vegetal .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-paillage-vegetal .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }
body.page-slug-paillage-vegetal .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-paillage-vegetal .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paillage-vegetal .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-paillage-vegetal .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-paillage-vegetal .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-paillage-vegetal .prod-card:hover { transform: translateY(-4px); }
body.page-slug-paillage-vegetal .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-paillage-vegetal .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-paillage-vegetal .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-paillage-vegetal .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-paillage-vegetal .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-paillage-vegetal .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }
body.page-slug-paillage-vegetal .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-paillage-vegetal .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paillage-vegetal .usage h2 { color: var(--white); }
body.page-slug-paillage-vegetal .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-paillage-vegetal .use-grid { grid-template-columns: 1fr; } }
body.page-slug-paillage-vegetal .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-paillage-vegetal .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-paillage-vegetal .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-paillage-vegetal .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: paysagiste.php === */
body.page-slug-paysagiste .services { padding: 6rem 0; background: var(--surface); }
body.page-slug-paysagiste .services .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paysagiste .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width:900px){ body.page-slug-paysagiste .services-grid { grid-template-columns: 1fr; } }
body.page-slug-paysagiste .service { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); }
body.page-slug-paysagiste .service .ph { aspect-ratio: 4/3; border-radius: 0; }
body.page-slug-paysagiste .service-body { padding: 2rem; }
body.page-slug-paysagiste .service-body h3 { font-size: 1.5rem; color: var(--primary); margin-bottom: 1rem; }
body.page-slug-paysagiste .service-body p { color: var(--on-surface-variant); margin-bottom: 1rem; }
body.page-slug-paysagiste .service-body ul { list-style: none; padding: 0; margin: 1.25rem 0; display: flex; flex-direction: column; gap: 0.5rem; }
body.page-slug-paysagiste .service-body li { display: flex; gap: 0.5rem; font-size: 0.9rem; color: var(--on-surface-variant); }
body.page-slug-paysagiste .service-body li .material-symbols-outlined { color: var(--accent); font-size: 1.1rem; font-variation-settings: 'FILL' 1; }

body.page-slug-paysagiste .process { padding: 6rem 0; background: var(--surface-container-low); }
body.page-slug-paysagiste .process .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-paysagiste .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 2rem; }
@media (max-width:900px){ body.page-slug-paysagiste .process-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width:500px){ body.page-slug-paysagiste .process-grid { grid-template-columns: 1fr; } }
body.page-slug-paysagiste .step { }
body.page-slug-paysagiste .step .num { font-family: 'Oswald'; font-size: 4rem; color: var(--accent); line-height: 1; font-weight: 700; }
body.page-slug-paysagiste .step h3 { font-size: 1.25rem; color: var(--primary); margin: 1rem 0; }
body.page-slug-paysagiste .step p { color: var(--on-surface-variant); font-size: 0.95rem; }

/* === Source: pepiniere.php === */
body.page-slug-pepiniere .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48; }
body.page-slug-pepiniere .catalog-section { padding: 6rem 0; background: var(--surface-container-low); }
body.page-slug-pepiniere .filters { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(55,15,0,0.12); align-items: center; }
body.page-slug-pepiniere .filter-label { font-family: 'Oswald', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.15em; color: var(--primary); margin-right: 0.5rem; }
body.page-slug-pepiniere .filter-chip { padding: 0.6rem 1.25rem; border-radius: 9999px; border: 1px solid rgba(55,15,0,0.2); background: transparent; cursor: pointer; font-family: inherit; font-size: 0.85rem; font-weight: 600; color: var(--primary); transition: all 0.25s var(--ease); text-transform: uppercase; letter-spacing: 0.08em; }
body.page-slug-pepiniere .filter-chip:hover { border-color: var(--accent); color: var(--accent); }
body.page-slug-pepiniere .filter-chip.active { background: var(--accent); color: var(--white); border-color: var(--accent); }
body.page-slug-pepiniere .catalog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
@media (max-width:1000px){body.page-slug-pepiniere .catalog-grid {grid-template-columns:repeat(2,1fr);}} @media (max-width:600px){body.page-slug-pepiniere .catalog-grid {grid-template-columns:1fr;}}
body.page-slug-pepiniere .pc { background: var(--white); border-radius: 1rem; overflow: hidden; transition: all 0.3s var(--ease); box-shadow: 0 4px 20px rgba(55,15,0,0.04); display: flex; flex-direction: column; }
body.page-slug-pepiniere .pc:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(55,15,0,0.12); }
body.page-slug-pepiniere .pc .ph { aspect-ratio: 4/3.3; border-radius: 0; }
body.page-slug-pepiniere .pc-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
body.page-slug-pepiniere .pc-latin { font-family: 'Work Sans'; font-style: italic; font-size: 0.85rem; color: var(--on-surface-variant); }
body.page-slug-pepiniere .pc-name { font-family: 'Oswald', sans-serif; font-size: 1.35rem; text-transform: uppercase; color: var(--primary); margin: 0.25rem 0 0.85rem; line-height: 1.05; }
body.page-slug-pepiniere .pc-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 1rem; }
body.page-slug-pepiniere .pc-tag { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.25rem 0.55rem; background: var(--surface-container); border-radius: 9999px; color: var(--on-surface-variant); font-weight: 600; }
body.page-slug-pepiniere .pc-foot { margin-top: auto; padding-top: 0.75rem; border-top: 1px solid var(--surface-container); display: flex; justify-content: space-between; align-items: center; }
body.page-slug-pepiniere .pc-price { color: var(--accent); font-weight: 700; font-size: 1.05rem; }
body.page-slug-pepiniere .pc-size { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--on-surface-variant); }

body.page-slug-pepiniere .bento { padding: 6rem 0; background: var(--surface); }
body.page-slug-pepiniere .bento-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.25rem; grid-auto-rows: 240px; }
@media (max-width: 900px){ body.page-slug-pepiniere .bento-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 200px; } }
body.page-slug-pepiniere .bento-grid > div { border-radius: 1rem; overflow: hidden; position: relative; }
body.page-slug-pepiniere .b-1 { grid-column: span 4; grid-row: span 2; }
body.page-slug-pepiniere .b-2 { grid-column: span 8; }
body.page-slug-pepiniere .b-3 { grid-column: span 4; }
body.page-slug-pepiniere .b-4 { grid-column: span 4; background: var(--primary-container); color: var(--white); padding: 2rem; display: flex; flex-direction: column; justify-content: center; }
body.page-slug-pepiniere .b-5 { grid-column: span 4; }
body.page-slug-pepiniere .b-6 { grid-column: span 4; background: var(--secondary); color: var(--white); padding: 2rem; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 900px){ body.page-slug-pepiniere .b-1, body.page-slug-pepiniere .b-2, body.page-slug-pepiniere .b-3, body.page-slug-pepiniere .b-4, body.page-slug-pepiniere .b-5, body.page-slug-pepiniere .b-6 { grid-column: span 2; grid-row: auto; } }
body.page-slug-pepiniere .bento-grid .ph { height: 100%; border-radius: 0; }
body.page-slug-pepiniere .bento-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(55,15,0,0.85), transparent 60%); display: flex; align-items: flex-end; padding: 2rem; pointer-events: none; }
body.page-slug-pepiniere .bento-overlay span { font-family: 'Oswald', sans-serif; font-size: 1.5rem; text-transform: uppercase; color: var(--white); font-weight: 700; letter-spacing: -0.01em; }
body.page-slug-pepiniere .b-4 h3, body.page-slug-pepiniere .b-6 h3 { font-size: 1.5rem; color: var(--white); margin-bottom: 0.75rem; }
body.page-slug-pepiniere .b-4 p, body.page-slug-pepiniere .b-6 p { color: rgba(255,255,255,0.85); font-size: 0.9rem; }

/* === Source: politique-confidentialite.php === */
body.page-slug-politique-confidentialite .legal { padding: 5rem 0 6rem; background: var(--surface); }
body.page-slug-politique-confidentialite .legal .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: 85rem; margin: 0 auto; }
body.page-slug-politique-confidentialite .legal h2 { font-family: 'Oswald'; font-size: 1.5rem; color: var(--primary); margin: 2.5rem 0 1rem; text-transform: uppercase; letter-spacing: 0.05em; }
body.page-slug-politique-confidentialite .legal h2:first-of-type { margin-top: 0; }
body.page-slug-politique-confidentialite .legal h3 { font-family: 'Oswald'; font-size: 1rem; color: var(--primary); margin: 1.5rem 0 0.5rem; text-transform: uppercase; letter-spacing: 0.1em; }
body.page-slug-politique-confidentialite .legal p, body.page-slug-politique-confidentialite .legal li { color: var(--on-surface-variant); font-size: 0.95rem; line-height: 1.75; margin-bottom: 1rem; }
body.page-slug-politique-confidentialite .legal ul { padding-left: 1.25rem; margin-bottom: 1.5rem; }
body.page-slug-politique-confidentialite .legal li { margin-bottom: 0.5rem; }
body.page-slug-politique-confidentialite .legal strong { color: var(--primary); font-weight: 600; }
body.page-slug-politique-confidentialite .legal a { color: var(--accent); text-decoration: underline; text-underline-offset: 0.2em; }
body.page-slug-politique-confidentialite .legal .rule { width: 48px; height: 3px; background: var(--accent); margin: 1.5rem 0 2.5rem; }
body.page-slug-politique-confidentialite .legal .box { background: var(--white); border: 1px solid rgba(55,15,0,0.08); border-radius: 0.5rem; padding: clamp(2rem, 5vw, 4rem); box-shadow: 0 10px 40px rgba(55,15,0,0.06); }
body.page-slug-politique-confidentialite .legal .rule { display: none; }
body.page-slug-politique-confidentialite .legal .info-card { background: var(--surface-container-low); border-radius: 0.5rem; padding: 1.75rem 2rem; margin: 1.5rem 0; }
body.page-slug-politique-confidentialite .legal .info-card p:last-child { margin-bottom: 0; }
body.page-slug-politique-confidentialite .legal .box p:last-child { margin-bottom: 0; }
body.page-slug-politique-confidentialite .legal .info-card { overflow-wrap: anywhere; word-break: break-word; }
@media (max-width: 500px) { body.page-slug-politique-confidentialite .legal .info-card { padding: 1.25rem !important; } }
body.page-slug-politique-confidentialite .legal .box { overflow-wrap: anywhere; }
body.page-slug-politique-confidentialite .legal .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5rem 0; }
body.page-slug-politique-confidentialite .legal table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.9rem; }
body.page-slug-politique-confidentialite .legal th, body.page-slug-politique-confidentialite .legal td { padding: 0.9rem 0.75rem; border-bottom: 1px solid rgba(55,15,0,0.08); text-align: left; color: var(--on-surface-variant); vertical-align: top; }
body.page-slug-politique-confidentialite .legal th { font-family: 'Oswald'; color: var(--primary); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; background: rgba(55,15,0,0.03); }
body.page-slug-politique-confidentialite .toc { background: var(--white); border: 1px solid rgba(55,15,0,0.08); border-radius: 0.5rem; padding: 1.75rem 2rem; margin-bottom: 3rem; }
body.page-slug-politique-confidentialite .toc h3 { margin: 0 0 1rem; }
body.page-slug-politique-confidentialite .toc ol { margin: 0; padding-left: 1.25rem; }
body.page-slug-politique-confidentialite .toc li { margin-bottom: 0.4rem; font-size: 0.9rem; }
body.page-slug-politique-confidentialite .toc a { color: var(--primary); text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s var(--ease); }
body.page-slug-politique-confidentialite .toc a:hover { color: var(--accent); border-bottom-color: var(--accent); }

/* === Source: production.php === */
/* MANIFESTO */
body.page-slug-production .manifesto { padding: 5rem 0 4rem; background: var(--surface); }
body.page-slug-production .manifesto .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 1fr 1.25fr; gap: 5rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-production .manifesto .wrap { grid-template-columns: 1fr; gap: 3rem; } }
body.page-slug-production .manifesto .kicker { font-family: 'Work Sans'; font-weight: 700; font-size: 0.75rem; letter-spacing: 0.2em; color: var(--accent); text-transform: uppercase; margin-bottom: 1rem; }
body.page-slug-production .manifesto h2 { font-family: 'Oswald'; font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 1.1; margin-bottom: 1.5rem; }
body.page-slug-production .manifesto p { font-family: 'Work Sans'; font-size: 1.05rem; line-height: 1.7; color: var(--on-surface); margin-bottom: 1rem; }
body.page-slug-production .manifesto .quote { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.35rem; color: var(--primary); padding: 1.5rem 0 0 1.75rem; border-left: 3px solid var(--accent); margin-top: 2rem; line-height: 1.5; }
body.page-slug-production .manifesto .ph { aspect-ratio: 4/5; border-radius: 0.5rem; }

/* NUMBERS */
body.page-slug-production .numbers { padding: 4rem 0; background: var(--primary); color: var(--white); }
body.page-slug-production .numbers .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem 2rem; text-align: center; }
@media (max-width: 800px) { body.page-slug-production .numbers .wrap { grid-template-columns: repeat(2, 1fr); gap: 3rem 2rem; } }
body.page-slug-production .numbers .stat { border-right: 1px solid rgba(255,255,255,0.15); padding: 0 1rem; }
body.page-slug-production .numbers .stat:nth-child(3n), body.page-slug-production .numbers .stat:last-child { border-right: none; }
/* Citation serre-gallery — même style que la citation du text-image */
body.page-slug-production .serre .quote { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.35rem; color: var(--primary); padding: 1.5rem 0 0 1.75rem; border-left: 3px solid var(--accent); margin-top: 2rem; line-height: 1.5; }
@media (max-width: 800px) { body.page-slug-production .numbers .stat { border-right: none; } }
body.page-slug-production .numbers .big { font-family: 'Oswald'; font-size: clamp(2.5rem, 4.5vw, 3.75rem); color: var(--accent); line-height: 1; margin-bottom: 0.4rem; font-weight: 500; }
body.page-slug-production .numbers .big sup { font-size: 0.45em; color: var(--white); opacity: 0.7; margin-left: 0.15em; }
body.page-slug-production .numbers .lbl { font-family: 'Work Sans'; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.85; }

/* PROCESS */
body.page-slug-production .process { padding: 5rem 0 6rem; background: var(--surface); }
body.page-slug-production .process .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-production .process .kicker { font-family: 'Work Sans'; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.2em; color: var(--accent); text-transform: uppercase; margin-bottom: 1rem; }
body.page-slug-production .process h2 { font-family: 'Oswald'; font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); margin-bottom: 0.5rem; }
body.page-slug-production .process .rule { width: 48px; height: 3px; background: var(--accent); margin: 1rem 0 3.5rem; }
body.page-slug-production .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; position: relative; }
@media (max-width: 900px) { body.page-slug-production .steps { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 2rem; } }
@media (max-width: 500px) { body.page-slug-production .steps { grid-template-columns: 1fr; } }
body.page-slug-production .step { position: relative; }
body.page-slug-production .step .num { font-family: 'Oswald'; font-size: 3.5rem; color: var(--accent); line-height: 0.9; font-weight: 600; margin-bottom: 1rem; display: block; }
body.page-slug-production .step .ph { aspect-ratio: 4/3; margin-bottom: 1.25rem; border-radius: 0.5rem; }
body.page-slug-production .step h3 { font-family: 'Oswald'; font-size: 1.15rem; color: var(--primary); margin-bottom: 0.75rem; }
body.page-slug-production .step p { font-size: 0.9rem; color: var(--on-surface-variant); line-height: 1.55; }
body.page-slug-production .step .month { font-family: 'Work Sans'; font-weight: 600; font-size: 0.7rem; letter-spacing: 0.15em; color: var(--accent); text-transform: uppercase; margin-bottom: 0.35rem; display: block; }

/* SERRE */
body.page-slug-production .serre { padding: 5rem 0; background: var(--surface-container-low); }
body.page-slug-production .serre .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 1.3fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 900px) { body.page-slug-production .serre .wrap { grid-template-columns: 1fr; gap: 3rem; } }
body.page-slug-production .serre .gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 0.75rem; aspect-ratio: 1; }
body.page-slug-production .serre .gallery .ph { border-radius: 0.375rem; }
body.page-slug-production .serre .gallery .ph:first-child { grid-column: 1 / -1; aspect-ratio: auto; }
body.page-slug-production .serre .content h2 { font-family: 'Oswald'; font-size: clamp(1.75rem, 3vw, 2.35rem); color: var(--primary); line-height: 1.1; margin-bottom: 1.5rem; }
body.page-slug-production .serre .content p { font-size: 1rem; line-height: 1.7; color: var(--on-surface); margin-bottom: 1rem; }
body.page-slug-production .serre .content ul { list-style: none; margin-top: 1.5rem; }
body.page-slug-production .serre .content ul li { padding: 0.6rem 0; border-bottom: 1px solid rgba(55,15,0,0.08); display: flex; justify-content: space-between; align-items: center; font-size: 0.95rem; }
body.page-slug-production .serre .content ul li .k { color: var(--on-surface-variant); font-size: 0.85rem; letter-spacing: 0.05em; }
body.page-slug-production .serre .content ul li .v { font-family: 'Oswald'; color: var(--primary); font-size: 1.05rem; }

/* LABELS */
body.page-slug-production .labels { padding: 5rem 0; background: var(--surface); }
body.page-slug-production .labels .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; text-align: center; }
body.page-slug-production .labels .kicker { font-family: 'Work Sans'; font-weight: 700; font-size: 0.72rem; letter-spacing: 0.2em; color: var(--accent); text-transform: uppercase; margin-bottom: 1rem; }
body.page-slug-production .labels h2 { font-family: 'Oswald'; font-size: clamp(1.5rem, 2.5vw, 2rem); color: var(--primary); margin-bottom: 1rem; }
body.page-slug-production .labels p { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.1rem; color: var(--on-surface-variant); max-width: 54ch; margin: 0 auto 3rem; line-height: 1.5; }
body.page-slug-production .label-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
@media (max-width: 800px) { body.page-slug-production .label-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; } }
@media (max-width: 500px) { body.page-slug-production .label-grid { grid-template-columns: 1fr; } }
body.page-slug-production .label-card { padding: 2rem 1.5rem; border: 1px solid rgba(55,15,0,0.1); border-radius: 0.5rem; background: var(--white); }
body.page-slug-production .label-card .icon { width: 56px; height: 56px; border-radius: 50%; background: var(--primary-container); color: var(--white); display: grid; place-items: center; margin: 0 auto 1.25rem; }
body.page-slug-production .label-card .icon .material-symbols-outlined { font-size: 1.75rem; }
body.page-slug-production .label-card h3 { font-family: 'Oswald'; font-size: 1rem; color: var(--primary); margin-bottom: 0.5rem; }
body.page-slug-production .label-card p { font-size: 0.85rem; color: var(--on-surface-variant); font-family: 'Work Sans'; font-style: normal; line-height: 1.5; margin: 0; }

/* CTA */
body.page-slug-production .visit { padding: 5rem 0; background: var(--primary-container); color: var(--white); }
body.page-slug-production .visit .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: 48rem; margin: 0 auto; text-align: center; }
body.page-slug-production .visit h2 { font-family: 'Oswald'; font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 1rem; line-height: 1.1; }
body.page-slug-production .visit p { font-family: 'Fraunces', serif; font-style: italic; font-size: 1.1rem; opacity: 0.85; margin-bottom: 2rem; }
body.page-slug-production .visit .actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
body.page-slug-production .btn-w { padding: 0.95rem 2.25rem; background: var(--accent); color: var(--white); font-family: 'Oswald'; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; border-radius: 0.25rem; transition: all 0.2s var(--ease); }
body.page-slug-production .btn-w:hover { background: var(--white); color: var(--primary); transform: translateY(-2px); }
body.page-slug-production .btn-ghost { padding: 0.95rem 2.25rem; border: 1px solid rgba(255,255,255,0.4); color: var(--white); font-family: 'Oswald'; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; border-radius: 0.25rem; transition: all 0.2s var(--ease); }
body.page-slug-production .btn-ghost:hover { background: rgba(255,255,255,0.1); border-color: var(--white); }

/* === Source: realisations.php === */
body.page-slug-realisations .projects { padding: 6rem 0; background: var(--surface); }
body.page-slug-realisations .projects .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-realisations .proj-filters { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 3rem; align-items: center; }
body.page-slug-realisations .proj-filters .label { font-family:'Oswald'; font-weight:700; text-transform:uppercase; font-size: 0.85rem; letter-spacing: 0.15em; color: var(--primary); margin-right: 0.5rem; }
body.page-slug-realisations .chip { padding: 0.6rem 1.25rem; border-radius: 9999px; border: 1px solid rgba(55,15,0,0.2); background: transparent; cursor: pointer; font-family: inherit; font-size: 0.85rem; font-weight: 600; color: var(--primary); transition: all 0.25s var(--ease); text-transform: uppercase; letter-spacing: 0.08em; }
body.page-slug-realisations .chip:hover { border-color: var(--accent); color: var(--accent); }
body.page-slug-realisations .chip.active { background: var(--accent); color: var(--white); border-color: var(--accent); }
body.page-slug-realisations .proj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 1000px) { body.page-slug-realisations .proj-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { body.page-slug-realisations .proj-grid { grid-template-columns: 1fr; } }
body.page-slug-realisations .proj-card { border-radius: 0.5rem; overflow: hidden; background: var(--white); box-shadow: 0 10px 30px rgba(55,15,0,0.06); transition: transform 0.3s var(--ease); }
body.page-slug-realisations .proj-card:hover { transform: translateY(-4px); }
body.page-slug-realisations .proj-card .ph { aspect-ratio: 4/3; border-radius: 0; }
body.page-slug-realisations .proj-card .body { padding: 1.5rem 1.75rem 2rem; }
body.page-slug-realisations .proj-card .kicker { display: block; font-family:'Work Sans'; font-weight:700; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent); margin-bottom: 0.5rem; }
body.page-slug-realisations .proj-card h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; line-height: 1.1; }
body.page-slug-realisations .proj-card p { color: var(--on-surface-variant); font-size: 0.9rem; margin: 0; }
body.page-slug-realisations .proj-card .meta { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.1); display: flex; justify-content: space-between; font-size: 0.75rem; color: var(--on-surface-variant); text-transform: uppercase; letter-spacing: 0.1em; }

/* === Source: services.php === */
body.page-slug-services .services-list { padding: 6rem 0; background: var(--white); }
body.page-slug-services .services-list .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-services .svc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; padding: 4rem 0; border-bottom: 1px solid rgba(55,15,0,0.08); }
body.page-slug-services .svc-row:last-child { border-bottom: 0; }
body.page-slug-services .svc-row.reverse { direction: rtl; }
body.page-slug-services .svc-row.reverse > * { direction: ltr; }
@media (max-width: 900px) { body.page-slug-services .svc-row, body.page-slug-services .svc-row.reverse { grid-template-columns: 1fr; direction: ltr; padding: 2.5rem 0; gap: 2rem; } }
body.page-slug-services .svc-row .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-services .svc-body .svc-num { font-family:'Oswald'; font-size: 0.8rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 1rem; display: block; }
body.page-slug-services .svc-body h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); margin-bottom: 1.25rem; line-height: 0.95; }
body.page-slug-services .svc-body > p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1.25rem; }
body.page-slug-services .svc-body ul { list-style: none; padding: 0; margin: 1.5rem 0; display: flex; flex-direction: column; gap: 0.75rem; }
body.page-slug-services .svc-body li { display: flex; gap: 0.75rem; font-size: 0.95rem; color: var(--on-surface-variant); }
body.page-slug-services .svc-body li .material-symbols-outlined { color: var(--accent); font-size: 1.25rem; font-variation-settings: 'FILL' 1; flex-shrink: 0; }
body.page-slug-services .svc-body .price-tag { display: inline-block; padding: 0.4rem 1rem; border-radius: 9999px; background: rgba(226,0,121,0.1); color: var(--accent); font-family: 'Oswald'; font-weight: 700; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 1rem; }

/* === Source: terre.php === */
body.page-slug-terre .sub-intro { padding: 6rem 0; background: var(--white); }
body.page-slug-terre .sub-intro .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-terre .si-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-terre .si-grid { grid-template-columns: 1fr; } }
body.page-slug-terre .si-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-terre .si-grid h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); color: var(--primary); line-height: 0.95; margin-bottom: 1.5rem; text-wrap: balance; }
body.page-slug-terre .si-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1rem; }

body.page-slug-terre .products { padding: 6rem 0; background: var(--surface); }
body.page-slug-terre .products .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-terre .prod-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-terre .prod-grid { grid-template-columns: 1fr; } }
body.page-slug-terre .prod-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-terre .prod-card:hover { transform: translateY(-4px); }
body.page-slug-terre .prod-card .ph { aspect-ratio: 5/3; }
body.page-slug-terre .pc-body { padding: 2rem; flex-grow: 1; display: flex; flex-direction: column; }
body.page-slug-terre .pc-body .tag { font-family:'Oswald'; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin-bottom: 0.5rem; }
body.page-slug-terre .pc-body h3 { font-size: 1.25rem; color: var(--primary); margin-bottom: 0.75rem; text-wrap: balance; }
body.page-slug-terre .pc-body p { color: var(--on-surface-variant); font-size: 0.9rem; flex-grow: 1; margin-bottom: 1rem; }
body.page-slug-terre .pc-body .price { font-family:'Oswald'; font-weight: 700; color: var(--primary); font-size: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(55,15,0,0.08); }

body.page-slug-terre .usage { padding: 6rem 0; background: var(--primary); color: var(--white); }
body.page-slug-terre .usage .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-terre .usage h2 { color: var(--white); }
body.page-slug-terre .use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-terre .use-grid { grid-template-columns: 1fr; } }
body.page-slug-terre .use { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem; border-radius: 0.5rem; }
body.page-slug-terre .use .material-symbols-outlined { color: var(--accent); font-size: 2.25rem; margin-bottom: 1rem; font-variation-settings: 'FILL' 0, 'wght' 300; }
body.page-slug-terre .use h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin-bottom: 0.75rem; }
body.page-slug-terre .use p { color: rgba(255,255,255,0.75); font-size: 0.9rem; margin: 0; }

/* === Source: vegetaux.php === */
body.page-slug-vegetaux .families { padding: 6rem 0; background: var(--surface); }
body.page-slug-vegetaux .families .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-vegetaux .fam-head { text-align:center; margin-bottom: 3rem; }
body.page-slug-vegetaux .fam-head p { color: var(--on-surface-variant); max-width: 60ch; margin: 1rem auto 0; }
body.page-slug-vegetaux .fam-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 900px) { body.page-slug-vegetaux .fam-grid { grid-template-columns: 1fr; } }
body.page-slug-vegetaux .fam-card { background: var(--white); border-radius: 0.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(55,15,0,0.06); display: flex; flex-direction: column; transition: transform 0.3s var(--ease); }
body.page-slug-vegetaux .fam-card:hover { transform: translateY(-4px); }
body.page-slug-vegetaux .fam-card .ph { aspect-ratio: 4/3; border-radius: 0; }
body.page-slug-vegetaux .fam-body { padding: 2rem; display: flex; flex-direction: column; flex-grow: 1; }
body.page-slug-vegetaux .fam-body h3 { font-size: 1.5rem; color: var(--primary); margin-bottom: 0.75rem; }
body.page-slug-vegetaux .fam-body p { color: var(--on-surface-variant); font-size: 0.95rem; margin-bottom: 1.25rem; flex-grow: 1; }
body.page-slug-vegetaux .fam-body .count { display: inline-block; font-family:'Oswald'; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent); padding: 0.35rem 0.75rem; border-radius: 9999px; background: rgba(226,0,121,0.1); margin-bottom: 1rem; align-self: flex-start; }
body.page-slug-vegetaux .fam-body .more { font-family:'Work Sans'; font-weight:700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--primary); text-decoration: none; border-bottom: 2px solid var(--accent); padding-bottom: 0.25rem; align-self: flex-start; }

body.page-slug-vegetaux .seasonal { padding: 6rem 0; background: var(--primary-container); color: var(--white); }
body.page-slug-vegetaux .seasonal .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-vegetaux .seasonal h2 { color: var(--white); }
body.page-slug-vegetaux .cal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 3rem; }
@media (max-width: 900px) { body.page-slug-vegetaux .cal-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { body.page-slug-vegetaux .cal-grid { grid-template-columns: 1fr; } }
body.page-slug-vegetaux .cal-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 2rem 1.5rem; border-radius: 0.5rem; }
body.page-slug-vegetaux .cal-card .season { font-family:'Oswald'; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.2em; color: var(--accent); font-weight: 700; }
body.page-slug-vegetaux .cal-card h3 { font-family:'Oswald'; font-size: 1.25rem; color: var(--white); margin: 0.5rem 0 1rem; }
body.page-slug-vegetaux .cal-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
body.page-slug-vegetaux .cal-card li { font-size: 0.85rem; color: rgba(255,255,255,0.8); display: flex; gap: 0.5rem; align-items: flex-start; }
body.page-slug-vegetaux .cal-card li::before { content: '▸'; color: var(--accent); font-weight: bold; }

body.page-slug-vegetaux .advice { padding: 6rem 0; background: var(--white); }
body.page-slug-vegetaux .advice .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
body.page-slug-vegetaux .advice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { body.page-slug-vegetaux .advice-grid { grid-template-columns: 1fr; } }
body.page-slug-vegetaux .advice-grid .ph { aspect-ratio: 4/3; box-shadow: 0 20px 40px rgba(55,15,0,0.1); }
body.page-slug-vegetaux .advice-grid h2 { font-size: clamp(2rem, 3.5vw, 2.75rem); color: var(--primary); margin-bottom: 1.5rem; line-height: 0.95; }
body.page-slug-vegetaux .advice-grid p { color: var(--on-surface-variant); font-size: 1.05rem; margin-bottom: 1.25rem; }
body.page-slug-vegetaux .advice-grid ul { list-style: none; padding: 0; margin: 1.5rem 0; display: flex; flex-direction: column; gap: 0.75rem; }
body.page-slug-vegetaux .advice-grid li { display: flex; gap: 0.75rem; font-size: 0.95rem; color: var(--on-surface-variant); }
body.page-slug-vegetaux .advice-grid li .material-symbols-outlined { color: var(--accent); font-size: 1.25rem; font-variation-settings: 'FILL' 1; }



/* ===== Page Vente de végétaux — section intro-cards (« Sélectionner est un métier ») ===== */
.intro-cards { padding: 6rem 0; background: var(--surface-container-low); }
.intro-cards .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
.intro-cards .head { text-align: center; margin: 0 0 4rem; }
.intro-cards .head .lead { max-width: 95ch; margin: 1.75rem auto 0; font-family: 'Work Sans'; font-size: 1.05rem; line-height: 1.75; color: var(--on-surface); }
.intro-cards .head .lead strong { color: var(--accent); font-weight: 600; }
.intro-cards .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
@media (max-width: 980px) { .intro-cards .cards { grid-template-columns: 1fr; gap: 1.5rem; } }
.intro-cards .card { background: var(--white, #fff); padding: 2.25rem 2.25rem 2.5rem; border: 1px solid rgba(55,15,0,0.08); box-shadow: 0 4px 14px rgba(55,15,0,0.04); display: flex; flex-direction: column; }
.intro-cards .card .bar { display: block; width: 32px; height: 4px; background: var(--accent); margin-bottom: 1.5rem; }
.intro-cards .card h3 { font-family: 'Oswald'; font-weight: 500; font-size: 1.2rem; color: var(--primary); text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.25; margin: 0 0 1.25rem; }
.intro-cards .card .card-quote { font-family: 'Work Sans'; font-style: italic; font-weight: 600; color: var(--accent); font-size: 1.05rem; line-height: 1.5; margin: 0 0 1.25rem; }
.intro-cards .card .body p { font-family: 'Work Sans'; font-size: 0.98rem; line-height: 1.7; color: var(--on-surface); margin: 0 0 1rem; }
.intro-cards .card .body p:last-child { margin-bottom: 0; }
.intro-cards .conclusion { font-family: 'Work Sans'; font-weight: 600; font-size: 1.1rem; line-height: 1.7; color: var(--primary); text-align: center; margin: 3rem 0 0; }

/* ===== Manifesto list — bloc éditorial pleine largeur (numéro + titre + paragraphes) ===== */
.manifesto-list { padding: 6rem 0; background: var(--surface-container-low); }
.manifesto-list .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; }
.manifesto-list .head { text-align: center; margin: 0 0 4rem; }
.manifesto-list .items { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.manifesto-list .item { display: grid; grid-template-columns: minmax(7rem, 10rem) 1fr; gap: 2.5rem; align-items: start; padding: 2.5rem 2.5rem; background: var(--white, #fff); border: 1px solid rgba(55,15,0,0.08); box-shadow: 0 4px 14px rgba(55,15,0,0.04); }
@media (max-width: 900px) { .manifesto-list .item { grid-template-columns: 1fr; gap: 0.75rem; padding: 2rem 1.5rem; } }
.manifesto-list .item .num { font-family: 'Oswald'; font-weight: 700; font-size: clamp(3.5rem, 6vw, 5rem); color: var(--accent); line-height: 0.9; letter-spacing: -0.02em; }
.manifesto-list .item .content h3 { font-family: 'Oswald'; font-weight: 500; font-size: clamp(1.4rem, 2.5vw, 1.7rem); color: var(--primary); text-transform: uppercase; letter-spacing: 0.04em; line-height: 1.15; margin: 0 0 1.25rem; }
.manifesto-list .item .content p { font-family: 'Work Sans'; font-size: 1.05rem; line-height: 1.75; color: var(--on-surface); margin: 0 0 1rem; max-width: 80ch; }
.manifesto-list .item .content p:last-child { margin: 0; }

/* ===== Variante « services-grouped » — 4 blocs pleine largeur avec liste à puces ===== */
.services-grouped { padding: 6rem 0; background: var(--white); }
.services-grouped .wrap { padding: 0 clamp(1.25rem,4vw,3rem); max-width: var(--wrap); margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem; }
.services-grouped .svc-row { display: block; padding: 2.5rem 2.75rem; background: var(--surface-container-low); border: 1px solid rgba(55,15,0,0.08); box-shadow: 0 4px 14px rgba(55,15,0,0.04); }
.services-grouped .svc-body h2 { font-family: 'Oswald'; font-weight: 500; font-size: clamp(1.4rem, 2.4vw, 1.7rem); color: var(--primary); text-transform: uppercase; letter-spacing: 0.04em; line-height: 1.15; margin: 0 0 1.5rem; }
.services-grouped .svc-body ul.subs { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.65rem 2.5rem; }
@media (max-width: 900px) { .services-grouped .svc-body ul.subs { grid-template-columns: 1fr; } }
.services-grouped .svc-body ul.subs li { font-family: 'Work Sans'; font-size: 1rem; color: var(--on-surface); line-height: 1.6; padding-left: 1.25rem; position: relative; }
.services-grouped .svc-body ul.subs li::before { content: ''; position: absolute; left: 0; top: 0.68em; width: 8px; height: 8px; background: var(--accent); border-radius: 50%; }

/* ===== Page Location de plantes et pots — hauteur image réduite (scopé au slug) ===== */
body.page-slug-location-plantes-et-pots-28 .manifesto .ph { aspect-ratio: 1/1; }

/* ===== Page Vente de matériaux — reassurance 5 colonnes ===== */
body.page-slug-materiaux .reassurance-grid { grid-template-columns: repeat(5, 1fr); gap: 1.5rem; }
@media (max-width: 1100px) { body.page-slug-materiaux .reassurance-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px) { body.page-slug-materiaux .reassurance-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { body.page-slug-materiaux .reassurance-grid { grid-template-columns: 1fr; } }

/* Pictogrammes SVG validés — dimensions de boîte, aucun autre style. */
.pep-v2-pictogram { display:block; object-fit:contain; max-width:none; flex:none; }
.reassurance .pep-v2-pictogram--reassurance { width:48px; height:48px; margin-bottom:.75rem; }
.usage .pep-v2-pictogram--usage { width:44px; height:44px; margin-bottom:1rem; }
.manifesto-list .pep-v2-pictogram--manifesto-list { width:80px; height:80px; }
@media (max-width:900px) {
	.reassurance .pep-v2-pictogram--reassurance { width:36px; height:36px; }
	.manifesto-list .pep-v2-pictogram--manifesto-list { width:56px; height:56px; }
}

/* Retours John : seuls les six modèles Matériaux et le bandeau Aménagements. */
body.page-id-19 .reassurance .reas-item { text-align: center; }
@media (min-width: 901px) {
  body:is(.page-id-18,.page-id-19,.page-id-32,.page-id-33,.page-id-40,.page-id-1095) .sub-intro .si-grid {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: stretch;
  }
  body:is(.page-id-18,.page-id-19,.page-id-32,.page-id-33,.page-id-40,.page-id-1095) .sub-intro .si-grid > .ph {
    aspect-ratio: 4 / 5;
    align-self: stretch;
  }
  body:is(.page-id-18,.page-id-19,.page-id-32,.page-id-33,.page-id-40,.page-id-1095) .sub-intro .si-grid > div:not(.ph) {
    align-self: center;
  }
  body.page-id-19 .sub-intro .si-grid > .ph img { object-position: 20% center; }
}
