/* Wereld KOFFER: reiskoffer met stickers gaat open, labels zwaaien, stempel erop */
body:has(.d-world-koffer) { --t-orange: #FFE3CC; --t-blue: #DDE8F5; --t-green: #E4EDD9; --t-yellow: #FFF0C4; }
body:has(.d-world-koffer) .d-section.has-vlak-groen-background-color,
body:has(.d-world-koffer) .d-section.has-vlak-blauw-background-color { background: #FFF5DD !important; }
.d-world-koffer { background: repeating-linear-gradient(90deg, rgba(255,255,255,0) 0 46px, rgba(255,255,255,.35) 46px 48px), linear-gradient(180deg, #FFEFC4 0%, #FFF8E6 100%) !important; }
.d-world-koffer .d-play-title mark { color: #C76A1E !important; }
body:has(.d-world-koffer) main .d-section { position: relative; }
body:has(.d-world-koffer) main .d-section + .d-section::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 24px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 24'%3E %3Crect x='0' y='5' width='80' height='14' fill='%231E2B45'/%3E %3Cpath d='M4 17 L 14 7 M24 17 L 34 7 M44 17 L 54 7 M64 17 L 74 7' stroke='%23FFC94D' stroke-width='4' stroke-linecap='round'/%3E %3Ccircle cx='20' cy='21' r='3' fill='%238EAAD5' stroke='%231E2B45' stroke-width='1.5'/%3E%3Ccircle cx='60' cy='21' r='3' fill='%238EAAD5' stroke='%231E2B45' stroke-width='1.5'/%3E%3C/svg%3E") left center / 80px 24px repeat-x; z-index: 2; pointer-events: none; }

.d-scene-koffer { position: absolute !important; inset: 0; height: auto !important; }
.d-koffer-hoofd { width: 240px; height: 160px; right: 3%; bottom: 4%; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 160'%3E %3Crect x='14' y='138' width='26' height='16' rx='6' fill='%231E2B45'/%3E%3Crect x='200' y='138' width='26' height='16' rx='6' fill='%231E2B45'/%3E %3Crect x='6' y='6' width='228' height='138' rx='20' fill='%23EC8B48' stroke='%231E2B45' stroke-width='3'/%3E %3Cpath d='M60 6 V 144 M180 6 V 144' stroke='%23C96A2E' stroke-width='10' opacity='.55'/%3E %3Ccircle cx='36' cy='104' r='17' fill='%238EAAD5' stroke='%231E2B45' stroke-width='2.5'/%3E%3Cpath d='M27 104 L34 111 L46 97' stroke='%23fff' stroke-width='4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E %3Cpath d='M204 86 L208 98 L221 98 L211 106 L215 119 L204 111 L193 119 L197 106 L187 98 L200 98 Z' fill='%23FFC94D' stroke='%231E2B45' stroke-width='2.5' stroke-linejoin='round'/%3E %3Cpath d='M150 114 C 150 104 164 104 164 114 C 164 104 178 104 178 114 C 178 124 164 132 164 134 C 164 132 150 124 150 114 Z' fill='%23F49AB4' stroke='%231E2B45' stroke-width='2.5'/%3E %3Crect x='196' y='24' width='26' height='34' rx='6' fill='%23729A47' stroke='%231E2B45' stroke-width='2.5' transform='rotate(10 209 41)'/%3E%3Cpath d='M204 36 H 216 M204 44 H 214' stroke='%23fff' stroke-width='3' stroke-linecap='round' transform='rotate(10 209 41)'/%3E %3Ccircle cx='98' cy='62' r='7' fill='%231E2B45'/%3E%3Ccircle cx='142' cy='62' r='7' fill='%231E2B45'/%3E %3Ccircle cx='100.5' cy='59.5' r='2.4' fill='%23fff'/%3E%3Ccircle cx='144.5' cy='59.5' r='2.4' fill='%23fff'/%3E %3Cpath d='M108 80 Q 120 92 132 80' stroke='%231E2B45' stroke-width='3' fill='none' stroke-linecap='round'/%3E %3Ccircle cx='84' cy='80' r='8' fill='%23F49AB4' opacity='.65'/%3E%3Ccircle cx='156' cy='80' r='8' fill='%23F49AB4' opacity='.65'/%3E %3Crect x='104' y='0' width='32' height='14' rx='4' fill='%23FFC94D' stroke='%231E2B45' stroke-width='2.5'/%3E%3C/svg%3E") !important; z-index: 3; }
.d-koffer-deksel { width: 240px; height: 80px; right: 3%; bottom: calc(4% + 154px); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 80'%3E %3Cpath d='M92 30 V 16 C 92 4 148 4 148 16 V 30' stroke='%231E2B45' stroke-width='9' fill='none' stroke-linecap='round'/%3E %3Cpath d='M92 30 V 16 C 92 4 148 4 148 16 V 30' stroke='%238EAAD5' stroke-width='4' fill='none' stroke-linecap='round'/%3E %3Cpath d='M6 74 V 50 C 6 38 16 28 28 28 H 212 C 224 28 234 38 234 50 V 74 Z' fill='%23F07A2B' stroke='%231E2B45' stroke-width='3' stroke-linejoin='round'/%3E %3Cpath d='M60 30 V 74 M180 30 V 74' stroke='%23C96A2E' stroke-width='10' opacity='.55'/%3E %3Ccircle cx='120' cy='54' r='11' fill='%23FFF6E6' stroke='%231E2B45' stroke-width='2.5'/%3E%3Cpath d='M120 47 V 61 M113 54 H 127' stroke='%23729A47' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") !important; z-index: 4; transform-origin: 2% 95%; }
.d-koffer-papier { width: 56px; height: 69px; right: calc(3% + 26px); bottom: calc(4% + 150px); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 86'%3E %3Cpath d='M6 4 H 48 L 64 20 V 82 H 6 Z' fill='%23fff' stroke='%231E2B45' stroke-width='2.5' stroke-linejoin='round'/%3E %3Cpath d='M48 4 V 20 H 64' fill='%23FFF6E6' stroke='%231E2B45' stroke-width='2.5' stroke-linejoin='round'/%3E %3Cpath d='M16 34 H 52 M16 46 H 54 M16 58 H 44 M16 70 H 50' stroke='%238EAAD5' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") !important; z-index: 2; }
.d-koffer-label { width: 48px; height: 104px; top: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 130'%3E %3Cpath d='M30 0 C 24 20 36 36 30 56' stroke='%231E2B45' stroke-width='2' fill='none'/%3E %3Cpath d='M14 64 L 30 52 L 46 64 V 122 C 46 126 44 128 40 128 H 20 C 16 128 14 126 14 122 Z' fill='%238EAAD5' stroke='%231E2B45' stroke-width='2.5' stroke-linejoin='round'/%3E %3Ccircle cx='30' cy='64' r='4' fill='%23FFF6E6' stroke='%231E2B45' stroke-width='2'/%3E %3Cpath d='M21 84 H 39 M21 96 H 36 M21 108 H 39' stroke='%23fff' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") !important; transform-origin: 50% 0; }
.d-koffer-l1 { left: 44%; }
.d-koffer-l2 { left: 4%; height: 84px; width: 39px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 130'%3E %3Cpath d='M30 0 C 24 20 36 36 30 56' stroke='%231E2B45' stroke-width='2' fill='none'/%3E %3Cpath d='M14 64 L 30 52 L 46 64 V 122 C 46 126 44 128 40 128 H 20 C 16 128 14 126 14 122 Z' fill='%23729A47' stroke='%231E2B45' stroke-width='2.5' stroke-linejoin='round'/%3E %3Ccircle cx='30' cy='64' r='4' fill='%23FFF6E6' stroke='%231E2B45' stroke-width='2'/%3E %3Cpath d='M21 84 H 39 M21 96 H 36 M21 108 H 39' stroke='%23fff' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") !important; }
.d-koffer-stempel { width: 72px; height: 99px; right: calc(3% + 110px); bottom: calc(4% + 100px); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 110'%3E %3Cellipse cx='40' cy='18' rx='18' ry='16' fill='%23729A47' stroke='%231E2B45' stroke-width='3'/%3E %3Crect x='32' y='30' width='16' height='40' rx='4' fill='%23B07A50' stroke='%231E2B45' stroke-width='3'/%3E %3Crect x='8' y='68' width='64' height='16' rx='5' fill='%23B07A50' stroke='%231E2B45' stroke-width='3'/%3E %3Crect x='12' y='84' width='56' height='16' rx='3' fill='%23F49AB4' stroke='%231E2B45' stroke-width='3'/%3E %3Ccircle cx='33' cy='14' r='4' fill='%23fff' opacity='.5'/%3E%3C/svg%3E") !important; z-index: 6; }
.d-koffer-afdruk { width: 58px; height: 58px; right: calc(3% + 117px); bottom: calc(4% + 12px); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E %3Ccircle cx='40' cy='40' r='34' fill='none' stroke='%23D9467A' stroke-width='5' stroke-dasharray='10 4'/%3E %3Ccircle cx='40' cy='40' r='24' fill='none' stroke='%23D9467A' stroke-width='3'/%3E %3Cpath d='M28 41 L37 50 L54 31' stroke='%23D9467A' stroke-width='6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; z-index: 5; }
.d-peek-koffer::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 104'%3E %3Cpath d='M40 0 C 34 10 46 16 40 26' stroke='%231E2B45' stroke-width='2.5' fill='none'/%3E %3Cpath d='M10 40 L 40 22 L 70 40 V 98 C 70 101 68 103 65 103 H 15 C 12 103 10 101 10 98 Z' fill='%23FFC94D' stroke='%231E2B45' stroke-width='3' stroke-linejoin='round'/%3E %3Ccircle cx='40' cy='36' r='5' fill='%23FFF6E6' stroke='%231E2B45' stroke-width='2.5'/%3E %3Ccircle cx='29' cy='58' r='5.5' fill='%231E2B45'/%3E%3Ccircle cx='51' cy='58' r='5.5' fill='%231E2B45'/%3E %3Ccircle cx='31' cy='56' r='1.9' fill='%23fff'/%3E%3Ccircle cx='53' cy='56' r='1.9' fill='%23fff'/%3E %3Cpath d='M33 70 Q 40 77 47 70' stroke='%231E2B45' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E %3Ccircle cx='20' cy='70' r='5' fill='%23F49AB4' opacity='.65'/%3E%3Ccircle cx='60' cy='70' r='5' fill='%23F49AB4' opacity='.65'/%3E%3C/svg%3E"); width: 62px; height: 80px; top: -74px; left: 12%; }
.d-peek-koffer.d-peek-right::before { left: auto; right: 12%; }

.d-koffer-hoofd, .d-koffer-deksel { animation: d-koffer-rol 1.2s cubic-bezier(.3,1.2,.5,1) .2s both; }
@keyframes d-koffer-rol { from { translate: 120% 0; } 70% { translate: -4% 0; } }
.d-koffer-deksel { animation: d-koffer-rol 1.2s cubic-bezier(.3,1.2,.5,1) .2s both, d-koffer-open .9s cubic-bezier(.3,1.5,.5,1) 1.7s both; }
@keyframes d-koffer-open { to { transform: rotate(-24deg); } }
.d-koffer-papier { animation: d-koffer-uit 1s cubic-bezier(.3,1.5,.5,1) 2.3s both, d-koffer-zweef 3.4s ease-in-out 3.3s infinite; }
@keyframes d-koffer-uit { from { transform: translateY(70px) rotate(0); opacity: 0; } to { transform: translateY(-34px) rotate(-10deg); opacity: 1; } }
@keyframes d-koffer-zweef { 0%, 100% { transform: translateY(-34px) rotate(-10deg); } 50% { transform: translateY(-44px) rotate(6deg); } }
.d-koffer-label { animation: d-koffer-zwaai 3.2s ease-in-out infinite; }
.d-koffer-l2 { animation-duration: 4s; animation-delay: -1.3s; }
@keyframes d-koffer-zwaai { 0%, 100% { transform: rotate(-9deg); } 50% { transform: rotate(9deg); } }
.d-koffer-stempel { animation: d-koffer-stamp 1s ease-in 3.2s both; }
@keyframes d-koffer-stamp { 0% { transform: translateY(-60px); opacity: 0; } 30% { transform: translateY(-60px); opacity: 1; } 55% { transform: translateY(70px) scaleY(.9); } 70% { transform: translateY(66px); } 100% { transform: translateY(-50px); opacity: 0; } }
.d-koffer-afdruk { animation: d-koffer-afdruk .4s cubic-bezier(.3,1.6,.5,1) 3.75s both; }
@keyframes d-koffer-afdruk { from { transform: scale(1.5) rotate(-20deg); opacity: 0; } to { transform: rotate(-12deg); opacity: .9; } }

@media (max-width: 781px) {
	.d-koffer-l1, .d-koffer-papier { display: none; }
	.d-scene-koffer .d-koffer-hoofd { width: 132px; height: 88px; right: 3%; bottom: 2%; }
	.d-scene-koffer .d-koffer-deksel { width: 132px; height: 44px; right: 3%; bottom: calc(2% + 85px); }
	.d-koffer-stempel { width: 40px; height: 55px; right: calc(3% + 60px); bottom: calc(2% + 55px); }
	.d-koffer-afdruk { width: 32px; height: 32px; right: calc(3% + 64px); bottom: calc(2% + 6px); }
	@keyframes d-koffer-stamp { 0% { transform: translateY(-30px); opacity: 0; } 30% { transform: translateY(-30px); opacity: 1; } 55% { transform: translateY(38px) scaleY(.9); } 70% { transform: translateY(36px); } 100% { transform: translateY(-26px); opacity: 0; } }
	.d-koffer-l2 { left: auto; right: 6%; width: 30px; height: 64px; }
	.d-peek-koffer::before { width: 48px; height: 62px; top: -58px; }
}
@media (prefers-reduced-motion: reduce) {
	.d-scene-koffer > * { animation: none !important; }
	.d-koffer-stempel { display: none; }
	.d-koffer-afdruk { transform: rotate(-12deg); }
}
