/**
 * Franc Levantina — layout shell (hub-safe: no theme.json spacing presets required).
 * Builder: use section() from microsite-layout.mjs; spacing lives here only.
 */

body.fl-site {
  --fl-container: 1180px;
  --fl-gutter: clamp(1rem, 4vw, 1.5rem);
  --fl-section-y: clamp(2.25rem, 5vw, 4rem);
  --fl-gap: clamp(1rem, 2.5vw, 1.5rem);
  --fl-inline-pad: max(var(--fl-gutter), calc((100% - var(--fl-container)) / 2));
}

/* DTK carousel: do not clip vertical scroll on main/page shells */
body.fl-site :has(.uc-carousel-container) :is(
  .fl-main,
  .fl-page,
  .fl-page > .wp-block-group.fl-section,
  .fl-page > .wp-block-group.fl-section-alt
) {
  overflow: visible !important;
}

body.fl-site .uc-carousel-container,
body.fl-site [data-uc-carousel] {
  overflow: hidden;
  max-width: 100%;
}

body.fl-site .fl-carousel,
body.fl-site .fl-project-carousel {
  --uc-slides-gap: var(--fl-gap) !important;
}

body.fl-site .wp-block-column:has(.wp-block-design-toolkit-carousel),
body.fl-site .fl-section:has(.wp-block-design-toolkit-carousel) {
  min-width: 0 !important;
  max-width: 100% !important;
}

.fl-page > .wp-block-group.fl-section,
.fl-page > .wp-block-group.fl-section-alt {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: var(--fl-section-y) var(--fl-inline-pad) !important;
  box-sizing: border-box;
  gap: var(--fl-gap);
}

.fl-page > .wp-block-group.fl-hero:not(.fl-hero--video),
.fl-page > .wp-block-cover.fl-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: var(--fl-inline-pad);
  box-sizing: border-box;
}

.fl-page > .wp-block-group.fl-hero.fl-hero--video {
  padding-inline: 0 !important;
}

body.fl-site .fl-main {
  padding-top: 0 !important;
}

.fl-page > *:first-child:not(.fl-hero--video) {
  padding-top: clamp(5.25rem, 11vh, 6.75rem) !important;
}

.fl-page .wp-block-columns,
.fl-page .wp-block-column,
.fl-page .wp-block-image,
.fl-page .wp-block-image img,
.fl-page .fl-split-media img {
  max-width: 100%;
}

.fl-page .wp-block-column {
  min-width: 0;
}

.fl-page > .wp-block-group + .wp-block-group {
  margin-block-start: 0 !important;
}
