/* doc-project | public/assets/css/public-builder.css | met en page les blocs composables et distingue correctement clic, glissement et ouverture des carrousels */
.public-builder { min-height:20rem; }
.public-builder>.content-block { width:min(1180px,calc(100% - 2rem));margin:clamp(1.5rem,4vw,3.5rem) auto; }
.public-builder>.content-block--spacer { width:100%;margin:0; }
.visual-editor-page-meta { margin-top:1rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius); }
.visual-editor-page-meta h1 { margin:0;font-size:clamp(1.5rem,3vw,2.2rem); }
.builder-hero { padding:clamp(4.5rem,9vw,8rem) 0;background:linear-gradient(135deg,var(--surface-tint),#fff);overflow:hidden; }
.builder-hero__grid { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:clamp(2rem,6vw,5rem); }
.builder-hero__copy { display:grid;justify-items:start;gap:1rem; }
.builder-hero--center .builder-hero__copy { justify-items:center;text-align:center;grid-column:1/-1; }
.builder-hero__title { max-width:16ch;margin:0;font-size:clamp(2.5rem,7vw,5.8rem);line-height:.98;letter-spacing:-.045em; }
.builder-hero__lead { max-width:62ch;margin:0;color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.3rem); }
.builder-hero__actions { display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem; }
.builder-hero__media picture img,.builder-hero__media>img { width:100%;max-height:520px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow); }
.builder-hero__placeholder { display:grid;min-height:320px;place-items:center;padding:2rem;color:var(--ink-soft);background:var(--surface-soft);border:2px dashed var(--line);border-radius:var(--radius-lg);text-align:center; }
.builder-carousel .section-heading { align-items:flex-end; }
.builder-carousel .carousel-controls { display:flex;align-items:center;gap:.45rem; }
.builder-carousel .carousel-controls button { display:grid;width:2.75rem;height:2.75rem;place-items:center;padding:0;color:var(--ocean-800);background:#fff;border:1px solid var(--line);border-radius:50%;box-shadow:0 6px 20px rgba(4,35,49,.1);cursor:pointer; }
.builder-carousel .carousel-controls button:hover { color:#fff;background:var(--ocean-700);border-color:var(--ocean-700); }
.builder-carousel .carousel-controls button:focus-visible { outline:3px solid var(--ocean-500);outline-offset:2px; }
.builder-carousel .carousel-controls button:disabled { opacity:.38;cursor:not-allowed; }
.builder-carousel .media-carousel { position:relative;overflow:hidden; }
.builder-carousel .media-carousel__track { cursor:grab;scroll-behavior:smooth;scroll-snap-type:x mandatory;touch-action:pan-y pinch-zoom;user-select:none; }
.builder-carousel .media-carousel__track.is-dragging { cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto; }
.builder-carousel .media-carousel__track.is-dragging { user-select:none; }
.builder-carousel .gallery-card { scroll-snap-align:start; }
.builder-carousel .gallery-card__open { display:block;width:100%;padding:0;overflow:hidden;background:transparent;border:0;border-radius:inherit;cursor:zoom-in;text-align:inherit; }
.builder-carousel .gallery-card__open picture,.builder-carousel .gallery-card__open img { display:block;width:100%; }
.builder-carousel .gallery-card__open:focus-visible { outline:4px solid var(--ocean-500);outline-offset:-4px; }
.builder-carousel--wide .gallery-card { min-width:min(85vw,780px); }
.builder-carousel--compact .gallery-card { min-width:min(65vw,320px); }
.builder-empty { display:grid;min-height:180px;place-items:center;padding:2rem;color:var(--ink-soft);background:var(--surface-soft);border:1px dashed var(--line);border-radius:var(--radius);text-align:center; }
.builder-functional-placeholder__card { display:flex;align-items:center;gap:1rem;padding:1.3rem;color:#d9edf2;background:#07384e;border-radius:var(--radius); }
.builder-functional-placeholder__card>svg { width:2.3rem;height:2.3rem;flex:0 0 auto; }
.builder-functional-placeholder__card h2,.builder-functional-placeholder__card p { margin:.15rem 0; }
.content-block__rich figure.inline-editor-image { margin:1.2rem 0;text-align:center; }
.content-block__rich figure.inline-editor-image img { max-width:100%;height:auto;border-radius:var(--radius); }
.content-block__rich figure.inline-editor-image figcaption { margin-top:.45rem;color:var(--ink-soft);font-size:.85rem; }
@media(max-width:850px){.builder-hero__grid{grid-template-columns:1fr}.builder-hero__media{order:-1}.builder-hero__title{max-width:none}.builder-hero__actions>*{flex:1}.builder-carousel .section-heading{align-items:flex-start}.builder-carousel .carousel-controls{margin-top:.7rem}}
@media(max-width:560px){.builder-hero{padding:3.5rem 0}.builder-hero__actions{width:100%;flex-direction:column}.builder-functional-placeholder__card{align-items:flex-start}}

.builder-block-error>.container { padding:1rem 1.2rem;color:#7a271a;background:#fff4ed;border:1px solid #f3b89d;border-radius:var(--radius); }
.builder-block-error strong,.builder-block-error p { display:block;margin:.2rem 0; }