/* Explicit sizes only: unset values leave existing block styles untouched. */
@media (min-width: 768px) {
  section[data-dp-height-desktop="25"] { --dp-selected-height: 25vh; height: auto !important; min-height: 25vh !important; min-height: 25svh !important; box-sizing: border-box; }
  section[data-dp-height-desktop="50"] { --dp-selected-height: 50vh; height: auto !important; min-height: 50vh !important; min-height: 50svh !important; box-sizing: border-box; }
  section[data-dp-height-desktop="75"] { --dp-selected-height: 75vh; height: auto !important; min-height: 75vh !important; min-height: 75svh !important; box-sizing: border-box; }
  section[data-dp-height-desktop="100"] { --dp-selected-height: 100vh; height: auto !important; min-height: 100vh !important; min-height: 100svh !important; box-sizing: border-box; }
  section[data-dp-height-desktop="custom"] {
    --dp-selected-height: var(--dp-custom-height-desktop);
    height: auto !important;
    min-height: var(--dp-selected-height) !important;
    box-sizing: border-box;
  }
  .applications[data-dp-height-desktop] > .applications__main-row { min-height: inherit; }
}
@media (max-width: 767px) {
  section[data-dp-height-mobile="25"] { --dp-selected-height: 25vh; height: auto !important; min-height: 25vh !important; min-height: 25svh !important; box-sizing: border-box; }
  section[data-dp-height-mobile="50"] { --dp-selected-height: 50vh; height: auto !important; min-height: 50vh !important; min-height: 50svh !important; box-sizing: border-box; }
  section[data-dp-height-mobile="75"] { --dp-selected-height: 75vh; height: auto !important; min-height: 75vh !important; min-height: 75svh !important; box-sizing: border-box; }
  section[data-dp-height-mobile="100"] { --dp-selected-height: 100vh; height: auto !important; min-height: 100vh !important; min-height: 100svh !important; box-sizing: border-box; }
  section[data-dp-height-mobile="custom"] {
    --dp-selected-height: var(--dp-custom-height-mobile);
    height: auto !important;
    min-height: var(--dp-selected-height) !important;
    box-sizing: border-box;
  }
  .applications[data-dp-height-mobile] > .applications__main-row { min-height: inherit; }
}

/* Gutenberg does not start the Applications front-end carousel. Show its
 * first image as a stable editor preview instead of the grey fallback panel. */
.block-editor .acf-block-body .applications--editor-preview .applications__carousel {
  display: block !important;
  width: 100%;
  min-height: 420px;
  height: 100%;
}
.block-editor .acf-block-body .applications--editor-preview .applications__slide {
  display: none !important;
  min-height: 420px;
  height: 100%;
}
.block-editor .acf-block-body .applications--editor-preview .applications__slide:first-child {
  display: block !important;
}
.block-editor .acf-block-body .applications--editor-preview .applications__image {
  min-height: 420px;
  height: 100%;
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .hero[style*="--hero-height-mobile"],
  .hero[style*="--hero-height-mobile"] .hero__carousel,
  .hero[style*="--hero-height-mobile"] .slick-list,
  .hero[style*="--hero-height-mobile"] .slick-track,
  .hero[style*="--hero-height-mobile"] .hero__banner {
    height: var(--hero-height-mobile) !important;
  }
}

@media (min-width: 768px) {
  section.hero[data-dp-height-desktop],
  section.hero[data-dp-height-desktop] .hero__carousel,
  section.hero[data-dp-height-desktop] .slick-list,
  section.hero[data-dp-height-desktop] .slick-track,
  section.hero[data-dp-height-desktop] .hero__banner {
    height: var(--dp-selected-height) !important;
    min-height: 0 !important;
  }
}
@media (max-width: 767px) {
  section.hero[data-dp-height-mobile],
  section.hero[data-dp-height-mobile] .hero__carousel,
  section.hero[data-dp-height-mobile] .slick-list,
  section.hero[data-dp-height-mobile] .slick-track,
  section.hero[data-dp-height-mobile] .hero__banner {
    height: var(--dp-selected-height) !important;
    min-height: 0 !important;
  }
}


