{"product_id":"caravanserai","title":"Caravanserai","description":"\u003c!-- =====================================================\n     CARAVANSERAI — BLOCK 1\n     FroGames | Shopify Theme Concept\n     ===================================================== --\u003e\n\u003cdiv class=\"crv1-wrap\"\u003e\n\u003c!-- COVER --\u003e\n\u003cdiv class=\"crv1-cover\"\u003e\n\u003cimg loading=\"eager\" class=\"crv1-cover-img\" alt=\"Caravanserai board game eurogame commercial silk road for 2-4 players - official cover Private Moon Studios\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/Caravanserai.webp?v=1776507116\"\u003e\n\u003cdiv class=\"crv1-cover-fade\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"crv1-cover-content\"\u003e\n\u003cp class=\"crv1-kicker\"\u003eFroGames — Moments You'll Remember\u003c\/p\u003e\n\u003cp class=\"crv1-sub\"\u003eYou are a stable boy — the only one who can enter the courtyard where the caravans rest. They have goods. Outsiders are paying. The profit is yours.\u003c\/p\u003e\n\u003cdiv class=\"crv1-chips\"\u003e\n\u003cspan class=\"crv1-chip crv1-chip--gold\"\u003eEurogame\u003c\/span\u003e \u003cspan class=\"crv1-chip\"\u003ePrivate Moon Studios\u003c\/span\u003e \u003cspan class=\"crv1-chip\"\u003eSilk Road\u003c\/span\u003e \u003cspan class=\"crv1-chip\"\u003eMensa Recommended\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- TECH SPECS --\u003e\n\u003cdiv class=\"crv1-specs-bar\"\u003e\n\u003cdiv class=\"crv1-specs\"\u003e\n\u003cdiv class=\"crv1-spec\"\u003e\n\u003cspan class=\"crv1-spec-icon\"\u003e👥\u003c\/span\u003e \u003cspan class=\"crv1-spec-label\"\u003ePlayers\u003c\/span\u003e \u003cspan class=\"crv1-spec-val\"\u003e2 – 4\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-spec\"\u003e\n\u003cspan class=\"crv1-spec-icon\"\u003e⏱️\u003c\/span\u003e \u003cspan class=\"crv1-spec-label\"\u003eDuration\u003c\/span\u003e \u003cspan class=\"crv1-spec-val\"\u003e75 min\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-spec\"\u003e\n\u003cspan class=\"crv1-spec-icon\"\u003e🎂\u003c\/span\u003e \u003cspan class=\"crv1-spec-label\"\u003eAge\u003c\/span\u003e \u003cspan class=\"crv1-spec-val\"\u003e10+ years\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-spec\"\u003e\n\u003cspan class=\"crv1-spec-icon\"\u003e🎯\u003c\/span\u003e \u003cspan class=\"crv1-spec-label\"\u003eMechanics\u003c\/span\u003e \u003cspan class=\"crv1-spec-val\"\u003eTrading + mov\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-spec\"\u003e\n\u003cspan class=\"crv1-spec-icon\"\u003e⛲\u003c\/span\u003e \u003cspan class=\"crv1-spec-label\"\u003eBoard\u003c\/span\u003e \u003cspan class=\"crv1-spec-val\"\u003eFixed Courtyard\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-spec\"\u003e\n\u003cspan class=\"crv1-spec-icon\"\u003e⚖️\u003c\/span\u003e \u003cspan class=\"crv1-spec-label\"\u003eInteraction\u003c\/span\u003e \u003cspan class=\"crv1-spec-val\"\u003eCompetitive\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- BODY --\u003e\n\u003cdiv class=\"crv1-body\"\u003e\n\u003c!-- INTRO + EDITORIAL BOXES --\u003e\n\u003cdiv class=\"crv1-intro-grid\"\u003e\n\u003cdiv class=\"crv1-intro-text\"\u003e\n\u003cp class=\"crv1-label\"\u003eWhat it's about\u003c\/p\u003e\n\u003ch3 class=\"crv1-h3\"\u003eThe most accessible of Private Moon games — and perhaps the cleverest\u003c\/h3\u003e\n\u003cp class=\"crv1-p\"\u003eAlong the Silk Road, caravanserais were islands of respite: thick walls, a courtyard, a fountain, caravans stopping for a day or two. Local merchants stayed outside. But the stable boys who worked inside — they could talk to the caravaneers. And the stable boys weren't fools.\u003c\/p\u003e\n\u003cp class=\"crv1-p\"\u003eIn Caravanserai, you play as one of these boys. \u003cstrong\u003ePierrot\u003c\/strong\u003e is the designer, the artwork is by Gracza Balázs, Nagy Norbert, Zoltan Toth and Zsolt Varga, published by Private Moon Studios. BGG weight 3.0\/5 — the most accessible game in Pierrot's catalog. You buy from the caravaneers in the courtyard, resell to local merchants behind the walls, and keep the profit. The first to reach 32 dirhams triggers the final round — but doesn't necessarily win: the winner is whoever has the most savings at the end.\u003c\/p\u003e\n\u003cp class=\"crv1-p\"\u003eYou have two optional actions per turn, each preceded by a mandatory movement of 1-3 steps along the courtyard. Once per turn, you can rely on the dice to move further — or get burned. In the center of the courtyard is a fountain that rotates with each specific transaction, and when it rotates, your earnings change. It's the beating heart of the game.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-intro-side\"\u003e\n\u003cdiv class=\"crv1-quote-solo\"\u003e\n\u003cspan class=\"crv1-qs-icon\"\u003e⛲\u003c\/span\u003e\n\u003cp class=\"crv1-qs-text\"\u003eThe fountain that rotates with each transaction transforms a trading game into a timing puzzle. Sell now or in two moves? The money you receive depends on how the fountain is pointing when you close the deal.\u003c\/p\u003e\n\u003cp class=\"crv1-qs-note\"\u003eThe secret of Caravanserai in a nutshell\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-quote-solo crv1-quote-solo--alt\"\u003e\n\u003cspan class=\"crv1-qs-icon\"\u003e🏅\u003c\/span\u003e\n\u003cp class=\"crv1-qs-text\"\u003eMensa Hungary listed it among advanced games and nominated it for an award. Not bad for a eurogame that seems to be just \"buying and selling\" — but actually hides three levels of decision under every move.\u003c\/p\u003e\n\u003cp class=\"crv1-qs-note\"\u003eFrom the game experience\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- FROGSCORE --\u003e\n\u003cdiv class=\"crv1-fs\"\u003e\n\u003cdiv class=\"crv1-fs-header\"\u003e\n\u003cdiv class=\"crv1-fs-brand\"\u003e\n\u003cimg class=\"crv1-fs-frog-img\" alt=\"FroGames\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"crv1-fs-brand-label\"\u003eFrogScore · FroGames.it\u003c\/span\u003e\n\u003cp class=\"crv1-fs-game-name\"\u003eCaravanserai\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cspan style=\"background: #eaf3de; border-color: #80b050; color: #2a5010;\" class=\"crv1-fs-cat\"\u003eStrategy\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-body\"\u003e\n\u003cdiv class=\"crv1-fs-radar-panel\"\u003e\n\u003csvg style=\"overflow: visible;\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 320 320\" id=\"crv1-fs-svg\"\u003e\u003c\/svg\u003e\n\u003cdiv id=\"crv1-fs-tip\" class=\"crv1-fs-tip\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-info\"\u003e\n\u003cspan class=\"crv1-fs-feel-lbl\"\u003eThe experience\u003c\/span\u003e\n\u003cdiv class=\"crv1-fs-feeling\"\u003e\n\u003cspan class=\"crv1-fs-feel-tag\"\u003eRewarding\u003c\/span\u003e \u003cspan class=\"crv1-fs-feel-tag\"\u003eClever\u003c\/span\u003e \u003cspan class=\"crv1-fs-feel-tag\"\u003eAccessible\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"crv1-fs-section-label\"\u003eWho it's for\u003c\/span\u003e\n\u003cdiv class=\"crv1-fs-targets\"\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-si\"\u003e\n\u003cspan\u003e🎲\u003c\/span\u003eFamily game\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-si\"\u003e\n\u003cspan\u003e🌱\u003c\/span\u003eGateway\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-si\"\u003e\n\u003cspan\u003e🎯\u003c\/span\u003eExperts\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-no\"\u003e\n\u003cspan\u003e🧒\u003c\/span\u003eChildren\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-no\"\u003e\n\u003cspan\u003e🧠\u003c\/span\u003eHeavy game\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-no\"\u003e\n\u003cspan\u003e🍕\u003c\/span\u003eParty\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-target crv1-fs-no\"\u003e\n\u003cspan\u003e🧘\u003c\/span\u003eSolitaire\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-verdict\"\u003e\n\u003cdiv class=\"crv1-fs-verdict-title\"\u003eIn summary\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-verdict-text\"\u003eThe bridge between gateway and serious eurogame. Rules in ten minutes, tactical depth that emerges game after game. Perfect for converting a group to medium weight.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-fs-footer\"\u003e\n\u003cimg class=\"crv1-fs-footer-frog\" alt=\"FroGames\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/FROG_FAVICON.webp?v=1774174794\"\u003e FrogScore · FroGames editorial rating · based on official rules, BGG weight and mechanics declared by the publisher\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    (function(){\n      var PI2=Math.PI*2;\n      var dims=[\n        {l:'Accessibility', v:5, note:\"Rules learnable in 10-15 minutes — the easiest to bring to the table from the Private Moon catalog\"},\n        {l:'Replayability', v:4, note:\"Caravan cards, orders, abilities and rotating fountain: each game finds a different balance\"},\n        {l:'Strategy',     v:4, note:\"Debt management, set collection, fountain timing: choices matter even at weight 3.0\"},\n        {l:'Interaction',   v:3, note:\"Competition over caravans and orders — present but never aggressive\"},\n        {l:'Luck',       v:3, note:\"Optional dice for movement and card draw — helps beginners without spoiling experts\"},\n        {l:'Complexity',   v:3, note:\"Weight 3.0 on BGG — multiple mechanics that are learned by playing\"}\n      ];\n      var accent='#2E6B0A';\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('crv1-fs-svg');\n      var tip=document.getElementById('crv1-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 crv1-draw{to{stroke-dashoffset:0}}@keyframes crv1-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:crv1-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\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:crv1-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:crv1-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\u003cdiv class=\"crv1-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- ARSENAL --\u003e\n\u003cdiv class=\"crv1-section-pad\"\u003e\n\u003cp class=\"crv1-label\"\u003eYour tools\u003c\/p\u003e\n\u003ch3 class=\"crv1-h3\"\u003eWhat you manage each turn\u003c\/h3\u003e\n\u003cdiv class=\"crv1-cards\"\u003e\n\u003cdiv class=\"crv1-card\"\u003e\n\u003cspan class=\"crv1-card-icon\"\u003e🐪\u003c\/span\u003e\n\u003ch4 class=\"crv1-card-name\"\u003eCaravans and travelers\u003c\/h4\u003e\n\u003cp class=\"crv1-card-desc\"\u003ePassing merchants bring precious metals and stones that only you can buy. Negotiating with them is your true privilege as a stable boy.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-card\"\u003e\n\u003cspan class=\"crv1-card-icon\"\u003e📜\u003c\/span\u003e\n\u003ch4 class=\"crv1-card-name\"\u003eSmall and large orders\u003c\/h4\u003e\n\u003cp class=\"crv1-card-desc\"\u003eLocal merchants commission specific goods from you. Large orders are worth more, and complete sets earn extra points at the end of the game.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-card\"\u003e\n\u003cspan class=\"crv1-card-icon\"\u003e💎\u003c\/span\u003e\n\u003ch4 class=\"crv1-card-name\"\u003eDirham, debts, abilities\u003c\/h4\u003e\n\u003cp class=\"crv1-card-desc\"\u003eYou start with little money. You can incur debt with the money changer to act sooner than expected — but the debt must be settled. Ability cards reward those who play well.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"crv1-card\"\u003e\n\u003cspan class=\"crv1-card-icon\"\u003e⛲\u003c\/span\u003e\n\u003ch4 class=\"crv1-card-name\"\u003eThe rotating fountain\u003c\/h4\u003e\n\u003cp class=\"crv1-card-desc\"\u003eIn the center of the courtyard. Every certain transaction makes it turn — and the rotation changes your earnings. The timing of when you buy and sell becomes everything.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CLOSING --\u003e\n\u003cdiv class=\"crv1-closing\"\u003e\n\u003cp class=\"crv1-closing-text\"\u003e32 dirhams is the target, but not the victory. The winner is whoever has the fullest wallet — not whoever filled it first.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- BOX CONTENTS --\u003e\n\u003cdiv class=\"crv1-box-section\"\u003e\n\u003cdetails class=\"crv1-det crv1-det--last\"\u003e\n\u003csummary class=\"crv1-det-sum\"\u003e\u003cspan class=\"crv1-det-ico\"\u003e📖\u003c\/span\u003e\u003cspan class=\"crv1-det-title\"\u003eRulebook\u003c\/span\u003e\u003cspan class=\"crv1-det-sub\"\u003eEnglish · official files on BGG\u003c\/span\u003e\u003cspan class=\"crv1-det-arr\"\u003e\u003c\/span\u003e\u003c\/summary\u003e\n\u003cdiv class=\"crv1-det-body\"\u003e\n\u003cdiv class=\"crv1-rl-wrap\"\u003e\n\u003cdiv class=\"crv1-rl-langs\"\u003e\u003cspan class=\"crv1-rl-lang\"\u003e🇬🇧 English\u003c\/span\u003e\u003c\/div\u003e\n\u003ca style=\"display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: #0f1a33; border-radius: 10px; text-decoration: none; color: #fff;\" class=\"crv1-rl-link\" href=\"https:\/\/boardgamegeek.com\/boardgame\/405542\/caravanserai\/files\" target=\"_blank\"\u003e\u003cspan class=\"crv1-rl-ico\"\u003e📄\u003c\/span\u003e\n\u003cdiv class=\"crv1-rl-body\"\u003e\n\u003cspan class=\"crv1-rl-title\"\u003eDownload official rulebook\u003c\/span\u003e\u003cspan class=\"crv1-rl-sub\"\u003eFree PDF · BoardGameGeek files section\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan class=\"crv1-rl-arr-ext\"\u003e↗\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cstyle\u003e\n.crv1-wrap, .crv1-wrap * { box-sizing: border-box; margin: 0; padding: 0; }\n.crv1-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: #081226;\n}\n\n\/* ── COVER ── *\/\n.crv1-cover { position: relative; width: 100%; height: 340px; overflow: hidden; display: flex; align-items: flex-end; }\n.crv1-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }\n.crv1-cover-fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(15,26,51,0) 0%, rgba(15,26,51,0) 25%, rgba(15,26,51,0.5) 55%, rgba(15,26,51,0.85) 75%, rgba(15,26,51,0.98) 100%); }\n.crv1-cover-content { position: relative; z-index: 2; padding: 18px 26px 24px; width: 100%; }\n.crv1-kicker { display: block; color: #D4A04A; font-family: sans-serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 8px; }\n.crv1-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.crv1-chips { display: flex; flex-wrap: wrap; gap: 7px; }\n.crv1-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.crv1-chip--gold { background: #D4A04A; border-color: #D4A04A; color: #0f1a33; }\n\n\/* ── SPECS ── *\/\n.crv1-specs-bar { background: #0d1628; padding: 0 24px; border-top: 1px solid rgba(255,255,255,0.06); }\n.crv1-specs { display: grid; grid-template-columns: repeat(3, 1fr); }\n.crv1-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.crv1-spec:nth-child(3n) { border-right: none; }\n.crv1-spec:nth-last-child(-n+3) { border-bottom: none; }\n.crv1-spec-icon { font-size: 1.2rem; }\n.crv1-spec-label { color: rgba(255,255,255,0.4); font-family: sans-serif; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 1px; }\n.crv1-spec-val { color: #fff; font-family: sans-serif; font-size: 0.84rem; font-weight: 800; }\n\n\/* ── BODY ── *\/\n.crv1-body { background: #F0E4C8; }\n\n\/* ── INTRO ── *\/\n.crv1-intro-grid { display: grid; grid-template-columns: 1fr; gap: 26px; padding: 36px 28px 8px; }\n.crv1-label { display: block; font-family: sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #9c5428; margin-bottom: 7px; }\n.crv1-h3 { font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 900; color: #0f1a33; line-height: 1.15; margin-bottom: 16px; }\n.crv1-p { font-family: sans-serif; font-size: 0.95rem; color: #2a2418; margin-bottom: 13px; line-height: 1.65; max-width: 700px; }\n\n\/* ── FROGAMES EDITORIAL BOXES ── *\/\n.crv1-quote-solo { background: #0f1a33; border-radius: 14px; padding: 18px 20px; margin-bottom: 12px; border-left: 4px solid #2E8B8B; }\n.crv1-quote-solo--alt { background: #5a2e14; border-left-color: #D4A04A; }\n.crv1-qs-icon { font-size: 1.4rem; display: block; margin-bottom: 8px; }\n.crv1-qs-text { color: #fff; font-style: italic; font-size: 0.9rem; line-height: 1.6; margin-bottom: 8px; font-family: Georgia, serif; }\n.crv1-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.crv1-divider { height: 1px; background: #d4c0a0; margin: 32px 28px 0; }\n\n\/* ── FROGSCORE ── *\/\n.crv1-fs { background:#fff; border-top:1px solid #e0d8cc; border-bottom:1px solid #e0d8cc; }\n.crv1-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.crv1-fs-brand { display:flex; align-items:center; gap:9px; }\n.crv1-fs-frog-img { width:28px; height:28px; object-fit:contain; flex-shrink:0; }\n.crv1-fs-footer-frog { width:16px; height:16px; object-fit:contain; vertical-align:middle; margin-right:2px; }\n.crv1-fs-brand-label { display:block; font-family:sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#6b5e48; }\n.crv1-fs-game-name { font-family:sans-serif; font-size:14px; font-weight:700; color:#1a1208; margin-top:2px; }\n.crv1-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.crv1-fs-body { display:grid; grid-template-columns:1fr; background:#f7f4ef; }\n.crv1-fs-radar-panel { padding:20px 16px; display:flex; justify-content:center; background:#f7f4ef; position:relative; }\n.crv1-fs-radar-panel svg { width:100%; max-width:270px; height:auto; display:block; }\n.crv1-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.crv1-fs-info { padding:16px 18px 18px; background:#f7f4ef; border-top:1px solid #e8e2da; }\n.crv1-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.crv1-fs-feeling { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px; }\n.crv1-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.crv1-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.crv1-fs-targets { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:7px; margin-bottom:16px; }\n.crv1-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.crv1-fs-target span { font-size:14px; flex-shrink:0; }\n.crv1-fs-si { background:#fff; border-color:#c8c0b0; color:#2a1a08; }\n.crv1-fs-no { background:transparent; border-color:#e0d8d0; color:#b8a898; opacity:.45; text-decoration:line-through; }\n.crv1-fs-verdict { background:#fff; border-radius:10px; padding:12px 14px; border:1px solid #e0d8cc; }\n.crv1-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.crv1-fs-verdict-text { font-family:sans-serif; font-size:12px; color:#3d2810; line-height:1.65; }\n.crv1-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\/* ── CARDS ── *\/\n.crv1-section-pad { padding: 32px 28px 8px; }\n.crv1-cards { display: grid; grid-template-columns: 1fr; gap: 11px; margin-top: 16px; }\n.crv1-card { background: #fff; border-radius: 14px; padding: 16px 18px; border: 1px solid #e0ceb0; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: transform 0.2s ease, box-shadow 0.2s ease; }\n.crv1-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.09); }\n.crv1-card-icon { font-size: 1.6rem; display: block; margin-bottom: 7px; }\n.crv1-card-name { font-size: 0.95rem; font-weight: 900; color: #9c5428; margin-bottom: 5px; }\n.crv1-card-desc { font-family: sans-serif; font-size: 0.85rem; color: #2a2418; line-height: 1.55; }\n\n\/* ── CLOSING ── *\/\n.crv1-closing { background: #0f1a33; padding: 26px 28px; border-top: 3px solid #D4A04A; }\n.crv1-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.crv1-box-section { background: #F0E4C8; border-top: 1px solid #d4c0a0; }\n.crv1-det { border-bottom: 1px solid #e0d2a8; background: #fff; }\n.crv1-det--last { border-bottom: none; }\n.crv1-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.crv1-det-sum::-webkit-details-marker { display: none; }\n.crv1-det-sum::marker { display: none; }\n.crv1-det[open] .crv1-det-sum { background: #faf5e5; }\n.crv1-det-sum:hover { background: #faf5e5; }\n.crv1-det-left { display: flex; align-items: center; gap: 10px; }\n.crv1-det-ico { font-size: 17px; flex-shrink: 0; }\n.crv1-det-title { font-family: sans-serif; font-size: 13px; font-weight: 700; color: #0f1a33; display: block; }\n.crv1-det-sub { font-family: sans-serif; font-size: 11px; color: #9c8e6a; margin-top: 1px; display: block; }\n.crv1-det-arr { width: 16px; height: 16px; flex-shrink: 0; position: relative; }\n.crv1-det-arr::before { content: \"\"; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-right: 2px solid #9c8e6a; border-bottom: 2px solid #9c8e6a; transform: translate(-50%,-70%) rotate(45deg); transition: transform .22s; }\n.crv1-det[open] .crv1-det-arr::before { transform: translate(-50%,-30%) rotate(225deg); }\n.crv1-det-body { padding: 0 20px 16px; background: #fff; }\n\n.crv1-rl-wrap { padding-top:14px; display:flex; flex-direction:column; gap:10px; }\n.crv1-rl-langs { display:flex; flex-wrap:wrap; gap:6px; }\n.crv1-rl-lang { font-family:sans-serif; font-size:0.75rem; font-weight:600; padding:3px 10px; border-radius:50px; background:#eaf3de; border:1px solid #80b050; color:#2a5010; }\n.crv1-rl-link { display:flex; align-items:center; gap:10px; padding:12px 16px; background:#0f1a33; border-radius:10px; text-decoration:none; transition:opacity .2s; }\n.crv1-rl-link:hover { opacity:.85; }\n.crv1-rl-ico { font-size:1.2rem; flex-shrink:0; }\n.crv1-rl-body { flex:1; min-width:0; }\n.crv1-rl-title { display:block; font-family:sans-serif; font-size:0.82rem; font-weight:700; color:#fff; }\n.crv1-rl-sub { display:block; font-family:sans-serif; font-size:0.7rem; color:rgba(255,255,255,0.5); margin-top:2px; }\n.crv1-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  .crv1-specs { grid-template-columns: repeat(6, 1fr); }\n  .crv1-spec { border-bottom: none; }\n  .crv1-spec:nth-child(3n) { border-right: 1px solid rgba(255,255,255,0.07); }\n  .crv1-spec:last-child { border-right: none; }\n  .crv1-cards { grid-template-columns: repeat(2, 1fr); }\n  .crv1-fs-body { grid-template-columns: 220px 1fr; }\n  .crv1-fs-radar-panel { border-top: none; border-right: 1px solid #e8e2da; }\n  .crv1-fs-info { border-top: none; }\n}\n@media screen and (min-width: 900px) {\n  .crv1-cover { height: 440px; }\n  .crv1-cover-content { padding: 22px 36px 30px; }\n  .crv1-intro-grid { grid-template-columns: 3fr 2fr; align-items: start; padding: 40px 36px 8px; }\n  .crv1-cards { grid-template-columns: repeat(4, 1fr); }\n  .crv1-divider { margin-left: 36px; margin-right: 36px; }\n  .crv1-section-pad { padding: 36px 36px 8px; }\n  .crv1-closing { padding: 28px 36px; }\n  .crv1-fs-body { grid-template-columns: 260px 1fr; }\n  .crv1-fs-radar-panel svg { max-width: 260px; }\n}","brand":"Private Moon Studios","offers":[{"title":"Default Title","offer_id":53725285941575,"sku":null,"price":59.99,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0887\/8905\/7863\/files\/Caravanserai00.webp?v=1776434731","url":"https:\/\/frogames.it\/en\/products\/caravanserai","provider":"FroGames","version":"1.0","type":"link"}