/* BENEFITS-RASTER (Block acf/benefits)
   Frontend und Editor-Vorschau. Design: Betti, design/neue-bank-benefits-grid.html
   Theme-Regeln (MAIN P / MAIN UL / H2 / H3) werden hier gezielt überschrieben,
   darum die doppelten Klassen-Selektoren.
-------------------------------------------------------------------------- */

.nb-benefits {
  --nb-navy: #24195D;
  --nb-blue: #283787;
  --nb-grey: #F5F6F7;
  --nb-white: #FFFFFF;
  max-width: 1200px;
  margin: 0 auto 72px auto;
  color: var(--nb-navy);
  }

/* Kategorie-Titel: Ringside statt Noe Display */
.nb-benefits .nb-benefits__heading {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.25;
  max-width: none;
  margin: 0 0 24px 0;
  color: var(--nb-navy);
  }

/* Raster */
.nb-benefits .nb-benefits__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: none;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

.nb-benefits .nb-benefits__grid > LI {
  list-style: none;
  margin: 0;
  font-size: inherit;
  }

/* Kachel */
.nb-benefit {
  background: var(--nb-grey);
  padding: 28px 24px 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  }

.nb-benefit__icon {
  display: block;
  width: 48px;
  height: 48px;
  flex: none;
  }

.nb-benefit__icon IMG {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  }

/* Platzhalter, solange kein Icon hinterlegt ist */
.nb-benefit__icon--leer {
  border: 1.5px dashed var(--nb-navy);
  opacity: 0.45;
  }

.nb-benefit__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  }

.nb-benefits .nb-benefit__title {
  font-family: inherit;
  font-weight: 600;
  font-size: 19px;
  line-height: 1.3;
  max-width: none;
  margin: 0;
  color: var(--nb-navy);
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  }

.nb-benefits .nb-benefit__text,
.nb-benefits .nb-benefit__text P,
.nb-benefits .nb-benefit__text UL,
.nb-benefits .nb-benefit__text UL LI {
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  max-width: none;
  margin: 0;
  color: var(--nb-navy);
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  }

.nb-benefits .nb-benefit__text P + P,
.nb-benefits .nb-benefit__text P + UL,
.nb-benefits .nb-benefit__text UL + P {
  margin-top: 10px;
  }

/* Aufzählung mit Halbgeviertstrich wie im CD */
.nb-benefits .nb-benefit__text UL {
  list-style: none;
  padding-left: 0;
  }

.nb-benefits .nb-benefit__text UL LI {
  list-style: none;
  position: relative;
  padding-left: 1.15em;
  }

.nb-benefits .nb-benefit__text UL LI:before {
  content: "\2013";
  position: absolute;
  left: 0;
  }

.nb-benefits .nb-benefit__text UL LI + LI {
  margin-top: 4px;
  }

/* Einzeiler (Kachel ohne Text): Satz als Titel */
.nb-benefits .nb-benefit--simple .nb-benefit__title {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  }

/* Hervorgehobene Kategorie: blau mit Hintergrundbild, z.B. «Arbeiten in Liechtenstein» */
.nb-benefits--hervorgehoben {
  position: relative;
  isolation: isolate;
  background-color: var(--nb-blue);
  background-size: cover;
  background-position: 50% 0;
  color: var(--nb-white);
  padding: 64px 32px 32px 32px;
  }

.nb-benefits--hervorgehoben.has-bild {
  background-image:
    linear-gradient(rgba(40, 55, 135, 0.72), rgba(40, 55, 135, 0.72)),
    var(--nb-bg-image);
  }

.nb-benefits--hervorgehoben .nb-benefits__heading {
  margin-bottom: 32px;
  }

.nb-benefits.nb-benefits--hervorgehoben .nb-benefits__heading,
.nb-benefits.nb-benefits--hervorgehoben .nb-benefit__title,
.nb-benefits.nb-benefits--hervorgehoben .nb-benefit__text,
.nb-benefits.nb-benefits--hervorgehoben .nb-benefit__text P,
.nb-benefits.nb-benefits--hervorgehoben .nb-benefit__text UL LI {
  color: var(--nb-white);
  }

.nb-benefits--hervorgehoben .nb-benefit {
  background: rgba(37, 27, 92, 0.45);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  }

.nb-benefits--hervorgehoben .nb-benefit__icon--leer {
  border-color: var(--nb-white);
  opacity: 0.6;
  }

/* Icons auf Blau weiss einfärben (dunkle SVG/PNG-Icons) */
.nb-benefits--hervorgehoben .nb-benefit__icon IMG {
  filter: brightness(0) invert(1);
  }

/* Editor: Theme-Editor-Styles (P 22px !important, Überschriften 740px zentriert) aufheben */
.editor-styles-wrapper .nb-benefits P {
  font-size: 16px !important;
  line-height: 1.5 !important;
  }

.editor-styles-wrapper .nb-benefits .nb-benefit--simple P.nb-benefit__title {
  font-size: 18px !important;
  line-height: 1.4 !important;
  }

.editor-styles-wrapper .nb-benefits H2,
.editor-styles-wrapper .nb-benefits H3,
.editor-styles-wrapper .nb-benefits P {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  }

/* Handy */
@media (max-width: 600px) {

  .nb-benefits {
    margin-bottom: 48px;
    }

  .nb-benefits .nb-benefits__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    }

  .nb-benefit {
    padding: 20px;
    gap: 16px;
    }

  .nb-benefit--simple {
    flex-direction: row;
    align-items: center;
    }

  .nb-benefits .nb-benefit__title {
    font-size: 18px;
    }

  /* randabfallend: MAIN .container hat auf dem Handy 20px Innenabstand */
  .nb-benefits--hervorgehoben {
    background-position: 82% 0;
    padding: 32px 20px 20px 20px;
    margin-left: -20px;
    margin-right: -20px;
    }

}
