/* Harmonisation de toutes les pages avec l'accueil validé */
.dm-inner{background:#fffaf7;color:#182e49;line-height:1.55}
.dm-inner .dm-header{position:sticky;background:#fffaf7f7;box-shadow:0 5px 28px #c7a99d1c;border-bottom:1px solid #f1e4dc}
.dm-inner .dm-wrap{width:min(1280px,calc(100% - 48px))}
.dm-inner .dm-nav{min-height:82px;gap:16px}
.dm-inner .dm-brand{width:218px;flex:0 0 218px}
.dm-inner .dm-brand img{height:72px;object-fit:contain;mix-blend-mode:multiply}
.dm-inner .dm-links{gap:clamp(9px,1.2vw,19px)}
.dm-inner .dm-links a{font-size:clamp(.77rem,.88vw,.92rem);white-space:nowrap;color:#1c314a}
.dm-inner .dm-links .dm-button{border-radius:26px;background:#bd7089;color:#fff;padding:11px 17px}
.dm-inner .dm-page-hero{background:linear-gradient(115deg,#fffaf7,#f7ebe8 72%,#f1e4e2);border-bottom:1px solid #f0e3dc;padding:50px 0}
.dm-inner .dm-page-hero h1{color:#152c49;font-weight:500;max-width:900px}
.dm-inner .dm-page-hero p{color:#45556a;max-width:800px}
.dm-inner .dm-eyebrow{color:#a66a75}
.dm-inner .dm-card{padding:20px;border-radius:22px;border:1px solid #f0e5df;box-shadow:0 8px 24px #b8a3a31b}
.dm-inner .dm-card h2{font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.2;color:#172c48;overflow-wrap:break-word}
.dm-inner .dm-card-media{aspect-ratio:16/10;margin:0 0 17px}
.dm-inner .dm-card-media img{object-fit:cover;object-position:center 38%}
.dm-inner .dm-focus-card--image img{height:100%;min-height:360px;object-fit:cover;object-position:center 28%}
.dm-inner .dm-focus-card h2{font-size:clamp(1.8rem,3vw,2.65rem);color:#182d49}
.dm-inner .dm-focus-grid{align-items:stretch}
.dm-inner .dm-panel{border:1px solid #efe0dc;border-radius:23px;box-shadow:0 9px 26px #c7aaa91a}
.dm-inner h2,.dm-inner h3{color:#21324c}
.dm-inner .dm-footer,.dm-home .dm-footer{background:#71869b;color:#fffaf7}
.dm-inner .dm-footer a,.dm-home .dm-footer a{color:#fff1eb}
.dm-inner .dm-footer h2,.dm-inner .dm-footer h3,.dm-home .dm-footer h2,.dm-home .dm-footer h3{color:white}
.dm-inner .dm-footer-bottom a,.dm-home .dm-footer-bottom a{color:#fff2ee}
@media(max-width:1100px){.dm-inner .dm-menu-toggle{display:inline-flex}.dm-inner .dm-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf7;z-index:50;flex-direction:column;align-items:stretch;padding:18px 24px;box-shadow:0 16px 20px #b9a3a329}.dm-inner .dm-links.is-open{display:flex}.dm-inner .dm-links a{padding:8px}}
@media(max-width:760px){.dm-inner .dm-wrap{width:calc(100% - 28px)}.dm-inner .dm-focus-card--image img{min-height:240px;max-height:330px}.dm-inner .dm-page-hero{padding:30px 0}.dm-inner .dm-nav{min-height:70px}.dm-inner .dm-brand{width:180px;flex-basis:180px}.dm-inner .dm-brand img{height:64px}}

/* Photo réelle petit bricolage : cadrage identique aux autres prestations. */
.dm-inner #exterieur .dm-card-media img{object-fit:cover;object-position:center 45%}

/* Galerie particulière : albums secondaires, sobres et cohérents avec l'univers SAP. */
.dm-gallery-intro{max-width:760px}
.dm-gallery-section{padding:38px 0;border-bottom:1px solid #f0e4df}
.dm-gallery-section:last-child{border-bottom:0}
.dm-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.dm-gallery-heading h2{font:500 clamp(1.7rem,2.5vw,2.5rem)/1.15 Georgia,serif;margin:0;color:#172d49}
.dm-gallery-heading p{max-width:520px;margin:0;color:#586678;font-size:.9rem}
.dm-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.dm-gallery-grid figure{margin:0;overflow:hidden;background:#fff;border:1px solid #eee2dd;border-radius:21px;box-shadow:0 8px 23px #a58c8416}
.dm-gallery-grid img{display:block;width:100%;height:240px;object-fit:cover;cursor:zoom-in}
.dm-gallery-grid figcaption{padding:12px 14px;color:#45566b;font-size:.8rem;line-height:1.45}
.dm-gallery-note{margin:24px 0 0;padding:13px 16px;border-left:3px solid #bd7089;background:#fff5f2;color:#4d5b6d;border-radius:0 14px 14px 0;font-size:.82rem}
.dm-lightbox{position:fixed;inset:0;z-index:1000;background:#102139e8;display:grid;place-items:center;padding:30px;border:0;width:100%;cursor:zoom-out}
.dm-lightbox[hidden]{display:none}
.dm-lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:18px;box-shadow:0 25px 80px #0008}
.dm-lightbox span{position:absolute;top:17px;right:25px;color:#fff;font-size:2rem}

/* Page d'avis particuliers : formulaire rassurant et avis en petites bulles. */
.dm-reviews-page{padding:40px 0 54px}
.dm-reviews-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:24px;align-items:start}
.dm-reviews-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dm-reviews-list .dm-review-bubble{background:#fff;border:1px solid #eee1dc;border-radius:22px;padding:18px;box-shadow:0 8px 22px #9e878114}
.dm-reviews-list .dm-review-stars{color:#bf8b39;letter-spacing:.08em}
.dm-reviews-list blockquote{margin:8px 0 12px;color:#3e4d61;line-height:1.55;font-size:.88rem}
.dm-reviews-list footer{font-weight:700;color:#985a70;font-size:.8rem}
.dm-review-form{background:#fff;border:1px solid #eaded8;border-radius:24px;padding:23px;box-shadow:0 10px 28px #a68d8519;position:sticky;top:106px}
.dm-review-form h2{font:500 1.65rem Georgia,serif;margin:0 0 8px}
.dm-review-form>p{font-size:.84rem;color:#586678;margin:0 0 18px}
.dm-review-form label{display:block;color:#263c55;font-size:.82rem;font-weight:700;margin:0 0 6px}
.dm-review-form input,.dm-review-form select,.dm-review-form textarea{width:100%;border:1px solid #ded5d0;background:#fffdfa;border-radius:12px;padding:11px 12px;color:#1c304a;font:inherit;margin-bottom:13px}
.dm-review-form textarea{min-height:125px;resize:vertical}
.dm-review-consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;line-height:1.4}
.dm-review-consent input{width:auto;margin:3px 0 0;flex:0 0 auto}
.dm-review-form .dm-button{border:0;cursor:pointer;width:100%;justify-content:center}
.dm-review-status{padding:12px 14px;border-radius:12px;background:#f8ebe8;color:#734456;font-size:.82rem}
.dm-review-status[hidden]{display:none}
@media(max-width:850px){.dm-gallery-grid{grid-template-columns:1fr 1fr}.dm-reviews-layout{grid-template-columns:1fr}.dm-review-form{position:static}.dm-reviews-list{grid-template-columns:1fr}}
@media(max-width:560px){.dm-gallery-heading{align-items:flex-start;flex-direction:column}.dm-gallery-grid{grid-template-columns:1fr}.dm-gallery-grid img{height:220px}}
