/* ---------- Image Text ---------- */
.image-text { position: relative; overflow: hidden; padding: 110px 0; background-color: var(--kami-color-cream); background-image: url("https://ckz.kamiwebdesign.nl/wp-content/uploads/2026/09/IT_BG.webp"); background-position: center; background-repeat: no-repeat; background-size: cover; isolation: isolate; }
.image-text::before { position: absolute; z-index: 0; inset: 0; content: ""; background: rgba(246, 236, 229, .76); pointer-events: none; }
.image-text .site-container { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr); grid-template-areas: "content gallery"; gap: 64px; align-items: stretch; }
.image-text--images-left .site-container { grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr); grid-template-areas: "gallery content"; }

/* ---------- Image Text Content ---------- */
.image-text__content { grid-area: content; display: flex; flex-direction: column; justify-content: center; min-height: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.image-text__eyebrow { display: inline-flex; align-items: center; margin: 0 0 20px; color: var(--kami-color-rose); font-family: var(--kami-font-sans); font-size: 13px; line-height: 1.2; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.image-text__eyebrow::before { display: block; flex: 0 0 36px; width: 36px; height: 2px; margin-right: 12px; content: ""; background: var(--kami-color-rose); border-radius: 999px; }
.image-text__title { max-width: 720px; margin: 0 0 26px; color: var(--kami-color-text); font-family: var(--kami-font-serif); font-size: clamp(36px, 3.2vw, 46px); line-height: 1.05; font-weight: 500; letter-spacing: -.03em; text-wrap: balance; }
.image-text__title em { color: var(--kami-color-rose-dark); font-weight: 500; }
.image-text__text { max-width: 660px; color: var(--kami-color-text-soft); font-family: var(--kami-font-sans); font-size: 15px; line-height: 1.8; }
.image-text__text p { margin: 0; }
.image-text__text p + p { margin-top: 20px; }
.image-text__text strong { color: var(--kami-color-text); font-weight: 600; }

/* ---------- Image Text Gallery ---------- */
.image-text__gallery { grid-area: gallery; display: grid; gap: 14px; width: 100%; height: 100%; min-height: 0; overflow: hidden; contain: size; }
.image-text__image { position: relative; overflow: hidden; min-width: 0; min-height: 0; margin: 0; background: var(--kami-color-beige); border-radius: 22px; }
.image-text__image-element { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; transition: transform .5s ease; }
.image-text__image:hover .image-text__image-element { transform: scale(1.025); }

/* ---------- Image Text Actions ---------- */
.image-text__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.image-text__actions .button { min-height: 50px; padding-right: 24px; padding-left: 24px; }
.image-text__actions .button--primary { color: #fff; background: var(--kami-color-rose); border-color: var(--kami-color-rose); }
.image-text__actions .button--primary:hover { color: #fff; background: var(--kami-color-rose-dark); border-color: var(--kami-color-rose-dark); text-decoration: none; transform: translateY(-2px); }

/* ---------- 1 Image ---------- */
.image-text__gallery--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.image-text__gallery--1 .image-text__image:nth-child(1) { grid-column: 1; grid-row: 1; }

/* ---------- 2 Images ---------- */
.image-text__gallery--2 { grid-template-columns: 1.08fr .92fr; grid-template-rows: 1fr; }
.image-text__gallery--2 .image-text__image:nth-child(1) { grid-column: 1; grid-row: 1; }
.image-text__gallery--2 .image-text__image:nth-child(2) { grid-column: 2; grid-row: 1; }

/* ---------- 3 Images ---------- */
.image-text__gallery--3 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.image-text__gallery--3 .image-text__image:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.image-text__gallery--3 .image-text__image:nth-child(2) { grid-column: 2; grid-row: 1; }
.image-text__gallery--3 .image-text__image:nth-child(3) { grid-column: 2; grid-row: 2; }

/* ---------- 4 Images ---------- */
.image-text__gallery--4 { grid-template-columns: 1.08fr .92fr; grid-template-rows: .85fr 1.15fr .8fr; }
.image-text__gallery--4 .image-text__image:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.image-text__gallery--4 .image-text__image:nth-child(2) { grid-column: 2; grid-row: 1; }
.image-text__gallery--4 .image-text__image:nth-child(3) { grid-column: 2; grid-row: 2 / 4; }
.image-text__gallery--4 .image-text__image:nth-child(4) { grid-column: 1; grid-row: 3; }

/* ---------- 5 Images ---------- */
.image-text__gallery--5 { grid-template-columns: 1.08fr .92fr; grid-template-rows: repeat(6, minmax(0, 1fr)); }
.image-text__gallery--5 .image-text__image:nth-child(1) { grid-column: 1; grid-row: 1 / 4; }
.image-text__gallery--5 .image-text__image:nth-child(2) { grid-column: 2; grid-row: 1 / 3; }
.image-text__gallery--5 .image-text__image:nth-child(3) { grid-column: 2; grid-row: 3 / 5; }
.image-text__gallery--5 .image-text__image:nth-child(4) { grid-column: 1; grid-row: 4 / 7; }
.image-text__gallery--5 .image-text__image:nth-child(5) { grid-column: 2; grid-row: 5 / 7; }

/* ---------- Image Text Responsive ---------- */
@media (max-width: 1000px) {
.image-text { padding: 80px 0; background-position: center; }
.image-text .site-container, .image-text--images-left .site-container { grid-template-columns: 1fr; grid-template-areas: "content" "gallery"; gap: 32px; }
.image-text__content { padding: 0; }
.image-text__gallery { height: 560px; min-height: 0; max-height: none; overflow: hidden; contain: none; }
}

@media (max-width: 767px) {
.image-text { padding: 64px 0; background-color: var(--kami-color-cream); background-image: url("https://ckz.kamiwebdesign.nl/wp-content/uploads/2026/09/BG_mobile.webp"); background-position: top center; background-repeat: repeat-y; background-size: 100% auto; }
.image-text::before { z-index: 0; inset: 0; background: rgba(246, 236, 229, .76); }
.image-text .site-container { position: relative; z-index: 1; gap: 24px; }
.image-text__content { padding: 0; box-shadow: none; }
.image-text__eyebrow { margin-bottom: 14px; font-size: 12px; }
.image-text__eyebrow::before { flex-basis: 28px; width: 28px; margin-right: 10px; }
.image-text__title { margin-bottom: 22px; font-size: clamp(32px, 8vw, 40px); }
.image-text__text { font-size: 15px; line-height: 1.75; }
.image-text__text p + p { margin-top: 18px; }
.image-text__actions { margin-top: 26px; }
.image-text__gallery { height: 500px; gap: 10px; }
.image-text__image { border-radius: 18px; }
}

@media (max-width: 500px) {
.image-text { padding: 52px 0; }
.image-text__content { padding: 0; }
.image-text__title { font-size: 34px; }
.image-text__text { font-size: 14px; line-height: 1.72; }
.image-text__gallery, .image-text__gallery--1, .image-text__gallery--2, .image-text__gallery--3, .image-text__gallery--4, .image-text__gallery--5 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: auto; gap: 8px; width: 100%; height: auto; min-height: 0; max-height: none; overflow: visible; contain: none; }
.image-text__gallery--1 .image-text__image:nth-child(n), .image-text__gallery--2 .image-text__image:nth-child(n), .image-text__gallery--3 .image-text__image:nth-child(n), .image-text__gallery--4 .image-text__image:nth-child(n), .image-text__gallery--5 .image-text__image:nth-child(n) { grid-column: auto; grid-row: auto; width: 100%; min-width: 0; min-height: 0; aspect-ratio: 1 / 1; border-radius: 15px; }
.image-text__gallery--1 .image-text__image:nth-child(1) { grid-column: 1 / -1; aspect-ratio: 16 / 11; }
.image-text__gallery--2 .image-text__image:nth-child(1), .image-text__gallery--2 .image-text__image:nth-child(2) { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 5; }
.image-text__gallery--3 .image-text__image:nth-child(1) { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 11; }
.image-text__gallery--3 .image-text__image:nth-child(2), .image-text__gallery--3 .image-text__image:nth-child(3) { grid-column: auto; grid-row: auto; aspect-ratio: 1 / 1; }
.image-text__gallery--4 .image-text__image:nth-child(1), .image-text__gallery--4 .image-text__image:nth-child(2), .image-text__gallery--4 .image-text__image:nth-child(3), .image-text__gallery--4 .image-text__image:nth-child(4) { grid-column: auto; grid-row: auto; aspect-ratio: 1 / 1; }
.image-text__gallery--5 .image-text__image:nth-child(1) { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 11; }
.image-text__gallery--5 .image-text__image:nth-child(2), .image-text__gallery--5 .image-text__image:nth-child(3), .image-text__gallery--5 .image-text__image:nth-child(4), .image-text__gallery--5 .image-text__image:nth-child(5) { grid-column: auto; grid-row: auto; aspect-ratio: 1 / 1; }
.image-text__image-element { width: 100%; height: 100%; object-fit: cover; }
.image-text__actions .button { width: 100%; }
}

@media (max-width: 380px) {
.image-text__content { padding: 0; }
.image-text__title { font-size: 31px; }
.image-text__text { font-size: 13.5px; }
}