/*
 * KlikErotiek Gift Vault — herbruikbare 3-koloms verkoopcompositie.
 *
 * Plaats kr-gift-vault op de buitenste WPBakery-kolom.
 * Inhoud:
 * kr-gift-campaign, kr-gift-copy, kr-gift-visual
 * kr-gift-kicker, kr-gift-headline, kr-gift-intro
 * kr-gift-story, kr-gift-story--box, kr-gift-story--quest
 * kr-gift-price, kr-gift-product, kr-gift-signature
 */

.kr-gift-vault {
    --kr-gift-gold: #e2be6b;
    --kr-gift-cream: #fff4cf;
    --kr-gift-magenta: #ff19da;
    --kr-gift-mint: #48e6bd;
    --kr-gift-ink: #111014;

    position: relative;
    z-index: 3;
    float: none !important;
    clear: both;
    width: min(92vw, 1180px) !important;
    max-width: none !important;
    margin: clamp(1.5rem, 4vw, 3.5rem) auto !important;
    padding: clamp(1.4rem, 3vw, 2.8rem) !important;
    box-sizing: border-box;
    isolation: isolate;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background:
        radial-gradient(circle at 82% 38%, rgba(226,190,107,.18), transparent 28%),
        linear-gradient(100deg, rgba(10,9,12,.90), rgba(22,17,23,.67) 58%, rgba(11,12,12,.18)) !important;
}

.kr-gift-vault::before,
.kr-gift-vault::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.kr-gift-vault::before {
    top: 0;
    left: 0;
    width: clamp(4rem, 9vw, 8rem);
    height: clamp(3rem, 7vw, 6rem);
    border-top: 1px solid var(--kr-gift-gold);
    border-left: 1px solid var(--kr-gift-gold);
    opacity: .8;
}

.kr-gift-vault::after {
    right: 3%;
    bottom: 6%;
    width: clamp(5rem, 12vw, 10rem);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--kr-gift-magenta) 28% 72%, var(--kr-gift-mint) 72% 84%, transparent);
    opacity: .8;
}

.kr-gift-vault .vc_row_inner {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.05fr) minmax(250px, 1.05fr);
    gap: clamp(1.4rem, 3vw, 3.3rem);
    align-items: center;
    margin: 0 !important;
}

.kr-gift-vault .vc_column_inner {
    float: none !important;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
}

.kr-gift-campaign,
.kr-gift-copy,
.kr-gift-visual {
    position: relative;
}

