/* ================================================================
   Groene Promo-widgets: PromoNotice (korte melding) en PromoCtaBand
   (actiebalk). Het groen sluit aan op de boekknoppen van de site
   (#28a745); het Zweedse geel (#efe82d) alleen bij hover en focus.
   ================================================================ */

/* ---------- Korte melding ---------- */

.promo-notice-bar {
    padding: 20px 0;
}

.promo-notice {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    margin: 0;
    padding: 6px 20px 6px 6px;
    background: #e8f5ec;
    border: 1px solid #c5e6cf;
    border-radius: 999px;
    color: #14532d;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none !important;
}

a.promo-notice:hover {
    background: #dbefe1;
    border-color: #a9d8b7;
    color: #14532d;
}

a.promo-notice:focus-visible {
    outline: 3px solid #00508f;
    outline-offset: 3px;
}

.promo-notice__icon {
    position: relative;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #28a745;
    color: #fff;
    font-size: 15px;
}

/* Twee zachte pulsen bij het laden: het enige dat hier beweegt. */
.promo-notice__icon::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    animation: promo-notice-pulse 1.6s ease-out 0.6s 2;
}

@keyframes promo-notice-pulse {
    from { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.45); }
    to   { box-shadow: 0 0 0 12px rgba(40, 167, 69, 0); }
}

.promo-notice__more {
    padding-left: 12px;
    border-left: 1px solid #b5dcc0;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
}

@media (max-width: 575.98px) {
    .promo-notice {
        flex-wrap: wrap;
        align-items: flex-start;
        border-radius: 20px;
        padding-right: 16px;
    }

    .promo-notice__text {
        flex: 1 1 0;
        padding-top: 6px;
    }

    .promo-notice__more {
        flex-basis: 100%;
        margin: -4px 0 4px 46px;
        padding-left: 0;
        border-left: 0;
    }
}

/* ---------- Actiebalk ---------- */

.promo-cta-band {
    position: relative;
    overflow: hidden;
    padding: 44px 0 80px;
    background: #1f7a3f;
    color: #fff;
}

