/* Fangmas Advent Christmas lodge — scoped styles; other website pages untouched */
.fangmas-main{position:relative;isolation:isolate;max-width:1540px;margin:auto;padding:18px 20px 80px;color:#fff8e8}
.fangmas-main:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 15%,rgba(182,36,42,.25),transparent 52%)}
.fangmas-intro{text-align:center;padding:23px 12px 28px}
.fangmas-kicker{color:#f5cd85;letter-spacing:.28em;font-size:.72rem;font-weight:900;text-shadow:0 0 18px #ffd69d75}
.fangmas-intro h1{font-family:Georgia,serif;font-size:clamp(3.2rem,7.2vw,6.7rem);color:#ffdb88;line-height:1.01;letter-spacing:.03em;margin:13px 0 18px;text-shadow:0 2px 0 #8c342d,0 5px 0 #431d2e,0 7px 14px #000c,0 0 35px #ffa86d55}
.fangmas-intro h1 span:first-child{display:block;font-style:italic;font-size:.39em;letter-spacing:.025em;color:#ffefd3;text-shadow:0 0 18px #ffdda766}
.fangmas-intro h1 .fangmas-heading-snow{font-size:.3em;vertical-align:top;color:#fff1c5;text-shadow:0 0 20px #ffeb99}
.fangmas-intro p{margin:10px auto 17px;max-width:830px;font-size:clamp(.98rem,1.6vw,1.16rem);line-height:1.6;color:#f5d8ce}
.fangmas-season-banner{display:inline-block;background:linear-gradient(110deg,#551e30e8,#182d2fe8);border:1px solid #dfb97a;border-radius:50px;padding:10px 24px;color:#ffe6b5;font-weight:700;font-size:.92rem;box-shadow:0 0 24px #f5ad4b18}
.fangmas-progress{max-width:510px;margin:17px auto 0;display:flex;gap:13px;align-items:center;justify-content:center;color:#ffdfa5;font-size:.79rem}
.fangmas-progress-track{height:9px;min-width:90px;flex:1;background:#2d1d24;border:1px solid #a77947;border-radius:40px;overflow:hidden;box-shadow:inset 0 2px 7px #0007}
.fangmas-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#b72537,#f5b858,#fff1bf);transition:width .5s}
.fangmas-scene{position:relative;isolation:isolate;min-height:920px;padding:65px 10% 70px;overflow:hidden;border:2px solid #c99d62;border-radius:25px;background:radial-gradient(ellipse at 49% 15%,#8e4542 0%,#351e35 35%,#111b2b 85%);box-shadow:0 25px 85px #000b,0 0 38px #c98c4655,inset 0 0 90px #edb87123}
.fangmas-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 18%,#fffbd1 0 2px,transparent 3px),radial-gradient(circle at 85% 12%,#ffe1a7 0 2px,transparent 3px),radial-gradient(circle at 73% 42%,#fff6c9 0 1px,transparent 3px),radial-gradient(circle at 34% 36%,#fff4c2 0 2px,transparent 4px);background-size:167px 139px,241px 187px,83px 105px,157px 203px;opacity:.6;pointer-events:none}
.fangmas-scene:after{content:"";position:absolute;z-index:0;bottom:-32px;left:-15%;right:-15%;height:100px;background:radial-gradient(ellipse,#f2f0e6 0%,#c9dce4 40%,#9db7c766 70%,transparent 72%);filter:blur(6px);pointer-events:none}
.fangmas-starfield{position:absolute;inset:0;pointer-events:none;opacity:.65;background-image:radial-gradient(circle,#ffe9af 1px,transparent 2px),radial-gradient(circle,#fff 1px,transparent 2px);background-size:127px 113px,91px 87px;animation:fangmas-stars 5s ease-in-out infinite alternate}
@keyframes fangmas-stars{from{opacity:.38}to{opacity:.84}}
.fangmas-snow-layer{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.48;background-image:radial-gradient(circle,#fff 1.5px,transparent 2.3px),radial-gradient(circle,#fff 1px,transparent 2px);background-size:112px 125px,163px 113px;animation:fangmas-snow 19s linear infinite}
@keyframes fangmas-snow{to{background-position:35px 900px,-15px 700px}}
.fangmas-chalet{position:relative;z-index:2;max-width:1000px;margin:30px auto 0;filter:drop-shadow(0 24px 26px #000b)}
.fangmas-roof{position:relative;z-index:3;margin:0 -37px -1px;height:128px;background:linear-gradient(160deg,#a4404d 0%,#6a2738 42%,#421d2d 100%);clip-path:polygon(0 100%,50% 0,100% 100%);filter:drop-shadow(0 3px 2px #000)}
.fangmas-roof:before{content:"";position:absolute;inset:9px 25px 9px;background:linear-gradient(180deg,#e6bd76,#fae8ae 35%,#9b6d45 55%,transparent 59%);clip-path:polygon(0 100%,50% 0,100% 100%);opacity:.75}
.fangmas-roof-snow{position:absolute;inset:0;background:#f5f4ec;clip-path:polygon(0 97%,49.65% 0%,50% 0%,100% 97%,97% 98%,50% 9%,3% 99%);filter:drop-shadow(0 0 5px #fef0c0)}
.fangmas-roof-star{position:absolute;top:27px;left:50%;transform:translateX(-50%);font-size:42px;color:#fff2bc;text-shadow:0 0 14px #fff9c6,0 0 29px #ffc766,0 0 48px #ffae36}
.fangmas-house-face{position:relative;border:12px ridge #bc8350;border-radius:7px 7px 17px 17px;background:repeating-linear-gradient(0deg,#713e37 0 36px,#66342e 37px 39px,#8b5040 40px 41px),linear-gradient(#7d403d,#5a342d);box-shadow:inset 0 0 0 4px #efd09b,inset 0 0 35px #130b18,0 8px 0 #41252d;padding:18px clamp(15px,3vw,36px) 24px}
.fangmas-house-face:before{content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid #f6dca861}
.fangmas-house-heading{position:relative;text-align:center;display:flex;align-items:center;justify-content:center;gap:30px;min-height:104px;padding:6px 0 18px;color:#fff1c8;text-shadow:0 2px 8px #0008}
.fangmas-house-heading small{display:block;font-size:11px;letter-spacing:.34em;font-weight:700}
.fangmas-house-heading strong{display:block;font-size:clamp(1.5rem,3.25vw,3.1rem);line-height:1.15;font-family:Georgia,serif;font-weight:800;color:#ffdf97;letter-spacing:.1em;text-shadow:0 2px 0 #65302d,0 0 25px #f3ba6477}
.fangmas-house-heading em{display:block;font-family:Georgia,serif;color:#ffe0ad;font-size:clamp(.8rem,1.3vw,1.1rem)}
.fangmas-house-flourish{font-size:40px;color:#f4bd65;text-shadow:0 0 20px #ffc56e}
.fangmas-calendar{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,1.3vw,17px);max-width:890px;margin:0 auto}
.fangmas-door{--gift:#9b273b;--gift-deep:#4d1228;--ribbon:#e5b65f;position:relative;cursor:pointer;min-width:0;aspect-ratio:1/1.1;border:5px solid #f7dda0;border-radius:5px;color:#fff4c8;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;background:linear-gradient(135deg,#ffffff22 0%,transparent 35%),repeating-linear-gradient(0deg,transparent 0 7px,#00000008 8px 9px),linear-gradient(135deg,var(--gift),var(--gift-deep));box-shadow:0 7px 0 #37201a,0 9px 1px #e3be7b,0 17px 16px #0008,inset 0 0 0 2px #7b3c2e, inset 0 0 22px #0003;transition:transform .22s,box-shadow .22s;transform-origin:bottom center;overflow:visible}
.fangmas-door:nth-child(5n+2){--gift:#12644f;--gift-deep:#073e39;--ribbon:#f4d18b}
.fangmas-door:nth-child(5n+3){--gift:#383d79;--gift-deep:#1a2348;--ribbon:#f4bbbe}
.fangmas-door:nth-child(5n+4){--gift:#a55c24;--gift-deep:#6d2f21;--ribbon:#fae1a2}
.fangmas-door:nth-child(5n+5){--gift:#832b57;--gift-deep:#4d153b;--ribbon:#e7c780}
.fangmas-door:before{content:"";position:absolute;z-index:1;inset:7px;border:1px solid #ffebad78;pointer-events:none;box-shadow:inset 0 0 20px #fff2bd0c}
.fangmas-door:after{content:"";position:absolute;z-index:3;bottom:-11px;left:4px;right:4px;height:5px;border-radius:50%;background:#0007;filter:blur(4px);pointer-events:none}
.fangmas-door .ribbon{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 42%,var(--ribbon) 43% 57%,transparent 58%),linear-gradient(0deg,transparent 43%,var(--ribbon) 44% 56%,transparent 57%);opacity:.94;box-shadow:inset 0 0 22px #0002}
.fangmas-door .ribbon:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,#fff6d95c 47%,transparent 49%),linear-gradient(0deg,transparent 46%,#fffbd44d 48%,transparent 50%)}
.fangmas-door .gift-bow{position:absolute;z-index:5;top:-17px;left:50%;width:57px;height:28px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 3px 2px #0009)}
.fangmas-door .gift-bow i{position:absolute;top:3px;width:26px;height:20px;border:3px solid #fff2c0;border-radius:75% 20% 75% 20%;background:var(--ribbon)}
.fangmas-door .gift-bow i:first-child{left:2px;transform:rotate(28deg)}
.fangmas-door .gift-bow i:nth-child(2){right:2px;transform:scaleX(-1) rotate(28deg)}
.fangmas-door .gift-bow b{position:absolute;top:9px;left:23px;width:12px;height:12px;border:2px solid #fff3cf;border-radius:50%;background:#b77d40}
.fangmas-door .number{z-index:2;position:relative;font-weight:900;font-size:clamp(1.85rem,3vw,3.1rem);line-height:1;color:#fff3bf;text-shadow:0 3px 0 #4a2830,0 0 9px #eabf66,0 0 3px #000,2px 2px 3px #000}
.fangmas-door .gift-sparkle{position:absolute;z-index:4;right:8px;bottom:6px;font-size:16px;color:#fff2af;text-shadow:0 0 10px #fff2b4}
.fangmas-door .gift-lock{position:absolute;z-index:4;left:7px;bottom:5px;font-size:17px;color:#fbe4b7}
.fangmas-door:focus-visible{outline:4px solid white;outline-offset:6px}
.fangmas-door:hover{transform:translateY(-7px) rotate(-1.5deg);box-shadow:0 9px 0 #37201a,0 11px 1px #e3be7b,0 22px 29px #f4cc805c,inset 0 0 0 2px #7b3c2e,inset 0 0 24px #fff7c829}
.fangmas-door.is-locked{filter:saturate(.8);cursor:pointer}
.fangmas-door.is-locked:hover{transform:translateY(-2px)}
.fangmas-door.is-opened{border-color:#fffbd9;box-shadow:0 5px 0 #37201a,0 0 30px #ffde91, inset 0 0 26px #fff7b24a}
.fangmas-door.is-opened .gift-lock{color:#c9ffc4}
.fangmas-house-footer{text-align:center;margin:23px 0 0;color:#ffdb9b;letter-spacing:.27em;font-size:clamp(.65rem,1.3vw,.82rem);font-weight:800;text-shadow:0 2px 4px #000}
.fangmas-house-footer span{color:#fff2c2;margin:0 13px}
.fangmas-house-base{height:30px;margin:0 -15px;background:linear-gradient(180deg,#fbdfab 0 15%,#b06b43 25%,#542a2e 90%);border-radius:0 0 13px 13px;box-shadow:0 9px 18px #0009}
.fangmas-tree{position:absolute;z-index:3;bottom:69px;width:clamp(145px,19vw,260px);pointer-events:none;filter:drop-shadow(0 0 24px #ffbb6480) drop-shadow(0 15px 12px #0009)}
.fangmas-tree-left{left:-20px}.fangmas-tree-right{right:-20px;transform:scaleX(-1)}
.fangmas-gift-pile{position:absolute;z-index:4;bottom:68px;width:110px;height:90px;pointer-events:none}.fangmas-gift-left{left:5px}.fangmas-gift-right{right:5px}
.fangmas-gift-pile span{position:absolute;bottom:0;width:60px;height:66px;border:3px solid #facb8a;background:linear-gradient(90deg,transparent 40%,#eac978 41% 59%,transparent 60%),linear-gradient(0deg,transparent 42%,#eac978 43% 58%,transparent 59%),linear-gradient(145deg,#a52c45,#5b1a36);box-shadow:0 5px 10px #0009}
.fangmas-gift-pile span+span{left:39px;bottom:0;width:55px;height:49px;background:linear-gradient(90deg,transparent 40%,#fad69f 41% 59%,transparent 60%),linear-gradient(0deg,transparent 42%,#fad69f 43% 58%,transparent 59%),linear-gradient(145deg,#21674e,#123a40)}
.fangmas-footer-sign{position:relative;z-index:5;text-align:center;margin:44px auto 0;font:italic 1.25rem Georgia,serif;color:#ffe3ad;text-shadow:0 0 13px #ffcc83}
.fangmas-meaning{display:flex;gap:25px;align-items:center;max-width:930px;margin:36px auto 12px;padding:30px 38px;border-radius:22px;border:1px solid #d3a66a;background:linear-gradient(115deg,#301c2de8,#14272bea);box-shadow:0 14px 32px #0008}
.fangmas-meaning h2{font:700 1.8rem Georgia,serif;color:#ffe5a6;margin:0 0 9px}.fangmas-meaning p{color:#f0e0d9;line-height:1.65;margin:0 0 12px}.fangmas-meaning a{color:#ffcf82;font-weight:700}.fangmas-heart{font-size:60px;color:#ff8e94;text-shadow:0 0 30px #ff8290}
.fangmas-signoff{text-align:center;color:#f8d7ac;font:italic 1.2rem Georgia,serif}
.fangmas-modal[hidden]{display:none!important}.fangmas-modal{position:fixed;z-index:99999;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
.fangmas-modal-shade{position:absolute;inset:0;background:#03050ce8;backdrop-filter:blur(8px)}
.fangmas-dialog{position:relative;text-align:center;max-width:560px;width:100%;background:radial-gradient(ellipse at 50% 5%,#71373b,#241b2c 65%,#161d27);border:2px solid #eec482;border-radius:25px;padding:34px 30px 38px;box-shadow:0 0 0 7px #f1c77e13,0 20px 90px #000b,0 0 45px #d49a6250;color:#fff8ea}
.fangmas-close{position:absolute;right:16px;top:12px;background:#251b27;border:1px solid #bf9868;border-radius:100%;color:#ffe5bc;width:38px;height:38px;cursor:pointer;font-size:25px}.fangmas-dialog-top{color:#f3c982;font-size:.78rem;letter-spacing:.24em;font-weight:800}
.fangmas-present{position:relative;width:116px;height:100px;margin:38px auto 22px;border:5px solid #ffe3a7;background:linear-gradient(90deg,transparent 40%,#ffcf74 41% 59%,transparent 60%),linear-gradient(145deg,#b52d45,#5a1a2e);box-shadow:0 8px 20px #0008,0 0 50px #e6b67955;border-radius:8px}.fangmas-present:after{content:"";position:absolute;left:-10px;right:-10px;top:34px;height:18px;background:#ffcf74;box-shadow:0 2px 4px #0007}.fangmas-present-bow{position:absolute;top:-38px;left:40px;font-size:40px;color:#ffd47a;text-shadow:0 0 25px #ffe4a4}.fangmas-door-label{color:#ffe2a2;font-size:.85rem;letter-spacing:.2em}.fangmas-dialog h2{font:700 clamp(1.65rem,4vw,2.35rem) Georgia,serif;margin:14px 0;color:#ffe2a0}.fangmas-dialog p{font-size:1.08rem;line-height:1.7;color:#f5e6e1;margin:0 0 24px}.fangmas-dialog a{color:#29151a;text-decoration:none;background:linear-gradient(110deg,#f5c37c,#ffe5ac);border-radius:30px;padding:12px 24px;display:inline-block;font-weight:800}
@media(max-width:1100px){.fangmas-scene{padding:55px 7% 50px}.fangmas-tree{width:165px}.fangmas-tree-left{left:-43px}.fangmas-tree-right{right:-43px}.fangmas-gift-pile{display:none}}
@media(max-width:800px){.fangmas-scene{padding:65px 22px 44px;min-height:0}.fangmas-calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px}.fangmas-chalet{margin:40px auto 0}.fangmas-roof{height:94px}.fangmas-house-face{padding:16px 18px 24px}.fangmas-tree{opacity:.45;bottom:100px}.fangmas-house-heading{gap:15px}.fangmas-house-flourish{font-size:24px}}
@media(max-width:520px){.fangmas-main{padding:12px 8px 60px}.fangmas-intro{padding:22px 9px}.fangmas-kicker{letter-spacing:.14em}.fangmas-intro h1{font-size:clamp(3.1rem,13vw,4.4rem)}.fangmas-scene{padding:35px 12px 35px}.fangmas-chalet{margin:25px auto 0}.fangmas-roof{height:53px;margin:0 -11px -1px}.fangmas-roof-star{top:8px;font-size:21px}.fangmas-house-face{border-width:6px;padding:9px 9px 18px}.fangmas-house-heading{min-height:75px;padding:3px 0 10px}.fangmas-house-heading strong{font-size:1.35rem;letter-spacing:.04em}.fangmas-house-heading small{font-size:8px}.fangmas-house-flourish{display:none}.fangmas-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 8px}.fangmas-door{border-width:3px;aspect-ratio:1/1.03}.fangmas-door .gift-bow{top:-13px;transform:translateX(-50%) scale(.68)}.fangmas-door .number{font-size:2rem}.fangmas-house-footer{letter-spacing:.07em}.fangmas-house-footer span{margin:0 3px}.fangmas-tree{display:none}.fangmas-footer-sign{font-size:.96rem}.fangmas-meaning{padding:20px;gap:13px}.fangmas-heart{font-size:34px}.fangmas-dialog{padding:30px 18px}.fangmas-progress{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.fangmas-snow-layer,.fangmas-starfield{animation:none!important}.fangmas-door,.fangmas-progress-track span{transition:none!important}}

/* Future gifts are fully locked: no hover lift or interaction before their day. */
.fangmas-door.is-locked,.fangmas-door.is-locked:hover,.fangmas-door.is-locked:disabled:hover{cursor:not-allowed;transform:none;box-shadow:0 7px 0 #37201a,0 9px 1px #e3be7b,0 17px 16px #0008,inset 0 0 0 2px #7b3c2e,inset 0 0 22px #0003}
