/* Blocs du Design Builder (chargé uniquement sur les pages qui en contiennent).
   Tout s'appuie sur les variables --ds-* générées depuis le Design global. */
.ds-page{color:var(--ds-text);font-family:var(--ds-font-body);font-size:var(--ds-size-base)}
.ds-flush main#app{padding-top:0!important}
.ds-page h1,.ds-page h2,.ds-page h3,.ds-page h4,.ds-page h5,.ds-page h6{font-family:var(--ds-font-heading);font-weight:600;line-height:1.1;letter-spacing:-.015em}
.ds-page h1{font-size:var(--ds-h1)}.ds-page h2{font-size:var(--ds-h2)}.ds-page h3{font-size:var(--ds-h3)}
.ds-page h4{font-size:20px}.ds-page h5{font-size:17px}.ds-page h6{font-size:15px}
.ds-page p{line-height:1.7}
.ds-page a:not(.btn){color:var(--ds-primary)}
.ds-page .btn{border-radius:var(--ds-radius-button)}
.ds-page .btn-p{background:var(--ds-primary);color:var(--ds-button-text)}
.ds-page .btn-p:hover{background:var(--ds-text);color:var(--ds-button-text)}
.ds-page .btn-o{border-color:var(--ds-border);color:var(--ds-text)}
.ds-page .btn-o:hover{border-color:var(--ds-primary);color:var(--ds-primary)}
.ds-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Structure */
.ds-section{position:relative;padding:var(--ds-section) 0}
.ds-inner{max-width:var(--ds-maxw);margin:0 auto;padding:0 var(--ds-gutter);display:flex;flex-direction:column;gap:20px}
.ds-inner--full{max-width:none;padding:0}
.ds-hero{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;min-height:70vh}
.ds-hero__bg{position:absolute;inset:0;z-index:0}
.ds-hero__bg img{width:100%;height:100%;object-fit:cover}
.ds-hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.35),#000 98%);opacity:.45}
.ds-hero__content{position:relative;z-index:2;width:100%;max-width:var(--ds-maxw);margin:0 auto;padding:0 var(--ds-gutter);display:flex;flex-direction:column;gap:20px}
.ds-container,.ds-column,.ds-cta{display:flex;flex-direction:column;gap:16px;min-width:0}
.ds-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.ds-cta{align-items:center;text-align:center;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);padding:56px 40px}

/* Contenu */
.ds-text>*+*{margin-top:.9em}
.ds-text ul,.ds-text ol{padding-left:1.3em}
.ds-text blockquote{border-left:2px solid var(--ds-primary);padding-left:16px;color:var(--ds-muted)}
.ds-image{margin:0}
.ds-image img{width:100%;height:auto;border-radius:var(--ds-radius-image)}
.ds-image figcaption{font-size:13px;color:var(--ds-muted);margin-top:8px}
.ds-button .ds-btn{display:inline-flex}
.ds-btn--link{color:var(--ds-primary);font-family:var(--ds-font-heading);font-weight:500;display:inline-flex;gap:8px}
.ds-link{color:var(--ds-primary);text-decoration:underline;text-underline-offset:3px}
.ds-list{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0}
.ds-list li{position:relative;padding-left:28px;line-height:1.6}
.ds-list li::before{position:absolute;left:0;top:0;color:var(--ds-primary);font-weight:700}
.ds-list--check li::before{content:"✓"}.ds-list--disc li::before{content:"•"}.ds-list--arrow li::before{content:"→"}
.ds-list--none li{padding-left:0}.ds-list--none li::before{content:none}
.ds-list--number{counter-reset:ds}.ds-list--number li{counter-increment:ds}.ds-list--number li::before{content:counter(ds) "."}
.ds-divider{border:0;border-top:1px solid var(--ds-border);width:100%}
.ds-icon{line-height:1;color:var(--ds-primary)}
.ds-icon svg{width:1em;height:1em;display:inline-block}
.ds-card{display:flex;flex-direction:column;background:var(--ds-card-bg);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card);overflow:hidden;box-shadow:var(--ds-card-shadow);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,background-color .35s;height:100%}
.ds-card__media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ds-card__body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.ds-card__body h3{font-size:20px}
.ds-card__body p{color:var(--ds-muted);font-size:15px}
.ds-card__btn{margin-top:auto;align-self:flex-start;padding:10px 20px}
.ds-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ds-gallery figure{margin:0}
.ds-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:var(--ds-radius-image)}
.ds-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--ds-radius-image);overflow:hidden;background:#000}
.ds-video iframe,.ds-video video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}

/* Interactifs */
.ds-faq,.ds-accordion{display:flex;flex-direction:column;gap:10px}
.ds-disclosure{border:1px solid var(--ds-border);border-radius:14px;background:var(--ds-card-bg);overflow:hidden}
.ds-disclosure summary{cursor:pointer;list-style:none;padding:18px 52px 18px 20px;font-family:var(--ds-font-heading);font-weight:500;position:relative}
.ds-disclosure summary::-webkit-details-marker{display:none}
.ds-disclosure summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--ds-primary);font-size:20px;transition:transform .25s}
.ds-disclosure[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.ds-disclosure__body{padding:0 20px 20px;color:var(--ds-muted);line-height:1.7}
.ds-tabs__list{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--ds-border);margin-bottom:18px}
.ds-tabs__tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--ds-muted);padding:12px 16px;font:inherit;font-family:var(--ds-font-heading);cursor:pointer;margin-bottom:-1px}
.ds-tabs__tab[aria-selected="true"]{color:var(--ds-text);border-bottom-color:var(--ds-primary)}
.ds-tabs__panel{line-height:1.7;color:var(--ds-muted)}
.ds-tabs__panel+.ds-tabs__panel{margin-top:16px}
.ds-tabs.is-ready .ds-tabs__panel[data-inactive]{display:none}
.ds-tabs.is-ready .ds-tabs__panel+.ds-tabs__panel{margin-top:0}
.ds-form{display:flex;flex-direction:column;gap:14px}
.ds-form__field{display:flex;flex-direction:column;gap:6px}
.ds-form label{font-size:13px;color:var(--ds-muted)}
.ds-form input:not([type="checkbox"]),.ds-form textarea{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--ds-border);border-radius:12px;padding:13px 15px;color:var(--ds-text);font:inherit}
.ds-form input:focus,.ds-form textarea:focus{outline:2px solid var(--ds-primary);outline-offset:1px}
.ds-form__consent{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.ds-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ds-form button{align-self:flex-start}
.ds-form__status{font-size:14px;min-height:1.4em}
.ds-form__status.is-ok{color:var(--ds-primary)}.ds-form__status.is-error{color:#ff8a8a}
.ds-html{min-width:0}
.ds-zone{padding:0}

@media (max-width:1024px){.ds-page h1{font-size:calc((var(--ds-h1) + var(--ds-h1-mobile)) / 2)}}
@media (max-width:767px){
  .ds-section{padding:var(--ds-section-mobile) 0}
  .ds-inner,.ds-hero__content{padding:0 22px}
  .ds-page h1{font-size:var(--ds-h1-mobile)}.ds-page h2{font-size:var(--ds-h2-mobile)}
  .ds-columns{grid-template-columns:1fr}
  .ds-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ds-cta{padding:40px 22px}
}
