:root{--ink:#171717;--muted:#737373;--paper:#f6f4ef;--white:#fff;--line:#dedbd4;--radius:16px;--max:1240px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}img,video{display:block;width:100%;max-width:100%}button,input,textarea,select{font:inherit}.site-header{height:92px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:700;letter-spacing:.04em}.site-header nav{display:flex;gap:28px;font-size:.92rem}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.2s}.site-header nav a:hover:after{width:100%}.nav-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px}.section,.content-section,.project-hero{max-width:var(--max);margin:auto;padding:96px 28px}.content-section{overflow:hidden}.section-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:68px;align-items:center}.layout-media-left .section-media{order:-1}.layout-center .section-inner,.layout-full .section-inner{grid-template-columns:1fr}.layout-center .section-copy{text-align:center;max-width:820px;margin:auto}.layout-full{max-width:none;padding-left:0;padding-right:0}.layout-full .section-copy{max-width:var(--max);padding:0 28px;margin:auto}.section-hero{min-height:74vh;display:grid;align-items:center}.section-hero .section-copy{max-width:920px}.section-media img,.section-media video{min-height:360px;max-height:720px;object-fit:cover;border-radius:var(--radius)}.section-media video{background:#111}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--muted);margin:0 0 18px}.section-copy h2,.project-hero h1{font-family:var(--serif);line-height:1.05;margin:.1em 0 .5em}.title-sm{font-size:clamp(1.7rem,3vw,2.3rem)}.title-md{font-size:clamp(2.2rem,4vw,3.4rem)}.title-lg{font-size:clamp(3rem,6vw,5.6rem)}.title-xl{font-size:clamp(4rem,9vw,8.5rem)}.body-copy{max-width:720px;color:#333}.body-sm{font-size:.92rem}.body-md{font-size:1.04rem}.body-lg{font-size:1.22rem}.font-sans .section-copy h2{font-family:var(--sans)}.font-serif .section-copy h2{font-family:var(--serif)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:white;padding:12px 19px;border-radius:999px;margin-top:22px;cursor:pointer}.btn:hover{opacity:.82}.btn-secondary{background:transparent;color:var(--ink)}.font-serif{font-family:var(--serif)}.font-sans{font-family:var(--sans)}.weight-medium{font-weight:500}.weight-bold{font-weight:700}.style-italic{font-style:italic}.align-center{text-align:center}.align-right{text-align:right}.section-extras{max-width:var(--max);margin:60px auto 0}.service-grid,.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:var(--white);padding:34px;border-radius:var(--radius);border:1px solid var(--line);min-height:250px}.service-card>span{font-size:.75rem;color:var(--muted)}.service-card h2,.service-card h3{font-family:var(--serif);font-size:1.8rem}.service-card strong{display:block;margin-top:22px}.project-card{background:#fff;border-radius:var(--radius);overflow:hidden}.project-card a{display:block}.project-thumb{aspect-ratio:4/3;background:#e6e2d9;overflow:hidden}.project-thumb img,.project-thumb video{height:100%;object-fit:cover}.project-card-copy{padding:18px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center}.project-card-copy h3{margin:0;font-family:var(--serif);font-size:1.35rem}.project-card-copy span{font-size:.83rem;color:var(--muted)}.placeholder{height:100%;display:grid;place-items:center;color:var(--muted)}.project-hero{padding-bottom:48px}.project-hero h1{font-size:clamp(3rem,8vw,7rem)}.project-hero p{max-width:760px}.project-gallery{max-width:1500px;margin:auto;padding:0 28px 100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-item img,.gallery-item video{width:100%;height:100%;min-height:420px;max-height:900px;object-fit:cover}.gallery-item.featured{grid-column:1/-1}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-form{background:#fff;padding:32px;border-radius:var(--radius)}form>div{margin-bottom:15px}label{display:block;font-size:.85rem;margin-bottom:6px}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #d8d5ce;border-radius:8px;background:white}input[type=checkbox]{width:auto;margin-right:8px}.site-footer{max-width:var(--max);margin:80px auto 0;padding:35px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}.flash{max-width:var(--max);margin:18px auto;padding:12px 18px;border-radius:8px;background:#e8f6ea}.flash-error{background:#fdeaea;color:#8b1e1e}.preview-banner{position:sticky;top:0;z-index:20;background:#161616;color:#fff;text-align:center;padding:10px 18px;font-size:.86rem;letter-spacing:.02em}.muted{color:var(--muted)}code{background:#ece9e2;padding:2px 5px;border-radius:4px}
[data-reveal]{opacity:0;transition-property:opacity,transform;transition-duration:var(--reveal-duration,.8s);transition-timing-function:ease,cubic-bezier(.2,.7,.2,1)}[data-reveal="none"]{opacity:1}[data-reveal="fade"]{transform:none}[data-reveal="slide-up"]{transform:translateY(28px)}[data-reveal="slide-left"]{transform:translateX(36px)}[data-reveal="zoom"]{transform:scale(.97)}[data-reveal].is-visible{opacity:1;transform:none}
.admin-body{background:#f1f1f1}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:#181818;color:white;padding:28px 20px;overflow:auto}.admin-logo{font-weight:700;display:block;margin-bottom:30px}.admin-logo span{display:block;color:#888;font-size:.7rem;letter-spacing:.12em}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a{padding:10px 12px;border-radius:8px;color:#d6d6d6}.admin-sidebar nav a:hover{background:#272727;color:white}.admin-content{margin-left:255px;padding:42px;max-width:1600px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:20px}.admin-top h1{margin:0;font-size:2.15rem}.admin-panel{background:#fff;padding:28px;border-radius:var(--radius);margin-bottom:22px;box-shadow:0 1px 0 rgba(0,0,0,.04)}.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-card{padding:20px;border:1px solid #e6e6e6;border-radius:12px;display:grid}.admin-card span,.admin-card small{color:var(--muted)}.section-list{display:grid;gap:10px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #ececec;padding:15px;border-radius:10px}.section-row>div:first-child{display:grid;gap:4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-panel hr{border:0;border-top:1px solid #eee;margin:30px 0}.media-preview{max-width:620px;margin:18px 0;display:grid;gap:8px}.media-preview img,.media-preview video{max-height:420px;object-fit:cover;border-radius:10px}.admin-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.media-admin-card{border:1px solid #eee;border-radius:10px;overflow:hidden;background:#fafafa}.media-admin-card img,.media-admin-card video{aspect-ratio:1;object-fit:cover}.gallery-actions,.actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.gallery-actions{padding:10px}.gallery-actions form,.actions form{margin:0}.gallery-actions button,.actions button{cursor:pointer}.link-danger{border:0;background:none;color:#b52424;cursor:pointer;padding:0}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#eee;font-size:.74rem;width:max-content}.badge-ok{background:#e7f5ea;color:#1d7130}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #eee}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#777}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.stats>div{background:#fff;padding:28px;border-radius:var(--radius);display:grid}.stats strong{font-size:2.2rem}.stats span{color:var(--muted)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}}@media(max-width:950px){.site-header{height:auto;padding-top:22px;padding-bottom:22px;align-items:flex-start;flex-wrap:wrap}.nav-toggle{display:block}.site-header nav{display:none;width:100%;padding-top:18px;flex-direction:column}.site-header nav.open{display:flex}.section,.content-section,.project-hero{padding:66px 20px}.section-inner,.service-grid,.project-grid,.contact-layout,.project-gallery{grid-template-columns:1fr}.layout-media-left .section-media{order:initial}.gallery-item.featured{grid-column:auto}.admin-sidebar{position:static;width:auto}.admin-sidebar nav{grid-template-columns:repeat(2,1fr)}.admin-content{margin-left:0;padding:22px}.admin-cards,.form-grid,.form-grid-3,.admin-gallery,.stats{grid-template-columns:1fr}.section-row,.admin-top{align-items:flex-start;flex-direction:column}.site-footer{display:grid;gap:8px}.gallery-item img,.gallery-item video{min-height:260px}}

.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.panel-heading h2{margin:0 0 4px}.save-state{font-size:.78rem;color:var(--muted);white-space:nowrap;padding:6px 10px;border-radius:999px;background:#f4f4f4}.save-state[data-state="saving"]{color:#725800;background:#fff6d6}.save-state[data-state="saved"]{color:#1d7130;background:#e7f5ea}.save-state[data-state="error"]{color:#8b1e1e;background:#fdeaea}.sortable-list{display:grid;gap:10px}.sortable-item{transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.sortable-item.is-dragging{opacity:.48;transform:scale(.995)}.sortable-item.drag-over{border-color:#aaa;box-shadow:0 0 0 2px rgba(0,0,0,.06)}.drag-handle{flex:0 0 auto;width:38px;height:38px;border:1px solid #dedede;background:#f8f8f8;border-radius:8px;cursor:grab;font-weight:700;letter-spacing:-2px;color:#666}.drag-handle:active{cursor:grabbing}.section-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.section-summary{display:grid;gap:4px;min-width:0}.nav-order-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #ececec;padding:14px 15px;border-radius:10px;background:#fff}.nav-order-item small{color:var(--muted)}
@media(max-width:950px){.panel-heading{flex-direction:column}.section-row,.nav-order-item{grid-template-columns:auto minmax(0,1fr)}.section-row .actions,.nav-order-item>a{grid-column:2}.drag-handle{grid-row:1/3}}

/* V2.2 — footer, réseaux et réglages */
.site-footer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr) minmax(180px,1fr);gap:36px;align-items:start}.footer-main{display:grid;gap:10px}.footer-main p{margin:0;max-width:560px;line-height:1.55}.footer-contact,.footer-links,.social-links{display:grid;gap:8px}.footer-links{justify-items:end;text-align:right}.social-links{grid-auto-flow:column;gap:14px}.social-links a,.legal-link{position:relative}.social-links a:hover,.legal-link:hover{color:var(--ink)}.checkbox-grid{display:flex;gap:24px;flex-wrap:wrap}.checkbox-grid>div{margin-bottom:0}.social-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.social-setting{border:1px solid #ececec;border-radius:12px;padding:18px;background:#fafafa}.social-setting>div:last-child{margin-bottom:0}.social-setting input[type=checkbox]{width:auto}.sortable-item .actions{flex-wrap:wrap}
@media(max-width:950px){.site-footer{grid-template-columns:1fr}.footer-links{justify-items:start;text-align:left}.social-links{grid-auto-flow:row}.social-settings-grid{grid-template-columns:1fr}}

/* V2.3 — identité, footer builder et connexion */
.brand{font-size:var(--brand-size,28px);line-height:1;font-weight:700}.brand-font-serif{font-family:Georgia,'Times New Roman',serif}.brand-font-system{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.brand-logo{display:block;height:var(--logo-height,64px);width:auto;max-width:260px;object-fit:contain}
.footer-builder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:start}.footer-block{display:grid;gap:12px}.footer-align-left{text-align:left;justify-items:start}.footer-align-center{text-align:center;justify-items:center}.footer-align-right{text-align:right;justify-items:end}.footer-nav,.footer-contact{display:grid;gap:8px}.social-icons{display:flex;gap:12px;align-items:center}.social-icons a{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:transform .2s ease,opacity .2s ease}.social-icons a:hover{transform:translateY(-2px);opacity:.7}.social-icons svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-icons svg .fill{fill:currentColor;stroke:none}.footer-type-social.footer-align-center .social-icons{justify-content:center}.footer-type-social.footer-align-right .social-icons{justify-content:flex-end}
.login-page{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#ffffff 0,#f5f3ef 35%,#e9e6e0 100%);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.login-card{width:min(440px,100%);background:rgba(255,255,255,.94);padding:44px;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.06);display:grid;gap:18px}.login-card h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:2.2rem}.login-card p{margin:-8px 0 8px;color:#6d6d6d}.login-card label{display:grid;gap:8px;font-size:.9rem;font-weight:600}.login-card input{width:100%;box-sizing:border-box;border:1px solid #d8d8d8;border-radius:10px;padding:13px 14px;font:inherit;background:#fff}.login-card input:focus{outline:2px solid #222;outline-offset:1px}.login-card .btn{width:100%;margin-top:4px;padding:14px}
.drag-label{display:flex;align-items:center;gap:14px}.sortable-item.is-dragging{opacity:.45}.drag-handle{cursor:grab;user-select:none;font-size:1.25rem;padding:8px}.drag-handle:active{cursor:grabbing}.save-status[data-state="saved"]{color:#287a3a}.save-status[data-state="error"]{color:#a32626}
@media(max-width:950px){.footer-builder{grid-template-columns:1fr}.footer-align-left,.footer-align-center,.footer-align-right{text-align:left;justify-items:start}.footer-type-social.footer-align-center .social-icons,.footer-type-social.footer-align-right .social-icons{justify-content:flex-start}.brand-logo{max-width:210px}.login-card{padding:30px}}
.brand{display:flex;align-items:center;gap:12px}.brand>span{font-size:var(--brand-size,28px)}
@media(min-width:951px){.footer-builder .footer-align-left{grid-column:1}.footer-builder .footer-align-center{grid-column:2}.footer-builder .footer-align-right{grid-column:3}}

/* V2.4 — cohérence visuelle, pleine largeur et drag & drop unifié */
body{background:#fff}
main{width:100%;overflow:hidden}
.content-section{max-width:none;width:100%;margin:0;padding:96px 0;overflow:hidden}
.content-section>.section-inner{width:min(100%,var(--max));margin:0 auto;padding:0 28px}
.content-section>.section-extras{width:min(100%,var(--max));margin:60px auto 0;padding:0 28px}
.section{width:min(100%,var(--max));margin:0 auto;padding:96px 28px}
.site-header{position:relative;width:100%;max-width:none;margin:0;padding:0 max(28px,calc((100vw - var(--max))/2 + 28px));background:#fff}
.site-header.brand-align-center .brand{position:absolute;left:50%;transform:translateX(-50%)}
.site-header.brand-align-left .brand{margin-right:auto}
.site-header.brand-align-right .brand{margin-left:auto;margin-right:28px}
.site-header.brand-align-right nav{order:-1}
.brand{justify-content:center}

/* Taille globale des titres de cartes de réalisations */
.project-title-size-small .project-card-copy h3{font-size:1.05rem}
.project-title-size-medium .project-card-copy h3{font-size:1.35rem}
.project-title-size-large .project-card-copy h3{font-size:1.75rem}

/* Drag & drop : même poignée partout */
.drag-handle{appearance:none;-webkit-appearance:none;width:34px;height:34px;min-width:34px;padding:0!important;border:1px solid #ddd;background:#fff;border-radius:9px;display:grid;place-content:center;gap:3px;cursor:grab!important;color:#777;box-shadow:0 1px 2px rgba(0,0,0,.04);letter-spacing:0!important;font-size:0!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.drag-handle:hover{border-color:#aaa;box-shadow:0 3px 10px rgba(0,0,0,.08);transform:translateY(-1px)}
.drag-handle:active{cursor:grabbing!important;transform:none}
.drag-handle span{display:block;width:14px;height:2px;border-radius:999px;background:#777;pointer-events:none}
.section-row{grid-template-columns:auto minmax(0,1fr) auto;gap:15px;align-items:center;padding:16px 18px;background:#fff}
.section-row>div:first-child{display:flex;align-items:center;gap:15px}
.section-summary{display:grid!important;gap:5px!important;min-width:0}
.section-summary strong{display:block;line-height:1.25}
.section-summary small{display:block;color:var(--muted);line-height:1.35}
.drag-label{display:flex!important;align-items:center!important;gap:15px!important;min-width:0}
.drag-label>.section-summary,.drag-label>div{min-width:0}
.sortable-gallery .media-admin-card{position:relative}
.drag-handle-overlay{position:absolute;z-index:3;top:10px;left:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(5px)}
.legacy-heading{margin-top:30px}
.checkbox-stack{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:28px}
.checkbox-stack>div{margin:0}

/* Footer admin plus lisible */
.admin-panel .section-list{gap:12px}
.admin-panel .section-row .actions{gap:14px;padding-left:18px}
.admin-panel .section-row .actions a,.admin-panel .section-row .actions button{white-space:nowrap}

/* Bloc mot de passe */
.account-password-panel{max-width:900px}
.password-current{max-width:420px;margin-bottom:24px}
.password-new-box{padding:22px;border:1px solid #e8e8e8;border-radius:14px;background:#fafafa;margin:0 0 6px}
.password-box-heading{display:grid;gap:2px;margin-bottom:18px}
.password-box-heading small{color:var(--muted)}
.password-new-box .form-grid>div{margin-bottom:0}

/* Contact moderne */
.contact-section{width:100%;padding:110px 28px;background:#f4f2ed}
.contact-shell{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
.contact-intro{padding-top:16px}
.contact-intro h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;margin:.15em 0 .35em;max-width:650px}
.contact-intro>p:not(.eyebrow){font-size:1.08rem;max-width:540px;color:#555}
.contact-direct{display:grid;gap:12px;margin-top:42px}
.contact-direct a{display:grid;gap:1px;width:max-content}
.contact-direct span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.contact-direct strong{font-weight:500}
.contact-form-modern{padding:36px 38px;border-radius:20px;border:1px solid rgba(0,0,0,.07);box-shadow:0 20px 60px rgba(0,0,0,.06)}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-fields>div{margin:0}
.contact-fields .field-full{grid-column:1/-1}
.contact-form-modern label{font-size:.78rem;font-weight:650;letter-spacing:.02em;margin-bottom:8px}
.contact-form-modern input,.contact-form-modern textarea{padding:14px 15px;border:1px solid #ddd8cf;border-radius:11px;background:#fbfbfa;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.contact-form-modern input:focus,.contact-form-modern textarea:focus{outline:none;border-color:#777;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.contact-form-modern textarea{min-height:180px;resize:vertical}
.contact-submit{margin-top:26px;gap:22px;padding:14px 22px}
.contact-submit span{font-size:1.2rem;line-height:1}

/* Footer public pleine largeur, contenu stable */
.site-footer{max-width:none;width:100%;margin:0;padding:52px max(28px,calc((100vw - var(--max))/2 + 28px));background:#fff}

@media(max-width:950px){
 .content-section{padding:66px 0}.content-section>.section-inner,.content-section>.section-extras{padding-left:20px;padding-right:20px}
 .site-header{padding-left:20px;padding-right:20px}.site-header.brand-align-center .brand{position:static;transform:none;margin-right:auto}.site-header.brand-align-right .brand{margin-left:0;margin-right:auto}.site-header.brand-align-right nav{order:initial}
 .contact-section{padding:70px 20px}.contact-shell{grid-template-columns:1fr;gap:42px}.contact-fields{grid-template-columns:1fr}.contact-fields .field-full{grid-column:auto}.contact-form-modern{padding:26px 22px}
 .section-row{grid-template-columns:auto minmax(0,1fr)}.section-row .actions{grid-column:2;padding-left:0!important;justify-content:flex-start}
 .checkbox-stack{padding-top:0}
}

/* V2.5 — Resend/contact + image de footer */
.contact-notification-settings{display:grid;gap:10px}.admin-help{font-size:.9rem;margin:2px 0 0}.badge-error{background:#fdeaea!important;color:#8b1e1e!important}.message-meta{display:grid;gap:12px}.mail-error{margin-top:10px}.mail-error code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;padding:12px}.footer-image{width:min(100%,var(--footer-image-width,180px))}.footer-image img{width:100%;height:auto;object-fit:contain}.current-footer-image{width:180px;max-width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafafa;margin:12px 0 18px}.current-footer-image img{max-height:100px;object-fit:contain}.footer-image-admin{margin:28px 0;padding:22px;border:1px solid #e8e8e8;border-radius:14px;background:#fafafa}.footer-image-admin h3{margin:0 0 4px}.footer-image-admin .muted{margin:0 0 18px}


/* V2.6 */
.settings-details{margin:1.25rem 0;border:1px solid #e5e7eb;border-radius:14px;padding:1rem}.settings-details summary{font-weight:700;cursor:pointer;margin-bottom:1rem}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid #ececec}.trash-row span{display:flex;flex-direction:column;gap:.2rem}.media-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.media-library-card{background:#fff;border:1px solid #e6e6e6;border-radius:16px;overflow:hidden}.media-library-preview{aspect-ratio:16/10;background:#f4f4f4;display:grid;place-items:center;overflow:hidden}.media-library-preview img,.media-library-preview video{width:100%;height:100%;object-fit:cover}.media-library-card>div:last-child{padding:1rem;display:grid;gap:.7rem}.media-library-card small{display:block;color:#666}.message-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.message-filters input[type=search]{min-width:min(420px,100%)}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.health-card{display:flex;flex-direction:column;gap:.55rem}.health-card>span{font-size:1.15rem;font-weight:700}.health-ok{color:#147a43}.health-bad{color:#b42318}.btn-danger{background:#b42318;color:#fff}.admin-panel form[data-autosave]::after{content:'Brouillon local automatique';display:block;margin-top:.75rem;font-size:.78rem;color:#777}

.preview-admin{margin:0;background:#e9eaec}.preview-toolbar{height:64px;background:#fff;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;position:sticky;top:0;z-index:2}.preview-toolbar button{border:1px solid #ddd;background:#fff;border-radius:8px;padding:.55rem .8rem;cursor:pointer}.preview-stage{padding:24px;display:flex;justify-content:center;min-height:calc(100vh - 64px)}#preview-frame{width:100%;height:calc(100vh - 112px);border:0;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.12);transition:width .2s ease}

/* V2.7 — cohérence admin, cartes prestations et sélecteur média */
.service-card{overflow:hidden}.service-card-media{margin:-28px -28px 22px}.service-card-media img,.service-card-media video{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.media-delete-row{padding-top:.35rem;border-top:1px solid #eee}.media-choice-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px}.media-choice-status{font-size:.9rem;color:var(--muted)}
.media-picker[hidden]{display:none}.media-picker{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}.media-picker-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(3px)}.media-picker-dialog{position:relative;z-index:1;width:min(1100px,96vw);max-height:88vh;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.28);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.media-picker-head,.media-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #ececec}.media-picker-foot{border-top:1px solid #ececec;border-bottom:0}.media-picker-head h2{margin:0}.media-picker-close{border:0;background:#f3f3f3;width:38px;height:38px;border-radius:50%;font-size:1.5rem;cursor:pointer}.media-picker-grid{padding:22px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.media-picker-card{appearance:none;border:2px solid transparent;background:#fafafa;border-radius:13px;padding:0;overflow:hidden;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.media-picker-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.08)}.media-picker-card.is-selected{border-color:#111;box-shadow:0 0 0 2px rgba(0,0,0,.08)}.media-picker-preview{display:block;aspect-ratio:16/10;background:#eee;overflow:hidden}.media-picker-preview img,.media-picker-preview video{width:100%;height:100%;object-fit:cover}.media-picker-name,.media-picker-card small{display:block;padding:10px 12px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-picker-card small{padding-top:3px;padding-bottom:11px;color:var(--muted)}.modal-open{overflow:hidden}
.nav-order-item{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:15px!important;align-items:center!important;padding:15px 17px!important;border:1px solid #ececec!important;border-radius:11px!important;background:#fff!important}.nav-order-item .actions{justify-content:flex-end!important}.nav-order-item .section-summary small{opacity:.75}
@media(max-width:700px){.media-picker{padding:10px}.media-picker-dialog{width:100%;max-height:94vh}.media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.media-picker-head,.media-picker-foot{padding:16px}.nav-order-item{grid-template-columns:auto minmax(0,1fr)!important}.nav-order-item .actions{grid-column:2;justify-content:flex-start!important}}
.media-picker-upload{padding:16px 24px;border-bottom:1px solid #ececec;background:#fafafa}.media-picker-upload form{display:flex;align-items:center;justify-content:space-between;gap:20px}.media-picker-upload form p{margin:.3rem 0 0}.media-picker-upload-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.media-picker-upload-controls input[type=file]{max-width:360px}.media-picker-upload-status{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f2f2f2}.media-picker-upload-status[data-state=saved]{background:#edf8ef}.media-picker-upload-status[data-state=error]{background:#fff0f0}.media-picker-upload-status[data-state=saving]{background:#f5f5f5}@media(max-width:700px){.media-picker-upload form{align-items:stretch;flex-direction:column}.media-picker-upload-controls{align-items:stretch;flex-direction:column}.media-picker-upload-controls input[type=file]{max-width:100%}}

/* V2.7.4 — dashboard santé simplifié + médiathèque corrigée */
.admin-notice{margin:18px 0;padding:13px 15px;border-radius:10px;background:#f5f5f5;color:#333;font-size:.92rem}.dashboard-health .panel-heading{margin-bottom:20px}.health-grid-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.health-card-simple{display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px solid #e7e7e7;border-radius:14px;background:#fafafa}.health-card-simple .health-icon{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800}.health-card-simple strong{display:block;margin-bottom:4px}.health-card-simple p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.health-card-simple.is-ok .health-icon{background:#e7f5ea;color:#147a43}.health-card-simple.is-warn .health-icon{background:#fff4d6;color:#8a6100}.health-card-simple.is-bad .health-icon{background:#fde8e8;color:#b42318}
.media-picker-dialog{grid-template-rows:auto auto minmax(0,1fr) auto}
.media-picker-close{display:grid;place-items:center;padding:0;line-height:1;text-align:center;font-family:Arial,sans-serif}
@media(max-width:1100px){.health-grid-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.health-grid-dashboard{grid-template-columns:1fr}}

/* V2.7.6 — pages d'erreur publiques */
.error-page{min-height:100vh;margin:0;background:#f4f2ed;color:#161616}
.error-page-shell{min-height:100vh;display:grid;place-items:center;padding:40px 22px}
.error-page-card{width:min(760px,100%);padding:clamp(34px,6vw,72px);background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.07)}
.error-page-code{margin:0 0 24px;font-family:var(--serif);font-size:clamp(5rem,16vw,10rem);line-height:.75;letter-spacing:-.06em;color:#e2ded5}
.error-page-card h1{font-family:var(--serif);font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.02;margin:.25em 0 .3em;max-width:680px}
.error-page-copy{max-width:600px;font-size:1.05rem;line-height:1.7;color:#5e5e5e}
.error-page-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}
.error-page-link{font-weight:650;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.error-page-card{border-radius:18px}.error-page-actions{align-items:stretch;flex-direction:column}.error-page-actions .btn,.error-page-link{text-align:center}}

/* V2.7.7 — mots de passe (correctif UI) */
.password-input-wrap{position:relative;display:block;width:100%}
.password-input-wrap input{display:block;width:100%;padding-right:52px!important;box-sizing:border-box}
.password-toggle{position:absolute;z-index:2;right:9px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;padding:0;margin:0;border:0;border-radius:9px;background:transparent;color:#666;cursor:pointer;box-shadow:none;appearance:none;-webkit-appearance:none}
.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.password-toggle:hover{background:#f0efec;color:#111}
.password-toggle:focus-visible{outline:2px solid #111;outline-offset:2px}
.password-rules{list-style:none;padding:0;margin:9px 0 0;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.78rem;color:#777}
.password-rules li::before{content:'○';margin-right:5px}
.password-rules li.is-valid{color:#25723a}.password-rules li.is-valid::before{content:'✓'}
.password-rules li.is-invalid{color:#a62b2b}.password-rules li.is-invalid::before{content:'×'}

/* V2.8 — constructeur du formulaire de contact */
.admin-separator{border:0;border-top:1px solid #e6e4df;margin:28px 0}
.contact-field-builder{display:grid;gap:12px}
.contact-builder-field{border:1px solid #dedbd4;border-radius:14px;background:#fff;overflow:hidden}
.contact-builder-field-head{display:flex;align-items:center;gap:10px;padding:13px 15px;background:#f7f6f3}
.contact-builder-field-head strong{flex:1}.drag-handle{cursor:grab;font-size:20px;color:#777}.field-type-badge{font-size:12px;padding:4px 8px;border-radius:99px;background:#ebe9e4;color:#555}
.btn-link{border:0;background:none;cursor:pointer}.btn-link.danger{color:#a62b2b}
.contact-builder-field-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px}
.contact-builder-field-body label{display:grid;gap:6px;font-size:13px;font-weight:600}
.contact-builder-field-body input,.contact-builder-field-body select,.contact-builder-field-body textarea{width:100%;box-sizing:border-box}
.contact-builder-field-body .checkline{display:flex;align-items:center;gap:8px}.contact-builder-field-body .checkline input{width:auto}
.contact-builder-field-body .field-options{grid-column:1/-1}.is-hidden{display:none!important}
.contact-layout-preview{margin:18px 0;padding:12px;border:1px dashed #c9c5bd;border-radius:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:110px}
.contact-layout-preview>div{border-radius:10px;display:grid;place-items:center;padding:18px;background:#f3f1ec;color:#666;font-size:13px}
.contact-layout-preview.preview-form-left .contact-layout-preview-form{order:-1}
.contact-layout-preview.preview-stacked{grid-template-columns:1fr}.contact-layout-preview.preview-form-only{grid-template-columns:1fr}.contact-layout-preview.preview-form-only .contact-layout-preview-text{display:none}
.contact-layout-preview.preview-40-60{grid-template-columns:40fr 60fr}.contact-layout-preview.preview-60-40{grid-template-columns:60fr 40fr}
.contact-layout-preview.preview-stacked.preview-40-60,.contact-layout-preview.preview-stacked.preview-60-40{grid-template-columns:1fr}

/* Front Contact V2.8 */
.contact-shell{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:start}
.contact-cols-40-60 .contact-shell{grid-template-columns:40fr 60fr}.contact-cols-60-40 .contact-shell{grid-template-columns:60fr 40fr}
.contact-layout-form-left .contact-form{order:-1}
.contact-layout-stacked .contact-shell{grid-template-columns:1fr}.contact-layout-form-only .contact-shell{grid-template-columns:minmax(0,760px);justify-content:center}
.contact-intro-image{margin:18px 0;border-radius:16px;overflow:hidden}.contact-intro-image img{width:100%;height:auto;display:block}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-field-w100{grid-column:1/-1}.contact-field-w50{grid-column:span 1}
@media(max-width:800px){
 .contact-shell,.contact-cols-40-60 .contact-shell,.contact-cols-60-40 .contact-shell{grid-template-columns:1fr}
 .contact-layout-form-left .contact-form{order:initial}
 .contact-fields{grid-template-columns:1fr}.contact-field-w50,.contact-field-w100{grid-column:1}
 .contact-builder-field-body{grid-template-columns:1fr}
}

/* V2.8.2 — correctifs constructeur Contact */
.contact-builder-field-head .drag-handle{display:grid;place-content:center;gap:3px}
.contact-builder-field-body input:not([type="checkbox"]),
.contact-builder-field-body select,
.contact-builder-field-body textarea{
  display:block;min-width:0;width:100%;min-height:44px;padding:10px 12px;
  border:1px solid #d8d4cc;border-radius:10px;background:#fff;color:inherit;
  font:inherit;line-height:1.35;box-sizing:border-box;
}
.contact-builder-field-body textarea{min-height:100px;resize:vertical}
.contact-builder-field-body{align-items:start}
.contact-builder-field{position:relative;isolation:isolate}
.contact-builder-field.is-dragging{opacity:.55}
.contact-intro-image{
  width:min(var(--contact-image-width,320px),100%);
  max-width:100%;
}
.contact-intro-image img{
  display:block;width:100%;max-width:100%;
  height:auto;
}
.contact-image-fit-cover img{aspect-ratio:4/3;object-fit:cover}
.contact-image-fit-contain img{object-fit:contain}
@media(max-width:800px){
  .contact-intro-image{width:min(var(--contact-image-width,320px),100%)}
}

.contact-image-controls{margin:18px 0 22px;padding:18px;border:1px solid #dedbd4;border-radius:14px;background:#faf9f6}
.contact-image-controls h4{margin:0 0 14px;font-size:15px}

/* V2.8.3 — finition et sécurité du module Contact */
.contact-module-save{display:flex;justify-content:flex-end;margin-top:28px;padding-top:22px;border-top:1px solid #e6e4df}
.contact-module-save .btn{min-width:240px}
.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.contact-form-live-preview{margin-top:20px;padding:20px;border:1px solid #dedbd4;border-radius:14px;background:#faf9f6}
.contact-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-preview-field{display:grid;gap:6px;font-size:13px;font-weight:600}
.contact-preview-field.w100{grid-column:1/-1}
.contact-preview-field input,.contact-preview-field select,.contact-preview-field textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d8d4cc;border-radius:10px;background:#fff}
.contact-preview-field textarea{min-height:110px}
.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.contact-builder-field [data-remove]:disabled{opacity:.4;cursor:not-allowed}
.contact-image-controls{margin-top:14px}
@media(max-width:800px){
 .panel-actions{justify-content:flex-start}
 .contact-preview-grid{grid-template-columns:1fr}
 .contact-preview-field.w50,.contact-preview-field.w100{grid-column:1}
 .contact-module-save{justify-content:stretch}.contact-module-save .btn{width:100%}
}

/* V2.9 — personnalisation avancée des blocs */
.content-section .section-copy{
  color:var(--section-text-color,#171717);
  letter-spacing:var(--section-letter-spacing,0px);
}
.content-section .section-copy h2{
  font-size:var(--section-title-size,54px);
  overflow-wrap:anywhere;
}
.content-section .body-copy{
  font-size:var(--section-body-size,17px);
  color:inherit;
}
.content-section .eyebrow{color:inherit;opacity:.72}
.font-arial .section-copy,.font-arial .section-copy h2{font-family:Arial,Helvetica,sans-serif}
.font-verdana .section-copy,.font-verdana .section-copy h2{font-family:Verdana,Geneva,sans-serif}
.font-trebuchet .section-copy,.font-trebuchet .section-copy h2{font-family:"Trebuchet MS",Arial,sans-serif}
.font-times .section-copy,.font-times .section-copy h2{font-family:"Times New Roman",Times,serif}
.font-courier .section-copy,.font-courier .section-copy h2{font-family:"Courier New",Courier,monospace}
.font-mono .section-copy,.font-mono .section-copy h2{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.font-impact .section-copy,.font-impact .section-copy h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif}
.weight-300{font-weight:300}.weight-400{font-weight:400}.weight-500{font-weight:500}.weight-600{font-weight:600}.weight-700{font-weight:700}.weight-800{font-weight:800}.weight-900{font-weight:900}
.style-oblique{font-style:oblique}
.transform-uppercase{text-transform:uppercase}.transform-lowercase{text-transform:lowercase}.transform-capitalize{text-transform:capitalize}
[data-reveal]{transition-property:opacity,transform,filter}
[data-reveal="slide-down"]{transform:translateY(-28px)}
[data-reveal="slide-right"]{transform:translateX(-36px)}
[data-reveal="zoom-out"]{transform:scale(1.04)}
[data-reveal="blur"]{filter:blur(10px);transform:scale(.995)}
[data-reveal].is-visible{filter:none}
.locked-block-type{min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1ded7;border-radius:10px;background:#f8f7f4}
.locked-block-type small{color:var(--muted)}
@media(max-width:800px){
 .content-section .section-copy h2{font-size:min(var(--section-title-size,54px),18vw)}
}
\n\n/* V3.0 — productivité & filtres */\n.block-presets{margin-bottom:22px;padding:16px;border:1px solid #e4e1da;border-radius:14px;background:#faf9f6}.preset-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.preset-grid a{padding:9px 12px;border:1px solid #d8d4cc;border-radius:9px;background:#fff;text-decoration:none;color:inherit}.preset-grid a:hover{border-color:#999}.link-secondary{border:0;background:none;padding:0;color:#555;text-decoration:underline;cursor:pointer;font:inherit}.media-filter-bar{display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr);gap:14px;align-items:end}.media-filter-bar label{display:grid;gap:6px}.media-filter-bar input,.media-filter-bar select{width:100%}@media(max-width:700px){.media-filter-bar{grid-template-columns:1fr}}\n
/* V3.0.1 — CTA, dimensions médias et pagination */
.layout-center .section-inner{justify-items:center}.layout-center .section-copy{width:100%;max-width:900px;margin-inline:auto;text-align:center}.layout-center .body-copy{margin-inline:auto}.layout-center .section-copy .btn{margin-left:auto;margin-right:auto}
.section-media.media-custom-size{width:100%;display:flex}.section-media.media-align-left{justify-content:flex-start}.section-media.media-align-center{justify-content:center}.section-media.media-align-right{justify-content:flex-end}
.section-media.media-custom-size img,.section-media.media-custom-size video{width:min(var(--media-width,100%),100%);max-width:100%;height:var(--media-height,auto);object-fit:var(--media-fit,contain)}
.media-dimension-settings{margin:18px 0;padding:18px;border:1px solid #dedbd4;border-radius:14px;background:#faf9f6}.media-dimension-settings h3{margin-top:0}.media-size-toggle{margin-bottom:10px}
.admin-pagination,.media-picker-pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:24px 0}.admin-pagination a,.admin-pagination span,.media-picker-pagination button{min-width:38px;padding:8px 10px;border:1px solid #ddd8cf;border-radius:9px;background:#fff;color:inherit;text-decoration:none;text-align:center}.admin-pagination .is-current,.media-picker-pagination .is-current{background:#161616;color:#fff;border-color:#161616}.media-picker-pagination button:disabled{opacity:.35}
.media-picker-filter{padding:12px 24px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;border-bottom:1px solid #ececec}.media-picker-pagination{margin:0;padding:10px 20px;border-top:1px solid #ececec}.media-picker-dialog{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}
@media(max-width:700px){.media-picker-filter{grid-template-columns:1fr}.section-media.media-custom-size img,.section-media.media-custom-size video{width:min(var(--media-width,100%),100%)}}

/* V3.0.3 — dimensions média : états visuels sans exclure les champs de la soumission */
.media-custom-size-box{
  transition:opacity .18s ease,filter .18s ease;
}
.media-custom-size-box.is-disabled{
  opacity:.46;
  filter:grayscale(.15);
}
.media-custom-size-box.is-disabled .form-grid{
  pointer-events:none;
}
[data-media-height-row].is-disabled{
  opacity:.5;
  pointer-events:none;
}
.media-custom-size-box [aria-disabled="true"]{
  background:#f1f1ef!important;
  color:#777!important;
  cursor:not-allowed!important;
}
.media-dimension-settings{
  margin:20px 0 24px;
}
.media-dimension-settings .media-size-toggle{
  margin-bottom:14px;
}

/* V3.1 — apparence globale & navigation */
html,body{background:var(--site-bg,#fff)}
body{min-height:100vh}
main{background:var(--site-bg,#fff)}
.site-header{
  background:var(--nav-bg,#fff);
  color:var(--nav-text,#171717);
  transition:box-shadow .2s ease,border-color .2s ease,background-color .2s ease;
}
.site-header a,.site-header .brand,.site-header .nav-toggle{color:var(--nav-text,#171717)}
.site-header.nav-sticky{position:sticky;top:0;z-index:1000}
.site-header.nav-border-none{border:none}
.site-header.nav-border-bottom{border-bottom:1px solid color-mix(in srgb,var(--nav-text,#171717) 16%,transparent)}
.site-header.nav-border-all{border:1px solid color-mix(in srgb,var(--nav-text,#171717) 18%,transparent)}
.site-header.nav-border-rounded{margin:12px; border:1px solid color-mix(in srgb,var(--nav-text,#171717) 18%,transparent);border-radius:18px}
.site-header.nav-shadow-none{box-shadow:none}
.site-header.nav-shadow-soft{box-shadow:0 4px 18px rgba(0,0,0,.06)}
.site-header.nav-shadow-medium{box-shadow:0 8px 28px rgba(0,0,0,.11)}
.site-header.nav-shadow-strong{box-shadow:0 12px 36px rgba(0,0,0,.18)}

.site-header nav a{position:relative;border-radius:999px;transition:background-color .18s ease,transform .18s ease}
.site-header.nav-hover-underline nav a::after,
.site-header.nav-hover-slide nav a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:-5px;height:2px;background:currentColor;transition:left .2s ease,right .2s ease
}
.site-header.nav-hover-underline nav a:hover::after{left:8%;right:8%}
.site-header.nav-hover-slide nav a::after{left:0;right:100%}
.site-header.nav-hover-slide nav a:hover::after{right:0}
.site-header.nav-hover-pill nav a:hover{background:color-mix(in srgb,var(--nav-text,#171717) 10%,transparent);padding-left:14px;padding-right:14px}
.site-header.nav-hover-background nav a:hover{background:color-mix(in srgb,var(--nav-text,#171717) 8%,transparent)}
.site-header.nav-hover-none nav a:hover{background:none}

/* V3.1 — états dimensions média */
[data-media-height-row].is-disabled input{
  background:#ececea!important;
  color:#888!important;
  border-color:#d4d1ca!important;
  cursor:not-allowed!important;
}
.media-custom-size-box.is-disabled{
  opacity:.5;
}
.media-custom-size-box [aria-disabled="true"]{
  background:#ececea!important;
  color:#888!important;
  cursor:not-allowed!important;
}
.ratio-control small{display:block;margin-top:5px}

/* V3.2 — navigation, boutons, couleurs et CTA WhatsApp */

/* Le mode bordure arrondie reste contenu dans la largeur du viewport */
.site-header.nav-border-rounded{
  width:calc(100% - 32px);
  max-width:calc(var(--max) - 24px);
  margin:12px auto;
  border-radius:18px;
}
.site-header.nav-sticky.nav-border-rounded{top:12px}

/* Tailles de texte de navigation */
.site-header.nav-size-s nav{font-size:.82rem}
.site-header.nav-size-m nav{font-size:.92rem}
.site-header.nav-size-l nav{font-size:1.02rem}
.site-header.nav-size-x nav{font-size:1.12rem}
.site-header.nav-size-xl nav{font-size:1.24rem}

/* Couleurs personnalisables des boutons de blocs et du formulaire Contact */
.section-cta-button,.contact-submit{
  background:var(--button-bg,#171717)!important;
  color:var(--button-text,#fff)!important;
  border-color:var(--button-bg,#171717)!important;
}
.section-cta-button:hover,.contact-submit:hover{filter:brightness(.96);opacity:1}

/* WhatsApp */
.cta-whatsapp-settings{
  margin:18px 0 6px;
  padding:18px;
  border:1px solid #dedbd4;
  border-radius:14px;
  background:#faf9f6;
}
.cta-whatsapp-settings h3{margin-top:0}
[data-whatsapp-fields].is-disabled{opacity:.55}
.whatsapp-icon{width:20px;height:20px;fill:currentColor;flex:0 0 auto}

/* Le color picker montre réellement la couleur choisie */
.admin-body input[type="color"]{
  width:100%;
  height:46px;
  padding:4px;
  border:1px solid #d8d5ce;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.admin-body input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.admin-body input[type="color"]::-webkit-color-swatch{
  border:0;
  border-radius:7px;
}
.admin-body input[type="color"]::-moz-color-swatch{
  border:0;
  border-radius:7px;
}
.color-value-preview{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:6px;
  font-size:.78rem;
  color:var(--muted);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.color-value-preview::before{
  content:"";
  width:13px;height:13px;border-radius:4px;
  border:1px solid #cfcac1;
  background:var(--picked-color,#fff);
}

/* Ratio média */
[data-media-height-row].is-disabled{
  opacity:.52;
}
[data-media-height-row].is-disabled input{
  background:#eceae5!important;
  color:#858585!important;
  border-color:#d0ccc4!important;
}

/* V3.2.1 — correctifs navbar arrondie et double CTA */
.site-header.nav-border-rounded{
  width:calc(100% - 24px)!important;
  max-width:none!important;
  margin:12px auto!important;
  border-radius:18px;
}
.site-header.nav-sticky.nav-border-rounded{top:12px}

.section-button-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:22px;
}
.align-center .section-button-stack,
.layout-center .section-button-stack{
  align-items:center;
}
.align-right .section-button-stack{
  align-items:flex-end;
}
.section-button-stack .btn{
  margin-top:0;
}
.whatsapp-button{
  background:#25D366!important;
  border-color:#25D366!important;
  color:#fff!important;
}

/* V3.2.2 — finitions CTA, footer, contact et navigation mobile */

/* WhatsApp : espace propre entre icône et libellé */
.whatsapp-button{gap:9px}

/* Footer personnalisable */
.site-footer{
  background:var(--footer-bg,#fff);
  border-radius:0;
}

/* Burger mobile */
.nav-toggle{
  width:44px;
  height:44px;
  padding:0;
  border:1px solid color-mix(in srgb,var(--nav-text,#171717) 18%,transparent);
  border-radius:12px;
  background:transparent;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  color:var(--nav-text,#171717);
  margin-left:auto;
  transition:background-color .2s ease,border-color .2s ease;
}
.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .25s ease,opacity .18s ease;
}
.nav-toggle:hover{background:color-mix(in srgb,var(--nav-text,#171717) 8%,transparent)}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:950px){
  .site-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
  }
  .site-header .brand{min-width:0}
  .nav-toggle{display:flex;grid-column:2;grid-row:1}
  .site-header nav{
    grid-column:1/-1;
    display:grid;
    gap:0;
    padding-top:0;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transform:translateY(-6px);
    transition:max-height .32s ease,opacity .22s ease,transform .22s ease,padding .22s ease;
  }
  .site-header nav.open{
    display:grid;
    max-height:520px;
    opacity:1;
    transform:translateY(0);
    padding:14px 0 18px;
  }
  .site-header nav a{
    padding:11px 4px;
  }
  .site-header nav a:last-child{
    margin-bottom:8px;
  }
  .site-header.menu-open{
    align-items:start;
  }
}

/* Le mode arrondi doit aussi rester propre sur mobile */
@media(max-width:950px){
  .site-header.nav-border-rounded{
    width:calc(100% - 20px)!important;
    margin:10px auto!important;
  }
}

/* V3.3 — Contact simplifié */
.contact-companion .section-embedded{
  max-width:none;
  margin:0;
  padding:32px;
  border-radius:var(--radius);
}
.contact-companion .section-embedded .section-inner{
  grid-template-columns:1fr;
  gap:24px;
}
.contact-companion .section-embedded .section-media{
  order:initial;
}
.contact-companion .section-embedded .section-extras{
  margin-top:28px;
}
.contact-block-help{
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid #e4e0d8;
  border-radius:12px;
  background:#faf9f6;
}
.contact-block-help p{
  margin:6px 0 0;
  color:var(--muted);
}
@media(max-width:800px){
  .contact-companion .section-embedded{padding:22px}
}

/* V3.4 — page Contact autonome et remaniable */
.contact-section{
  background:var(--contact-page-bg,#f4f2ed)!important;
}
.contact-form-modern{
  background:var(--contact-form-bg,#fff);
}
.contact-spacing-compact{padding-top:48px!important;padding-bottom:48px!important}
.contact-spacing-comfortable{padding-top:82px!important;padding-bottom:82px!important}
.contact-spacing-large{padding-top:120px!important;padding-bottom:120px!important}

/* Cartes élégantes — rendu par défaut */
.contact-style-cards .contact-form-modern,
.contact-style-cards .contact-companion .section-embedded{
  border:1px solid rgba(0,0,0,.07);
  border-radius:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.contact-style-cards .contact-companion .section-embedded{
  min-height:100%;
}

/* Minimal — page très légère, presque sans chrome */
.contact-style-minimal .contact-form-modern{
  padding:8px 0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.contact-style-minimal .contact-companion .section-embedded{
  padding:8px 0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent!important;
}

/* Encadré — net et professionnel, sans ombre */
.contact-style-bordered .contact-form-modern,
.contact-style-bordered .contact-companion .section-embedded{
  border:1px solid rgba(0,0,0,.16);
  border-radius:14px;
  box-shadow:none;
}

/* Doux — contraste très discret */
.contact-style-soft .contact-form-modern,
.contact-style-soft .contact-companion .section-embedded{
  border:0;
  border-radius:28px;
  box-shadow:0 10px 40px rgba(0,0,0,.045);
}
.contact-style-soft .contact-companion .section-embedded{
  filter:saturate(.94);
}

/* Colonnes harmonieuses */
.contact-section .contact-shell{
  align-items:stretch;
}
.contact-section .contact-form-modern{
  height:100%;
}
.contact-section .contact-companion{
  min-width:0;
}
.contact-section .contact-companion .section-embedded{
  height:100%;
}
.contact-layout-form-left .contact-form{order:-1}
.contact-layout-text-left .contact-companion{order:-1}

/* Un formulaire seul ne doit pas devenir gigantesque */
.contact-layout-form-only .contact-shell{
  grid-template-columns:minmax(0,760px)!important;
  justify-content:center;
}

/* Champs plus cohérents avec les nouvelles variantes */
.contact-form-modern select{
  padding:14px 15px;
  border:1px solid #ddd8cf;
  border-radius:11px;
  background:#fbfbfa;
}
.contact-form-modern input:focus,
.contact-form-modern textarea:focus,
.contact-form-modern select:focus{
  outline:none;
  border-color:#777;
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,0,0,.06);
}

@media(max-width:950px){
  .contact-spacing-compact{padding-top:34px!important;padding-bottom:34px!important}
  .contact-spacing-comfortable{padding-top:52px!important;padding-bottom:52px!important}
  .contact-spacing-large{padding-top:72px!important;padding-bottom:72px!important}
  .contact-style-minimal .contact-form-modern,
  .contact-style-minimal .contact-companion .section-embedded{padding-left:0;padding-right:0}
}

/* V3.4.1 — Contact : respecter réellement la disposition du bloc latéral */

/* Le bloc intégré ne doit pas conserver la hauteur "Hero" d'une vraie bannière. */
.contact-companion .section-embedded.section-hero{
  min-height:0;
}

/* Par défaut, un bloc texte + média conserve bien ses deux colonnes. */
.contact-companion .section-embedded .section-inner{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  align-items:center;
}

/* Texte gauche / média droite : ordre naturel. */
.contact-companion .section-embedded.layout-media-right .section-copy{
  order:1;
}
.contact-companion .section-embedded.layout-media-right .section-media{
  order:2;
}

/* Média gauche / texte droite. */
.contact-companion .section-embedded.layout-media-left .section-media{
  order:1;
}
.contact-companion .section-embedded.layout-media-left .section-copy{
  order:2;
}

/* Centré et pleine largeur repassent en une seule colonne. */
.contact-companion .section-embedded.layout-center .section-inner,
.contact-companion .section-embedded.layout-full .section-inner{
  grid-template-columns:1fr;
}
.contact-companion .section-embedded.layout-center .section-copy{
  text-align:center;
  max-width:100%;
  margin-inline:auto;
}
.contact-companion .section-embedded.layout-center .section-media{
  margin-inline:auto;
}
.contact-companion .section-embedded.layout-full{
  max-width:none;
}
.contact-companion .section-embedded.layout-full .section-copy{
  max-width:none;
  padding:0;
}

/* Les médias intégrés au Contact ne forcent plus 360 px de hauteur. */
.contact-companion .section-embedded .section-media img,
.contact-companion .section-embedded .section-media video{
  min-height:0;
  max-height:520px;
}

/* Les quatre styles Contact doivent être visuellement bien différenciés. */
.contact-style-cards .contact-form-modern,
.contact-style-cards .contact-companion .section-embedded{
  border:1px solid rgba(0,0,0,.07);
  border-radius:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.10);
}

.contact-style-minimal .contact-form-modern,
.contact-style-minimal .contact-companion .section-embedded{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.contact-style-minimal .contact-form-modern{
  padding:8px 0;
}
.contact-style-minimal .contact-companion .section-embedded{
  padding:8px 0;
}

.contact-style-bordered .contact-form-modern,
.contact-style-bordered .contact-companion .section-embedded{
  border:2px solid rgba(0,0,0,.18)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

.contact-style-soft .contact-form-modern,
.contact-style-soft .contact-companion .section-embedded{
  border:1px solid rgba(0,0,0,.035)!important;
  border-radius:30px!important;
  box-shadow:0 8px 30px rgba(0,0,0,.045)!important;
}
.contact-style-soft .contact-form-modern{
  background:color-mix(in srgb,var(--contact-form-bg,#fff) 92%,var(--contact-page-bg,#f4f2ed))!important;
}
.contact-style-soft .contact-companion .section-embedded{
  background:color-mix(in srgb,#fff 78%,var(--contact-page-bg,#f4f2ed))!important;
}

/* Sur mobile, quelle que soit la disposition choisie, le bloc reste lisible. */
@media(max-width:950px){
  .contact-companion .section-embedded .section-inner{
    grid-template-columns:1fr;
  }
  .contact-companion .section-embedded.layout-media-left .section-copy,
  .contact-companion .section-embedded.layout-media-right .section-copy{
    order:1;
  }
  .contact-companion .section-embedded.layout-media-left .section-media,
  .contact-companion .section-embedded.layout-media-right .section-media{
    order:2;
  }
}


/* === Admin help center — V3.5.0 === */
.help-shell{max-width:1180px;margin:0 auto;padding:8px 0 44px}.help-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 16px;color:#667085;font-size:.86rem}.help-breadcrumb a{color:#475467;text-decoration:none}.help-breadcrumb a:hover{text-decoration:underline}.help-hero{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:28px;margin-bottom:20px}.help-kicker{display:inline-block;color:#667085;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.help-hero h1,.help-detail>h1{margin:6px 0 10px;letter-spacing:-.035em}.help-hero h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1}.help-hero p,.help-lead{color:#667085;line-height:1.65;max-width:850px}.help-home-grid,.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.help-choice,.help-card{display:block;background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:20px;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.help-choice:hover,.help-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,24,40,.07);border-color:#cfd4dc}.help-choice h2,.help-card h2{margin:5px 0 7px;font-size:1.08rem}.help-choice p,.help-card p{color:#667085;line-height:1.5}.help-choice strong{display:block;margin-top:14px}.help-card-foot{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:#667085;font-size:.78rem}.help-card-foot strong{color:#101828}.help-home-grid .help-choice:last-child{grid-column:1/-1}.help-toolbar{margin:0 0 18px}.help-search{width:min(680px,100%);padding:11px 13px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}.help-filters{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.help-filter{border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer}.help-filter.is-active{background:#101828;color:#fff;border-color:#101828}.help-empty{padding:26px;text-align:center;color:#667085;background:#fff;border:1px dashed #cfd4dc;border-radius:14px}.help-mode-switch{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:15px 18px;margin-bottom:16px}.help-mode-switch div{display:grid;gap:2px}.help-mode-switch span{color:#667085;font-size:.82rem}.help-detail{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:28px}.help-role{display:inline-block;margin:10px 0 4px;padding:8px 11px;border-radius:9px;background:#eef4ff;border:1px solid #dbe7ff;color:#344054}.help-steps{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}.help-steps li{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:12px;background:#fafafa;border:1px solid #eaecf0;border-radius:11px}.help-steps li b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#101828;color:#fff;font-size:.75rem}.help-deep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.help-deep{background:#fafafa;border:1px solid #eaecf0;border-radius:12px;padding:15px}.help-deep h2{font-size:1rem;margin:0 0 7px}.help-deep p{margin:0;color:#667085;line-height:1.55}.help-tips{margin-top:20px;padding:14px 16px;background:#eff8f0;border:1px solid #d7ead9;border-radius:11px}.help-tips ul{margin:7px 0 0;padding-left:18px}.help-prev-next{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.help-prev-next a{padding:9px 11px;background:#fff;border:1px solid #d0d5dd;border-radius:9px;text-decoration:none;color:#344054}.help-summary{overflow:auto;background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:8px 16px}.help-summary table{width:100%;border-collapse:collapse;min-width:720px}.help-summary th,.help-summary td{text-align:left;padding:11px 8px;border-bottom:1px solid #eaecf0}.help-summary th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#667085}.help-summary-links{display:flex;gap:8px}.help-summary-links a{padding:6px 8px;border:1px solid #d0d5dd;border-radius:7px;text-decoration:none;color:#344054}
@media(max-width:900px){.help-home-grid,.help-grid,.help-deep-grid{grid-template-columns:1fr}.help-home-grid .help-choice:last-child{grid-column:auto}.help-mode-switch{align-items:stretch;flex-direction:column}.help-prev-next{flex-direction:column}}
