/* UZEL 3.3.0 — universal block layout and typography layer */
.builder-block{
  position:relative;
  box-sizing:border-box;
  padding-top:var(--block-pt-desktop);
  padding-bottom:var(--block-pb-desktop);
  min-height:var(--block-min-height-desktop);
}

/* Container width */
.builder-block[data-block-container="wide"]>.container{width:min(1320px,calc(100% - 40px))}
.builder-block[data-block-container="medium"]>.container{width:min(960px,calc(100% - 40px))}
.builder-block[data-block-container="narrow"]>.container{width:min(760px,calc(100% - 40px))}
.builder-block[data-block-container="full"]>.container{width:100%;max-width:none;padding-left:0;padding-right:0}

/* Alignment */
.builder-block[data-block-align="left"]{text-align:left}
.builder-block[data-block-align="center"]{text-align:center}
.builder-block[data-block-align="right"]{text-align:right}
.builder-block[data-block-align="center"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){margin-left:auto;margin-right:auto}
.builder-block[data-block-align="center"] :is(.hero-actions,.final-grid,.comparison-action,.buttons-block-actions){justify-content:center}
.builder-block[data-block-align="right"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){margin-left:auto}
.builder-block[data-block-align="right"] :is(.hero-actions,.final-grid,.comparison-action,.buttons-block-actions){justify-content:flex-end}

/* Text width */
.builder-block[data-block-text-width="560"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){max-width:560px}
.builder-block[data-block-text-width="680"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){max-width:680px}
.builder-block[data-block-text-width="800"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){max-width:800px}
.builder-block[data-block-text-width="full"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){max-width:none}

/* Text color */
.builder-block[style*="--block-text-color"] :is(h1,h2,h3,h4,p,li,summary,blockquote,.lead,.section-heading p,.feature-card p,.stats-grid span,.quote-author span){color:var(--block-text-color)!important}

/* Typography */
.builder-block :is(.hero-copy>h1,.section-heading>h2,.text-media-copy>h2,.steps-grid>div>h2,.final-grid h2,.image-banner-overlay h2,.buttons-block>h2,.hero-centered-inner>h1,.checklist-copy>h2,.popup-blueprint-inner h2,.rich-text-block>h2,.inline-form-copy>h2){
  font-size:var(--block-title-size-desktop);
  line-height:var(--block-title-line-height);
  font-weight:var(--block-title-weight);
}
.builder-block :is(p,li,summary,blockquote,.lead,.section-lead){
  font-size:var(--block-body-size-desktop);
  line-height:var(--block-body-line-height);
}

/* Grid gaps */
.builder-block :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid,.steps-grid,.faq-grid,.text-media-grid,.checklist-grid,.inline-form-grid){
  gap:var(--block-grid-gap-desktop);
}

/* Shadows */
.builder-block[data-block-shadow="none"]{box-shadow:none!important}
.builder-block[data-block-shadow="soft"]{box-shadow:0 12px 34px rgba(15,23,42,.08)}
.builder-block[data-block-shadow="medium"]{box-shadow:0 22px 56px rgba(15,23,42,.14)}
.builder-block[data-block-shadow="strong"]{box-shadow:0 30px 90px rgba(15,23,42,.22)}

/* Visibility */
@media (min-width:1025px){.builder-block[data-hide-desktop="1"]{display:none!important}}