/* Hidden unless the new Applications Auto/fit-image layout is selected. */
.applications__scaled-image { display: none; }

/* Applications layout controls: opt-in, independent per device. */
@media (min-width: 768px) {
  .applications[data-dp-applications-row-desktop="custom"] { --dp-applications-row-height: var(--dp-applications-row-desktop); }
  .applications[data-dp-applications-row-desktop="custom"] > .applications__main-row {
    min-height: var(--dp-applications-row-height);
    height: auto;
  }
  .applications[data-dp-applications-spacing-desktop] {
    padding-top: 0;
    padding-bottom: 0;
  }
  .applications.block--padding-top[data-dp-applications-spacing-desktop] {
    padding-top: var(--dp-applications-padding-desktop);
  }
  .applications.block--padding-bottom[data-dp-applications-spacing-desktop] {
    padding-bottom: var(--dp-applications-padding-desktop);
  }
  .applications[data-dp-applications-spacing-desktop] .applications__content {
    padding-top: 0;
    padding-bottom: 0;
  }
  .applications[data-dp-applications-spacing-desktop] .applications__content > :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .applications[data-dp-applications-spacing-desktop] .applications__text {
    padding-top: var(--dp-applications-gap-desktop);
    padding-bottom: 0;
    margin: 0;
  }
  .applications[data-dp-applications-spacing-desktop] .applications__text > :last-child {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .applications[data-dp-applications-spacing-desktop] .applications__box {
    padding-top: var(--dp-applications-gap-desktop);
    padding-bottom: 0;
  }
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__main-col--images {
    position: relative;
    display: block;
    background-color: #fff;
    min-height: 0;
  }
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__carousel,
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .slick-list,
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .slick-track,
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .slick-slide,
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .slick-slide > div,
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__slide,
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__image {
    height: 100% !important;
    min-height: 0 !important;
  }
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__carousel {
    position: absolute;
    inset: 0;
    width: 100%;
  }
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background-image: none !important;
  }
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .applications__scaled-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .applications[data-dp-applications-row-desktop="custom"][data-dp-applications-fit-image="1"] .slick-dots { bottom: 8px; }
  .applications[data-dp-applications-row-desktop="custom"] > .applications__main-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .applications[data-dp-applications-row-desktop="custom"] > .applications__main-row > .applications__main-col {
    width: auto;
    max-width: none;
    min-width: 0;
  }
}
@media (max-width: 767px) {
  .applications[data-dp-applications-row-mobile="custom"] { --dp-applications-row-height: var(--dp-applications-row-mobile); }
  .applications[data-dp-applications-row-mobile="custom"] > .applications__main-row {
    min-height: var(--dp-applications-row-height);
    height: auto;
  }
  .applications[data-dp-applications-spacing-mobile] {
    padding-top: 0;
    padding-bottom: 0;
  }
  .applications.block--padding-top[data-dp-applications-spacing-mobile] {
    padding-top: var(--dp-applications-padding-mobile);
  }
  .applications.block--padding-bottom[data-dp-applications-spacing-mobile] {
    padding-bottom: var(--dp-applications-padding-mobile);
  }
  .applications[data-dp-applications-spacing-mobile] .applications__content {
    padding-top: 0;
    padding-bottom: 0;
  }
  .applications[data-dp-applications-spacing-mobile] .applications__content > :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .applications[data-dp-applications-spacing-mobile] .applications__text {
    padding-top: var(--dp-applications-gap-mobile);
    padding-bottom: 0;
    margin: 0;
  }
  .applications[data-dp-applications-spacing-mobile] .applications__text > :last-child {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .applications[data-dp-applications-spacing-mobile] .applications__box {
    padding-top: var(--dp-applications-gap-mobile);
    padding-bottom: 0;
  }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__main-col--images {
    position: relative;
    display: block;
    background-color: #fff;
    min-height: 0;
  }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__carousel,
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .slick-list,
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .slick-track,
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .slick-slide,
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .slick-slide > div,
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__slide,
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__image {
    height: 100% !important;
    min-height: 0 !important;
  }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__carousel {
    position: absolute;
    inset: 0;
    width: 100%;
  }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background-image: none !important;
  }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__scaled-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .slick-dots { bottom: 8px; }
  .applications[data-dp-applications-row-mobile="custom"] > .applications__main-row { min-height: 0; }
  .applications[data-dp-applications-row-mobile="custom"][data-dp-applications-fit-image="1"] .applications__main-col--images { height: var(--dp-applications-row-height); }
}

