/**
 * Lightnest Component CSS Overrides
 *
 * This file contains customizations that were previously made directly to Lightnest
 * component CSS files. These overrides are preserved here to prevent them from being
 * lost during Lightnest upgrades.
 *
 * Components customized:
 * - dsu_c_image (Image Component)
 * - dsu_c_externalvideo (External Video Component)
 * - dsu_c_sideimagetext (Side Image Text Component)
 * - ln_c_cardgrid (Card Grid Component)
 *
 * Created: 2025-10-21
 * Last Updated: 2025-10-21
 */

/* ========================================================================
   DSU_C_IMAGE COMPONENT OVERRIDES
   ======================================================================== */

.paragraph--type--c-image {
  --color_light_image: #fff;
  --color_dark_image: #333;
  position: relative;
  text-align: left;
  color: var(--color_light_image);
}
.paragraph--type--c-image .background-image-container {
  position: relative;
}
.paragraph--type--c-image .field--type-entity-reference {
  margin: 0;
}
.paragraph--type--c-image .field--type-image {
  float: none;
  margin: 0;
}
/* .paragraph--type--c-image .field--name-field-c-image img {
  display: block;
  margin: 0 auto;
  height: auto;
  width: 100%;
} */
.paragraph--type--c-image .position-container {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 90%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
}
.paragraph--type--c-image .text-container {
  position: relative;
  max-width: 100%;
  /* max-width: 55%; */
  /* margin: 2rem; */
  margin: 0 auto;
  padding: 0 20px;
}
/* .paragraph--type--c-image .text-container .field--name-field-c-advanced-title,
.paragraph--type--c-image .text-container .field--name-field-c-advanced-subtitle {
  padding-bottom: 1rem;
} */

.paragraph--type--c-image .text-container:before {
  display: none;
}

.paragraph--type--c-image.vertical_top .position-container, .paragraph--type--c-image.vertical_middle .position-container, .paragraph--type--c-image.vertical_bottom .position-container {
  max-width: 75rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  display: flex;
}
.paragraph--type--c-image.vertical_top .text-container, .paragraph--type--c-image.vertical_middle .text-container, .paragraph--type--c-image.vertical_bottom .text-container {
  position: relative;
  max-width: 55%;
  margin: 2rem;
  padding: 2rem;
}
.paragraph--type--c-image.vertical_top .position-container {
  align-items: flex-start;
}
.paragraph--type--c-image.vertical_middle .position-container {
  align-items: center;
}
.paragraph--type--c-image.vertical_bottom .position-container {
  align-items: flex-end;
}
.paragraph--type--c-image.horizontal_position_left .position-container {
  justify-content: flex-start;
  text-align: left;
}
.paragraph--type--c-image.horizontal_position_center .position-container {
  justify-content: center;
  text-align: center;
}
.paragraph--type--c-image.horizontal_position_right .position-container {
  justify-content: flex-end;
  text-align: right;
}
/* --- C-IMAGE HERO MOBILE: add bottom padding so title clears the search bar --- */
@media (max-width: 767px) {
  .paragraph--type--c-image .position-container {
    padding-bottom: 40px;
  }
}

.paragraph--type--c-image.dark-text {
  color: var(--color_dark_image);
}
.paragraph--type--c-image.dark-text .text-container:before {
  background: var(--color_light_image);
}
.paragraph--type--c-image.white-text {
  color: var(--color_light_image);
}
.paragraph--type--c-image.white-text .text-container:before {
  background: var(--color_dark_image);
}

/* ========================================================================
   DSU_C_EXTERNALVIDEO COMPONENT OVERRIDES
   ======================================================================== */

body.open-video-modal {
    overflow: hidden; }

  .paragraph--type--c-externalvideo {
    margin-bottom: 10px;
    height: 100%; }
    .paragraph--type--c-externalvideo .field--name-field-c-video-url {
      position: relative; }
      .paragraph--type--c-externalvideo .field--name-field-c-video-url:hover {
        cursor: pointer; }
    .paragraph--type--c-externalvideo .video-embed-field-launch-modal {
      position: relative;
      width: 100%;
      display: block !important; }
      .paragraph--type--c-externalvideo .video-embed-field-launch-modal img {
        width: 100%; }
    .paragraph--type--c-externalvideo button.video-embed-field-lazy-play {
      border: 0; }
    .paragraph--type--c-externalvideo .video-embed-field-lazy {
      display: block !important; }

  #cboxOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1e1e1e;
    overflow: visible;
    z-index: 999; }

  #colorbox {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    outline: 0;
    overflow: visible;
    z-index: 1000; }

  #cboxWrapper {
    background: transparent;
    overflow: visible;
    position: relative;
    top: 4%;
    border-radius: 5px;
    z-index: 9999; }

  #cboxTopLeft {
    width: 15px;
    height: 15px; }

  #cboxTopCenter {
    height: 15px; }

  #cboxTopRight {
    width: 15px;
    height: 15px; }

  #cboxMiddleLeft {
    width: 15px; }

  #cboxContent {
    overflow: visible;
    background: unset; }

  #cboxLoadedContent {
    margin-bottom: 28px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box; }
    #cboxLoadedContent .video-embed-field-provider-youtube {
      position: relative;
      height: 100%;
      overflow: hidden; }

  .video-embed-field-responsive-video iframe {
    width: calc(100% - 30px);
    margin: 0 auto; }

  #cboxTitle {
    position: absolute;
    background: rgba(255, 255, 255, 0.7);
    bottom: 28px;
    left: 0;
    color: #535353;
    width: 100%;
    padding: 4px 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

  #cboxCurrent {
    position: absolute;
    bottom: 4px;
    left: 60px;
    color: #949494; }

  #cboxClose {
    position: absolute;
    right: -15px;
    top: -25px;
    background: none;
    background-color: #1e1e1e;
    border-radius: 100%;
    cursor: pointer;
    width: 40px;
    height: 40px;
    outline: none;
    padding: 0px;
    text-indent: inherit; }

  #cboxClose:before {
    content: "x";
    font-size: 26px;
    font-weight: 600px;
    color: #FFF;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -54%);
        -ms-transform: translate(-50%, -54%);
            transform: translate(-50%, -54%);
    left: 50%; }

  #cboxMiddleRight {
    width: 15px; }

  #cboxBottomLeft {
    width: 15px;
    height: 10px; }

  #cboxBottomCenter {
    height: 10px; }

  #cboxBottomRight {
    width: 15px;
    height: 10px; }