.kr-gift-campaign {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.kr-gift-kicker {
    position: relative;
    width: fit-content;
    margin: 0 0 clamp(1rem, 2vw, 1.7rem) !important;
    padding-left: .85rem;
    color: rgba(255,255,255,.7);
    font-size: clamp(.65rem, .6rem + .12vw, .76rem);
    line-height: 1.65;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.kr-gift-kicker::before {
    content: "";
    position: absolute;
    left: 0;
    top: .15em;
    bottom: .15em;
    width: 1px;
    background: linear-gradient(var(--kr-gift-magenta), var(--kr-gift-gold) 58%, var(--kr-gift-mint));
}

.kr-gift-headline {
    margin: 0 !important;
}

.kr-gift-headline span {
    display: block !important;
    color: var(--kr-gift-magenta) !important;
    font-family: "Bebas Neue", sans-serif !important;
    font-size: clamp(3rem, 4.5vw, 5.25rem) !important;
    font-weight: 400 !important;
    line-height: .83 !important;
    letter-spacing: -.015em !important;
    text-transform: uppercase;
    text-shadow: 0 .08em .28em rgba(0,0,0,.48);
}

.kr-gift-headline span:last-child {
    margin: .16em 0 0 .42em;
    color: var(--kr-gift-cream) !important;
}

.kr-gift-headline::after {
    content: "";
    display: block;
    width: min(11rem, 62%);
    height: 2px;
    margin: 1.25rem 0 0 1.2rem;
    background: linear-gradient(90deg, var(--kr-gift-gold) 0 62%, var(--kr-gift-magenta) 62% 79%, var(--kr-gift-mint) 79% 88%, transparent 88%);
}

.kr-gift-price {
    width: fit-content;
    margin: auto 0 0 !important;
    padding: clamp(1.5rem, 3vw, 2.5rem) 0 .2rem .8rem !important;
    border: 0 !important;
    border-left: 2px solid var(--kr-gift-magenta) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.kr-gift-price span {
    color: #fff !important;
    font-family: "Bebas Neue", sans-serif !important;
    font-size: clamp(2rem, 3vw, 3.25rem) !important;
    line-height: 1 !important;
    letter-spacing: .05em;
    text-shadow: 0 0 .7em rgba(255,25,218,.25);
}

.kr-gift-price::after {
    content: "INCLUSIEF FOTOSHOOT + LOCATIE";
    display: block;
    margin-top: .45rem;
    color: var(--kr-gift-gold);
    font-size: clamp(.56rem, .52rem + .1vw, .66rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .15em;
    white-space: nowrap;
}

.kr-gift-copy {
    padding: clamp(.3rem, 1vw, .8rem) 0;
}

.kr-gift-intro {
    margin: 0 0 1.35rem !important;
    color: #fff;
    font-size: clamp(1rem, .92rem + .2vw, 1.14rem);
    font-weight: 650;
    line-height: 1.48;
}

.kr-gift-intro::after {
    content: "GEEN ENVELOP. EEN ERVARING.";
    display: block;
    margin-top: .85rem;
    color: var(--kr-gift-gold);
    font-size: .64rem;
    font-weight: 600;
    letter-spacing: .17em;
}

.kr-gift-story {
    position: relative;
    margin: 0 0 1.25rem !important;
    padding: 1.55rem 0 0 1.05rem;
    color: rgba(255,255,255,.78);
    font-size: clamp(.83rem, .79rem + .12vw, .94rem);
    line-height: 1.55;
}

.kr-gift-story::before {
    position: absolute;
    top: 0;
    left: 1.05rem;
    color: var(--kr-gift-magenta);
    font-family: "Bebas Neue", sans-serif;
    font-size: .9rem;
    letter-spacing: .13em;
}

.kr-gift-story::after {
    content: "";
    position: absolute;
    left: 0;
    top: .2rem;
    bottom: .15rem;
    width: 1px;
    background: linear-gradient(var(--kr-gift-gold), rgba(226,190,107,.08));
}

.kr-gift-story--box::before {
    content: "01  HET KISTJE";
}

.kr-gift-story--quest::before {
    content: "02  DE ZOEKTOCHT";
    color: var(--kr-gift-gold);
}

.kr-gift-intro span,
.kr-gift-story span {
    color: inherit !important;
}

.kr-gift-visual {
    text-align: center;
}

.kr-gift-product {
    position: relative;
    margin: 0 !important;
}

.kr-gift-product::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 12% 5% 3%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 53% 42%, rgba(255,235,181,.46) 0 8%, rgba(226,190,107,.24) 22%, transparent 55%),
        radial-gradient(ellipse at 62% 48%, rgba(202,135,65,.22), rgba(72,230,189,.055) 48%, transparent 72%);
    filter: blur(1.05rem);
}

.kr-gift-product img {
    display: block;
    width: min(110%, 430px);
    height: auto;
    margin: 0 auto;
    border: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 1.15rem 1rem rgba(0,0,0,.44)) drop-shadow(0 0 .8rem rgba(226,190,107,.16));
}

.kr-gift-signature {
    width: min(90%, 24rem);
    margin: .35rem auto 0 !important;
    text-align: center;
    letter-spacing: .095em;
}

.kr-gift-signature::before {
    content: "";
    display: block;
    width: min(7rem, 42%);
    height: 1px;
    margin: 0 auto .55rem;
    background: linear-gradient(90deg, transparent, var(--kr-gift-gold) 18% 65%, var(--kr-gift-mint) 65% 78%, transparent);
}

.kr-gift-signature p {
    margin: .08rem 0;
    font-size: clamp(.66rem, .62rem + .12vw, .78rem);
    line-height: 1.25;
}

@media (max-width: 980px) {
    .kr-gift-vault {
        width: calc(100vw - 1.5rem) !important;
    }

    .kr-gift-vault .vc_row_inner {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    }

    .kr-gift-visual {
        grid-column: 1 / -1;
    }

    .kr-gift-product img {
        width: min(72vw, 430px);
    }
}

@media (max-width: 680px) {
    .kr-gift-vault {
        padding: 1.4rem !important;
        background: linear-gradient(180deg, rgba(10,9,12,.91), rgba(24,18,24,.62) 72%, rgba(12,12,12,.18)) !important;
    }

    .kr-gift-vault .vc_row_inner {
        display: block !important;
    }

    .kr-gift-copy,
    .kr-gift-visual {
        margin-top: 2rem;
    }

    .kr-gift-headline span {
        font-size: clamp(3.1rem, 15vw, 4.5rem) !important;
    }

    .kr-gift-headline span:last-child {
        margin-left: .18em;
    }

    .kr-gift-price {
        margin-top: 1.5rem !important;
        padding-top: .2rem !important;
    }

    .kr-gift-product img {
        width: min(88%, 360px);
    }
}