/* Een bosrand langs de onderkant: het uitzicht vanaf het huis. */
.promo-cta-band::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 56px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='56' viewBox='0 0 320 56'%3E%3Cpath fill='%23185f31' d='M4 24 5 32 4 30 7 39 5 38 9 46 6 45 10 53 5 56 2 56 -2 53 1 45 -1 46 2 38 0 39 3 30 2 32ZM-316 24 -314 32 -315 30 -312 39 -314 38 -310 46 -313 45 -309 53 -314 56 -317 56 -322 53 -318 45 -321 46 -317 38 -319 39 -316 30 -317 32ZM20 32 21 37 21 36 23 43 21 42 24 48 22 47 26 54 21 56 19 56 14 54 17 47 15 48 18 42 17 43 19 36 18 37ZM-299 32 -298 37 -299 36 -296 43 -298 42 -295 48 -297 47 -294 54 -298 56 -301 56 -305 54 -302 47 -304 48 -301 42 -302 43 -300 36 -301 37ZM33 32 34 37 34 36 36 43 34 42 37 48 35 47 38 54 34 56 32 56 27 54 30 47 28 48 31 42 30 43 32 36 31 37ZM-286 32 -285 37 -286 36 -283 43 -285 42 -282 48 -284 47 -281 54 -285 56 -288 56 -292 54 -289 47 -291 48 -288 42 -289 43 -287 36 -288 37ZM42 21 44 29 43 28 46 37 44 36 48 45 45 44 49 53 43 56 41 56 35 53 39 44 37 45 40 36 38 37 41 28 40 29ZM-277 21 -275 29 -276 28 -273 37 -275 36 -271 45 -274 44 -270 53 -276 56 -278 56 -284 53 -280 44 -282 45 -279 36 -281 37 -278 28 -279 29ZM52 22 54 29 53 28 57 37 55 36 59 45 56 44 61 53 53 56 51 56 43 53 48 44 45 45 50 36 48 37 51 28 50 29ZM-267 22 -265 29 -266 28 -262 37 -264 36 -260 45 -263 44 -258 53 -266 56 -268 56 -276 53 -271 44 -274 45 -269 36 -271 37 -268 28 -269 29ZM63 27 64 34 63 33 66 40 64 39 68 47 65 46 70 53 64 56 61 56 55 53 60 46 57 47 61 39 59 40 62 33 61 34ZM-257 27 -255 34 -256 33 -253 40 -255 39 -251 47 -254 46 -250 53 -255 56 -258 56 -264 53 -260 46 -262 47 -259 39 -260 40 -258 33 -258 34ZM82 17 84 26 83 25 86 35 84 33 89 44 86 42 91 52 83 56 81 56 73 52 78 42 75 44 79 33 77 35 81 25 80 26ZM-237 17 -235 26 -236 25 -233 35 -235 33 -230 44 -233 42 -228 52 -236 56 -238 56 -246 52 -241 42 -244 44 -240 33 -242 35 -238 25 -239 26ZM102 32 103 38 103 37 105 43 103 42 106 48 104 47 108 54 103 56 100 56 95 54 99 47 97 48 100 42 99 43 101 37 100 38ZM-217 32 -216 38 -217 37 -214 43 -216 42 -213 48 -215 47 -211 54 -216 56 -219 56 -224 54 -220 47 -222 48 -219 42 -221 43 -218 37 -219 38ZM114 30 115 35 115 34 117 41 115 40 118 47 116 46 120 53 115 56 113 56 108 53 112 46 110 47 112 40 111 41 113 34 112 35ZM-205 30 -204 35 -204 34 -202 41 -204 40 -201 47 -203 46 -200 53 -204 56 -206 56 -211 53 -208 46 -209 47 -207 40 -208 41 -206 34 -207 35ZM126 11 129 21 128 19 131 31 129 30 134 42 130 40 136 52 127 56 125 56 116 52 122 40 119 42 124 30 121 31 125 19 124 21ZM-193 11 -190 21 -191 19 -188 31 -190 30 -185 42 -189 40 -183 52 -192 56 -194 56 -203 52 -197 40 -200 42 -196 30 -198 31 -194 19 -195 21ZM142 16 144 25 143 23 146 34 144 32 149 43 145 42 151 52 143 56 140 56 132 52 138 42 135 43 139 32 137 34 140 23 139 25ZM-177 16 -175 25 -176 23 -173 34 -175 32 -170 43 -174 42 -168 52 -176 56 -179 56 -187 52 -181 42 -184 43 -180 32 -182 34 -179 23 -180 25ZM157 32 158 37 157 36 159 43 158 42 160 48 159 47 162 54 158 56 155 56 152 54 155 47 153 48 155 42 154 43 156 36 155 37ZM-162 32 -161 37 -162 36 -160 43 -161 42 -159 48 -160 47 -157 54 -161 56 -164 56 -168 54 -165 47 -166 48 -164 42 -165 43 -163 36 -164 37ZM168 14 170 24 169 22 173 33 171 32 175 43 172 41 178 52 169 56 167 56 158 52 164 41 161 43 165 32 163 33 167 22 165 24ZM-151 14 -149 24 -150 22 -146 33 -148 32 -144 43 -147 41 -141 52 -150 56 -152 56 -161 52 -155 41 -158 43 -154 32 -156 33 -153 22 -154 24ZM180 17 183 26 182 24 185 35 183 33 187 44 184 42 190 52 182 56 179 56 171 52 177 42 173 44 178 33 176 35 179 24 178 26ZM-139 17 -136 26 -137 24 -134 35 -136 33 -132 44 -135 42 -130 52 -138 56 -140 56 -148 52 -143 42 -146 44 -141 33 -143 35 -140 24 -141 26ZM193 11 196 21 194 20 198 32 196 30 201 42 197 40 204 52 194 56 191 56 181 52 188 40 184 42 190 30 187 32 191 20 190 21ZM-126 11 -124 21 -125 20 -121 32 -123 30 -118 42 -122 40 -115 52 -125 56 -128 56 -138 52 -131 40 -135 42 -130 30 -132 32 -128 20 -129 21ZM204 17 207 26 206 25 209 35 207 33 211 44 208 42 214 53 206 56 203 56 195 53 201 42 197 44 202 33 200 35 203 25 202 26ZM-115 17 -112 26 -113 25 -110 35 -112 33 -108 44 -111 42 -105 53 -114 56 -116 56 -124 53 -119 42 -122 44 -117 33 -119 35 -116 25 -117 26ZM223 13 225 23 224 21 228 33 226 31 230 42 227 41 233 52 224 56 222 56 213 52 219 41 216 42 220 31 218 33 222 21 221 23ZM-96 13 -94 23 -95 21 -91 33 -93 31 -89 42 -92 41 -86 52 -95 56 -97 56 -106 52 -100 41 -103 42 -99 31 -101 33 -97 21 -99 23ZM243 30 244 36 244 35 246 42 244 41 247 48 245 47 249 54 244 56 242 56 237 54 240 47 238 48 241 41 240 42 242 35 241 36ZM-76 30 -75 36 -75 35 -73 42 -75 41 -72 48 -74 47 -70 54 -75 56 -78 56 -82 54 -79 47 -81 48 -78 41 -79 42 -77 35 -78 36ZM260 29 262 35 261 34 263 41 262 40 265 47 263 46 266 53 261 56 259 56 254 53 257 46 255 47 258 40 257 41 259 34 259 35ZM-59 29 -57 35 -58 34 -56 41 -57 40 -54 47 -56 46 -53 53 -58 56 -60 56 -65 53 -62 46 -64 47 -61 40 -62 41 -60 34 -61 35ZM270 15 272 24 271 23 275 34 272 32 277 43 274 41 280 52 271 56 268 56 259 52 265 41 262 43 267 32 264 34 268 23 267 24ZM-50 15 -47 24 -48 23 -44 34 -47 32 -42 43 -45 41 -39 52 -48 56 -51 56 -60 52 -54 41 -57 43 -52 32 -55 34 -51 23 -52 24ZM285 9 288 20 286 18 290 30 288 29 293 41 289 39 296 52 286 56 284 56 274 52 280 39 277 41 282 29 279 30 283 18 282 20ZM-34 9 -32 20 -33 18 -29 30 -31 29 -26 41 -30 39 -24 52 -33 56 -35 56 -45 52 -39 39 -42 41 -37 29 -40 30 -36 18 -37 20ZM301 17 304 26 303 24 306 35 304 33 309 44 305 42 311 52 303 56 300 56 292 52 298 42 294 44 299 33 297 35 300 24 299 26ZM-18 17 -15 26 -16 24 -13 35 -15 33 -10 44 -14 42 -8 52 -16 56 -19 56 -27 52 -22 42 -25 44 -20 33 -22 35 -19 24 -20 26ZM316 10 319 21 317 19 322 31 319 29 325 41 321 40 328 52 317 56 314 56 303 52 310 40 306 41 312 29 309 31 314 19 312 21ZM-4 10 -0 21 -2 19 2 31 -0 29 5 41 1 40 8 52 -2 56 -5 56 -16 52 -9 40 -13 41 -7 29 -10 31 -5 19 -7 21ZM330 15 332 24 331 23 334 34 332 32 336 43 333 41 338 52 331 56 329 56 321 52 326 41 323 43 327 32 325 34 329 23 328 24ZM10 15 12 24 11 23 14 34 12 32 16 43 13 41 18 52 11 56 9 56 1 52 6 41 3 43 7 32 5 34 9 23 8 24ZM0 53H320V56H0Z'/%3E%3C/svg%3E") repeat-x left bottom / 320px 56px;
    pointer-events: none;
}

.promo-cta-band__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px 48px;
}

.promo-cta-band__text {
    flex: 1 1 420px;
    max-width: 640px;
}

.promo-cta-band__title {
    margin: 0 0 8px;
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
}

.promo-cta-band__intro {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.05rem;
    line-height: 1.6;
}

.promo-cta-band__button {
    flex: none;
    display: inline-block;
    padding: 15px 28px;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 0 #145c2f;
    color: #14532d;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background-color 0.15s ease;
}

.promo-cta-band__button:hover {
    background: #efe82d;
    color: #14532d;
}

.promo-cta-band__button:active {
    transform: translateY(1px);
    box-shadow: 0 1px 0 #145c2f;
}

.promo-cta-band__button:focus-visible {
    outline: 3px solid #efe82d;
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    .promo-cta-band {
        padding: 36px 0 68px;
    }

    .promo-cta-band__title {
        font-size: 1.45rem;
    }

    .promo-cta-band__button {
        width: 100%;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .promo-notice__icon::after {
        animation: none;
    }

    .promo-cta-band__button {
        transition: none;
    }
}