/* ========================================================================
   DSU_C_SIDEIMAGETEXT COMPONENT OVERRIDES
   ======================================================================== */

.paragraph--type--c-sideimagetext {
  --color_light_sideimagetext: #fff;
  --color_dark_sideimagetext: #333;
}
.paragraph--type--c-sideimagetext .position-container {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
}
.paragraph--type--c-sideimagetext .position-container .wrapper-img-section,
.paragraph--type--c-sideimagetext .position-container .wrapper-text-section {
  padding: 0;
  flex: 1;
}
.paragraph--type--c-sideimagetext .wrapper-img-section .field--name-field-c-image {
  margin: 0;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 500px;
}
.paragraph--type--c-sideimagetext .wrapper-img-section .field--name-field-c-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.paragraph--type--c-sideimagetext .wrapper-text-section .text-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
  padding: 70px;
}
.paragraph--type--c-sideimagetext.image-right .position-container {
  flex-direction: row-reverse;
}
.paragraph--type--c-sideimagetext.dark-text .wrapper-text-section {
  color: var(--color_dark_sideimagetext);
  background-color: var(--color_light_sideimagetext);
}
.paragraph--type--c-sideimagetext.dark-text p, .paragraph--type--c-sideimagetext.dark-text span, .paragraph--type--c-sideimagetext.dark-text h1, .paragraph--type--c-sideimagetext.dark-text h2, .paragraph--type--c-sideimagetext.dark-text h3, .paragraph--type--c-sideimagetext.dark-text h4, .paragraph--type--c-sideimagetext.dark-text h5, .paragraph--type--c-sideimagetext.dark-text h6 {
  color: var(--color_dark_sideimagetext);
}
.paragraph--type--c-sideimagetext.white-text .wrapper-text-section {
  color: var(--color_light_sideimagetext);
  background-color: var(--color_dark_sideimagetext);
}
.paragraph--type--c-sideimagetext.white-text p, .paragraph--type--c-sideimagetext.white-text span, .paragraph--type--c-sideimagetext.white-text h1, .paragraph--type--c-sideimagetext.white-text h2, .paragraph--type--c-sideimagetext.white-text h3, .paragraph--type--c-sideimagetext.white-text h4, .paragraph--type--c-sideimagetext.white-text h5, .paragraph--type--c-sideimagetext.white-text h6 {
  color: var(--color_light_sideimagetext);
}
.paragraph--type--c-sideimagetext.vertical_top .text-container {
  justify-content: flex-start;
}
.paragraph--type--c-sideimagetext.vertical_middle .text-container {
  justify-content: center;
}
.paragraph--type--c-sideimagetext.vertical_bottom .text-container {
  justify-content: flex-end;
}
.paragraph--type--c-sideimagetext.horizontal_position_left .text-container {
  align-items: flex-start;
  text-align: left;
}
.paragraph--type--c-sideimagetext.horizontal_position_center .text-container {
  align-items: center;
  text-align: center;
}
.paragraph--type--c-sideimagetext.horizontal_position_right .text-container {
  align-items: flex-end;
  text-align: right;
}

