/*----- SIMPLE CONTENT - Open -----*/

/*
 * Grid: collapse ER field wrappers so .views-row is the grid item.
 * Stable9 field.html.twig (multiple): .view-apb-simple-content > div > div > .views-row
 * (same pattern as apb_pb_feature_box .apb-fb-grid > div { display: contents }).
 */
.paragraph--type--apb-pb-simple-content .view-apb-simple-content {
  display: grid;
  width: 100%;
}

.paragraph--type--apb-pb-simple-content .view-apb-simple-content > div,
.paragraph--type--apb-pb-simple-content .view-apb-simple-content > div > div,
.paragraph--type--apb-pb-simple-content .view-apb-simple-content .field,
.paragraph--type--apb-pb-simple-content .view-apb-simple-content .field__items,
.paragraph--type--apb-pb-simple-content .view-apb-simple-content .field__item {
  display: contents;
}

.paragraph--type--apb-pb-simple-content .view-apb-simple-content > .views-row,
.paragraph--type--apb-pb-simple-content .view-apb-simple-content .views-row {
  min-width: 0;
}

/* Grid column span (Twig inline style + utility classes). */
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content
  .views-row.apb-sc-col-full {
  grid-column: 1 / -1 !important;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content
  .views-row.apb-sc-col-span-2 {
  grid-column: span 2 !important;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content
  .views-row.apb-sc-col-span-3 {
  grid-column: span 3 !important;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content
  .views-row.apb-sc-col-span-4 {
  grid-column: span 4 !important;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content
  .views-row.apb-sc-col-span-5 {
  grid-column: span 5 !important;
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-1 {
  grid-template-columns: 1fr;
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}
.paragraph--type--apb-pb-simple-content .view-apb-simple-content.apb-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-10 {
  grid-template-columns: repeat(10, 1fr);
}

/*
 * Column grid template (field_apb_sc_template_tx): fr-track widths per v1 apb-runtime.css.
 * Must use .view-apb-simple-content + .apb-columns-N + .apb-{template} to beat equal-column rules above.
 */
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-2.apb-33_67_for_2_cols {
  grid-template-columns: 1fr 2fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-2.apb-67_33_for_2_cols {
  grid-template-columns: 2fr 1fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-2.apb-60_40_for_2_cols {
  grid-template-columns: 3fr 2fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-2.apb-40_60_for_2_cols {
  grid-template-columns: 2fr 3fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-2.apb-75_25_for_2_cols {
  grid-template-columns: 3fr 1fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-2.apb-25_75_for_2_cols {
  grid-template-columns: 1fr 3fr;
}

.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-3.apb-25_25_50_for_3_cols {
  grid-template-columns: 1fr 1fr 2fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-3.apb-50_25_25_for_3_cols {
  grid-template-columns: 2fr 1fr 1fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-3.apb-25_50_25_for_3_cols {
  grid-template-columns: 1fr 2fr 1fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-3.apb-20_40_40_for_3_cols {
  grid-template-columns: 1fr 2fr 2fr;
}

.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-4.apb-33_22_22_22_for_4_cols {
  grid-template-columns: 2fr 1fr 1fr 1fr;
}
.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content.apb-columns-4.apb-22_22_22_33_for_4_cols {
  grid-template-columns: 1fr 1fr 1fr 2fr;
}

@media (max-width: 767px) {
  .paragraph--type--apb-pb-simple-content
    .view-apb-simple-content[class*="apb-columns-"] {
    grid-template-columns: 1fr !important;
  }
}

.paragraph--type--apb-pb-simple-content .apb-sc-images-landscape img,
.paragraph--type--apb-pb-simple-content .apb-sc-images-portrait img,
.paragraph--type--apb-pb-simple-content .apb-sc-images-square img,
.paragraph--type--apb-pb-simple-content .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
}

/* Intro + item body: normal copy (not section-title scale/weight). */
.paragraph--type--apb-pb-simple-content .apb-sc-intro,
.paragraph--type--apb-pb-simple-content .apb-sc-body-wrapper {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}

.paragraph--type--apb-pb-simple-content .apb-sc-intro {
  margin-bottom: 1.5rem;
}

.paragraph--type--apb-pb-simple-content .apb-sc-intro p:last-child,
.paragraph--type--apb-pb-simple-content .apb-sc-body-wrapper p:last-child {
  margin-bottom: 0;
}

.paragraph--type--apb-pb-simple-content
  .view-apb-simple-content
  .views-row.apb-sc-customized {
  border-radius: 6px;
}

/* Region items: anchor div only (no visible row chrome). */
.paragraph--type--apb-pb-simple-content .views-row.apb-sc-region-anchor {
  min-height: 0;
  padding: 0;
}

/* Section background: image/color on full paragraph (title + intro + grid). */
#apb-wrapper .paragraph--type--apb-pb-simple-content.sb-type-section {
  position: relative;
  overflow: clip;
}
/* Full-bleed bg layer extends past content box; do not clip it. */
#apb-wrapper
  .paragraph--type--apb-pb-simple-content.sb-type-section.apb-sc-section-bg-full-width {
  overflow: visible;
}
#apb-wrapper .sb-type-section > .apb-section-title,
#apb-wrapper .sb-type-section > .apb-sc-intro,
#apb-wrapper .sb-type-section > .views-element-container {
  position: relative;
  z-index: 1;
}
#apb-wrapper .sb-type-section > .simpleParallax,
#apb-wrapper .sb-type-section > .apb-sc-section-bg-layer .simpleParallax {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
  pointer-events: none;
}

/* Force full width: only the background layer (color/image), not title/intro/grid. */
#apb-wrapper
  .sb-type-section.apb-sc-section-bg-full-width
  > .apb-sc-section-bg-layer {
  bottom: 0;
  height: 100%;
  left: 50%;
  margin-left: -50vw;
  min-height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: 0;
}
#apb-wrapper
  .sb-type-section.apb-sc-section-bg-full-width
  > .apb-sc-section-bg-layer.apb-sb-parallax-container {
  overflow: hidden;
}
#apb-wrapper .sb-type-section .views-element-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
#apb-wrapper .view-apb-simple-content .views-row {
  overflow: visible;
  z-index: 1 !important;
  min-width: 0;
}
#apb-wrapper .view-apb-simple-content .views-row.apb-simple-background {
  overflow: clip;
}
#apb-wrapper .view-apb-simple-content .splide {
  width: 100% !important;
}
#apb-wrapper .view-apb-simple-content .splide__slide {
  margin: 0 !important;
  padding: 0 !important;
}
#apb-wrapper .view-apb-simple-content .splide__slide::before {
  display: none !important;
}
#apb-wrapper .view-apb-simple-content .splide__slide img {
  width: 100% !important;
  height: auto !important;
}
#apb-wrapper .view-apb-simple-content .apb-sc-customized {
  border-radius: 6px;
}
#apb-wrapper .view-apb-simple-content .apb-sc-body-wrapper p:last-child {
  margin-bottom: 0 !important;
}
/*----- SIMPLE CONTENT - Close -----*/
#apb-wrapper
  .sb-type-content.apb-sb-parallax-container
  > .view-apb-simple-content,
#apb-wrapper .apb-sb-parallax-container.views-row {
  position: relative;
  z-index: 1;
}
#apb-wrapper .simpleParallax {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
#apb-wrapper .simpleParallax img {
  display: block !important;
  margin: 0 !important;
}