@media (max-width:1024px) and (min-width:681px){
  .builder-block{
    padding-top:var(--block-pt-tablet,var(--block-pt-desktop));
    padding-bottom:var(--block-pb-tablet,var(--block-pb-desktop));
    min-height:var(--block-min-height-tablet,var(--block-min-height-desktop));
  }
  .builder-block[data-hide-tablet="1"]{display:none!important}
  .builder-block :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid,.steps-grid,.faq-grid,.text-media-grid,.checklist-grid,.inline-form-grid){gap:var(--block-grid-gap-tablet,var(--block-grid-gap-desktop))}
  .builder-block :is(.hero-copy>h1,.section-heading>h2,.text-media-copy>h2,.steps-grid>div>h2,.final-grid h2,.image-banner-overlay h2,.buttons-block>h2,.hero-centered-inner>h1,.checklist-copy>h2,.popup-blueprint-inner h2,.rich-text-block>h2,.inline-form-copy>h2){font-size:var(--block-title-size-tablet,var(--block-title-size-desktop))}
  .builder-block :is(p,li,summary,blockquote,.lead,.section-lead){font-size:var(--block-body-size-tablet,var(--block-body-size-desktop))}

  .builder-block[data-block-align-tablet="left"]{text-align:left}
  .builder-block[data-block-align-tablet="center"]{text-align:center}
  .builder-block[data-block-align-tablet="right"]{text-align:right}
  .builder-block[data-block-align-tablet="center"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){margin-left:auto;margin-right:auto}
  .builder-block[data-block-align-tablet="center"] :is(.hero-actions,.final-grid,.comparison-action,.buttons-block-actions){justify-content:center}
  .builder-block[data-block-align-tablet="right"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){margin-left:auto;margin-right:0}
  .builder-block[data-block-align-tablet="right"] :is(.hero-actions,.final-grid,.comparison-action,.buttons-block-actions){justify-content:flex-end}

  .builder-block[data-block-columns-tablet="1"] :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid){grid-template-columns:repeat(1,minmax(0,1fr))!important}
  .builder-block[data-block-columns-tablet="2"] :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .builder-block[data-block-columns-tablet="3"] :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid){grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media (max-width:680px){
  .builder-block{
    padding-top:var(--block-pt-mobile,var(--block-pt-tablet,var(--block-pt-desktop)));
    padding-bottom:var(--block-pb-mobile,var(--block-pb-tablet,var(--block-pb-desktop)));
    min-height:var(--block-min-height-mobile,var(--block-min-height-tablet,var(--block-min-height-desktop)));
  }
  .builder-block[data-hide-mobile="1"]{display:none!important}
  .builder-block[data-block-container]:not([data-block-container="full"])>.container{width:min(100% - 28px,1320px)}
  .builder-block :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid,.steps-grid,.faq-grid,.text-media-grid,.checklist-grid,.inline-form-grid){gap:var(--block-grid-gap-mobile,var(--block-grid-gap-tablet,var(--block-grid-gap-desktop)))}
  .builder-block :is(.hero-copy>h1,.section-heading>h2,.text-media-copy>h2,.steps-grid>div>h2,.final-grid h2,.image-banner-overlay h2,.buttons-block>h2,.hero-centered-inner>h1,.checklist-copy>h2,.popup-blueprint-inner h2,.rich-text-block>h2,.inline-form-copy>h2){font-size:var(--block-title-size-mobile,var(--block-title-size-tablet,var(--block-title-size-desktop)))}
  .builder-block :is(p,li,summary,blockquote,.lead,.section-lead){font-size:var(--block-body-size-mobile,var(--block-body-size-tablet,var(--block-body-size-desktop)))}

  .builder-block[data-block-align-mobile="left"]{text-align:left}
  .builder-block[data-block-align-mobile="center"]{text-align:center}
  .builder-block[data-block-align-mobile="right"]{text-align:right}
  .builder-block[data-block-align-mobile="center"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){margin-left:auto;margin-right:auto}
  .builder-block[data-block-align-mobile="center"] :is(.hero-actions,.final-grid,.comparison-action,.buttons-block-actions){justify-content:center}
  .builder-block[data-block-align-mobile="right"] :is(.section-heading,.hero-copy,.text-media-copy,.inline-form-copy,.quote-inner,.buttons-block,.hero-centered-inner,.checklist-copy,.rich-text-block){margin-left:auto;margin-right:0}
  .builder-block[data-block-align-mobile="right"] :is(.hero-actions,.final-grid,.comparison-action,.buttons-block-actions){justify-content:flex-end}

  .builder-block[data-block-columns-mobile="1"] :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid){grid-template-columns:repeat(1,minmax(0,1fr))!important}
  .builder-block[data-block-columns-mobile="2"] :is(.feature-grid,.plans-grid,.stats-grid,.content-columns,.reviews-grid,.logos-grid,.gallery-grid,.team-grid,.contact-grid,.comparison-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .builder-block[data-block-mobile-order="normal"] :is(.hero-grid,.text-media-grid,.checklist-grid,.inline-form-grid)>*:first-child{order:1!important}
  .builder-block[data-block-mobile-order="normal"] :is(.hero-grid,.text-media-grid,.checklist-grid,.inline-form-grid)>*:nth-child(2){order:2!important}
  .builder-block[data-block-mobile-order="reverse"] :is(.hero-grid,.text-media-grid,.checklist-grid,.inline-form-grid)>*:first-child{order:2!important}
  .builder-block[data-block-mobile-order="reverse"] :is(.hero-grid,.text-media-grid,.checklist-grid,.inline-form-grid)>*:nth-child(2){order:1!important}

  .builder-block[data-block-mobile-buttons="full"] :is(.hero-actions,.buttons-block-actions,.comparison-action){display:grid;grid-template-columns:1fr;width:100%}
  .builder-block[data-block-mobile-buttons="full"] :is(.hero-actions,.buttons-block-actions,.comparison-action) .button,
  .builder-block[data-block-mobile-buttons="full"] .final-grid>.button{width:100%}
  .builder-block[data-block-mobile-buttons="auto"] :is(.hero-actions,.buttons-block-actions,.comparison-action) .button,
  .builder-block[data-block-mobile-buttons="auto"] .final-grid>.button{width:auto}
}