/* --- SIDEIMAGETEXT MOBILE: stack image on top, text below --- */
@media (max-width: 767px) {
  .paragraph--type--c-sideimagetext .position-container {
    flex-wrap: wrap;
    flex-direction: row;
  }
  .paragraph--type--c-sideimagetext .position-container .wrapper-img-section,
  .paragraph--type--c-sideimagetext .position-container .wrapper-text-section {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  .paragraph--type--c-sideimagetext .wrapper-img-section .field--name-field-c-image {
    min-height: 250px;
  }
  .paragraph--type--c-sideimagetext .wrapper-text-section .text-container {
    padding: 30px 20px;
    height: auto;
  }
}

/* ========================================================================
   COLOR BLOCK VARIANT - c_sideimagetext
   Usage: Add "color-block" plus a color class to the paragraph's custom
   classes field. Example: "color-block cb-blue"
   Colors: cb-blue, cb-teal, cb-purple, cb-orange
   ======================================================================== */

.paragraph--type--c-sideimagetext.color-block .position-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 0 !important;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-img-section {
  flex: 0 0 40% !important;
  max-width: 40% !important;
  width: 40% !important;
  padding: 0 !important;
  position: relative;
  z-index: 1;
  min-height: 400px;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-img-section img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section {
  flex: 0 0 calc(60% + 44px) !important;
  max-width: calc(60% + 44px) !important;
  width: calc(60% + 44px) !important;
  padding: 0 !important;
  position: relative;
  z-index: 10;
  margin-left: -44px;
  border-radius: 44px 0 0 0;
  overflow: hidden;
}

.paragraph--type--c-sideimagetext.color-block.image-right .wrapper-text-section {
  margin-left: 0;
  margin-right: -44px;
  border-radius: 0 44px 0 0;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container {
  padding: 60px 80px !important;
  justify-content: center;
  height: auto;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .field--name-field-media-image,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .field--type-image {
  float: none !important;
  display: block;
  clear: both;
  max-width: 250px;
  margin-bottom: 10px;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .field--name-field-media-image img,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .field--type-image img {
  max-width: 250px;
  width: auto;
  height: auto;
  float: none !important;
  display: block;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section p,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section span,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section h1,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section h2,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section h3,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section h4,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section h5,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section h6,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section em {
  color: #fff;
}

.paragraph--type--c-sideimagetext.cb-blue .wrapper-text-section {
  background-color: #127db8;
}

.paragraph--type--c-sideimagetext.cb-teal .wrapper-text-section {
  background-color: #11818e;
}

.paragraph--type--c-sideimagetext.cb-purple .wrapper-text-section {
  background-color: #8e4896;
}

.paragraph--type--c-sideimagetext.cb-orange .wrapper-text-section {
  background-color: #bc592f;
}

/* White pill button for CTA links inside color blocks (e.g. Read More).
   Markup: div.dsu_btn > div.btn.image_cta_link > a. The .btn div is the
   visible button; dsu_cta_link is included for CTAs added via link fields. */
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.image_cta_link,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.dsu_cta_link {
  display: inline-block;
  background-color: #fff;
  border: none;
  border-radius: 5px;
  padding: 14px 34px;
  color: #127db8;
  line-height: 22px;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.image_cta_link a,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.dsu_cta_link a {
  color: #127db8;
  text-decoration: none;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.image_cta_link:hover,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.image_cta_link:focus-within,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.dsu_cta_link:hover,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.dsu_cta_link:focus-within {
  background-color: transparent;
  outline: 2px solid #fff;
}

.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.image_cta_link:hover a,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.image_cta_link:focus-within a,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.dsu_cta_link:hover a,
.paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container .btn.dsu_cta_link:focus-within a {
  color: #fff;
}

@media (max-width: 767px) {
  .paragraph--type--c-sideimagetext.color-block .position-container {
    flex-wrap: wrap !important;
    flex-direction: row !important;
  }
  .paragraph--type--c-sideimagetext.color-block .wrapper-img-section,
  .paragraph--type--c-sideimagetext.color-block .wrapper-text-section {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .paragraph--type--c-sideimagetext.color-block .wrapper-img-section {
    min-height: 260px;
  }
  .paragraph--type--c-sideimagetext.color-block .wrapper-text-section,
  .paragraph--type--c-sideimagetext.color-block.image-right .wrapper-text-section {
    border-radius: 40px 0 0 0;
    margin-top: -35px;
  }
  .paragraph--type--c-sideimagetext.color-block .wrapper-text-section .text-container {
    padding: 40px 20px !important;
  }
}

/* ========================================================================
   LN_C_CARDGRID COMPONENT OVERRIDES
   ======================================================================== */

.paragraph--type--ln-c-cardgrid {
  --color_light_card: #fff;
  --color_dark_card: #333;
}
@media (min-width: 768px) {
  .paragraph--type--ln-c-cardgrid .field--name-field-c-subitems {
    display: flex;
  }
  .paragraph--type--ln-c-cardgrid .field--name-field-c-subitems > .field__item {
    flex: 1;
  }
}
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item {
  height: 100%;
}
@media (min-width: 768px) {
  .paragraph--type--ln-c-cardgrid.ln-layout-1-col .field--name-field-c-subitems {
    flex-wrap: wrap;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-1-col .field--name-field-c-subitems > .field__item {
    flex: 1 100%;
    width: 100%;
    max-width: 100%;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-2-col .field--name-field-c-subitems {
    flex-wrap: wrap;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-2-col .field--name-field-c-subitems > .field__item {
    flex: 1 50%;
    width: 50%;
    max-width: 50%;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-3-col .field--name-field-c-subitems {
    flex-wrap: wrap;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-3-col .field--name-field-c-subitems > .field__item {
    flex: 1 33.333333%;
    width: 33.333333%;
    max-width: 33.333333%;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-4-col .field--name-field-c-subitems {
    flex-wrap: wrap;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-4-col .field--name-field-c-subitems > .field__item {
    flex: 1 25%;
    width: 25%;
    max-width: 25%;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-5-col .field--name-field-c-subitems {
    flex-wrap: wrap;
  }
  .paragraph--type--ln-c-cardgrid.ln-layout-5-col .field--name-field-c-subitems > .field__item {
    flex: 1 20%;
    width: 20%;
    max-width: 20%;
  }
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .field--name-field-c-subitems, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .field--name-field-c-subitems, .paragraph--type--ln-c-cardgrid.viewmode--full-color-box .field--name-field-c-subitems {
  margin: 0 -10px;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .field--name-field-c-subitems > .field__item, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .field--name-field-c-subitems > .field__item, .paragraph--type--ln-c-cardgrid.viewmode--full-color-box .field--name-field-c-subitems > .field__item {
  padding: 0 10px;
}
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item .field--name-field-c-advanced-subtitle {
  margin-top: 0.5rem;
}
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item .field--name-field-c-text {
  margin-top: 1.2rem;
}
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item .text-container {
  display: flex;
  flex-direction: column;
}
.paragraph--type--ln-c-cardgrid:not(.viewmode--full-color-box) .field--name-field-c-image {
  margin: 0;
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 70%;
}
.paragraph--type--ln-c-cardgrid:not(.viewmode--full-color-box) .field--name-field-c-image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .paragraph--type--ln-c-grid-card-item {
  height: 100%;
  background-color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .wrapper-text-section {
  padding: 45px;
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.dark-text .paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.dark-text.paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.white-text .dark-text .paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.white-text .dark-text.paragraph--type--ln-c-grid-card-item,
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .dark-text .paragraph--type--ln-c-grid-card-item,
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .dark-text.paragraph--type--ln-c-grid-card-item {
  background: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .dark-text .wrapper-text-section {
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.white-text .paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.white-text.paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.dark-text .white-text .paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.dark-text .white-text.paragraph--type--ln-c-grid-card-item,
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .white-text .paragraph--type--ln-c-grid-card-item,
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .white-text.paragraph--type--ln-c-grid-card-item {
  background: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--bottom-text-box .white-text .wrapper-text-section {
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .wrapper-img-section .field--name-field-c-image, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .wrapper-img-section .field--name-field-c-image {
  border-radius: 5px;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .wrapper-text-section {
  padding: 0 20px;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .dark-text .wrapper-text-section {
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .white-text .wrapper-text-section {
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .wrapper-text-section {
  margin: 20px 0;
  padding: 0 20px;
  border-left: solid 1px;
  border-color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .dark-text .wrapper-text-section {
  border-color: var(--color_dark_card);
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card .white-text .wrapper-text-section {
  border-color: var(--color_light_card);
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .wrapper-text-section {
  position: relative;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .wrapper-text-section .text-container {
  margin-top: -2.2rem;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .wrapper-text-section .field--name-field-c-advanced-title {
  background: var(--color_dark_card);
  color: var(--color_light_card);
  border-radius: 5px;
  padding: 20px 25px;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .wrapper-text-section .field--name-field-c-advanced-title + .field {
  margin-top: 2rem;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.dark-text .wrapper-text-section .field--name-field-c-advanced-title, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.white-text .dark-text .wrapper-text-section .field--name-field-c-advanced-title,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .dark-text .wrapper-text-section .field--name-field-c-advanced-title {
  background: var(--color_dark_card);
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.white-text .wrapper-text-section .field--name-field-c-advanced-title, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.dark-text .white-text .wrapper-text-section .field--name-field-c-advanced-title,
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .white-text .wrapper-text-section .field--name-field-c-advanced-title {
  background: var(--color_light_card);
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box .paragraph--type--ln-c-grid-card-item {
  background: var(--color_dark_card);
  color: var(--color_light_card);
  text-align: center;
  border-radius: 5px;
  padding: 0;
}
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box .wrapper-img-section {
  width: 50%;
  margin: 0 auto;
}
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box .wrapper-img-section img {
  max-width: 100%;
  height: auto;
}
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box.dark-text, .paragraph--type--ln-c-cardgrid.viewmode--full-color-box.white-text .dark-text,
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box .dark-text {
  background: var(--color_light_card);
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box.white-text, .paragraph--type--ln-c-cardgrid.viewmode--full-color-box.dark-text .white-text,
.paragraph--type--ln-c-cardgrid.viewmode--full-color-box .white-text {
  background: var(--color_dark_card);
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item {
  position: relative;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section {
  position: absolute;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section .field--name-field-c-text,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section .field--name-field-c-link, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section .field--name-field-c-text,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section .field--name-field-c-link {
  display: none;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 65px;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section .text-container, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section .text-container, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section .text-container, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section .text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section .field--name-field-c-advanced-title,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section .field--name-field-c-advanced-subtitle, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section .field--name-field-c-advanced-title,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section .field--name-field-c-advanced-subtitle, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section .field--name-field-c-advanced-title,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:hover .wrapper-text-section .field--name-field-c-advanced-subtitle, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section .field--name-field-c-advanced-title,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:focus .wrapper-text-section .field--name-field-c-advanced-subtitle {
  display: none;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .wrapper-text-section {
  background: var(--color_dark_card);
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .dark-text .wrapper-text-section {
  background: var(--color_light_card);
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .white-text .wrapper-text-section {
  background: var(--color_dark_card);
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item {
  position: relative;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section {
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 25px 30px;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item {
  position: relative;
}
.paragraph--type--ln-c-cardgrid.viewmode--hover-card-box-profile .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .wrapper-text-section {
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  border-radius: 5px;
  padding: 20px 25px;
  text-align: center;
}
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card .paragraph--type--ln-c-grid-card-item {
  position: relative;
}
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .field--name-field-c-text,
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card .paragraph--type--ln-c-grid-card-item:not(:hover):not(:focus) .field--name-field-c-link {
  display: none;
}
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card .wrapper-text-section {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 25px 30px;
  background: var(--color_dark_card);
  color: var(--color_light_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card.dark-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--rollover-card.white-text .dark-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card .dark-text .wrapper-text-section {
  background: var(--color_light_card);
  color: var(--color_dark_card);
}
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card.white-text .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--rollover-card.dark-text .white-text .wrapper-text-section,
.paragraph--type--ln-c-cardgrid.viewmode--rollover-card .white-text .wrapper-text-section {
  background: var(--color_dark_card);
  color: var(--color_light_card);
}

/* --- POSITION --- */
.paragraph--type--ln-c-cardgrid {
  /* general horizontal position */
  /* vertical position */
  /* specific elements position */
}
.paragraph--type--ln-c-cardgrid.horizontal_position_left .text-container,
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item.horizontal_position_left .text-container {
  align-items: flex-start;
  text-align: left;
}
.paragraph--type--ln-c-cardgrid.horizontal_position_center .text-container,
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item.horizontal_position_center .text-container {
  align-items: center !important;
  text-align: center !important;
}
.paragraph--type--ln-c-cardgrid.horizontal_position_right .text-container,
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item.horizontal_position_right .text-container {
  align-items: flex-end !important;
  text-align: right !important;
}
.paragraph--type--ln-c-cardgrid.vertical_top .text-container,
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item.vertical_top .text-container {
  justify-content: flex-start !important;
}
.paragraph--type--ln-c-cardgrid.vertical_middle .text-container,
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item.vertical_middle .text-container {
  justify-content: center !important;
}
.paragraph--type--ln-c-cardgrid.vertical_bottom .text-container,
.paragraph--type--ln-c-cardgrid .paragraph--type--ln-c-grid-card-item.vertical_bottom .text-container {
  justify-content: flex-end !important;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.horizontal_position_left .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card .paragraph--type--ln-c-grid-card-item.horizontal_position_left .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.horizontal_position_left .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .paragraph--type--ln-c-grid-card-item.horizontal_position_left .wrapper-text-section {
  border-left: solid 1px !important;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.horizontal_position_center .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card .paragraph--type--ln-c-grid-card-item.horizontal_position_center .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.horizontal_position_center .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .paragraph--type--ln-c-grid-card-item.horizontal_position_center .wrapper-text-section {
  border: none !important;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card.horizontal_position_right .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card .paragraph--type--ln-c-grid-card-item.horizontal_position_right .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.horizontal_position_right .wrapper-text-section, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .paragraph--type--ln-c-grid-card-item.horizontal_position_right .wrapper-text-section {
  border-left: none !important;
  border-right: solid 1px !important;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.horizontal_position_left .wrapper-text-section .field--name-field-c-advanced-title, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .paragraph--type--ln-c-grid-card-item.horizontal_position_left .wrapper-text-section .field--name-field-c-advanced-title {
  left: 20px !important;
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.horizontal_position_center .wrapper-text-section .field--name-field-c-advanced-title, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .paragraph--type--ln-c-grid-card-item.horizontal_position_center .wrapper-text-section .field--name-field-c-advanced-title {
  left: 50% !important;
  right: inherit !important;
  transform: translateX(-50%);
}
.paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image.horizontal_position_right .wrapper-text-section .field--name-field-c-advanced-title, .paragraph--type--ln-c-cardgrid.viewmode--extended-card-title-image .paragraph--type--ln-c-grid-card-item.horizontal_position_right .wrapper-text-section .field--name-field-c-advanced-title {
  left: inherit !important;
  right: 20px !important;
}


/* .paragraph--type--c-image .background-image-container .field--name-field-c-image:after {
  content: '';
  background: rgba(0,0,0,.5);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.paragraph--type--c-image.vertical_top .position-container, .paragraph--type--c-image.vertical_middle .position-container, .paragraph--type--c-image.vertical_bottom .position-container {
  z-index: 3;
} */

/* Removed .dsu_btn { text-align: center; } - was causing unwanted button centering */

/* Teasercycle overrides - fix for updated HTML structure */
/* Slide margins - teaser.css uses .slick__slide but HTML has .slick-slide */
.paragraph--type--c-teasercycle .slick-slide {
  margin: 0 8px;
}

/* h6 styles */
.paragraph--type--c-teasercycle .teaser-image-cycle h6 {
  color: var(--brand-color-text);
  margin-bottom: 20px !important;
  font-size: 2rem;
}

/* p styles */
.paragraph--type--c-teasercycle .teaser-image-cycle p {
  margin-top: 10px;
  font-size: var(--body-font-size);
  font-weight: var(--font-weight-light);
}

/* link styles */
.paragraph--type--c-teasercycle .teaser-image-cycle .field--name-field-c-link a {
  text-decoration: underline;
  color: #0c6493;
}

/* Purina section: override generic Nestle blue with Purina dark background.
   global.css sets .meet...slick-slide > div { background:#127db8 } but the
   Purina override in global.css targets .slick__slide (parent) not the inner div,
   so the blue child paints over the dark parent. Fix by targeting the same element. */
.nestle-purina .meet.paragraph--type--c-teasercycle .slick-slide > div,
#purina-section .meet.paragraph--type--c-teasercycle .slick-slide > div {
  background: #252930;
}

/* ========================================================================
   DSU_C_GALLERY COMPONENT OVERRIDES - Video Embeds
   ======================================================================== */

/* Fix the template structure for video galleries */
/* The template uses position:absolute on .position-container expecting a background image,
   but videos are inside the container, causing height collapse */

.paragraph--type--c-gallery .paragraph--type--c-gallery-item .background-image-container {
  position: relative;
}

/* Override the absolute positioning for video galleries */
.paragraph--type--c-gallery .paragraph--type--c-gallery-item .position-container {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  height: auto;
}

.paragraph--type--c-gallery .paragraph--type--c-gallery-item .text-container {
  padding: 0;
  max-width: 100%;
}

/* Ensure video embed responsive wrapper works properly */
.paragraph--type--c-gallery .video-embed-field-responsive-video {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.paragraph--type--c-gallery .video-embed-field-responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Hide thumbnail images in main slides - they show in nav */
.paragraph--type--c-gallery .slick--main .field--name-field-c-thumbnail-image {
  display: none;
}

/* Override thumbnail spacing (vanilla mode uses .slick-slide not .slick__slide) */
.paragraph--type--c-gallery .slick--thumbnail .slick-slide {
  margin: 0;
  margin-right: 5px;
}
/* Active thumbnail border */
.paragraph--type--c-gallery .slick--thumbnail .slick-slide.slick-current img {
  border: 5px solid var(--brand-color-primary);
}
/* Tone down pop-out effect on current slide */
.paragraph--type--c-gallery .slick--thumbnail .slick-slide.slick-current {
  transform: none;
  box-shadow: none;
}
/* Remove arrow pseudo-element from active thumb */
.paragraph--type--c-gallery .slick--thumbnail .slick-slide.slick-current::before {
  display: none;
}

/* ========================================================================
   JOB FUNCTION - Top Bar Filter Styling (Select2)
   ======================================================================== */

/* Job Function uses Select2 like Company and Job Type - no custom styling needed */

/* Job Listings view - style the native select */
.view-job-listings .js-form-item-field-nc-job-listing-function select {
  max-height: 250px;
  overflow-y: auto;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
}

.view-job-listings .js-form-item-field-nc-job-listing-function select option {
  padding: 8px 10px;
}

/* ========================================================================
   C-SLIDER DOTS - Fix for accessible-slick dot overlap
   ======================================================================== */

.paragraph--type--c-slider .slick-dots {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 10px 0 0 0;
  list-style: none;
}

.paragraph--type--c-slider .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 6px;
  position: relative;
}

.paragraph--type--c-slider .slick-dots button {
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  height: 12px;
  width: 12px;
  display: block;
  padding: 0;
  border: 0;
}

.paragraph--type--c-slider .slick-dots .slick-active button {
  background: #fff;
}

/* Hide accessible-slick's inner dot elements - we style the button directly */
.paragraph--type--c-slider .slick-dots button .slick-dot-icon,
.paragraph--type--c-slider .slick-dots button .slick-dot-icon:before,
.paragraph--type--c-slider .slick-dots button::before {
  display: none;
}

/* Screen reader only text - visually hidden but accessible */
.paragraph--type--c-slider .slick-dots .slick-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ========================================================================
   LOCATION AUTOCOMPLETE - Fix padding on Job Listings view
   ======================================================================== */

/* Reset all autocomplete item padding/margin/height */
.ui-autocomplete.ui-menu .ui-menu-item {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  line-height: normal !important;
}

.ui-autocomplete.ui-menu .ui-menu-item a,
.ui-autocomplete.ui-menu .ui-menu-item a.ui-menu-item-wrapper {
  padding: 6px 10px !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  display: block !important;
}

.ui-autocomplete .search-api-autocomplete-suggestion {
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
}

/* ========================================================================
   TABBED CONTENT - Bootstrap 5 Tab Styling Fixes
   ======================================================================== */

/* Tabs spread across with content-based sizing */
.nav.nav-tabs.nav-justified {
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

.nav.nav-tabs.nav-justified .nav-item {
  flex: 0 1 auto;
}

/* Remove white background from active tab - keep just the underline */
.nav.nav-tabs .nav-link.active,
.nav.nav-tabs .nav-link.active:hover,
.nav.nav-tabs .nav-link.active:focus {
  background-color: transparent !important;
  background: transparent !important;
}

/* Hide featured articles slider until Flickity initializes (prevents FOUC) */
.featured-articles-slider.is-hidden {
  height: 0;
  overflow: hidden;
  opacity: 0;
}

/* Card Links - benefits page card grid */
.card-links .field__items {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

.card-links .field__items > .field__item {
  flex: 1 1 calc(25% - 30px);
  max-width: calc(25% - 30px);
}

.card-links .card-grid-item-wrapper {
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-links .card-grid-item-wrapper:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.2);
}

.card-links .hovercard-box a {
  text-decoration: none;
  display: block;
}

.card-links .hovercard-image img {
  width: 100%;
  height: auto;
  display: block;
}

.card-links .hovercard-title,
.card-links .hovercard-title * {
  color: #64513D !important;
  font-family: "Nestle Text TF", sans-serif;
  font-size: 24px !important;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
}

.card-links .hovercard-title {
  background-color: #fff !important;
  padding: 16px 20px;
}

.card-links .hovercard-overlay {
  display: none !important;
}

@media screen and (max-width: 959px) {
  .card-links .field__items > .field__item {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

@media screen and (max-width: 600px) {
  .card-links .field__items > .field__item {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* ========================================================================
   CARD-LINK SUB-CARDS (image + title + link cards in benefit sections)
   ======================================================================== */

/* Remove container constraints around card-link cards */
.column_row-with-background:has(.card-link) > .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* 20px column gap only on the nested columns-2 containing card-links */
.paragraph--type--layout-columns-2 .paragraph--type--layout-columns-2 > .row {
  grid-column-gap: 20px !important;
}

/* Card styling */
.card-link {
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
  height: 100%;
  position: relative;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-link:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.18);
}

/* Make entire card clickable via the CTA link */
.card-link .dsu_btn a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* Stretch card-link wrappers so sibling cards match height */
.paragraph--type--layout-columns-2 > .row > [class*="col-"] > .field > .field__item > .column_row-with-background:has(> .container > .card-link),
.paragraph--type--layout-columns-2 > .row > [class*="col-"] > .field > .field__item > .column_row-with-background:has(> .container > .card-link) > .container,
.paragraph--type--layout-columns-2 > .row > [class*="col-"] > .field,
.paragraph--type--layout-columns-2 > .row > [class*="col-"] > .field > .field__item:has(.card-link) {
  height: 100%;
}

/* Same height stretching for 3-column layouts */
.paragraph--type--layout-columns-3 > .row > [class*="col-"] > .field > .field__item > .column_row-with-background:has(> .container > .card-link),
.paragraph--type--layout-columns-3 > .row > [class*="col-"] > .field > .field__item > .column_row-with-background:has(> .container > .card-link) > .container,
.paragraph--type--layout-columns-3 > .row > [class*="col-"] > .field,
.paragraph--type--layout-columns-3 > .row > [class*="col-"] > .field > .field__item:has(.card-link) {
  height: 100%;
}

/* Reset inner grid to single column */
.card-link > .row {
  margin: 0;
  display: block !important;
  grid-template-columns: none !important;
}

.card-link > .row > [class*="col-"] {
  padding: 0;
  max-width: 100%;
}

/* Full-width images, no margins — specificity must beat global.css */
.card-link.paragraph--type--layout-columns-1 .paragraph--type--c-image .field--name-field-c-image,
.card-link .paragraph--type--c-image,
.card-link .field--name-field-c-image {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.card-link .paragraph--type--c-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Remove default component page margins */
.card-link .dsu-component-page {
  margin: 0;
  padding: 0;
}

.card-link .dsu-component-page > .content {
  margin: 0;
  padding: 0;
}

/* Text content area — only pad the outermost c-text, reset nested ones */
.card-link .field__item > .paragraph--type--c-text {
  padding: 16px 20px;
}

.card-link .paragraph--type--c-text .paragraph--type--c-text {
  padding: 0;
}

.card-link .paragraph--type--c-text .content,
.card-link .paragraph--type--c-text .field--items,
.card-link .paragraph--type--c-text .field--item {
  padding: 0;
  margin: 0;
}

/* Title */
.card-link .field--name-field-sub-heading {
  color: var(--Nestle-Body-Text, #30261D);
  font-family: "Nestle Text TF", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
}

/* Learn More link - style as text link, not button */
.card-link .dsu_btn {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: block;
}

.card-link .dsu_btn a {
  padding: 0;
  margin: 0;
  display: inline;
}

.card-link .dsu_btn .btn.dsu_cta_link {
  background: transparent !important;
  border: none !important;
  color: #127DB8 !important;
  padding: 0;
  margin: 0;
  text-align: left;
  font-family: "Nestle Text TF", sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

/* Remove gap between image and sub-cards row */
.card-link .field__items {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .column_row-with-background:has(.card-link) .row > [class*="col-md-"] {
    margin-bottom: 16px;
  }
}

/* ========================================================================
   ACCORDION OVERRIDES (inline "Learn More" style in benefit sections)
   ======================================================================== */

/* Remove padding from accordion wrapper and item list */
.paragraph--type--layout-columns-2 .paragraph--type--accordion {
  padding: 0;
}

.paragraph--type--layout-columns-2 .field--name-field-accordion-item {
  padding: 0 !important;
}

/* Accordion item — no border, no background */
.paragraph--type--layout-columns-2 .accordion-item {
  border: none;
  background: transparent;
}

/* Accordion header — remove margins */
.paragraph--type--layout-columns-2 .accordion-header {
  margin: 0;
}

/* Accordion button — styled as inline "Learn More" link */
.paragraph--type--layout-columns-2 .accordion-button {
  background: transparent !important;
  border: none;
  border-bottom: 1px solid #A2968A;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 15px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #127DB8 !important;
  font-family: "Nestle Text TF", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  text-decoration: none;
}

/* Remove Bootstrap's default ::after arrow */
.paragraph--type--layout-columns-2 .accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M0.985352 1.17212L6.72448 6.17212L12.9854 1.17212' stroke='%23127DB8' stroke-width='3'/%3E%3C/svg%3E") !important;
  background-size: 14px 9px;
  width: 14px;
  height: 9px;
  flex-shrink: 0;
}

/* Accordion body — left-align all text, consistent typography */
.paragraph--type--layout-columns-2 .accordion-body {
  text-align: left;
  padding: 16px 0;
  color: var(--brand-color-dark, #30261D);
  font-family: "Nestle Text TF", sans-serif;
}

.paragraph--type--layout-columns-2 .accordion-body h2 {
  font-size: var(--h2-large, 36px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 12px 0;
  color: var(--brand-color-dark, #30261D);
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body h3 {
  font-size: var(--h3-medium, 24px);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 10px 0;
  color: var(--brand-color-dark, #30261D);
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body h4 {
  font-size: var(--h4-medium, 24px);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 10px 0;
  color: var(--brand-color-dark, #30261D);
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body h5 {
  font-size: var(--h5-small, 18px);
  font-weight: 700;
  line-height: 1.3;
  margin: 20px 0 8px 0;
  color: var(--brand-color-dark, #30261D);
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body h5:first-child {
  margin-top: 0;
}

.paragraph--type--layout-columns-2 .accordion-body h6 {
  font-size: var(--h6-label, 16px);
  font-weight: 700;
  line-height: 1.4;
  margin: 16px 0 8px 0;
  color: var(--brand-color-dark, #30261D);
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body p {
  font-size: var(--body-font-size, 16px);
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 12px 0;
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body ul,
.paragraph--type--layout-columns-2 .accordion-body ol {
  font-size: var(--body-font-size, 16px);
  line-height: 1.5;
  margin: 0 0 12px 0;
  padding-left: 20px;
  text-align: left;
}

.paragraph--type--layout-columns-2 .accordion-body li {
  margin-bottom: 6px;
}

.paragraph--type--layout-columns-2 .accordion-body .paragraph--type--c-text {
  text-align: left;
  padding: 0;
}

/* ========================================================================
   CARD-FEATURE (horizontal image+text cards in 66/33 layouts)
   ======================================================================== */

/* Remove container constraints around card-feature */
.column_row-with-background:has(.card-feature) > .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* The inner 33/66 card — rounded, shadowed, white */
.card-feature.paragraph--type--layout-33-66 {
  border-radius: 8px;
  overflow: hidden;
  background: #DDD7D2;
  box-shadow: none;
  padding: 0 !important;
}

/* Remove grid gap inside the card so image and text are flush */
.card-feature.paragraph--type--layout-33-66 > .row {
  grid-column-gap: 0 !important;
  grid-template-columns: .34fr .66fr !important;
  margin: 0;
  min-height: 280px;
}

.card-feature.paragraph--type--layout-33-66 > .row > [class*="col-"] {
  padding: 0;
  max-width: 100%;
}

/* Image fills full height of card */
.card-feature.paragraph--type--layout-33-66 .col-md-4 .paragraph--type--c-image,
.card-feature.paragraph--type--layout-33-66 .col-md-4 .background-image-container,
.card-feature.paragraph--type--layout-33-66 .col-md-4 .field--name-field-c-image {
  height: 100%;
  margin: 0;
}

.card-feature.paragraph--type--layout-33-66 .col-md-4 .field--name-field-c-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* Remove image bottom margin from global.css */
.card-feature .paragraph--type--c-image .field--name-field-c-image {
  margin-bottom: 0 !important;
}

/* Text column padding and left-alignment */
.card-feature.paragraph--type--layout-33-66 .col-md-8 {
  display: flex;
  align-items: center;
}

.card-feature.paragraph--type--layout-33-66 .col-md-8 .paragraph--type--c-text {
  padding: 24px 30px;
  text-align: left;
}

.card-feature.paragraph--type--layout-33-66 .col-md-8 .paragraph--type--c-text .paragraph--type--c-text {
  padding: 0;
  text-align: left;
}

/* Title inside card-feature */
.card-feature .field--name-field-c-title {
  color: var(--Nestle-Body-Text, #30261D);
  font-family: "Nestle Text TF", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 12px;
  text-align: left;
}

/* Body text */
.card-feature .field--name-field-c-text p {
  font-size: var(--body-font-size, 16px);
  line-height: 1.5;
  margin-bottom: 12px;
  color: var(--brand-color-dark, #30261D);
  text-align: left;
}

/* Remove component page margins inside card */
.card-feature .dsu-component-page {
  margin: 0;
  padding: 0;
}

.card-feature .dsu-component-page > .content {
  margin: 0;
  padding: 0;
}

/* Outer 66/33 wrapper — just remove padding */
.card-feature.paragraph--type--layout-66-33 {
  padding: 0 !important;
}

/* Override 66/33 to 75/25 proportions, gap between big card and small card, equal height */
.card-feature.paragraph--type--layout-66-33 > .row {
  grid-template-columns: .75fr .25fr !important;
  grid-column-gap: 20px !important;
  align-items: stretch;
}

/* Make the card-link inside stretch to fill the column height */
.card-feature.paragraph--type--layout-66-33 > .row > .col-md-4,
.card-feature.paragraph--type--layout-66-33 > .row > .col-md-4 > .field,
.card-feature.paragraph--type--layout-66-33 > .row > .col-md-4 > .field > .field__item,
.card-feature.paragraph--type--layout-66-33 > .row > .col-md-4 .column_row-with-background,
.card-feature.paragraph--type--layout-66-33 > .row > .col-md-4 .container,
.card-feature.paragraph--type--layout-66-33 > .row > .col-md-4 .card-link {
  height: 100%;
}

/* Mobile: stack vertically */
@media screen and (max-width: 767px) {
  .card-feature.paragraph--type--layout-33-66 > .row {
    display: flex !important;
    flex-direction: column;
  }

  .card-feature.paragraph--type--layout-33-66 .col-md-4 .field--name-field-c-image img {
    height: auto;
  }

  .card-feature.paragraph--type--layout-66-33 > .row {
    grid-column-gap: 0 !important;
  }

  .card-feature.paragraph--type--layout-66-33 > .row > .col-md-4 {
    margin-top: 16px;
  }
}

/* CTA Callout section */
.cta-callout .field--name-field-sub-heading {
  color: #64513D;
  text-align: center;
  font-family: "Nestle Text TF", sans-serif;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 42px;
}

.cta-callout .field--name-field-c-text {
  color: #64513D;
  text-align: center;
}

/* ========================================================================
   MOBILE FIXES
   ======================================================================== */

/* 2. Image+text 50/50: image always first on mobile */
@media screen and (max-width: 767px) {
  .paragraph--type--layout-columns-2 > .row {
    display: flex !important;
    flex-direction: column;
  }

  .paragraph--type--layout-columns-2 > .row > [class*="col-"]:has(.paragraph--type--c-image) {
    order: -1;
  }
}

/* 3. Lifestyle 66/33 and 33/66: stack full-width on mobile */
@media screen and (max-width: 767px) {
  .paragraph--type--layout-66-33 > .row,
  .paragraph--type--layout-33-66 > .row {
    display: flex !important;
    flex-direction: column;
  }

  .paragraph--type--layout-66-33 > .row > [class*="col-"],
  .paragraph--type--layout-33-66 > .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 4. Awards row: hide empty spacer cols on mobile, keep images in a row */
@media screen and (max-width: 959px) {
  .mobile-cols > .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 10px;
  }

  .mobile-cols > .row > [class*="col-"]:not(:has(img)) {
    display: none;
  }

  .mobile-cols > .row img {
    max-width: 100%;
    height: auto;
  }
}

/* Slim padding override for TNF sections */
.field__item:has(.tnf--slim) {
  padding: 62px 0;
}

.tnf--slim .field--name-field-c-title {
  margin-left: 0;
}