/* Popup CTA: independent of legacy deal-popup layout rules. */
.kru-popup-cta[hidden] { display: none !important; }
.kru-popup-cta, .kru-popup-cta * { box-sizing: border-box; }
.kru-popup-cta {
    position: fixed; inset: 0; z-index: 100000;
    display: flex; align-items: center; justify-content: center;
    padding: clamp(16px, 3vw, 48px);
    background: rgba(0, 0, 0, .55);
}
.kru-popup-cta .kru-popup-cta__dialog {
    position: relative; display: grid; grid-template-columns: 1fr 1fr;
    width: min(100%, 1472px); min-width: 0; margin: 0;
    max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    overflow: auto; overscroll-behavior: contain;
    background: #021022; color: #d4c9b5;
    box-shadow: 0 16px 80px rgba(0, 0, 0, .25);
}
.kru-popup-cta .kru-popup-cta__text {
    min-width: 0; padding: clamp(32px, 4vw, 64px) clamp(28px, 3.6vw, 56px);
    display: flex; flex-direction: column; justify-content: center;
}
.kru-popup-cta #kru-popup-cta-title {
    color: inherit; font-family: 'GT-Walsheim-Bold', sans-serif;
    font-size: clamp(24px, 2.35vw, 34px); line-height: 1.2;
    margin: 0 0 30px; padding: 0; overflow-wrap: anywhere;
}
.kru-popup-cta .kru-popup-cta__body {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7;
    overflow: hidden; max-height: 12.25em;
    font-family: 'GT-Walsheim-Light', sans-serif;
    font-size: clamp(18px, 1.65vw, 24px); line-height: 1.75;
    overflow-wrap: anywhere;
}
.kru-popup-cta .kru-popup-cta__body p {
    display: block; font: inherit; color: inherit; margin: 0; padding: 0;
}
.kru-popup-cta .kru-popup-cta__body p + p { margin-top: .5em; }
.kru-popup-cta .kru-popup-cta__links {
    display: flex; flex-wrap: wrap; gap: 18px 28px; margin-top: 30px;
}
.kru-popup-cta .kru-popup-cta__links .btn { margin: 0; }
.kru-popup-cta .kru-popup-cta__links a { color: inherit; }
.kru-popup-cta .kru-popup-cta__photo { position: relative; min-width: 0; min-height: 440px; overflow: hidden; }
.kru-popup-cta .kru-popup-cta__image {
    position: absolute; inset: 0; display: block; width: 100%; height: 100%;
    max-width: none; max-height: none; object-fit: cover; object-position: center;
}
.kru-popup-cta .kru-popup-cta__close {
    position: absolute; top: 0; right: 0; z-index: 2;
    display: flex; align-items: center; justify-content: center;
    width: clamp(56px, 6vw, 100px); height: clamp(56px, 6vw, 100px);
    margin: 0; padding: 0; border: 0; border-radius: 0;
    background: #e8bb43; color: #021022; cursor: pointer;
}
.kru-popup-cta .kru-popup-cta__close span { position: relative; width: 44%; height: 44%; }
.kru-popup-cta .kru-popup-cta__close span::before,
.kru-popup-cta .kru-popup-cta__close span::after {
    content: ''; position: absolute; left: 50%; top: 50%;
    width: 135%; height: 3px; background: currentColor;
    transform: translate(-50%, -50%) rotate(45deg);
}
.kru-popup-cta .kru-popup-cta__close span::after { transform: translate(-50%, -50%) rotate(-45deg); }
.kru-popup-cta .kru-popup-cta__close:hover { background: #f5ce65; }
.kru-popup-cta :focus-visible { outline: 3px solid #e8bb43; outline-offset: 4px; }
.kru-popup-cta .kru-popup-cta__close:focus-visible { outline-color: #fff; outline-offset: -5px; }
@media (max-width: 767px) {
    .kru-popup-cta { padding: 16px; }
    .kru-popup-cta .kru-popup-cta__dialog { grid-template-columns: 1fr; }
    .kru-popup-cta .kru-popup-cta__photo { grid-row: 1; min-height: 0; height: clamp(180px, 52vw, 300px); }
    .kru-popup-cta .kru-popup-cta__text { padding: 28px 24px; }
    .kru-popup-cta #kru-popup-cta-title { font-size: 25px; margin-bottom: 18px; }
    .kru-popup-cta .kru-popup-cta__body { font-size: 18px; line-height: 1.6; max-height: 11.2em; }
    .kru-popup-cta .kru-popup-cta__links { margin-top: 24px; }
}
