:root{--accent:#1769ff;--page:#f6f8fc;--ink:#192940;--muted:#677990;--surface:#fff;--line:#dde5f0;--font:system-ui,Arial,sans-serif;color:var(--ink);font-family:var(--font)}*{box-sizing:border-box}body{margin:0;background:var(--page)}a{color:var(--accent)}button,input,textarea,select{font:inherit}button,.button{border:0;background:var(--accent);color:white;border-radius:8px;padding:10px 18px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}.outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.text{background:transparent;color:var(--accent)}input,textarea,select{display:block;width:100%;border:1px solid var(--line);border-radius:7px;padding:11px;margin:6px 0 13px;color:var(--ink);background:var(--surface)}input[type=checkbox]{display:inline;width:auto;margin:0 6px 0 0}label{display:block;font-size:13px;font-weight:600}h1,h2,h3{letter-spacing:-.035em;line-height:1.15;margin-top:0}h1{font-size:clamp(32px,4.7vw,65px)}h2{font-size:clamp(23px,3vw,35px)}h3{font-size:20px}p{line-height:1.65;color:var(--muted)}small{display:block;color:var(--muted);font-size:12px;line-height:1.6}img,video,audio,iframe,svg{max-width:100%}video{width:100%}figure{margin:0}figcaption{font-size:12px;color:var(--muted);padding-top:8px}progress{width:100%;height:12px;accent-color:var(--accent)}[hidden]{display:none!important}.page-board{width:100%;max-width:var(--page-max,1200px);margin:0 auto;padding:var(--page-padding,24px);gap:var(--page-gap,20px);position:relative}.mode-grid,.layout-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.mode-grid>.module,.layout-grid>.module{grid-column:span var(--span,12)}.mode-free{height:var(--board-height,1200px);padding:0}.mode-free>.module{position:absolute;left:var(--x);top:var(--y);width:var(--w);z-index:var(--z)}.module{min-width:0;position:relative;overflow-wrap:anywhere}.module>h2:last-child,.module>p:last-child{margin-bottom:0}.module-hero{background:linear-gradient(135deg,#ecf1ff,var(--surface));padding:65px;text-align:center}.module-hero .subtitle{font-size:18px;max-width:750px;margin:18px auto 26px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--accent);text-transform:uppercase}.module-text,.module-paragraph,.module-wysiwyg{background:var(--surface)}.multiline{white-space:pre-wrap}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--page-max,1200px);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px var(--page-padding,24px)}.site-logo{font-size:23px;font-weight:750;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:20px}.site-header nav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:650}.site-header nav a[aria-current=page]{color:var(--accent)}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:35px max(24px,calc((100% - 1152px)/2));background:var(--surface);border-top:1px solid var(--line)}.site-footer span{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:18px}.card,.project-card,.private-record{border:1px solid var(--line);background:var(--surface);padding:22px;border-radius:12px;min-width:0}.card>img{width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:15px}.card h3{margin:14px 0 7px}.card p{font-size:14px}.card-mark{width:40px;height:40px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:750;border-radius:10px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:14px}.actions button{font-size:12px}.text-link{font-size:13px;text-decoration:none;display:inline-block;margin-right:12px}.price{display:block;font-size:23px;margin:16px 0}.layout-flow>.module{margin-bottom:var(--gap,16px)!important}.layout-flex{display:flex;flex-direction:var(--direction,row);gap:var(--gap,20px);align-items:var(--align,start);justify-content:var(--justify,start)}.layout-flex>.module{flex:1}.container-children{gap:var(--gap,20px)}.module-sidebar{border-left:3px solid var(--accent);background:var(--surface)}.module-sticky_header{position:sticky!important;top:0;z-index:20!important;background:var(--surface)}.module-footer{background:var(--surface);border-top:1px solid var(--line)}.module-cta,.module-promo{background:#192b51;color:#fff;text-align:center}.module-cta p,.module-promo p{color:#bdcce2}.module-nav{display:flex;gap:16px;flex-wrap:wrap}.module-nav.vertical,.module-nav.side_menu{flex-direction:column}.nav-link{text-decoration:none;padding:5px;font-size:14px}.module-nav.mega_menu{display:grid;grid-template-columns:repeat(3,1fr)}.breadcrumb .nav-link:not(:last-child):after{content:' /';color:var(--muted);padding-left:12px}.burger-menu nav{display:flex;flex-direction:column}.module-footer_nav .nav-link{font-size:12px}.badge{display:inline-block;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-radius:50px;padding:5px 11px;font-size:12px;font-weight:700}.tooltip{position:relative;cursor:help;text-decoration:underline dotted}.tooltip>[role=tooltip]{display:none;position:absolute;bottom:100%;left:0;background:#182b48;color:white;min-width:180px;max-width:300px;padding:12px;border-radius:7px;font-size:12px;z-index:10}.tooltip:hover>[role=tooltip],.tooltip:focus>[role=tooltip]{display:block}.countdown,.animated-counter{font-size:40px;font-weight:800;color:var(--accent)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-weight:700}blockquote{font-size:23px;border-left:4px solid var(--accent);padding:15px 25px;margin:0;background:var(--surface)}cite{display:block;font-size:13px;margin-top:15px;color:var(--muted)}pre{overflow:auto;padding:22px;background:#14243d;color:#dbe8ff;border-radius:9px;white-space:pre;font-size:13px}.code-keyword{color:#af95ff}details{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:16px;margin-bottom:10px}summary{cursor:pointer;font-weight:650;font-size:14px}.tabs [role=tablist]{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs [role=tab]{background:transparent;color:var(--muted)}.tabs [aria-selected=true]{background:var(--accent);color:white}.tabs [role=tabpanel]{padding-top:20px}.media-gallery{display:grid;grid-template-columns:repeat(var(--columns,3),1fr);gap:12px}.media-gallery img{width:100%;height:200px;object-fit:cover;border-radius:9px}.media-gallery.slider{display:flex;overflow:auto;scroll-snap-type:x mandatory}.slider img{width:300px;flex:0 0 300px;scroll-snap-align:start}.module-partner_logos img{object-fit:contain;height:90px;filter:grayscale(.4)}[data-lightbox]{cursor:zoom-in}.lightbox-dialog img{max-height:80vh;display:block;margin-top:10px}.before-after{position:relative;height:320px;overflow:hidden}.before-after img{width:100%;height:280px;object-fit:cover}.before-after .after{position:absolute;top:0;left:0;clip-path:inset(0 50% 0 0)}.before-after input{position:absolute;bottom:0;left:0;margin:0}.main-image{width:100%;border-radius:8px}.empty-media{padding:65px;background:#edf2fa;color:#9aa6bb;text-align:center}.external-embed{min-height:120px;background:var(--surface);border:1px dashed var(--line);padding:15px;border-radius:9px}.external-embed iframe{width:100%;border:0}.author img{width:90px;height:90px;border-radius:50%;object-fit:cover}.timeline{list-style:none;padding:0}.timeline li{border-left:3px solid var(--accent);padding:8px 25px 20px;position:relative}.timeline li:before{content:'';position:absolute;left:-7px;top:10px;width:11px;height:11px;background:var(--accent);border-radius:50%}.chart-row{display:grid;grid-template-columns:100px 1fr 70px;align-items:center;gap:10px;margin:13px 0;font-size:13px}.chart-track{height:12px;background:#e9eff8;border-radius:7px;overflow:hidden}.chart-track i{display:block;height:100%;background:var(--accent)}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kanban>section{background:color-mix(in srgb,var(--accent) 5%,var(--surface));padding:16px;border-radius:10px}.kanban .card{margin-bottom:12px;padding:14px}.kanban .card strong{font-size:13px}.kanban h3{font-size:16px}.comment{padding:15px;background:var(--surface);border-bottom:1px solid var(--line)}.comment p{white-space:pre-wrap}.runtime-form{display:grid;gap:12px;margin-top:20px}.runtime-form button{justify-self:start}.trap{position:absolute;left:-9999px}.form-result{color:#277549;font-size:13px}.form-result.error{color:#b23745}.preview-form input,.preview-form textarea{pointer-events:none}.preview-form button{opacity:.6}.alert{padding:18px;background:#eef3ff;border-left:4px solid var(--accent);border-radius:8px}.alert.warning{background:#fff4d9;border-color:#d99b19}.alert.error{background:#fff0f2;border-color:#d34861}.alert.success{background:#edf9f0;border-color:#29a568}.parallax-bg{background-attachment:fixed;background-size:cover;background-position:center;padding:55px;border-radius:12px}.module-background{overflow:hidden}.background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.4}.module-background>.layout-flow{position:relative;z-index:1}.effect-glass{background:#ffffffaa;backdrop-filter:blur(12px);border:1px solid #ffffffbb}.effect-shadow{box-shadow:0 15px 40px #18304c22}.reveal{opacity:0;transition:opacity .7s,transform .7s}.reveal-slide{transform:translateY(30px)}.reveal-zoom{transform:scale(.95)}.revealed{opacity:1;transform:none}.cart-row{display:grid;grid-template-columns:1fr 100px 70px 80px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.cart-row input{margin:0;padding:7px}.cart-row button{font-size:11px;padding:8px}.chosen{background:#7e4ef2!important;color:white}.search-results{display:grid;gap:10px;margin-top:15px}.search-form{display:flex;flex-wrap:wrap;gap:10px}.search-form input{flex:1;margin:0}.search-form .search-results{flex-basis:100%}.consent-banner{position:fixed;bottom:20px;left:20px;width:min(460px,calc(100% - 40px));background:var(--surface);padding:24px;border:1px solid var(--line);box-shadow:0 12px 50px #0b18393b;border-radius:14px;z-index:100}.consent-banner p{font-size:13px}.consent-banner label{margin-top:12px}.runtime-toast{position:fixed;bottom:25px;right:25px;background:#182b48;color:white;padding:14px 22px;border-radius:9px;z-index:110;font-size:13px}.preview-bar{padding:10px;text-align:center;background:#192d52;color:white;font-size:12px}.preview-bar a{color:#b7c7ff}.technical-preview{font-size:12px;color:#677a95;background:#eef3fb;padding:16px;border-radius:7px}.dark{--page:#101a2c;--ink:#e5edf9;--muted:#aabbd5;--surface:#1b2940;--line:#34445e}.dark .module-hero{background:linear-gradient(135deg,#283e65,var(--surface))}.dark .effect-glass{background:#1b2940bb}dialog{border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);max-width:900px;width:min(90vw,850px);padding:28px}dialog::backdrop{background:#102040aa}.close-modal{float:right;margin-bottom:20px}.reset-card{max-width:560px;margin:80px auto;padding:35px;background:var(--surface);border-radius:14px}.editing .page-board{max-width:var(--page-max,1200px)}.editing .module{outline:1px dashed #cad5ea}.editing .module.selected{outline:2px solid #3569ff;box-shadow:0 0 0 3px #3569ff22;z-index:50!important}.editing .edit-drag{display:none;position:absolute;top:-1px;left:-1px;background:#3569ff;color:white;padding:4px 9px;border-radius:0 0 7px 0;font-size:10px;z-index:100;cursor:move}.editing .module.selected>.edit-drag{display:block}.editing .edit-resize{display:none;position:absolute;right:-3px;bottom:-3px;width:13px;height:13px;background:#fff;border:2px solid #3569ff;z-index:100;cursor:nwse-resize}.editing .selected>.edit-resize{display:block}.editing .reveal{opacity:1;transform:none}.editing .editor-hidden{opacity:.35}.editing .mode-grid{min-height:600px}.editing .module:hover{outline-color:#7ca0f7}.editing .module-modal dialog{display:block;position:relative;width:100%;margin:10px 0}.editing .tabs [hidden]{display:block!important}.editing .tabs [role=tabpanel]{border:1px dashed #d5deee}.editing .container-children:empty{min-height:120px;background:#f2f6fc;border:2px dashed #ccd8ec}.editing .technical-preview{display:block}.editing .mode-free{background-image:linear-gradient(#dfe6f21c 1px,transparent 1px),linear-gradient(90deg,#dfe6f21c 1px,transparent 1px);background-size:10px 10px}
@media(max-width:900px){.mode-grid>.module,.layout-grid>.module{grid-column:span var(--tablet-span,12)!important}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban{grid-template-columns:1fr}.module-hero{padding:40px}}
@media(max-width:600px){.page-board{padding:14px;gap:14px}.mode-free{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));height:auto!important;padding:14px}.mode-free>.module{position:relative;left:auto;top:auto;width:auto;min-height:0!important;z-index:auto}.mode-grid>.module,.layout-grid>.module,.mode-free>.module{grid-column:span var(--mobile-span,12)!important}.cards,.media-gallery{grid-template-columns:1fr}.layout-flex{flex-direction:column}.header-inner,.site-footer{display:block}.site-header nav{margin-top:15px}.module-hero{padding:30px 18px}.cart-row{grid-template-columns:1fr 70px}.module-nav.mega_menu{grid-template-columns:1fr}.chart-row{grid-template-columns:75px 1fr 50px}.parallax-bg{background-attachment:scroll}.reset-card{margin:35px 15px}.mode-free .edit-drag,.mode-free .edit-resize{display:none!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.parallax-bg{background-attachment:scroll}}
.chart-canvas{position:relative;height:260px;width:100%}.chart-canvas:has(canvas:not([data-chart])){display:none}.editing .chart-canvas{display:none}
.container-children.layout-grid{grid-template-columns:repeat(var(--columns,2),minmax(0,1fr))}.sum-value{display:block;font-size:36px;font-weight:800;color:var(--accent)}@media(max-width:900px){.container-children.layout-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}

