/* ======================================================
   FINAL EDITION
   - Components organized
   - Shared utilities introduced
   - Safe duplicate cleanup
   - Safe CSS variable adoption
   - Safe !important reduction
   ====================================================== */
:root{--radius-md:16px;--radius-lg:20px;--img-fit:contain;--img-bg:transparent;--tr-fast:.25s ease}

/* ===== 04 FOOTER AND RESPONSIVE OVERRIDES (ORDER PRESERVED) ===== */
footer{background:#1a0800!important;text-align:center!important;padding:72px 20px 54px!important;overflow:hidden!important}footer::before{width:min(92%,1060px)!important;height:8px!important;margin:0 auto 56px!important}footer .foot-logo{}footer .foot-logo img{display:block!important;width:min(270px,48vw)!important;max-width:270px!important;height:auto!important;margin:0 auto!important;object-fit:var(--img-fit);filter:drop-shadow(0 6px 14px rgba(0,0,0,.34))!important}footer .bottom-second-logo-under-character{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;margin:0 auto!important;padding:0!important;line-height:0!important;font-size:0!important}footer .bottom-second-under-darumon.footer-main-darumon{display:block!important;height:auto!important;padding:0!important;object-fit:var(--img-fit);vertical-align:bottom!important;animation:none!important;filter:drop-shadow(0 10px 18px rgba(0,0,0,.25))!important}footer .under-darumon-happy-text-wrap{display:block!important;margin:0 auto 32px!important;padding:0!important;line-height:0!important;font-size:0!important}footer .under-darumon-happy-text.footer-tagline{display:block!important;width:min(560px,92vw)!important;max-width:560px!important;height:auto!important;margin:0 auto!important;padding:0!important;object-fit:var(--img-fit);vertical-align:top!important;animation:none!important;filter:drop-shadow(0 6px 12px rgba(0,0,0,.28))!important}footer p{margin-top:18px!important;font-size:13px!important;letter-spacing:.08em!important;color:rgba(255,255,255,.26)!important}@media(max-width:560px){footer{padding:58px 12px 44px!important}footer::before{width:92%!important;margin-bottom:48px!important}footer .foot-logo{margin-bottom:28px!important}footer .foot-logo img{width:min(236px,54vw)!important}footer .bottom-second-under-darumon.footer-main-darumon{width:min(290px,70vw)!important;margin-bottom:-4px!important}footer .under-darumon-happy-text.footer-tagline{width:min(560px,94vw)!important}footer .under-darumon-happy-text-wrap{margin-bottom:30px!important}footer p{font-size:11px!important}}
footer .foot-logo{display:block!important;margin:0 auto 16px!important;line-height:0!important;font-size:0!important}footer .foot-logo img,footer img.bottom-second-darumon-logo{display:block!important;height:auto!important;margin:0 auto!important;object-fit:var(--img-fit);transform:none!important;top:auto!important;position:relative!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.34))!important}footer .bottom-second-logo-under-character{}footer .bottom-second-under-darumon.footer-main-darumon{width:min(330px,62vw)!important;max-width:330px!important;margin:0 auto -8px!important}footer .under-darumon-happy-text-wrap{}@media(max-width:560px){footer .foot-logo{margin-bottom:14px!important}footer .foot-logo img,footer img.bottom-second-darumon-logo{width:min(310px,78vw)!important;max-width:310px!important}footer .bottom-second-logo-under-character{margin-top:-8px!important}footer .bottom-second-under-darumon.footer-main-darumon{width:min(290px,70vw)!important;margin-bottom:-8px!important}}
footer .foot-logo img,footer img.bottom-second-darumon-logo{width:min(430px,85vw)!important;max-width:430px!important}@media(max-width:560px){footer .foot-logo img,footer img.bottom-second-darumon-logo{width:min(360px,88vw)!important;max-width:360px!important}}
footer::before{margin-bottom:12px !important}footer .foot-logo{margin-top:-18px !important;margin-bottom:0 !important}footer .foot-logo img,footer img.bottom-second-darumon-logo{margin-bottom:-18px !important}footer .bottom-second-logo-under-character{margin-top:-35px !important;margin-bottom:-20px !important}footer .bottom-second-under-darumon.footer-main-darumon{margin-top:-20px !important}footer .under-darumon-happy-text-wrap{margin-top:-12px !important}@media(max-width:560px){footer::before{margin-bottom:8px !important}footer .foot-logo{margin-top:-22px !important}footer .bottom-second-logo-under-character{margin-top:-42px !important;margin-bottom:-24px !important}}
nav{position:sticky !important;top:0 !important;z-index:2147483647 !important;width:100% !important}.fun-divider{position:relative !important;top:auto !important;z-index:1 !important}body{padding-top:0 !important}
#shop{padding-top:48px !important;padding-bottom:48px !important}#shop .sec-inner{max-width:930px !important;margin:0 auto !important}#shop .shop-logo-only{width:100% !important;text-align:center !important;margin:0 auto 28px !important;padding:0 !important}#shop .shop-logo-only img{display:block !important;width:min(92vw,640px) !important;height:auto !important;object-fit:var(--img-fit) !important;margin:0 auto !important;padding:0 !important;background:var(--img-bg) !important;border:0 !important;box-shadow:none !important}#shop .shop-comingsoon-only{width:100% !important;max-width:820px !important;margin:0 auto !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important}#shop .shop-comingsoon-banner-new{display:block !important;width:min(92vw,760px) !important;height:auto !important;object-fit:var(--img-fit) !important;margin:0 auto !important;padding:0 !important;background:var(--img-bg) !important;border:0 !important;box-shadow:none !important}#shop .darumon-shop-links,#shop .shop-link-grid,#shop .shop-coming-soon-area,#shop .shop-clean-rebuild,#shop .darumon-shop-message,#shop .shop-wait-text,#shop .shop-buttons,#shop .shop-btns,#shop .shop-link-buttons,#shop .suzuri-btn,#shop .booth-btn,#shop a,#shop button{display:none !important}#shop .shop-comingsoon-only,#shop .shop-comingsoon-banner-new{display:block !important}@media(max-width:520px){#shop{padding-top:40px !important;padding-bottom:40px !important}#shop .shop-logo-only{margin-bottom:22px !important}#shop .shop-logo-only img{width:92vw !important}#shop .shop-comingsoon-banner-new{width:94vw !important}}
.hukutan-creator-text .creator-mini-darumon-inline,.hukutan-creator-box .creator-mini-darumon-inline{width:34px !important;height:34px !important;max-width:34px !important;max-height:34px !important;object-fit:var(--img-fit) !important;display:inline-block !important;vertical-align:-9px !important;margin-right:2px !important;padding:0 !important;background:var(--img-bg) !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.16)) !important}.hukutan-creator-text p,.hukutan-creator-box p{line-height:2.05 !important}@media(max-width:520px){.hukutan-creator-text .creator-mini-darumon-inline,.hukutan-creator-box .creator-mini-darumon-inline{width:30px !important;height:30px !important;max-width:63px !important;max-height:63px !important;vertical-align:-8px !important}}
.creator-first-custom,.hukutan-creator-text .creator-mini-darumon-inline:first-of-type,.hukutan-creator-box .creator-mini-darumon-inline:first-of-type{width:52px !important;height:52px !important;max-width:52px !important;max-height:52px !important;vertical-align:-14px !important}
.hukutan-creator-text .creator-mini-darumon-inline,.hukutan-creator-box .creator-mini-darumon-inline{margin-left:0 !important}.hukutan-creator-text p br + .creator-mini-darumon-inline,.hukutan-creator-box p br + .creator-mini-darumon-inline{margin-left:0 !important}.hukutan-creator-text p,.hukutan-creator-box p{word-spacing:0 !important}
.hukutan-creator-text .creator-first-custom,.hukutan-creator-box .creator-first-custom{object-fit:var(--img-fit) !important;margin-left:-4px !important;margin-right:0 !important;padding:0 !important;background:var(--img-bg) !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.16)) !important}@media(max-width:520px){.hukutan-creator-text .creator-first-custom,.hukutan-creator-box .creator-first-custom{width:18px !important;height:18px !important;max-width:18px !important;max-height:18px !important;vertical-align:-12px !important}}
.hukutan-creator-text .creator-first-custom,.hukutan-creator-box .creator-first-custom{width:30px !important;height:30px !important;max-width:30px !important;max-height:30px !important;min-width:30px !important;min-height:30px !important;vertical-align:-8px !important}
img.creator-first-custom{width:30px !important;height:30px !important;max-width:30px !important;max-height:30px !important;min-width:30px !important;min-height:30px !important;object-fit:var(--img-fit) !important;vertical-align:-8px !important}
.hukutan-creator-text .creator-mini-darumon-inline:nth-of-type(2),.hukutan-creator-box .creator-mini-darumon-inline:nth-of-type(2){width:30px !important;height:30px !important;max-width:30px !important;max-height:30px !important;object-fit:var(--img-fit) !important;vertical-align:-8px !important}
.creator-second-force-big{width:52px !important;height:52px !important;max-width:52px !important;max-height:52px !important;min-width:52px !important;min-height:52px !important;object-fit:var(--img-fit) !important;display:inline-block !important;vertical-align:-12px !important}
#stamps .c-card--stamp-like .heart-pop{width:54px !important;height:54px !important;top:2px !important;right:2px !important}#stamps .c-card--stamp-like .heart-pop img{width:54px !important;height:54px !important;max-width:54px !important;max-height:54px !important;object-fit:var(--img-fit) !important;padding:0 !important}#stamps .c-card--stamp-like:hover .heart-pop,#stamps .c-card--stamp-like:focus .heart-pop,#stamps .c-card--stamp-like:active .heart-pop{opacity:1 !important;transform:scale(1.35) !important}@media(max-width:520px){#stamps .c-card--stamp-like .heart-pop{width:48px !important;height:48px !important;top:1px !important;right:1px !important}#stamps .c-card--stamp-like .heart-pop img{width:48px !important;height:48px !important;max-width:48px !important;max-height:48px !important}}