{"product_id":"wandering-towers-spell-pack","title":"Wandering Towers - Spell Pack","description":"```html\n\u003c!-- =====================================================\n     WANDERING TOWERS: SPELL PACK — BLOCK 1\n     FroGames | Shopify Theme Concept\n     ===================================================== --\u003e\n\n\u003cdiv class=\"wts1-wrap\"\u003e\n\n  \u003c!-- COVER --\u003e\n  \u003cdiv class=\"wts1-cover\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/Wandering_Towers_-_Spell_Pack.webp?v=1774365612\" alt=\"Wandering Towers Spell Pack family board game expansion for 2-6 players - official Capstone Games cover\" class=\"wts1-cover-img\" loading=\"eager\"\u003e\n    \u003cdiv class=\"wts1-cover-fade\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"wts1-cover-content\"\u003e\n      \u003cp class=\"wts1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n      \u003cp class=\"wts1-sub\"\u003eSix new spells. The same table. Games that no longer resemble any you've played before.\u003c\/p\u003e\n      \u003cdiv class=\"wts1-chips\"\u003e\n        \u003cspan class=\"wts1-chip wts1-chip--purple\"\u003eExpansion\u003c\/span\u003e\n        \u003cspan class=\"wts1-chip\"\u003eKiesling \u0026amp; Kramer\u003c\/span\u003e\n        \u003cspan class=\"wts1-chip\"\u003e6 new spells\u003c\/span\u003e\n        \u003cspan class=\"wts1-chip\"\u003eEnglish Edition\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- SPECS --\u003e\n  \u003cdiv class=\"wts1-specs-bar\"\u003e\n    \u003cdiv class=\"wts1-specs\"\u003e\n      \u003cdiv class=\"wts1-spec\"\u003e\n        \u003cspan class=\"wts1-spec-icon\"\u003e👥\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-label\"\u003ePlayers\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-val\"\u003e2 – 6\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"wts1-spec\"\u003e\n        \u003cspan class=\"wts1-spec-icon\"\u003e⏱️\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-label\"\u003eDuration\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-val\"\u003e~30 min\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"wts1-spec\"\u003e\n        \u003cspan class=\"wts1-spec-icon\"\u003e🎂\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-label\"\u003eAge\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-val\"\u003e10+ years\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"wts1-spec\"\u003e\n        \u003cspan class=\"wts1-spec-icon\"\u003e✨\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-label\"\u003eType\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-val\"\u003eExpansion\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"wts1-spec\"\u003e\n        \u003cspan class=\"wts1-spec-icon\"\u003e🃏\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-label\"\u003eMechanic\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-val\"\u003eHand Management\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"wts1-spec\"\u003e\n        \u003cspan class=\"wts1-spec-icon\"\u003e🎲\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-label\"\u003eCompatibility\u003c\/span\u003e\n        \u003cspan class=\"wts1-spec-val\"\u003eBase game required\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BODY --\u003e\n  \u003cdiv class=\"wts1-body\"\u003e\n\n    \u003c!-- INTRO + EDITORIAL BOXES --\u003e\n    \u003cdiv class=\"wts1-intro-grid\"\u003e\n      \u003cdiv class=\"wts1-intro-text\"\u003e\n        \u003cp class=\"wts1-label\"\u003eWhat it's about\u003c\/p\u003e\n        \u003ch3 class=\"wts1-h3\"\u003eSix spells to revolutionize the race to Ravenskeep\u003c\/h3\u003e\n        \u003cp class=\"wts1-p\"\u003eWandering Towers: Spell Pack gathers all six spells from the Mini-Spell expansion into one box. Nothing to search for, nothing to combine — all together, ready to mix with the spells already present in the base game.\u003c\/p\u003e\n        \u003cp class=\"wts1-p\"\u003eEach spell adds a decision that didn't exist before. Recover a card from the discard pile. Swap movement values on a card. Close Ravenskeep for a turn, blocking access and forcing everyone to change plans. Draw two cards in the middle of your turn for more options. Fill a potion without trapping anyone. Roll an extra die to replace the value printed on a card.\u003c\/p\u003e\n        \u003cp class=\"wts1-p\"\u003eSix different mechanics, each capable of turning a game upside down. Usable all together or in combinations chosen before setup — every evening with a different recipe.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"wts1-intro-side\"\u003e\n        \u003cdiv class=\"wts1-quote-solo\"\u003e\n          \u003cspan class=\"wts1-qs-icon\"\u003e🏰\u003c\/span\u003e\n          \u003cp class=\"wts1-qs-text\"\u003eThe same old race — but now someone can close Ravenskeep and force everyone to improvise.\u003c\/p\u003e\n          \u003cp class=\"wts1-qs-note\"\u003eThe Spell Pack's secret in one line\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-quote-solo wts1-quote-solo--alt\"\u003e\n          \u003cspan class=\"wts1-qs-icon\"\u003e⚡\u003c\/span\u003e\n          \u003cp class=\"wts1-qs-text\"\u003eEach spell is a small new rule. Together they transform every game into something never seen before.\u003c\/p\u003e\n          \u003cp class=\"wts1-qs-note\"\u003eFrom the game experience\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"wts1-divider\"\u003e\u003c\/div\u003e\n\n    \u003c!-- FROGSCORE --\u003e\n    \u003cdiv class=\"wts1-fs\"\u003e\n      \u003cdiv class=\"wts1-fs-header\"\u003e\n        \u003cdiv class=\"wts1-fs-brand\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"wts1-fs-frog-img\"\u003e\n          \u003cdiv\u003e\n            \u003cspan class=\"wts1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n            \u003cp class=\"wts1-fs-game-name\"\u003eWandering Towers: Spell Pack\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"wts1-fs-cat\" style=\"background:#eeecfc;border-color:#9890d8;color:#2a2060\"\u003eSocial · Gateway\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"wts1-fs-body\"\u003e\n        \u003cdiv class=\"wts1-fs-radar-panel\"\u003e\n          \u003csvg id=\"wts1-fs-svg\" viewbox=\"0 0 320 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"overflow:visible\"\u003e\u003c\/svg\u003e\n          \u003cdiv class=\"wts1-fs-tip\" id=\"wts1-fs-tip\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-fs-info\"\u003e\n          \u003cspan class=\"wts1-fs-feel-lbl\"\u003eThe Experience\u003c\/span\u003e\n          \u003cdiv class=\"wts1-fs-feeling\"\u003e\n            \u003cspan class=\"wts1-fs-feel-tag\"\u003eUnpredictable\u003c\/span\u003e\n            \u003cspan class=\"wts1-fs-feel-tag\"\u003eTactical\u003c\/span\u003e\n            \u003cspan class=\"wts1-fs-feel-tag\"\u003eFun\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cspan class=\"wts1-fs-section-label\"\u003eWho is it for\u003c\/span\u003e\n          \u003cdiv class=\"wts1-fs-targets\"\u003e\n            \u003cdiv class=\"wts1-fs-target wts1-fs-si\"\u003e\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n            \u003cdiv class=\"wts1-fs-target wts1-fs-si\"\u003e\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n            \u003cdiv class=\"wts1-fs-target wts1-fs-si\"\u003e\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n            \u003cdiv class=\"wts1-fs-target wts1-fs-no\"\u003e\n\u003cspan\u003e🧠\u003c\/span\u003eHeavy game\u003c\/div\u003e\n            \u003cdiv class=\"wts1-fs-target wts1-fs-no\"\u003e\n\u003cspan\u003e🧘\u003c\/span\u003eSolo game\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"wts1-fs-verdict\"\u003e\n            \u003cdiv class=\"wts1-fs-verdict-title\"\u003eIn summary\u003c\/div\u003e\n            \u003cdiv class=\"wts1-fs-verdict-text\"\u003eSix spells that expand choices without complicating the rules. Ideal for those who already know the base game and want each game to be slightly different from the last.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"wts1-fs-footer\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\" alt=\"FroGames\" class=\"wts1-fs-footer-frog\"\u003e FrogScore · FroGames editorial rating · based on rules, international reviews, and game sessions\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[\n        {l:'Replayability', v:5, note:\"Six spells combinable in different ways: no game uses the same recipe\"},\n        {l:'Interaction',   v:4, note:\"Closing Ravenskeep or swapping movements affects everyone at the table — always\"},\n        {l:'Accessibility', v:4, note:\"New rules are explained in thirty seconds, understood on first use\"},\n        {l:'Luck',       v:3, note:\"The extra die adds variance, but the choice of when to use it is yours\"},\n        {l:'Strategy',     v:3, note:\"Spell combinations open new tactical lines without adding complexity\"},\n        {l:'Complexity',   v:1, note:\"A small box, six cards. Adds to the base game without learning anything new\"}\n      ];\n      var accent='#6B3FA0';\n      var VB=320,CX=160,CY=160,R=74;\n      var n=dims.length,step=PI2\/n,off=-Math.PI\/2;\n      var svg=document.getElementById('wts1-fs-svg');\n      var tip=document.getElementById('wts1-fs-tip');\n      var ns='http:\/\/www.w3.org\/2000\/svg';\n\n      function pt(r,i){return[CX+r*Math.cos(off+i*step),CY+r*Math.sin(off+i*step)];}\n      function el(tag,attrs){\n        var e=document.createElementNS(ns,tag);\n        Object.keys(attrs).forEach(function(k){e.setAttribute(k,attrs[k]);});\n        return e;\n      }\n\n      var st=document.createElement('style');\n      st.textContent='@keyframes wts1-draw{to{stroke-dashoffset:0}}@keyframes wts1-fade{to{opacity:1}}';\n      document.head.appendChild(st);\n\n      for(var ring=1;ring\u003c=5;ring++){\n        var rr=R*(ring\/5);\n        var pts=dims.map(function(_,i){var p=pt(rr,i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n        svg.appendChild(el('polygon',{points:pts,fill:'none',stroke:ring===5?'#c0b8b0':'#ddd8d0','stroke-width':ring===5?'1':'0.5'}));\n      }\n      dims.forEach(function(_,i){\n        var p=pt(R,i);\n        svg.appendChild(el('line',{x1:CX,y1:CY,x2:p[0].toFixed(1),y2:p[1].toFixed(1),stroke:'#d0c8c0','stroke-width':'0.5'}));\n      });\n\n      var dpts=dims.map(function(d,i){var p=pt(R*(d.v\/5),i);return p[0].toFixed(1)+','+p[1].toFixed(1);}).join(' ');\n      var perim=dims.reduce(function(acc,d,i){\n        var p1=pt(R*(d.v\/5),i),p2=pt(R*(dims[(i+1)%n].v\/5),(i+1)%n);\n        return acc+Math.sqrt(Math.pow(p2[0]-p1[0],2)+Math.pow(p2[1]-p1[1],2));\n      },0);\n      var shape=el('polygon',{points:dpts,fill:accent+'1a',stroke:accent,'stroke-width':'2.5','stroke-linejoin':'round'});\n      shape.style.cssText='stroke-dasharray:'+perim.toFixed(0)+';stroke-dashoffset:'+perim.toFixed(0)+';animation:wts1-draw 0.9s ease-out 0.1s forwards';\n      svg.appendChild(shape);\n\n      dims.forEach(function(d,i){\n        var p=pt(R*(d.v\/5),i);\n        var angle=off+i*step;\n        var hit=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'10',fill:'transparent',cursor:'pointer'});\n        (function(idx){\n          hit.addEventListener('mouseenter',function(e){\n            tip.innerHTML='\u003cstrong\u003e'+dims[idx].l+' '+dims[idx].v+'\/5\u003c\/strong\u003e\u003cbr\u003e'+dims[idx].note;\n            tip.style.display='block';\n            var rect=svg.parentElement.getBoundingClientRect();\n            var ex=e.clientX-rect.left, ey=e.clientY-rect.top;\n            tip.style.left=Math.min(ex+12,rect.width-220)+'px';\n            tip.style.top=Math.max(ey-55,4)+'px';\n          });\n          hit.addEventListener('mouseleave',function(){tip.style.display='none';});\n        })(i);\n        svg.appendChild(hit);\n\n        var c=el('circle',{cx:p[0].toFixed(1),cy:p[1].toFixed(1),r:'4.5',fill:accent,stroke:'white','stroke-width':'2'});\n        c.style.cssText='opacity:0;animation:wts1-fade 0.3s ease-out '+(0.8+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(c);\n\n        var nd=R*(d.v\/5)+15;\n        var nx=CX+nd*Math.cos(angle),ny=CY+nd*Math.sin(angle);\n        var vt=el('text',{x:nx.toFixed(1),y:(ny+1).toFixed(1),'text-anchor':'middle','dominant-baseline':'middle','font-size':'10','font-weight':'800',fill:accent,'font-family':'-apple-system,sans-serif'});\n        vt.textContent=d.v;\n        vt.style.cssText='opacity:0;animation:wts1-fade 0.3s ease-out '+(0.85+i*0.07).toFixed(2)+'s forwards';\n        svg.appendChild(vt);\n      });\n\n      dims.forEach(function(d,i){\n        var angle=off+i*step;\n        var lx=CX+(R+40)*Math.cos(angle),ly=CY+(R+40)*Math.sin(angle);\n        var anchor='middle';\n        if(Math.cos(angle)\u003e0.2) anchor='start';\n        else if(Math.cos(angle)\u003c-0.2) anchor='end';\n        var dy=Math.sin(angle)\u003e0.6?7:Math.sin(angle)\u003c-0.6?-5:0;\n        var isHi=d.v\u003e=4;\n        var t=el('text',{x:lx.toFixed(1),y:(ly+dy).toFixed(1),'text-anchor':anchor,'dominant-baseline':'middle','font-size':isHi?'12':'11','font-weight':'700',fill:'#1a1208','font-family':'-apple-system,sans-serif'});\n        t.textContent=d.l;\n        svg.appendChild(t);\n      });\n    })();\n    \u003c\/script\u003e\n\n    \u003cdiv class=\"wts1-divider\"\u003e\u003c\/div\u003e\n\n    \u003c!-- ARSENAL \/ SPELL CARDS --\u003e\n    \u003cdiv class=\"wts1-section-pad\"\u003e\n      \u003cp class=\"wts1-label\"\u003eThe six spells\u003c\/p\u003e\n      \u003ch3 class=\"wts1-h3\"\u003eWhat the Spell Pack adds\u003c\/h3\u003e\n      \u003cdiv class=\"wts1-cards\"\u003e\n        \u003cdiv class=\"wts1-card\"\u003e\n          \u003cspan class=\"wts1-card-icon\"\u003e🔄\u003c\/span\u003e\n          \u003ch4 class=\"wts1-card-name\"\u003eRecover a Card\u003c\/h4\u003e\n          \u003cp class=\"wts1-card-desc\"\u003eReturn the top card of the discard pile to your hand. That move you thought was lost is now available again.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-card\"\u003e\n          \u003cspan class=\"wts1-card-icon\"\u003e↔️\u003c\/span\u003e\n          \u003ch4 class=\"wts1-card-name\"\u003eMovement Swap\u003c\/h4\u003e\n          \u003cp class=\"wts1-card-desc\"\u003eInvert the values on the card you play — move something that wasn't indicated, like a wizard instead of a tower.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-card\"\u003e\n          \u003cspan class=\"wts1-card-icon\"\u003e🏰\u003c\/span\u003e\n          \u003ch4 class=\"wts1-card-name\"\u003eClose Ravenskeep\u003c\/h4\u003e\n          \u003cp class=\"wts1-card-desc\"\u003eFor one turn, no wizard can enter the castle. Changes everyone's plans — including yours.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-card\"\u003e\n          \u003cspan class=\"wts1-card-icon\"\u003e🃏\u003c\/span\u003e\n          \u003ch4 class=\"wts1-card-name\"\u003eDraw 2 Cards\u003c\/h4\u003e\n          \u003cp class=\"wts1-card-desc\"\u003eInterrupt your turn to draw extra options. More choices, tougher decisions for others.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-card\"\u003e\n          \u003cspan class=\"wts1-card-icon\"\u003e🧪\u003c\/span\u003e\n          \u003ch4 class=\"wts1-card-name\"\u003eFill a Potion\u003c\/h4\u003e\n          \u003cp class=\"wts1-card-desc\"\u003eFlip a potion without having to trap any wizard. A shortcut to victory.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"wts1-card\"\u003e\n          \u003cspan class=\"wts1-card-icon\"\u003e🎲\u003c\/span\u003e\n          \u003ch4 class=\"wts1-card-name\"\u003eExtra Die\u003c\/h4\u003e\n          \u003cp class=\"wts1-card-desc\"\u003eRoll an additional die and replace the value printed on the card. Sometimes chaos is an ally.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- CLOSING --\u003e\n    \u003cdiv class=\"wts1-closing\"\u003e\n      \u003cp class=\"wts1-closing-text\"\u003eThe race to Ravenskeep was already unpredictable. With the Spell Pack, it becomes something you won't be able to explain until the next game night.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- BOX CONTENT --\u003e\n    \u003cdiv class=\"wts1-box-section\"\u003e\n\n      \u003cdetails class=\"wts1-det wts1-det--last\"\u003e\n        \u003csummary class=\"wts1-det-sum\"\u003e\n          \u003cdiv class=\"wts1-det-left\"\u003e\n\u003cspan class=\"wts1-det-ico\"\u003e📖\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"wts1-det-title\"\u003eRules\u003c\/span\u003e\u003cspan class=\"wts1-det-sub\"\u003eEnglish · included in the box\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n          \u003cspan class=\"wts1-det-arr\"\u003e\u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"wts1-det-body\"\u003e\n          \u003cdiv class=\"wts1-rl-wrap\"\u003e\n            \u003cdiv class=\"wts1-rl-langs\"\u003e\u003cspan class=\"wts1-rl-lang\"\u003e🇬🇧 English\u003c\/span\u003e\u003c\/div\u003e\n            \u003ca href=\"https:\/\/www.capstone-games.com\/wandering-towers\" target=\"_blank\" class=\"wts1-rl-link\" style=\"display:flex;align-items:center;gap:10px;padding:12px 16px;background:#1a0a2e;border-radius:10px;text-decoration:none;color:#fff;\"\u003e\n              \u003cspan class=\"wts1-rl-ico\"\u003e📄\u003c\/span\u003e\n              \u003cdiv class=\"wts1-rl-body\"\u003e\n\u003cspan class=\"wts1-rl-title\"\u003eOfficial Capstone Games Website\u003c\/span\u003e\u003cspan class=\"wts1-rl-sub\"\u003eRules and resources · capstone-games.com\u003c\/span\u003e\n\u003c\/div\u003e\n              \u003cspan class=\"wts1-rl-arr-ext\"\u003e↗\u003c\/span\u003e\n            \u003c\/a\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c!-- \/wts1-body --\u003e\n\n\u003c\/div\u003e\u003c!-- \/wts1-wrap --\u003e\n\n\u003cstyle\u003e\n.wts1-wrap, .wts1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.wts1-wrap {\n  font-family: Georgia, 'Times New Roman', serif;\n  border-radius: 24px;\n  overflow: hidden;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.32);\n  max-width: 1200px;\n  margin-left: auto;\n  margin-right: auto;\n  background: #0d0818;\n}\n\n\/* ── COVER ── *\/\n.wts1-cover { position: relative; width: 100%; height: 340px; overflow: hidden; display: flex; align-items: flex-end; }\n.wts1-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }\n.wts1-cover-fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(13,8,24,0) 0%, rgba(13,8,24,0) 25%, rgba(13,8,24,0.6) 55%, rgba(13,8,24,0.9) 75%, rgba(13,8,24,1) 100%); }\n.wts1-cover-content { position: relative; z-index: 2; padding: 18px 26px 24px; width: 100%; }\n.wts1-kicker { display: block; color: #C4A0F0; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }\n.wts1-sub { color: rgba(255,255,255,0.9); font-family: Georgia, serif; font-size: 1rem; font-style: italic; line-height: 1.55; max-width: 580px; margin-bottom: 16px; }\n.wts1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.wts1-chip { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25); color: #fff; font-family: sans-serif; padding: 4px 12px; border-radius: 50px; font-size: 0.78rem; font-weight: 600; }\n.wts1-chip--purple { background: #6B3FA0; border-color: #6B3FA0; }\n\n\/* ── SPECS ── *\/\n.wts1-specs-bar { background: #120c20; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.wts1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.wts1-spec { padding: 13px 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; border-right: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); }\n.wts1-spec:nth-child(3n) { border-right: none; }\n.wts1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.wts1-spec-icon { font-size: 1.2rem; }\n.wts1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.wts1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n\n\/* ── BODY ── *\/\n.wts1-body { background: #F0EAF8; }\n\n\/* ── INTRO ── *\/\n.wts1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.wts1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #6B3FA0; margin-bottom: 7px; }\n.wts1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #1a0830; line-height: 1.15; margin-bottom: 16px; }\n.wts1-p { font-family: sans-serif; font-size: 0.95rem; color: #2e1a50; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n\n\/* ── EDITORIAL BOXES ── *\/\n.wts1-quote-solo { background: #1a0a2e; border-radius: 14px; padding: 18px 20px; margin-bottom: 12px; border-left: 4px solid #C4A0F0; }\n.wts1-quote-solo--alt { background: #2a103a; border-left-color: #8B5CF6; }\n.wts1-qs-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }\n.wts1-qs-text { color: #fff; font-style: italic; font-size: 0.9rem; line-height: 1.6; margin-bottom: 8px; font-family: Georgia, serif; }\n.wts1-qs-note { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }\n\n\/* ── DIVIDER ── *\/\n.wts1-divider { height: 1px; background: #d4c0e8; margin: 32px 28px 0; }\n\n\/* ── FROGSCORE ── *\/\n.wts1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.wts1-fs-header { padding:14px 20px 13px; background:#fff; border-bottom:1px solid #e8e2da; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }\n.wts1-fs-brand { display:flex; align-items:center; gap:9px; }\n.wts1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.wts1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.wts1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.wts1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.wts1-fs-cat { font-family:sans-serif; font-size:10px; padding:3px 11px; border-radius:50px; font-weight:700; border:1.5px solid; white-space:nowrap; }\n.wts1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.wts1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.wts1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.wts1-fs-tip { display:none; position:absolute; background:#1a1208; color:rgba(255,255,255,0.92); font-family:sans-serif; font-size:11px; line-height:1.55; padding:8px 12px; border-radius:9px; z-index:20; max-width:210px; box-shadow:0 4px 18px rgba(0,0,0,0.22); pointer-events:none; }\n.wts1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.wts1-fs-feel-lbl { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:9px; }\n.wts1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.wts1-fs-feel-tag { font-family:Georgia,serif; font-size:13px; font-style:italic; color:#3d2810; padding:5px 14px; background:#fff; border-radius:7px; border:1px solid #d8d0c4; }\n.wts1-fs-section-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:10px; }\n.wts1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.wts1-fs-target { display:flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; border:1px solid; font-family:sans-serif; font-size:11px; font-weight:600; }\n.wts1-fs-target span { font-size:14px; flex-shrink:0; }\n.wts1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.wts1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.wts1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.wts1-fs-verdict-title { font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; margin-bottom:5px; }\n.wts1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.wts1-fs-footer { padding:9px 20px; background:#eeeae4; border-top:1px solid #e0d8cc; font-family:sans-serif; font-size:11px; color:#6b5e48; line-height:1.5; }\n\n\/* ── SPELL CARDS ── *\/\n.wts1-section-pad { padding: 32px 28px 8px; }\n.wts1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.wts1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #ddd0f0; box-shadow: 0 2px 10px rgba(107,63,160,0.07); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.wts1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(107,63,160,0.13); }\n.wts1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.wts1-card-name { font-size: 0.95rem; font-weight: 900; color: #6B3FA0; margin-bottom: 5px; }\n.wts1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #2e1a50; line-height: 1.55; }\n\n\/* ── CLOSING ── *\/\n.wts1-closing { background: #1a0a2e; padding: 26px 28px; border-top: 3px solid #C4A0F0; }\n.wts1-closing-text { font-family: Georgia, serif; font-size: 1.05rem; font-style: italic; color: rgba(255,255,255,0.88); text-align: center; line-height: 1.6; }\n\n\/* ── BOX CONTENT ── *\/\n.wts1-box-section { background: #F0EAF8; border-top: 1px solid #d4c0e8; }\n.wts1-det { border-bottom: 1px solid #e8deca; background: #fff; }\n.wts1-det--last { border-bottom: none; }\n.wts1-det-sum { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; cursor: pointer; transition: background .18s; }\n.wts1-det-sum::-webkit-details-marker { display: none; }\n.wts1-det-sum::marker { display: none; }\n.wts1-det[open] .wts1-det-sum { background: #f5f0fc; }\n.wts1-det-sum:hover { background: #f5f0fc; }\n.wts1-det-left { display: flex; align-items: center; gap: 10px; }\n.wts1-det-ico { font-size: 17px; flex-shrink: 0; }\n.wts1-det-title { font-family: sans-serif; font-size: 13px; font-weight: 700; color: #1a0830; display: block; }\n.wts1-det-sub { font-family: sans-serif; font-size: 11px; color: #9c8e7a; margin-top: 1px; display: block; }\n.wts1-det-arr { width: 16px; height: 16px; flex-shrink: 0; position: relative; }\n.wts1-det-arr::before { content: \"\"; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 2px solid #9c8e7a; border-bottom: 2px solid #9c8e7a; transform: translate(-50%,-70%) rotate(45deg); transition: transform .22s; }\n.wts1-det[open] .wts1-det-arr::before { transform: translate(-50%,-30%) rotate(225deg); }\n.wts1-det-body { padding: 0 20px 16px; background: #fff; }\n\n.wts1-rl-wrap { padding-top:14px; display:flex; flex-direction:column; gap:10px; }\n.wts1-rl-langs { display:flex; flex-wrap:wrap; gap:6px; }\n.wts1-rl-lang { font-family:sans-serif; font-size:0.75rem; font-weight:600; padding:3px 10px; border-radius:50px; background:#f0eafc; border:1px solid #9070d0; color:#3a1080; }\n.wts1-rl-body { flex:1; min-width:0; }\n.wts1-rl-title { display:block; font-family:sans-serif; font-size:0.82rem; font-weight:700; color:#fff; }\n.wts1-rl-sub { display:block; font-family:sans-serif; font-size:0.7rem; color:rgba(255,255,255,0.5); margin-top:2px; }\n.wts1-rl-arr-ext { font-size:0.9rem; color:rgba(255,255,255,0.45); flex-shrink:0; }\n\n\/* ── RESPONSIVE ── *\/\n@media screen and (min-width: 600px) {\n  .wts1-specs { grid-template-columns: repeat(6, 1fr); }\n  .wts1-spec { border-bottom: none; }\n  .wts1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .wts1-spec:last-child { border-right: none; }\n  .wts1-cards { grid-template-columns: repeat(2, 1fr); }\n  .wts1-fs-body { grid-template-columns: 220px 1fr; }\n  .wts1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .wts1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .wts1-cover { height: 440px; }\n  .wts1-cover-content { padding: 22px 36px 30px; }\n  .wts1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .wts1-cards { grid-template-columns: repeat(3, 1fr); }\n  .wts1-divider { margin-left: 36px; margin-right: 36px; }\n  .wts1-section-pad { padding: 36px 36px 8px; }\n  .wts1-closing { padding: 28px 36px; }\n  .wts1-fs-body { grid-template-columns: 260px 1fr; }\n  .wts1-fs-radar-panel svg { max-width: 260px; }\n}\n\u003c\/style\u003e\n```","brand":"Capstone Games","offers":[{"title":"Default Title","offer_id":53558477619527,"sku":null,"price":14.99,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/WanderingTowers-SpellPack00.webp?v=1774024876","url":"https:\/\/frogames.it\/en\/products\/wandering-towers-spell-pack","provider":"FroGames","version":"1.0","type":"link"}