/* ---------- CTA ---------- */
.cta-block { position: relative; overflow: hidden; padding: 110px 0; background-color: #efe0d6; background-image: url("https://ckz.kamiwebdesign.nl/wp-content/uploads/2026/09/cta-bg.webp"); background-repeat: no-repeat; background-position: center bottom; background-size: 100% auto; isolation: isolate; }
.cta-block::before { position: absolute; z-index: 1; inset: 0; content: ""; background: rgba(239, 224, 214, .76); pointer-events: none; }
.cta-block .container { position: relative; z-index: 2; }
.cta-block__inner { position: relative; overflow: hidden; max-width: 1100px; margin: 0 auto; padding: 80px 70px; text-align: center; background: rgba(255, 255, 255, .7); border: 1px solid rgba(177, 121, 119, .12); border-radius: 40px; box-shadow: 0 30px 80px rgba(110, 73, 68, .08); backdrop-filter: blur(4px); }

/* ---------- CTA Eyebrow ---------- */
.cta-block__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px; 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; }
.cta-block__eyebrow::before { width: 32px; height: 2px; content: ""; background: var(--kami-color-rose); border-radius: 999px; }
.cta-block__eyebrow::after { width: 32px; height: 2px; content: ""; background: var(--kami-color-rose); border-radius: 999px; }

/* ---------- CTA Content ---------- */
.cta-block__title { max-width: 800px; margin: 0 auto 24px; color: var(--kami-color-text); font-family: var(--kami-font-serif); font-size: clamp(34px, 5vw, 58px); line-height: 1; font-weight: 500; letter-spacing: -.025em; }
.cta-block__title em { color: var(--kami-color-rose-dark); font-weight: 500; }
.cta-block__text { max-width: 650px; margin: 0 auto 36px; color: var(--kami-color-text-soft); font-family: var(--kami-font-sans); font-size: 16px; line-height: 1.8; }
.cta-block__text p { margin: 0; }
.cta-block__text p + p { margin-top: 14px; }

/* ---------- CTA Buttons ---------- */
.cta-block__buttons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: center; }
.cta-block__button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; color: #fff; background: var(--kami-color-rose); border: 1px solid var(--kami-color-rose); border-radius: 12px; font-family: var(--kami-font-sans); font-size: 14px; line-height: 1.2; font-weight: 600; text-decoration: none; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.cta-block__button:hover { color: #fff; background: var(--kami-color-rose-dark); border-color: var(--kami-color-rose-dark); text-decoration: none; transform: translateY(-2px); }
.cta-block__button span { display: none; }
.cta-block__link { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 28px; color: var(--kami-color-rose); background: rgba(255, 255, 255, .45); border: 1px solid rgba(214, 160, 167, .42); border-radius: 12px; font-family: var(--kami-font-sans); font-size: 14px; line-height: 1.2; font-weight: 600; text-decoration: none; backdrop-filter: blur(4px); transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.cta-block__link::after { display: none; }
.cta-block__link:hover { color: #fff; background: var(--kami-color-rose); border-color: var(--kami-color-rose); text-decoration: none; transform: translateY(-2px); }

/* ---------- CTA Responsive ---------- */
@media (max-width: 1100px) {
.cta-block { padding: 80px 0; }
.cta-block .container { padding-right: 32px; padding-left: 32px; }
.cta-block__inner { width: 100%; max-width: 100%; padding: 64px 50px; border-radius: 32px; }
}

@media (max-width: 768px) {
.cta-block { padding: 64px 0; background-image: url("https://ckz.kamiwebdesign.nl/wp-content/uploads/2026/09/BG_Mobile_CTA.webp"); background-position: center bottom; background-repeat: no-repeat; background-size: 100% auto; }

.cta-block::before { background: rgba(239, 224, 214, .78); }
.cta-block .container { padding-right: 20px; padding-left: 20px; }
.cta-block__inner { max-width: 620px; padding: 52px 34px; border-radius: 28px; }
.cta-block__eyebrow { margin-bottom: 16px; font-size: 12px; }
.cta-block__eyebrow::before, .cta-block__eyebrow::after { width: 28px; }
.cta-block__title { max-width: 520px; margin-bottom: 20px; font-size: clamp(36px, 8vw, 44px); line-height: 1.02; }
.cta-block__text { max-width: 500px; margin-bottom: 30px; font-size: 15px; line-height: 1.75; }
.cta-block__buttons { gap: 10px; }
.cta-block__button, .cta-block__link { min-height: 50px; padding-right: 22px; padding-left: 22px; }
}

@media (max-width: 500px) {
.cta-block { padding: 48px 0; background-position: center bottom; background-size: 100% auto; }
.cta-block::before { background: rgba(239, 224, 214, .80); }
.cta-block .container { padding-right: 14px; padding-left: 14px; }
.cta-block__inner { width: 100%; padding: 38px 20px 22px; border-radius: 24px; box-shadow: 0 18px 46px rgba(110, 73, 68, .07); }
.cta-block__eyebrow { gap: 9px; margin-bottom: 16px; font-size: 10px; letter-spacing: .1em; white-space: nowrap; }
.cta-block__eyebrow::before, .cta-block__eyebrow::after { width: 24px; height: 1px; }
.cta-block__title { max-width: 360px; margin-bottom: 22px; font-size: clamp(32px, 9vw, 38px); line-height: 1.02; letter-spacing: -.03em; }
.cta-block__text { max-width: 340px; margin-bottom: 28px; font-size: 14px; line-height: 1.72; }
.cta-block__buttons { flex-direction: column; gap: 10px; align-items: stretch; }
.cta-block__button, .cta-block__link { width: 100%; min-height: 48px; padding: 0 18px; border-radius: 11px; font-size: 13px; }
}

@media (max-width: 380px) {
.cta-block .container { padding-right: 10px; padding-left: 10px; }
.cta-block__inner { padding: 34px 16px 18px; border-radius: 22px; }
.cta-block__eyebrow { font-size: 9px; }
.cta-block__eyebrow::before, .cta-block__eyebrow::after { width: 20px; }
.cta-block__title { font-size: 31px; }
.cta-block__text { font-size: 13.5px; }
}