{"product_id":"24-days-of-ugly-medieval-cats","title":"🐈🏰 24 Days of Ugly Medieval Cats","description":"\u003cdiv class=\"umc-page\" id=\"umcPage\"\u003e\n\n  \u003c!-- HERO --\u003e\n  \u003csection class=\"umc-hero\"\u003e\n    \u003cdiv class=\"umc-pill\"\u003e🎄 CAT LOVER ADVENT CALENDAR\u003c\/div\u003e\n\n    \u003ch2\u003e\n      24 Days Of\u003cbr\u003e\n      Ugly Medieval Cats\n    \u003c\/h2\u003e\n\n    \u003cp class=\"umc-lead\"\u003e\n      A weirdly cute countdown full of tiny medieval cat characters,\n      festive surprise moments and collectible holiday charm.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"umc-media-wrap\"\u003e\n      \u003cdiv class=\"umc-media\"\u003e\n        \u003cimg data-umc-media=\"0\" alt=\"24 Days of Ugly Medieval Cats Advent Calendar main image\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-benefits\"\u003e\n      \u003cdiv\u003e\n\u003cspan\u003e🐱\u003c\/span\u003e\u003cstrong\u003e24 Unique Cats\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cspan\u003e🎁\u003c\/span\u003e\u003cstrong\u003eDaily Surprise\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cspan\u003e🏰\u003c\/span\u003e\u003cstrong\u003eMedieval Style\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cspan\u003e✨\u003c\/span\u003e\u003cstrong\u003eHoliday Collectible\u003c\/strong\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- WHY IT SELLS --\u003e\n  \u003csection class=\"umc-dark\"\u003e\n    \u003cdiv class=\"umc-label umc-label-light\"\u003eWHY PEOPLE LOVE IT\u003c\/div\u003e\n    \u003ch2\u003e\n      Not Just An Advent Calendar—\u003cbr\u003e\n      A Whole Tiny World Of Cats\n    \u003c\/h2\u003e\n    \u003cp\u003e\n      Every drawer reveals a new little character, turning the Christmas countdown\n      into a fun daily ritual for cat lovers, collectors and anyone who wants\n      something more memorable than ordinary holiday fillers.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"umc-dark-points\"\u003e\n      \u003cdiv\u003e✓ 24 miniature feline characters\u003c\/div\u003e\n      \u003cdiv\u003e✓ Fun countdown experience\u003c\/div\u003e\n      \u003cdiv\u003e✓ Perfect for gifting or displaying\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- IMAGE + STORY --\u003e\n  \u003csection class=\"umc-section\"\u003e\n    \u003cdiv class=\"umc-copy\"\u003e\n      \u003cdiv class=\"umc-label\"\u003e📦 24 DAYS • 24 REVEALS\u003c\/div\u003e\n      \u003ch2\u003e\n        Open One Drawer A Day\u003cbr\u003e\n        And Meet A New Cat\n      \u003c\/h2\u003e\n      \u003cp\u003e\n        That’s the charm—one day, one drawer, one oddly lovable little cat.\n        It feels more interactive than a normal decoration and more collectible\n        than a one-time holiday novelty.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-media-wrap\"\u003e\n      \u003cdiv class=\"umc-media\"\u003e\n        \u003cimg data-umc-media=\"1\" alt=\"Ugly Medieval Cats advent calendar Christmas display\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-step-row\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003e1\u003c\/b\u003e\u003cstrong\u003eOPEN\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cspan\u003e›\u003c\/span\u003e\n      \u003cdiv\u003e\n\u003cb\u003e2\u003c\/b\u003e\u003cstrong\u003eDISCOVER\u003c\/strong\u003e\n\u003c\/div\u003e\n      \u003cspan\u003e›\u003c\/span\u003e\n      \u003cdiv\u003e\n\u003cb\u003e3\u003c\/b\u003e\u003cstrong\u003eDISPLAY\u003c\/strong\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- CHARACTER VALUE --\u003e\n  \u003csection class=\"umc-card\"\u003e\n    \u003cdiv class=\"umc-copy umc-center\"\u003e\n      \u003cdiv class=\"umc-label\"\u003e🐾 MORE THAN A BOX\u003c\/div\u003e\n      \u003ch2\u003e\n        24 Tiny Figures\u003cbr\u003e\n        Full Of Personality\n      \u003c\/h2\u003e\n      \u003cp\u003e\n        From solemn little saints to mischievous strange-looking cats,\n        each figure adds to the fun. Together they create a collection\n        that feels playful, displayable and gift-worthy.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-media-wrap\"\u003e\n      \u003cdiv class=\"umc-media\"\u003e\n        \u003cimg data-umc-media=\"2\" alt=\"Ugly Medieval Cats collection display\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-grid-2\"\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e✓\u003c\/span\u003e\n        \u003cstrong\u003e24 Different Characters\u003c\/strong\u003e\n        \u003cp\u003eNo boring repeat feeling.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e✓\u003c\/span\u003e\n        \u003cstrong\u003eHighly Giftable\u003c\/strong\u003e\n        \u003cp\u003eGreat for cat lovers and quirky collectors.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e✓\u003c\/span\u003e\n        \u003cstrong\u003eDisplay-Friendly\u003c\/strong\u003e\n        \u003cp\u003ePerfect on a desk, shelf or holiday table.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e✓\u003c\/span\u003e\n        \u003cstrong\u003eConversation Starter\u003c\/strong\u003e\n        \u003cp\u003eDefinitely not your average advent calendar.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- MEDIEVAL STYLE --\u003e\n  \u003csection class=\"umc-soft\"\u003e\n    \u003cdiv class=\"umc-copy\"\u003e\n      \u003cdiv class=\"umc-label\"\u003e🏰 MEDIEVAL CHRISTMAS CHARM\u003c\/div\u003e\n      \u003ch2\u003e\n        Weird, Vintage, Funny—\u003cbr\u003e\n        And Somehow Very Cozy\n      \u003c\/h2\u003e\n      \u003cp\u003e\n        The medieval manuscript-inspired artwork gives this piece a look that feels\n        festive, artsy and slightly absurd in the best possible way.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-media-wrap\"\u003e\n      \u003cdiv class=\"umc-media\"\u003e\n        \u003cimg data-umc-media=\"3\" alt=\"Medieval cat advent calendar holiday setup\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- DISPLAY USE --\u003e\n  \u003csection class=\"umc-placement\"\u003e\n    \u003cdiv class=\"umc-center\"\u003e\n      \u003cdiv class=\"umc-label\"\u003e🎁 PERFECT FOR THE SEASON\u003c\/div\u003e\n      \u003ch2\u003e\n        A Fun Countdown,\u003cbr\u003e\n        Then A Holiday Display Piece\n      \u003c\/h2\u003e\n      \u003cp class=\"umc-intro\"\u003e\n        Enjoy the daily reveal in December, then keep the figures out as festive,\n        quirky little decorations through the season.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-media-wrap\"\u003e\n      \u003cdiv class=\"umc-media\"\u003e\n        \u003cimg data-umc-media=\"4\" alt=\"Ugly Medieval Cats desk and tabletop scene\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-place-grid\"\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e🎄\u003c\/span\u003e\n        \u003cstrong\u003eChristmas Countdown\u003c\/strong\u003e\n        \u003cp\u003eMakes each day feel more fun in December.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e🐱\u003c\/span\u003e\n        \u003cstrong\u003eCat Lover Gift\u003c\/strong\u003e\n        \u003cp\u003eAn easy yes for anyone obsessed with cats.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e🕯️\u003c\/span\u003e\n        \u003cstrong\u003eDesk Or Shelf Decor\u003c\/strong\u003e\n        \u003cp\u003eLooks charming in cozy holiday spaces.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cspan\u003e🎁\u003c\/span\u003e\n        \u003cstrong\u003eCollector Surprise\u003c\/strong\u003e\n        \u003cp\u003ePerfect for people who love unusual finds.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- COMPARISON --\u003e\n  \u003csection class=\"umc-compare\"\u003e\n    \u003cdiv class=\"umc-label\"\u003eWHY THIS ONE STANDS OUT\u003c\/div\u003e\n    \u003ch2\u003e\n      More Memorable Than\u003cbr\u003e\n      Ordinary Holiday Fillers\n    \u003c\/h2\u003e\n\n    \u003cdiv class=\"umc-compare-row umc-bad\"\u003e\n      \u003cspan\u003e×\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eGeneric Advent Fillers\u003c\/strong\u003e\n        \u003cp\u003eEasy to forget and often lacking personality.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-compare-row umc-bad\"\u003e\n      \u003cspan\u003e×\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eOne-Time Novelty Items\u003c\/strong\u003e\n        \u003cp\u003eFun for a moment, then quickly forgotten.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-compare-row umc-good\"\u003e\n      \u003cspan\u003e✓\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003e24 Displayable Cat Figures\u003c\/strong\u003e\n        \u003cp\u003eA countdown experience and a collectible holiday set in one box.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- REVIEWS --\u003e\n  \u003csection class=\"umc-review-section\"\u003e\n    \u003cdiv class=\"umc-center\"\u003e\n      \u003cdiv class=\"umc-label\"\u003e💬 REAL CUSTOMER MOMENTS\u003c\/div\u003e\n      \u003ch2\u003eLoved By Cat People\u003c\/h2\u003e\n      \u003cp class=\"umc-intro\"\u003e\n        The last two images from your product gallery are used here as review photos.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-review-card\"\u003e\n      \u003cdiv class=\"umc-review-photo\"\u003e\n        \u003cimg data-umc-media=\"5\" alt=\"Customer review photo for ugly medieval cats advent calendar\"\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"umc-review-copy\"\u003e\n        \u003cdiv class=\"umc-stars\"\u003e★★★★★\u003c\/div\u003e\n        \u003cstrong\u003e“So much cuter and funnier in person.”\u003c\/strong\u003e\n        \u003cp\u003e\n          I bought this because I’m a cat person and love odd little collectibles.\n          Opening the drawers has been genuinely fun, and the tiny figures look adorable on my table.\n        \u003c\/p\u003e\n        \u003cspan\u003e— Melissa R.\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"umc-review-card\"\u003e\n      \u003cdiv class=\"umc-review-photo\"\u003e\n        \u003cimg data-umc-media=\"6\" alt=\"Customer unboxing review photo for ugly medieval cats advent calendar\"\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"umc-review-copy\"\u003e\n        \u003cdiv class=\"umc-stars\"\u003e★★★★★\u003c\/div\u003e\n        \u003cstrong\u003e“This ended up being my favorite holiday purchase.”\u003c\/strong\u003e\n        \u003cp\u003e\n          The artwork is hilarious, the cats all have their own personality,\n          and it feels way more special than a typical countdown box.\n          Great gift idea for anyone who loves quirky Christmas stuff.\n        \u003c\/p\u003e\n        \u003cspan\u003e— Donna K.\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003csection class=\"umc-faq\"\u003e\n    \u003cdiv class=\"umc-label\"\u003eGOOD TO KNOW\u003c\/div\u003e\n    \u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\n\n    \u003cdetails\u003e\n      \u003csummary\u003eHow many cats are included?\u003c\/summary\u003e\n      \u003cp\u003e\n        This advent calendar includes 24 miniature cat figures,\n        designed for a fun day-by-day holiday countdown.\n      \u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails\u003e\n      \u003csummary\u003eIs each day different?\u003c\/summary\u003e\n      \u003cp\u003e\n        Yes, the idea is to reveal a new figure as you open each numbered drawer.\n      \u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails\u003e\n      \u003csummary\u003eIs this a good gift for cat lovers?\u003c\/summary\u003e\n      \u003cp\u003e\n        Absolutely. It’s especially fun for cat lovers, collectors,\n        and people who enjoy quirky or unusual Christmas finds.\n      \u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails\u003e\n      \u003csummary\u003eCan the figures be displayed after opening?\u003c\/summary\u003e\n      \u003cp\u003e\n        Yes. Many customers keep the figures out on shelves, tables or desks\n        as part of their holiday setup.\n      \u003c\/p\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails\u003e\n      \u003csummary\u003eWhat makes this different from a regular advent calendar?\u003c\/summary\u003e\n      \u003cp\u003e\n        It combines daily surprise with collectible value and a very distinctive\n        medieval cat art style, making it much more memorable than generic countdown items.\n      \u003c\/p\u003e\n    \u003c\/details\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- FINAL MESSAGE --\u003e\n  \u003csection class=\"umc-final\"\u003e\n    \u003cdiv class=\"umc-final-icon\"\u003e🎄🐱\u003c\/div\u003e\n    \u003ch2\u003e\n      A Delightfully Strange Christmas Countdown\n    \u003c\/h2\u003e\n    \u003cp\u003e\n      24 tiny cats, one charmingly weird holiday ritual, and a collection\n      you’ll actually want to keep out all season long.\n    \u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- CTA --\u003e\n  \u003csection class=\"umc-buy\"\u003e\n    \u003cdiv class=\"umc-buy-icon\"\u003e🎁\u003c\/div\u003e\n    \u003cdiv class=\"umc-buy-label\"\u003eREADY FOR A MORE FUN COUNTDOWN?\u003c\/div\u003e\n\n    \u003ch2\u003e\n      Add A Little Medieval\u003cbr\u003e\n      Cat Chaos To Christmas\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Scroll back to the purchase area above and grab your Ugly Medieval Cats advent calendar.\n    \u003c\/p\u003e\n\n    \u003cbutton type=\"button\" onclick=\"umcBackToBuy()\"\u003e\n      BACK TO BUY \/ ADD TO CART\n    \u003c\/button\u003e\n\n    \u003cdiv class=\"umc-buy-meta\"\u003e\n      \u003cspan\u003e🐱 24 Unique Cats\u003c\/span\u003e\n      \u003ci\u003e•\u003c\/i\u003e\n      \u003cspan\u003e🎄 Advent Countdown\u003c\/span\u003e\n      \u003ci\u003e•\u003c\/i\u003e\n      \u003cspan\u003e🎁 Giftable \u0026amp; Collectible\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.umc-page{\n  --green:#294538;\n  --green-2:#1c3027;\n  --burgundy:#6d2e34;\n  --gold:#d0aa5e;\n  --parchment:#f6f0e3;\n  --parchment-2:#fbf7ef;\n  --line:rgba(49,40,28,.12);\n  --text:#40372f;\n  --muted:#6a5f56;\n  --white:#ffffff;\n\n  width:100%;\n  max-width:760px;\n  margin:0 auto;\n  padding:8px 12px 36px;\n  color:var(--text);\n  font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,Helvetica,sans-serif;\n  font-size:16px;\n  line-height:1.55;\n  box-sizing:border-box;\n}\n.umc-page *,\n.umc-page *::before,\n.umc-page *::after{box-sizing:border-box;}\n.umc-page h2,.umc-page p{margin:0;}\n.umc-page h2{\n  font-family:Georgia,\"Times New Roman\",serif;\n  font-weight:700;\n  letter-spacing:-.02em;\n  color:var(--green-2);\n}\n.umc-section,\n.umc-card,\n.umc-soft,\n.umc-placement,\n.umc-compare,\n.umc-review-section,\n.umc-faq,\n.umc-final,\n.umc-buy{\n  content-visibility:auto;\n  contain-intrinsic-size:1px 700px;\n}\n.umc-pill,\n.umc-label,\n.umc-buy-label{\n  display:inline-block;\n  font-size:10px;\n  line-height:1.25;\n  font-weight:850;\n  letter-spacing:.065em;\n}\n.umc-label{margin-bottom:7px;color:#7a6c5d;}\n.umc-label-light{color:#e5e0d8;}\n\n.umc-hero{\n  padding:22px 2px 12px;\n  text-align:center;\n}\n.umc-pill{\n  margin-bottom:12px;\n  padding:8px 12px;\n  border-radius:999px;\n  background:#efe5cf;\n  color:#62431f;\n}\n.umc-hero h2{\n  max-width:650px;\n  margin:0 auto;\n  font-size:clamp(31px,8vw,44px);\n  line-height:1.03;\n}\n.umc-lead{\n  max-width:620px;\n  margin:14px auto 18px !important;\n  color:var(--muted);\n  font-size:17px;\n  line-height:1.5;\n}\n\n.umc-media-wrap{\n  display:none;\n  margin:0 0 10px;\n}\n.umc-media-wrap.is-ready{display:block;}\n.umc-media{\n  overflow:hidden;\n  width:100%;\n  border:1px solid var(--line);\n  border-radius:16px;\n  background:#f3eee7;\n}\n.umc-media img,\n.umc-review-photo img{\n  display:block;\n  width:100%;\n  height:auto;\n}\n\n.umc-benefits{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:8px;\n  margin-top:10px;\n}\n.umc-benefits \u003e div{\n  min-height:66px;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  gap:2px;\n  padding:9px 5px;\n  border:1px solid var(--line);\n  border-radius:11px;\n  background:#fff;\n}\n.umc-benefits span{font-size:19px;}\n.umc-benefits strong{font-size:12px;color:var(--green-2);}\n\n.umc-dark{\n  margin:23px 0 27px;\n  padding:24px 17px;\n  border-radius:18px;\n  background:linear-gradient(145deg,#3b5547,#213529);\n  color:#fff;\n  text-align:center;\n}\n.umc-dark h2{\n  max-width:650px;\n  margin:0 auto 10px;\n  color:#fff7e8;\n  font-size:28px;\n  line-height:1.07;\n}\n.umc-dark p{\n  max-width:610px;\n  margin:0 auto;\n  color:#f0ede7;\n  font-size:15px;\n}\n.umc-dark-points{\n  display:grid;\n  gap:7px;\n  margin-top:16px;\n}\n.umc-dark-points div{\n  padding:10px 12px;\n  border-radius:10px;\n  background:rgba(255,255,255,.09);\n  font-size:13px;\n  color:#fff;\n}\n\n.umc-section,\n.umc-card,\n.umc-soft,\n.umc-placement,\n.umc-compare,\n.umc-review-section{\n  margin:27px 0;\n}\n.umc-card{\n  padding:21px 13px 17px;\n  border:1px solid var(--line);\n  border-radius:17px;\n  background:var(--parchment-2);\n}\n.umc-soft{\n  padding:21px 13px 15px;\n  border:1px solid #e8dfd0;\n  border-radius:18px;\n  background:#faf6ef;\n}\n.umc-placement{\n  padding:23px 13px;\n  border-radius:18px;\n  background:linear-gradient(145deg,#f7f1e6,#fbf7ef);\n}\n.umc-copy{padding:2px 4px 13px;}\n.umc-copy h2{\n  margin-bottom:8px;\n  font-size:28px;\n  line-height:1.08;\n}\n.umc-copy p{color:var(--muted);font-size:16px;}\n.umc-center{text-align:center;}\n\n.umc-step-row{\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  gap:6px;\n  margin-top:10px;\n}\n.umc-step-row\u003ediv{min-width:64px;text-align:center;}\n.umc-step-row b{\n  width:25px;\n  height:25px;\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  margin:0 auto 3px;\n  border-radius:50%;\n  background:var(--burgundy);\n  color:#fff;\n  font-size:11px;\n}\n.umc-step-row strong{\n  color:var(--green-2);\n  font-size:10px;\n}\n.umc-step-row\u003espan{\n  color:#9c8f7f;\n  font-size:20px;\n}\n\n.umc-grid-2{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:6px;\n  margin-top:10px;\n}\n.umc-grid-2\u003ediv{\n  padding:10px;\n  border-radius:10px;\n  background:#fff;\n  border:1px solid rgba(49,40,28,.08);\n}\n.umc-grid-2 span{\n  color:#53735d;\n  font-weight:900;\n}\n.umc-grid-2 strong{\n  display:block;\n  color:var(--green-2);\n  font-size:12px;\n}\n.umc-grid-2 p{\n  color:var(--muted);\n  font-size:11px;\n}\n\n.umc-intro{\n  max-width:590px;\n  margin:0 auto 15px !important;\n  color:var(--muted);\n  font-size:14px;\n}\n.umc-placement h2{\n  margin-bottom:8px;\n  font-size:29px;\n  line-height:1.07;\n}\n.umc-place-grid{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:7px;\n  margin-top:12px;\n}\n.umc-place-grid div{\n  padding:12px;\n  border:1px solid var(--line);\n  border-radius:10px;\n  background:#fff;\n}\n.umc-place-grid span{\n  display:block;\n  margin-bottom:2px;\n  font-size:19px;\n}\n.umc-place-grid strong{\n  color:var(--green-2);\n  font-size:12px;\n}\n.umc-place-grid p{\n  margin-top:4px;\n  color:var(--muted);\n  font-size:11px;\n}\n\n.umc-compare{\n  padding:21px 13px;\n  border-radius:17px;\n  background:#f8f2e9;\n  text-align:center;\n}\n.umc-compare h2{\n  margin-bottom:14px;\n  font-size:28px;\n  line-height:1.08;\n}\n.umc-compare-row{\n  display:flex;\n  align-items:flex-start;\n  gap:9px;\n  margin-top:7px;\n  padding:11px;\n  border-radius:9px;\n  background:#fff;\n  text-align:left;\n  border:1px solid rgba(49,40,28,.07);\n}\n.umc-compare-row\u003espan{\n  flex:0 0 22px;\n  font-size:18px;\n  font-weight:900;\n}\n.umc-compare-row strong{\n  display:block;\n  color:var(--green-2);\n  font-size:13px;\n}\n.umc-compare-row p{\n  color:var(--muted);\n  font-size:12px;\n}\n.umc-bad\u003espan{color:#b45c54;}\n.umc-good{\n  border:1px solid #d5dfd2;\n  background:#eef4ed;\n}\n.umc-good\u003espan{color:#47734a;}\n\n.umc-review-section{\n  padding:22px 13px;\n  border:1px solid #eadfce;\n  border-radius:18px;\n  background:#fcf8f1;\n}\n.umc-review-card{\n  overflow:hidden;\n  margin-top:14px;\n  border:1px solid rgba(49,40,28,.08);\n  border-radius:14px;\n  background:#fff;\n}\n.umc-review-photo{\n  display:none;\n}\n.umc-review-photo.is-ready{\n  display:block;\n}\n.umc-review-copy{\n  padding:14px 14px 15px;\n}\n.umc-stars{\n  margin-bottom:6px;\n  color:#d0aa5e;\n  letter-spacing:1px;\n  font-size:15px;\n}\n.umc-review-copy strong{\n  display:block;\n  margin-bottom:7px;\n  color:var(--green-2);\n  font-size:15px;\n  line-height:1.35;\n}\n.umc-review-copy p{\n  color:var(--muted);\n  font-size:13px;\n}\n.umc-review-copy span{\n  display:block;\n  margin-top:8px;\n  color:#7d7064;\n  font-size:12px;\n  font-weight:700;\n}\n\n.umc-faq{\n  margin:30px 0;\n  text-align:center;\n}\n.umc-faq h2{\n  margin-bottom:13px;\n  font-size:29px;\n}\n.umc-faq details{\n  overflow:hidden;\n  margin-top:7px;\n  border:1px solid var(--line);\n  border-radius:9px;\n  background:#fff;\n  text-align:left;\n}\n.umc-faq summary{\n  position:relative;\n  padding:13px 36px 13px 12px;\n  list-style:none;\n  cursor:pointer;\n  color:var(--green-2);\n  font-size:13px;\n  font-weight:800;\n}\n.umc-faq summary::-webkit-details-marker{display:none;}\n.umc-faq summary::after{\n  content:\"+\";\n  position:absolute;\n  right:12px;\n  top:50%;\n  transform:translateY(-50%);\n  color:#8b6a33;\n  font-size:19px;\n}\n.umc-faq details[open] summary::after{content:\"–\";}\n.umc-faq details p{\n  padding:0 12px 13px;\n  color:var(--muted);\n  font-size:13px;\n}\n\n.umc-final{\n  margin:30px 0 20px;\n  padding:27px 16px;\n  border:1px solid #eadfce;\n  border-radius:17px;\n  background:#fbf7ef;\n  text-align:center;\n}\n.umc-final-icon{font-size:22px;}\n.umc-final h2{\n  max-width:620px;\n  margin:5px auto 9px;\n  font-size:29px;\n  line-height:1.06;\n}\n.umc-final p{\n  max-width:580px;\n  margin:0 auto;\n  color:var(--muted);\n  font-size:14px;\n}\n\n.umc-buy{\n  margin:22px 0 6px;\n  padding:27px 15px;\n  border-radius:18px;\n  background:linear-gradient(145deg,#6b2d34,#4f2026);\n  color:#fff;\n  text-align:center;\n}\n.umc-buy-icon{font-size:25px;}\n.umc-buy-label{\n  margin:4px 0 7px;\n  color:#f2ddd6;\n  font-size:9px;\n}\n.umc-buy h2{\n  max-width:610px;\n  margin:0 auto 9px;\n  color:#fff7ed;\n  font-size:clamp(27px,7vw,35px);\n  line-height:1.04;\n}\n.umc-buy p{\n  max-width:560px;\n  margin:0 auto 16px;\n  color:#f7ece8;\n  font-size:14px;\n}\n.umc-buy button{\n  min-height:48px;\n  padding:0 22px;\n  border:0;\n  border-radius:999px;\n  background:linear-gradient(135deg,#e8c77a,#d2aa58);\n  color:#3d2d18;\n  font-size:12px;\n  font-weight:900;\n  cursor:pointer;\n}\n.umc-buy-meta{\n  display:flex;\n  justify-content:center;\n  flex-wrap:wrap;\n  gap:5px;\n  margin-top:11px;\n  color:#f2ddd6;\n  font-size:9px;\n}\n.umc-buy-meta i{\n  opacity:.55;\n  font-style:normal;\n}\n\n@media(min-width:750px){\n  .umc-page{\n    padding-left:20px;\n    padding-right:20px;\n  }\n  .umc-benefits{\n    grid-template-columns:repeat(4,1fr);\n  }\n}\n\n@media(max-width:390px){\n  .umc-page{\n    padding-left:9px;\n    padding-right:9px;\n  }\n  .umc-hero h2{font-size:29px;}\n  .umc-copy h2,\n  .umc-dark h2,\n  .umc-placement h2,\n  .umc-compare h2,\n  .umc-faq h2,\n  .umc-final h2{font-size:25px;}\n  .umc-buy button{width:100%;}\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function(){\n  var ROOT_ID = 'umcPage';\n\n  function parseSrcset(srcset){\n    if(!srcset) return '';\n    var parts = srcset.split(',');\n    var last = parts[parts.length - 1] || '';\n    return last.trim().split(' ')[0] || '';\n  }\n\n  function getRawUrl(img){\n    if(!img) return '';\n\n    var attrs = [\n      'data-src',\n      'data-original-src',\n      'data-original',\n      'data-image',\n      'data-lazy-src',\n      'data-zoom',\n      'src'\n    ];\n\n    for(var i = 0; i \u003c attrs.length; i++){\n      var val = img.getAttribute(attrs[i]);\n      if(val \u0026\u0026 val.indexOf('data:image') !== 0){\n        return val;\n      }\n    }\n\n    if(img.currentSrc \u0026\u0026 img.currentSrc.indexOf('data:image') !== 0){\n      return img.currentSrc;\n    }\n\n    var srcset = img.getAttribute('srcset');\n    if(srcset){\n      var parsed = parseSrcset(srcset);\n      if(parsed) return parsed;\n    }\n\n    return '';\n  }\n\n  function normalizeShopifyUrl(url){\n    if(!url) return '';\n\n    url = url.split(' ')[0];\n\n    if(url.indexOf('\/\/') === 0){\n      url = location.protocol + url;\n    }\n\n    url = url.replace(\/_(pico|icon|thumb|small|compact|medium|large|grande|1024x1024|2048x2048)(?=\\.)\/gi, '');\n    url = url.replace(\/_(\\d+x\\d+)(?=\\.)\/gi, '');\n    url = url.replace(\/([?\u0026])width=\\d+\/gi, '$1');\n    url = url.replace(\/([?\u0026])height=\\d+\/gi, '$1');\n    url = url.replace(\/[?\u0026]+$\/,'');\n\n    if(url.indexOf('cdn.shopify.com') \u003e -1 || url.indexOf('\/cdn\/shop\/') \u003e -1){\n      url += (url.indexOf('?') \u003e -1 ? '\u0026' : '?') + 'width=1400';\n    }\n\n    return url;\n  }\n\n  function isGoodImage(img, root){\n    if(!img) return false;\n    if(root \u0026\u0026 root.contains(img)) return false;\n\n    var url = getRawUrl(img);\n    if(!url) return false;\n\n    if(url.indexOf('cdn.shopify.com') === -1 \u0026\u0026 url.indexOf('\/cdn\/shop\/') === -1){\n      return false;\n    }\n\n    var w = img.naturalWidth || img.width || img.clientWidth || 0;\n    var h = img.naturalHeight || img.height || img.clientHeight || 0;\n    var rect = img.getBoundingClientRect();\n    var rw = rect.width || 0;\n    var rh = rect.height || 0;\n    var maxW = Math.max(w, rw);\n    var maxH = Math.max(h, rh);\n\n    if(maxW \u003c 50 || maxH \u003c 50) return false;\n\n    return true;\n  }\n\n  function collectProductImages(){\n    var root = document.getElementById(ROOT_ID);\n    var all = Array.prototype.slice.call(document.querySelectorAll('img'));\n    var seen = {};\n    var result = [];\n\n    all.forEach(function(img){\n      if(!isGoodImage(img, root)) return;\n\n      var url = normalizeShopifyUrl(getRawUrl(img));\n      if(!url) return;\n\n      var key = url.replace(\/([?\u0026])v=\\d+\/,'$1');\n      if(seen[key]) return;\n\n      seen[key] = true;\n      result.push(url);\n    });\n\n    return result;\n  }\n\n  function assignImages(){\n    var root = document.getElementById(ROOT_ID);\n    if(!root) return;\n\n    var urls = collectProductImages();\n\n    root.querySelectorAll('[data-umc-media]').forEach(function(img){\n      var index = parseInt(img.getAttribute('data-umc-media'), 10);\n      var wrap = img.closest('.umc-media-wrap');\n      var url = urls[index];\n\n      if(!url){\n        if(wrap) wrap.style.display = 'none';\n        return;\n      }\n\n      img.onload = function(){\n        if(wrap) wrap.classList.add('is-ready');\n      };\n\n      img.onerror = function(){\n        if(wrap) wrap.style.display = 'none';\n      };\n\n      img.src = url;\n    });\n\n    root.querySelectorAll('.umc-review-photo img[data-umc-media]').forEach(function(img){\n      var index = parseInt(img.getAttribute('data-umc-media'), 10);\n      var wrap = img.closest('.umc-review-photo');\n      var url = urls[index];\n\n      if(!url){\n        if(wrap) wrap.style.display = 'none';\n        return;\n      }\n\n      img.onload = function(){\n        if(wrap) wrap.classList.add('is-ready');\n      };\n\n      img.onerror = function(){\n        if(wrap) wrap.style.display = 'none';\n      };\n\n      img.src = url;\n    });\n  }\n\n  function debounce(fn, delay){\n    var timer;\n    return function(){\n      clearTimeout(timer);\n      timer = setTimeout(fn, delay);\n    };\n  }\n\n  function initUmcImages(){\n    assignImages();\n\n    setTimeout(assignImages, 400);\n    setTimeout(assignImages, 1200);\n    setTimeout(assignImages, 2200);\n\n    var observer = new MutationObserver(debounce(assignImages, 180));\n    observer.observe(document.body, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: ['src', 'srcset', 'data-src', 'data-original', 'style', 'class']\n    });\n\n    setTimeout(function(){\n      observer.disconnect();\n    }, 7000);\n  }\n\n  if(document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', initUmcImages, { once: true });\n  } else {\n    initUmcImages();\n  }\n})();\n\nfunction umcBackToBuy(){\n  var target =\n    document.querySelector('form[action*=\"\/cart\/add\"]') ||\n    document.querySelector('.product__info-container') ||\n    document.querySelector('product-info');\n\n  if(target){\n    target.scrollIntoView({\n      behavior: 'smooth',\n      block: 'center'\n    });\n  } else {\n    window.scrollTo({\n      top: 0,\n      behavior: 'smooth'\n    });\n  }\n}\n\u003c\/script\u003e","brand":"hwk456","offers":[{"title":"Default Title","offer_id":49256349761636,"sku":"SZ05992609102390-中世纪猫盲盒日历","price":34.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0790\/0397\/5780\/files\/5_594ecda1-8b80-48a6-9a37-caed27d5817b.jpg?v=1789442428","url":"https:\/\/ahlwoplus.com\/products\/24-days-of-ugly-medieval-cats","provider":"ahlwoplus","version":"1.0","type":"link"}