/* Smart positioning for mixed content scenarios */
#apb-wrapper .apb-sb-mixed-content {
  overflow: clip;
}

#apb-wrapper .apb-sb-mixed-content .simpleParallax {
  z-index: 0;
}

/* Ensure parallax backgrounds don't interfere with content */
#apb-wrapper .sb-type-content .apb-simple-background .simpleParallax {
  z-index: 0 !important;
}

#apb-wrapper .sb-type-section .apb-simple-background .simpleParallax {
  z-index: 0;
}

/* Title, intro, and grid stay in the content column when section bg is full width. */
#apb-wrapper
  .paragraph--type--apb-pb-simple-content.sb-type-section
  > .apb-section-title,
#apb-wrapper
  .paragraph--type--apb-pb-simple-content.sb-type-section
  > .apb-sc-intro,
#apb-wrapper
  .paragraph--type--apb-pb-simple-content.sb-type-section
  > .views-element-container {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1270px;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
}

#apb-wrapper
  .paragraph--type--apb-pb-simple-content.sb-type-section
  > .views-element-container
  .view-apb-simple-content {
  padding-left: 0;
  padding-right: 0;
}

/* Items background: color/image on .view-apb-simple-content only (not title/intro). */
#apb-wrapper .apb-sc-items-bg-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
#apb-wrapper .view-apb-simple-content.sb-type-items {
  position: relative;
  overflow: clip;
  width: 100%;
  box-sizing: border-box;
}
#apb-wrapper .views-element-container.apb-sc-items-bg-full-width {
  overflow: visible;
}
#apb-wrapper
  .views-element-container.apb-sc-items-bg-full-width
  > .apb-sc-items-bg-layer {
  bottom: 0;
  height: 100%;
  left: 50%;
  margin-left: -50vw;
  min-height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: 0;
}
#apb-wrapper
  .views-element-container.apb-sc-items-bg-full-width
  > .apb-sc-items-bg-layer.apb-sb-parallax-container {
  overflow: hidden;
}
#apb-wrapper
  .view-apb-simple-content.sb-type-items
  > .views-row:not(.apb-setup) {
  position: relative;
  z-index: 1;
}
#apb-wrapper .view-apb-simple-content.sb-type-items > .simpleParallax,
#apb-wrapper
  .view-apb-simple-content.sb-type-items
  > .apb-sc-items-bg-layer
  .simpleParallax,
#apb-wrapper .views-element-container > .apb-sc-items-bg-layer .simpleParallax {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
  pointer-events: none;
}
#apb-wrapper .sb-type-items .apb-simple-background .simpleParallax {
  z-index: 0;
}

/*----- ALIGN ITEMS - Open -----*/
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide img,
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide .apb-sc-image,
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide .splide__slide,
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide .splide__list,
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide .splide__track,
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide {
  height: 100% !important;
}
#apb-wrapper .apb-align-items-stretch .apb-sc-row-image .splide img {
  object-fit: cover;
  object-position: top center;
  width: 100% !important;
}

/*----- ALIGN ITEMS - Close -----*/
