body { padding-bottom: var(--bj-bar-height, 0px); }
/* Campagne-uitingen zijn standaard verborgen, ook in gecachete HTML. */
.bouwman-jubileum-menu { display: none !important; }
html.bj-active .bouwman-jubileum-menu { display: list-item !important; }
.bj-bar[hidden], .bj-dialog:not([open]) { display: none !important; }
.bj-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 100; padding: 11px 24px; background: #003b4a; color: #fff; text-align: center; font: 500 16px/1.4 "futura-pt",sans-serif; box-shadow: 0 -2px 12px #0002; }
.bj-bar:hover, .bj-bar:focus { color: #ffaf60; }
.bj-dialog { border: 0; padding: 0; margin: auto; width: 545px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); background: #003b4a; overflow: auto; color: #fff; box-shadow: 0 12px 70px #0005; }
.bj-dialog::backdrop { background: rgb(0 24 31 / 65%); }
.bj-popup { position: relative; width: 545px; height: 339px; overflow: hidden; isolation: isolate; font-family: "futura-medium","futura-pt",sans-serif; color: #fff; background: #003b4a; }
.bj-popup::before { content: ""; position: absolute; z-index: -3; left: -117px; top: -374px; width: 662px; height: 994px; background-image: var(--bj-photo); background-size: cover; background-position: center; }
.bj-popup::after { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse, rgb(1 170 213 / 10%),rgb(11 147 182 / 10%)); }
.bj-popup-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to right, rgb(0 59 74 / 85%),rgb(0 59 74 / 46.75%) 59.615%,transparent),linear-gradient(to right, rgb(0 59 74 / 85%),rgb(0 59 74 / 46.75%) 49.064%,transparent 87.89%); }
.bj-popup img { display: block; max-width: none; border: 0; border-radius: 0; }
.bj-confetti { position: absolute; left: 22px; top: 19px; width: 135px; height: 90px; object-fit: cover; }
.bj-years { position: absolute; left: 20px; top: 19px; width: 142px; height: 64px; object-fit: cover; }
.bj-logo { position: absolute; left: 21px; top: 97px; display: flex; flex-direction: column; gap: 3.917px; }
.bj-gold-line { position: absolute; left: 22px; top: 160px; }
.bj-popup #bj-popup-title { position: absolute; left: 21px; top: 188px; margin: 0; padding: 0; width: 290px; color: #ffaf60; font: 400 18px/20px "futura-medium","futura-pt",sans-serif; letter-spacing: normal; }
.bj-popup #bj-popup-body { position: absolute; left: 21px; top: 222px; width: 252px; font: 400 13px/17px "futura-medium","futura-pt",sans-serif; }
.bj-popup-button { position: absolute; left: 21px; top: 274px; min-width: 155px; height: 32px; padding: 0 11px; display: inline-flex; align-items: center; gap: 7px; background: #c79b40; color: #fff; text-decoration: none; font: 400 12px/16px "futura-medium","futura-pt",sans-serif; text-transform: uppercase; }
.bj-popup-button:hover { color: #fff; background: #ac802c; }
.bj-popup-button:focus-visible, .bj-close:focus-visible, .bj-button:focus-visible, .bj-terms-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.bj-ribbon { position: absolute; left: 101px; top: 341.5px; width: 532.21px; height: 26.165px; background: #01aad5; transform: rotate(-13.7478deg); transform-origin: top left; box-shadow: 2px 4px 8px #0002; }
.bj-ribbon span { position: absolute; left: 92px; top: 5px; white-space: nowrap; font: 400 12px/16px "futura-medium","futura-pt",sans-serif; }
.bj-small-logo { position: absolute; left: 443px; top: 310px; }
.bj-close { position: absolute; right: 0; top: 0; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; border-radius: 0; cursor: pointer; }
.bj-close:hover, .bj-close:focus { background: #003b4a55; }
.bj-close span { position: absolute; top: 22px; left: 11px; width: 22.286px; height: 1.311px; background: #fff; transform: rotate(45deg); }
.bj-close span + span { transform: rotate(-45deg); }
.bj-page { width: 100%; background: #faf8f1; color: #242529; }
.bj-wrap { max-width: 1200px; margin-inline: auto; padding-inline: 28px; }
.bj-hero { padding: 80px 0; background: linear-gradient(90deg,rgba(0,59,74,.95),rgba(0,59,74,.55)),var(--bj-hero) center 55%/cover; color: #fff; }
.bj-page-years { width: 213px; height: 96px; object-fit: contain; margin-bottom: 28px; }
.bj-eyebrow { margin-bottom: 12px; font: 500 18px/1.4 "futura-pt",sans-serif; text-transform: uppercase; }
.bj-page h1 { max-width: 850px; margin: 0 0 24px; color: #ffaf60; font: 400 clamp(38px,5vw,65px)/1.1 "Le More Serif",serif; letter-spacing: normal; }
.bj-intro { max-width: 680px; font-size: 21px; line-height: 1.5; }
.bj-button { display: inline-block; padding: 13px 24px; background: #c79b40; color: #fff; font: 500 17px/1.4 "futura-pt",sans-serif; text-decoration: none; }
.bj-button:hover, .bj-button:focus { background: #a97e2f; color: #fff; }
.bj-terms-link { display: inline-block; color: #fff; margin: 14px 20px; text-decoration: underline; }
.bj-gifts { padding-block: 70px; scroll-margin-top: 160px; }
.bj-page h2 { font: 400 clamp(30px,3vw,44px)/1.2 "Le More Serif",serif; letter-spacing: normal; margin-bottom: 32px; }
.bj-gift-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.bj-gift { background: #fff; border-top: 3px solid #c79b40; box-shadow: 0 8px 35px #003b4a0c; }
.bj-gift-image { display: block; width: 100%; height: 275px; object-fit: cover; }
.bj-gift-content { padding: 24px; }
.bj-page .bj-offer { color: #a8781c; font: 400 28px/1.2 "Le More Serif",serif; margin: 0 0 16px; }
.bj-gift h3 { margin: 0 0 18px; font: 500 23px/1.25 "futura-pt",sans-serif; }
.bj-page-cta { text-align: center; margin-top: 36px; }
.bj-conditions { background: #eef3f2; padding-block: 65px; scroll-margin-top: 160px; }
.bj-conditions .bj-wrap { max-width: 940px; }
.bj-conditions h3 { font-size: 22px; margin-top: 28px; }
.bj-page a:focus-visible { outline-color: #01aad5; }
@media (max-width: 600px) {
    .bj-dialog { width: calc(100vw - 32px); }
    .bj-popup { width: 100%; min-height: 475px; height: auto; padding: 235px 20px 95px; }
    .bj-popup::before { left: -140px; top: -260px; }
    .bj-popup #bj-popup-title { position: relative; left: auto; top: auto; width: auto; font-size: 19px; line-height: 1.2; margin-bottom: 14px; }
    .bj-popup #bj-popup-body { position: relative; left: auto; top: auto; width: auto; font-size: 16px; line-height: 1.35; margin-bottom: 20px; }
    .bj-popup-button { position: relative; left: auto; top: auto; min-height: 44px; height: auto; font-size: 14px; padding-block: 10px; }
    .bj-ribbon { left: -12px; top: auto; bottom: 35px; width: calc(100% + 24px); min-height: 37px; height: auto; transform: rotate(-6deg); }
    .bj-ribbon span { position: static; display: block; padding: 5px 20px; white-space: normal; text-align: center; font-size: 12px; line-height: 1.3; }
    .bj-small-logo { display: block; top: auto; left: auto; right: 20px; bottom: 8px; }
    .bj-hero { padding-block: 48px; }
    .bj-wrap { padding-inline: 20px; }
    .bj-intro { font-size: 18px; }
    .bj-terms-link { margin-left: 0; }
    .bj-gifts { padding-block: 45px; }
    .bj-gift-grid { grid-template-columns: 1fr; gap: 24px; }
    .bj-gift-image { height: 260px; }
    .bj-conditions { padding-block: 45px; }
    .bj-bar { padding: 9px 16px; font-size: 14px; }
}
@media (min-width: 601px) and (max-width: 900px) { .bj-gift-grid { gap: 14px; } .bj-gift-content { padding: 18px; } .bj-gift h3 { font-size: 21px; } .bj-gift-image { height: 220px; } }