/* V3 : largeurs, styles, visibilité par appareil et repères. */
body{overflow-x:clip}.page-board{overflow:visible}
.width-page{grid-column:1 / -1!important;width:100%!important;max-width:none}.mode-free>.width-page{left:0!important}
.width-viewport{grid-column:1 / -1!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important}
.mode-free>.width-viewport{left:calc(50% - 50vw)!important;margin-left:0!important}
.module:hover{background-color:var(--hover-bg);color:var(--hover-color)}
.module:has(> .edit-drag):hover{transition:none}
.module[style*="--hover-shadow:0"]:hover{box-shadow:var(--hover-shadow)!important}
.shared-instance .edit-drag,.shared-instance .edit-resize{display:none!important}.editing .shared-instance.selected>.edit-drag,.editing .shared-instance.selected>.edit-resize{display:block!important}
.editing .shared-instance .module{outline:none}.editing .multi-selected{outline:2px solid #7847ff!important}
.editing .guide-line{position:absolute;pointer-events:none;background:#d44cff;z-index:1000}.guide-line.vertical{width:1px;top:0;bottom:0}.guide-line.horizontal{height:1px;left:0;right:0}
@media(min-width:901px){body:not(.editing) .hide-pc{display:none!important}}
@media(min-width:601px) and (max-width:900px){body:not(.editing) .hide-tablet{display:none!important}}
@media(max-width:600px){body:not(.editing) .hide-mobile{display:none!important}.page-board{padding:var(--page-padding,14px)}.mode-free>.width-viewport{left:auto!important;margin-left:calc(50% - 50vw)!important}.mode-free>.width-page{left:auto!important}}

.module>:is(h1,h2,h3,h4,h5,h6,p){font-size:var(--own-font-size)}
@media(min-width:601px) and (max-width:900px){.module{padding:var(--tablet-padding)!important;font-size:var(--tablet-font-size)!important}.module>:is(h1,h2,h3,h4,h5,h6,p){font-size:var(--tablet-font-size,var(--own-font-size))}}
@media(max-width:600px){.module{padding:var(--mobile-padding)!important;font-size:var(--mobile-font-size)!important}.module>:is(h1,h2,h3,h4,h5,h6,p){font-size:var(--mobile-font-size,var(--own-font-size))}}

.mode-grid>.width-page,.layout-grid>.width-page,.mode-grid>.width-viewport,.layout-grid>.width-viewport{grid-column:1 / -1!important}

/* V4 : navigation réellement latérale et modules applicatifs. */
.module-nav.side_menu{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.module-nav.side_menu .nav-link{display:block;padding:12px 16px;border-radius:6px;border-left:3px solid transparent}.module-nav.side_menu .nav-link:hover{background:#1769ff12;border-left-color:var(--accent)}.record-detail{display:grid;grid-template-columns:minmax(100px,180px) 1fr;gap:12px}.record-detail dt{font-weight:700}.record-detail dd{margin:0;min-width:0}.record-detail img{max-height:500px;object-fit:contain}.author-code,[data-script-result]{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:#eef3fb;padding:15px}.form-thumbnail{display:block;max-height:120px}.app-form{max-width:760px}.editing .locked-block{outline:1px dashed #9caabd}.editing .locked-block:after{content:'Verrouillé';position:absolute;right:5px;top:5px;font-size:10px;color:#718098}@media(max-width:600px){.record-detail{grid-template-columns:1fr}}

.module h1,.module h2,.module h3,.module h4,.module h5,.module h6{color:var(--block-title-color,inherit);background-color:var(--block-title-background,transparent)}.module button,.module a.button{background-color:var(--block-button-background,var(--accent));color:var(--block-button-color,#fff)}.module a:not(.button){color:var(--block-link-color,var(--accent))}.module .card,.module .private-record,.module .price-card{background-color:var(--block-card-background,var(--surface));color:var(--block-card-color,inherit)}.module input,.module select,.module textarea{background-color:var(--block-input-background,var(--surface));color:var(--block-input-color,var(--ink))}
/* Réglages supplémentaires par écran et listes dynamiques. */
.record-filters{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:20px}.record-filters label{flex:1;min-width:180px}.record-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}.record-pagination button:disabled{opacity:.45;cursor:default}[data-record-count]{font-size:13px;color:#64748b}
.module-image figure{overflow:visible}.module-image .main-image{max-width:100%}
@media(min-width:601px) and (max-width:900px){.module[style*="--tablet-margin"]{margin:var(--tablet-margin)!important}.module[style*="--tablet-radius"]{border-radius:var(--tablet-radius)!important}.module[style*="--tablet-align"]{text-align:var(--tablet-align)!important}}
@media(max-width:600px){.module[style*="--mobile-margin"]{margin:var(--mobile-margin)!important}.module[style*="--mobile-radius"]{border-radius:var(--mobile-radius)!important}.module[style*="--mobile-align"]{text-align:var(--mobile-align)!important}}
.editing .drop-before{border-top:3px solid #1769ff!important}.editing .drop-after{border-bottom:3px solid #1769ff!important}.editing .drop-inside{outline:3px solid #1769ff!important}
.reveal-up{transform:translateY(24px)}.reveal-up.revealed{transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,white);outline-offset:3px}
.runtime-form[data-result-state="success"] .form-result:not(:empty){padding:12px 16px;border-radius:8px;background:#edf7f1;color:#216548}.runtime-form[data-result-state="error"] .form-result:not(:empty){padding:12px 16px;border-radius:8px;background:#fff1f0;color:#a32626}.runtime-form[aria-busy="true"]{opacity:.8}
@media(prefers-reduced-motion:reduce){.reveal-up{transform:none}}
.module-image[style*="--image-radius"] figure{border-radius:var(--image-radius)!important}.module-image[style*="--image-radius"] .main-image{border-radius:var(--image-radius)!important}

.rich-content img,.module figure img{max-width:100%;height:auto}.module table{max-width:100%;border-collapse:collapse}.module td,.module th{padding:10px;border:1px solid #ccd5e0}.module figcaption{font-size:.9em;opacity:.8}

a[aria-disabled="true"]{opacity:.55;pointer-events:none}