/* ===== UZEL 3.3.1 — managed image formats ===== */
.builder-block[data-image-ratio="square"]{--managed-image-ratio:1 / 1}
.builder-block[data-image-ratio="landscape_4_3"]{--managed-image-ratio:4 / 3}
.builder-block[data-image-ratio="landscape_3_2"]{--managed-image-ratio:3 / 2}
.builder-block[data-image-ratio="wide"]{--managed-image-ratio:16 / 9}
.builder-block[data-image-ratio="portrait"]{--managed-image-ratio:4 / 5}
.builder-block[data-image-ratio="portrait_3_4"]{--managed-image-ratio:3 / 4}
.builder-block[data-image-ratio="portrait_9_16"]{--managed-image-ratio:9 / 16}

/* Frames used by blocks with one main image. */
.builder-block[data-image-ratio]:not([data-image-ratio="default"]):not([data-image-ratio="original"])
:is(.hero-media,.text-media-image,.checklist-media,.team-photo){
  width:100%;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:var(--managed-image-ratio);
}

/* Banner itself is the image frame. */
.image-banner.builder-block[data-image-ratio]:not([data-image-ratio="default"]):not([data-image-ratio="original"]){
  min-height:0!important;
  aspect-ratio:var(--managed-image-ratio);
}

/* Gallery cards use the selected ratio for every image. */
.gallery-section.builder-block[data-image-ratio]:not([data-image-ratio="default"]):not([data-image-ratio="original"])
:is(.gallery-grid img,.gallery-grid .media-placeholder){
  width:100%;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:var(--managed-image-ratio)!important;
}

/* Original image proportions: remove the forced square/fixed-height frame. */
.builder-block[data-image-ratio="original"] :is(.hero-media,.text-media-image,.checklist-media,.team-photo){
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
}
.builder-block[data-image-ratio="original"] :is(.hero-media img,.text-media-image img,.checklist-media img,.team-photo img){
  width:100%;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
}
.gallery-section.builder-block[data-image-ratio="original"] :is(.gallery-grid img,.gallery-grid .media-placeholder){
  width:100%;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
}

/* Crop / fit mode. */
.builder-block[data-image-fit="cover"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){
  object-fit:cover!important;
}
.builder-block[data-image-fit="contain"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){
  object-fit:contain!important;
}

/* Focal point for cropped images. */
.builder-block[data-image-focus="center"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){object-position:center center!important}
.builder-block[data-image-focus="top"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){object-position:center top!important}
.builder-block[data-image-focus="bottom"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){object-position:center bottom!important}
.builder-block[data-image-focus="left"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){object-position:left center!important}
.builder-block[data-image-focus="right"] :is(.hero-media img,.text-media-image img,.checklist-media img,.image-banner>img,.gallery-grid img,.team-photo img){object-position:right center!important}

/* Keep the selected frame ratio even where legacy templates set a fixed image height. */
.builder-block[data-image-ratio]:not([data-image-ratio="default"]):not([data-image-ratio="original"])
:is(.hero-media img,.text-media-image img,.checklist-media img,.team-photo img){
  width:100%;
  height:100%!important;
  min-height:0!important;
}