@media (min-width: 768px) {
  .applications[data-dp-applications-row-desktop="auto"] > .applications__main-row { min-height: 0; height: auto; }
  .applications[data-dp-applications-row-desktop="auto"] .applications__main-col--images { background-color: #fff; display: flex; align-items: center; }
  .applications[data-dp-applications-row-desktop="auto"] .applications__carousel { position: relative; width: 100%; }
  .applications[data-dp-applications-row-desktop="auto"] .applications__carousel,
  .applications[data-dp-applications-row-desktop="auto"] .slick-list,
  .applications[data-dp-applications-row-desktop="auto"] .slick-track,
  .applications[data-dp-applications-row-desktop="auto"] .slick-slide,
  .applications[data-dp-applications-row-desktop="auto"] .slick-slide > div,
  .applications[data-dp-applications-row-desktop="auto"] .applications__slide,
  .applications[data-dp-applications-row-desktop="auto"] .applications__image,
  .applications.applications--editor-preview[data-dp-applications-row-desktop="auto"] .applications__carousel,
  .applications.applications--editor-preview[data-dp-applications-row-desktop="auto"] .applications__slide,
  .applications.applications--editor-preview[data-dp-applications-row-desktop="auto"] .applications__image {
    height: auto !important;
    min-height: 0 !important;
  }
  .applications[data-dp-applications-row-desktop="auto"] .applications__image {
    padding: 0;
    background-image: none !important;
    display: flex;
    justify-content: center;
  }
  .applications[data-dp-applications-row-desktop="auto"] .applications__scaled-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .applications[data-dp-applications-row-mobile="auto"] > .applications__main-row { min-height: 0; height: auto; }
  .applications[data-dp-applications-row-mobile="auto"] .applications__main-col--images { background-color: #fff; display: flex; align-items: center; }
  .applications[data-dp-applications-row-mobile="auto"] .applications__carousel { position: relative; width: 100%; }
  .applications[data-dp-applications-row-mobile="auto"] .applications__carousel,
  .applications[data-dp-applications-row-mobile="auto"] .slick-list,
  .applications[data-dp-applications-row-mobile="auto"] .slick-track,
  .applications[data-dp-applications-row-mobile="auto"] .slick-slide,
  .applications[data-dp-applications-row-mobile="auto"] .slick-slide > div,
  .applications[data-dp-applications-row-mobile="auto"] .applications__slide,
  .applications[data-dp-applications-row-mobile="auto"] .applications__image,
  .applications.applications--editor-preview[data-dp-applications-row-mobile="auto"] .applications__carousel,
  .applications.applications--editor-preview[data-dp-applications-row-mobile="auto"] .applications__slide,
  .applications.applications--editor-preview[data-dp-applications-row-mobile="auto"] .applications__image {
    height: auto !important;
    min-height: 0 !important;
  }
  .applications[data-dp-applications-row-mobile="auto"] .applications__image {
    padding: 0;
    background-image: none !important;
    display: flex;
    justify-content: center;
  }
  .applications[data-dp-applications-row-mobile="auto"] .applications__scaled-image {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}


/* Default spacing preserves the existing content-only padding on each device. */
@media (min-width: 768px) {
  section.applications:not([data-dp-applications-spacing-desktop]) { padding-top: 0; padding-bottom: 0; }
  section.applications[data-dp-applications-spacing-desktop] { background-color: #fff; }
}
@media (max-width: 767px) {
  section.applications:not([data-dp-applications-spacing-mobile]) { padding-top: 0; padding-bottom: 0; }
  section.applications[data-dp-applications-spacing-mobile] { background-color: #fff; }
}
