/* A framed cabinet with visible side walls and individual drawer fronts. */
.advent-section{padding:75px 4% 85px;gap:65px;background:radial-gradient(ellipse at 78% 35%,#fff8e9 0,#e7d8bf80 44%,transparent 72%),linear-gradient(135deg,#ece6da,#ddd1bd);overflow:hidden}
.advent-scene{perspective:1600px;padding:50px 35px 55px 0;position:relative;isolation:isolate}
.advent-scene:after{content:'';position:absolute;left:8%;right:0;bottom:5px;height:45px;border-radius:50%;background:#49302055;filter:blur(20px);transform:rotate(-5deg);z-index:-1}
.advent-box{transform-style:preserve-3d;transform:rotateY(-17deg) rotateX(8deg) rotateZ(-3deg);border-radius:9px;padding:29px 24px 24px;border:2px solid #dcbb80;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 4px),linear-gradient(115deg,#a7624d,#793a32 40%,#592923);box-shadow:inset 0 0 0 5px #542b22,inset 0 0 0 7px #b58c57,inset 0 0 35px #30140d99,0 25px 35px #4a30262b;animation:adventCabinetFloat 9s ease-in-out infinite}
.advent-box:before{content:'';position:absolute;top:0;bottom:-2px;right:-46px;width:44px;transform-origin:left;transform:skewY(30deg);background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 5px),linear-gradient(90deg,#5b2a22,#361c19);border:1px solid #ba8c54;border-radius:0 5px 6px 0;box-shadow:inset 4px 0 8px #25120e66}
.advent-box:after{content:'';position:absolute;left:0;right:-1px;bottom:-27px;height:25px;transform-origin:top;transform:skewX(60deg);background:linear-gradient(#62362a,#391f1b);border:1px solid #a37846;border-radius:0 0 4px 5px;z-index:-1}
.advent-box-title{padding:6px 0 17px;margin-bottom:20px;border-bottom:1px solid #d1ac6a80;position:relative;text-shadow:0 2px 2px #2d120a99}
.advent-box-title:before,.advent-box-title:after{content:'✦';position:absolute;top:20px;font-size:17px;color:#dfbd78}.advent-box-title:before{left:0}.advent-box-title:after{right:0}
.advent-box-title span:first-child{color:#e8c889;letter-spacing:4px}.advent-box-title span:last-child{font-size:27px;padding:0 20px}
.advent-doors{gap:12px;padding:12px;background:#351f1a;border:1px solid #c19a60;border-radius:5px;box-shadow:inset 0 4px 12px #160a08aa,0 1px 0 #e9c486;transform-style:preserve-3d}
.advent-door{aspect-ratio:.72;transform-style:preserve-3d;border:1px solid #bd8659;border-radius:3px;background:linear-gradient(125deg,#ad6c52 0,#894633 38%,#713729 100%);box-shadow:inset 0 0 0 3px #84432e,inset 0 0 0 4px #ce9f6366,inset 1px 2px 3px #f6caa766,4px 6px 0 #3d2118,5px 8px 6px #110907aa;transition:transform .55s cubic-bezier(.2,.8,.25,1),box-shadow .55s;gap:7px}
.advent-door:before{content:'';position:absolute;inset:7px;border:1px solid #f7dab12b;border-radius:24px 24px 2px 2px;pointer-events:none}
.advent-door:nth-child(4n){background:linear-gradient(125deg,#fff4db,#dbc291 65%,#b9935f);border-color:#f3d7a3;box-shadow:inset 0 0 0 3px #d7b780,inset 0 0 0 4px #fff2d18a,inset 1px 2px 3px #fff8e0,4px 6px 0 #84603b,5px 8px 6px #110907aa}
.advent-door:nth-child(7n){background:linear-gradient(125deg,#6e7960,#3e503c 70%,#2e3c2d);border-color:#b49c68;box-shadow:inset 0 0 0 3px #405038,inset 0 0 0 4px #d7c59440,inset 1px 2px 3px #bdc6a750,4px 6px 0 #263023,5px 8px 6px #110907aa}
.advent-keyhole{right:auto;top:auto;bottom:9px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;opacity:1;background:radial-gradient(circle at 30% 25%,#fff7d1,#d2a75b 40%,#795526 75%);box-shadow:1px 3px 2px #2f170e99,0 0 0 1px #e1ba73}
.advent-day{font-size:29px;text-shadow:0 1px 1px #31150d66;margin-bottom:12px}.advent-door-detail{font-size:12px;color:#e5c58a;opacity:1}.advent-door:nth-child(4n) .advent-door-detail{color:#85502f}
.advent-door:hover,.advent-door.chosen{transform:translate3d(-3px,-7px,24px);box-shadow:inset 0 0 0 3px #b4855670,inset 0 1px 4px #fff2c7aa,7px 13px 0 #45291e,9px 17px 12px #160b09bb}
.advent-box-foot{color:#e5c38a;font-size:7px;margin-top:24px;letter-spacing:2px}
@keyframes adventCabinetFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(max-width:1100px){.advent-section{gap:35px}.advent-doors{gap:9px;padding:9px}.advent-box{padding:25px 16px 20px}.advent-day{font-size:25px}}
@media(max-width:900px){.advent-section{padding:40px 7% 55px;gap:0}.advent-scene{max-width:580px;padding:35px 35px 45px 0}.advent-box{transform:rotateY(-13deg) rotateX(6deg) rotateZ(-2deg)}}
@media(max-width:480px){.advent-section{padding:30px 6% 40px}.advent-scene{padding:25px 24px 40px 0}.advent-box{padding:20px 12px}.advent-box:before{right:-25px;width:23px}.advent-box:after{height:13px;bottom:-15px}.advent-box-title span:last-child{font-size:21px;padding:0 10px}.advent-box-title:before,.advent-box-title:after{font-size:10px}.advent-door{aspect-ratio:.85}.advent-day{font-size:25px}.advent-doors{gap:10px;padding:9px}.advent-box-foot{font-size:6px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.advent-box{animation:none}.advent-door{transition:none}}
.advent-section{grid-template-columns:1fr;gap:10px}
.advent-copy{text-align:center;max-width:650px;margin:auto}.advent-copy>p{max-width:600px}.advent-countdown{margin:24px auto}
.advent-scene{width:100%;max-width:960px;margin:auto;padding:35px 17% 65px;perspective:1800px}
.advent-box{animation:none;transform:rotateX(5deg);background:linear-gradient(120deg,#b91d30,#79091a);border-color:#d4ad61;border-radius:3px;padding:22px 18px}
.advent-box:before{width:18px;right:-20px;background:linear-gradient(90deg,#750a18,#460710);transform:skewY(35deg)}.advent-box:after{height:12px;bottom:-14px;background:#690c18;transform:skewX(55deg)}
.advent-doors{grid-template-columns:repeat(6,1fr);gap:6px;padding:8px;background:#580a13}
.advent-door,.advent-door:nth-child(4n),.advent-door:nth-child(7n){aspect-ratio:.85;background:linear-gradient(130deg,#bf293c,#8b1023);color:#f0d292;border-color:#be9455;border-radius:1px;box-shadow:inset 1px 1px 2px #f8967944,2px 3px 0 #450912}
.advent-door:nth-child(3n){background:repeating-linear-gradient(45deg,transparent 0 16px,#e9bb6933 17px 18px),linear-gradient(130deg,#af1c30,#850d20)}
.advent-door:before{border-radius:0;inset:5px}.advent-door-detail,.advent-door:nth-child(4n) .advent-door-detail{color:#e5c58a}.advent-day{font-size:30px}.advent-box-foot{font-size:7px;letter-spacing:1px}.advent-box-title span:last-child{font-size:24px}
.advent-panel{position:absolute;top:-2px;bottom:-2px;width:50%;z-index:5;background:linear-gradient(115deg,#c82b3b,#9c1124 65%,#790b1c);border:2px solid #d0a862;box-shadow:inset 0 0 0 5px #840c20,inset 0 0 0 6px #c59b58,0 4px 8px #39071166;transition:transform 1.9s cubic-bezier(.25,.7,.2,1);backface-visibility:visible}
.advent-panel svg{width:100%;height:100%}.advent-panel-left{left:-2px;transform-origin:left center}.advent-panel-right{right:-2px;transform-origin:right center}
.advent-bow{position:absolute;width:110px;top:47%;left:50%;transform:translate(-50%,-50%) translateZ(4px);z-index:6;filter:drop-shadow(0 5px 3px #43081299);transition:opacity .3s,scale .5s}.advent-bow svg{width:100%}
.is-open .advent-panel-left{transform:rotateY(-112deg)}.is-open .advent-panel-right{transform:rotateY(112deg)}.is-open .advent-bow{opacity:0;scale:.7;pointer-events:none}
.search{width:240px;min-width:220px}
@media(max-width:600px){.advent-section{padding:30px 12px}.advent-scene{padding:25px 13% 45px;max-width:100%}.advent-box{padding:15px 8px}.advent-doors{grid-template-columns:repeat(4,1fr);gap:5px;padding:5px}.advent-day{font-size:23px}.advent-box-title span:last-child{font-size:18px;padding:0}.advent-box-title span:first-child{font-size:8px;letter-spacing:2px}.advent-box-title:before,.advent-box-title:after{display:none}.advent-box-foot{font-size:5px}.advent-bow{width:85px}.search{flex:1 1 100%;width:100%;margin:10px 0 0}}
@media(prefers-reduced-motion:reduce){.advent-panel,.advent-bow{transition:none}}
.is-open .advent-panel text{opacity:0}
