/* ============================================================
   GamesQuiz — tema "Guida Misteriosa" v1.7
   Carta, matita e acquerello: ogni gioco è una scheda della guida.
   Font: Baloo 2 (titoli), Caveat (note a mano), Nunito (testo).
   ============================================================ */
:root{
  --carta:#FBF3DF; --carta2:#F3E7C9; --matita:#4D4030; --grafite:#7A6A54;
  --verde:#79B865; --verde-w:#E3F0D8; --corallo:#EE8A6E; --corallo-w:#FBE4DA;
  --cielo:#82B8DC; --cielo-w:#E1EEF7; --sole:#F1C75B; --sole-w:#FBF0D0;
  --acqua:#A8D4E8; --foglio:#FFFDF6;
}
*{box-sizing:border-box}
body{
  margin:0;color:var(--matita);background:var(--carta);
  background-image:radial-gradient(rgba(77,64,48,.055) .8px,transparent .9px);
  background-size:7px 7px;
  font-family:'Nunito',system-ui,sans-serif;font-size:16px;line-height:1.6;
  overflow-x:hidden;
}
/* i bordi della pagina sfumano, come inchiostro finito */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:70;
  background:linear-gradient(to right,var(--carta) 0,transparent 30px),
   linear-gradient(to left,var(--carta) 0,transparent 30px),
   linear-gradient(to bottom,var(--carta) 0,transparent 22px),
   linear-gradient(to top,var(--carta) 0,transparent 22px)}
.wrap{max-width:1020px;margin:0 auto;padding:0 18px}
a{color:var(--matita)}
img{max-width:100%}
svg{overflow:visible}
.mano{border:2.5px solid var(--matita);
  border-radius:255px 18px 225px 18px/18px 225px 18px 255px}

/* ============ animazioni della scena ============ */
@keyframes gm-ondeggia{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3.5deg)}}
@keyframes gm-galleggia{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes gm-sbatti{0%,46%,54%,100%{transform:scaleY(1)}50%{transform:scaleY(.06)}}
@keyframes gm-ali{0%,100%{transform:rotateY(0)}50%{transform:rotateY(55deg)}}
@keyframes gm-scorri{to{stroke-dashoffset:-46}}
@keyframes gm-deriva{0%,100%{transform:translateX(0)}50%{transform:translateX(16px)}}
@keyframes gm-volo{
 0%{transform:translate(-70px,0) rotate(6deg)}25%{transform:translate(24vw,-40px) rotate(-5deg)}
 50%{transform:translate(52vw,10px) rotate(8deg)}75%{transform:translate(76vw,-30px) rotate(-6deg)}
 100%{transform:translate(100vw,6px) rotate(5deg)}}
.gm-ondeggia{animation:gm-ondeggia 3.8s ease-in-out infinite;transform-origin:50% 100%}
.gm-galleggia{animation:gm-galleggia 4s ease-in-out infinite}
.gm-occhi{animation:gm-sbatti 4.4s infinite;transform-box:fill-box;transform-origin:50% 60%}
.gm-ala{animation:gm-ali 1s ease-in-out infinite;transform-origin:center}
.gm-acqua{stroke-dasharray:14 9;animation:gm-scorri 2.6s linear infinite}
.gm-deriva{animation:gm-deriva 8s ease-in-out infinite}
.farfalla-libera{position:fixed;top:24vh;left:0;z-index:2;pointer-events:none;
  animation:gm-volo 28s linear infinite alternate}
@media (prefers-reduced-motion:reduce){*{animation:none!important}.farfalla-libera{display:none}}
@media (max-width:640px){.farfalla-libera svg{width:44px}}

/* ============ testata: segnalibri ============ */
.topbar{padding-top:14px}
.topbar-in{display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:10px;border-bottom:2.5px solid var(--matita);padding-bottom:0}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:27px;letter-spacing:.4px;
  padding-bottom:10px}
.logo-img{height:var(--logo-h,40px);width:auto;display:block}
@media (max-width:640px){.logo{font-size:22px}.logo-img{height:var(--logo-h-m,30px)}}
.pills{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 0;scrollbar-width:none}
.pills::-webkit-scrollbar{display:none}
.pills a{flex:none;text-decoration:none;font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:15px;padding:9px 16px 11px;border:2.5px solid var(--matita);border-bottom:0;
  border-radius:14px 14px 0 0;background:var(--carta2);position:relative;top:2.5px;
  transition:padding .12s}
.pills a:hover{padding-bottom:14px;top:0}
.pills a:nth-child(4n+1){background:var(--verde-w)}
.pills a:nth-child(4n+2){background:var(--sole-w)}
.pills a:nth-child(4n+3){background:var(--cielo-w)}
.pills a:nth-child(4n+4){background:var(--corallo-w)}

/* ============ hero ============ */
.hero{position:relative;text-align:center;padding:48px 14px 36px}
.hero h1{font-family:'Baloo 2',sans-serif;font-weight:800;
  font-size:clamp(28px,5vw,46px);line-height:1.1;margin:0 auto 10px;max-width:640px}
.hero p{max-width:500px;margin:0 auto;color:var(--grafite);font-size:17px}
.hero-doodles{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero>h1,.hero>p{position:relative;z-index:1}
.hd-sole{position:absolute;top:14px;right:7%}
.hd-nube{position:absolute;top:28px;left:5%}
.hd-sasso{position:absolute;bottom:-4px;left:5%}
@media (max-width:760px){.hd-sasso{display:none}.hd-nube{opacity:.6}}
.hero-cat{padding-bottom:20px}
.hero-cat h1{position:relative;display:inline-block}
.hero-cat h1::after{content:'';display:block;height:10px;margin-top:2px;
  background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 12" fill="none"%3E%3Cpath d="M3 8 Q 18 3 33 8 T 63 8 T 93 8 T 117 6" stroke="%2379B865" stroke-width="3.4" stroke-linecap="round"/%3E%3C/svg%3E') no-repeat center/contain}
.cat-kicker{font-family:'Caveat',cursive;font-weight:700;font-size:24px;color:var(--grafite);display:block}
.cat-conta{display:inline-block;margin-top:10px;font-family:'Caveat',cursive;font-size:21px;color:var(--corallo);rotate:-2deg}

/* ============ titoli di sezione (capitoli) ============ */
.hsec{margin-bottom:40px;position:relative}
.sec-title{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:27px;margin:0 0 4px}
.sec-title::after{content:'';display:block;width:150px;height:10px;margin:4px 0 16px;
  background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 10" fill="none"%3E%3Cpath d="M2 6 Q 17 2 32 6 T 62 6 T 92 6 T 122 6 T 148 5" stroke="%234D4030" stroke-width="2.6" stroke-linecap="round"/%3E%3C/svg%3E') no-repeat left/contain}

/* ============ le schede (card gioco) ============ */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:22px}
.gcard{background:var(--foglio);padding:13px 13px 14px;position:relative;transition:.18s;
  border:2.5px solid var(--matita);
  border-radius:255px 18px 225px 18px/18px 225px 18px 255px}
.gcard:nth-child(odd){rotate:-.7deg}
.gcard:nth-child(even){rotate:.6deg}
.gcard:hover{rotate:0deg;translate:0 -5px;box-shadow:5px 7px 0 rgba(77,64,48,.14)}
.gcard a{text-decoration:none;display:block}
.gcard h3{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:17.5px;
  line-height:1.25;margin:10px 2px 0}
.gcard-num{position:absolute;top:-13px;left:14px;font-family:'Caveat',cursive;font-weight:700;
  font-size:19px;background:var(--carta);padding:0 8px;color:var(--grafite);z-index:1}
.gcard-img{position:relative;border-radius:48% 52% 45% 55%/55% 45% 58% 42%;overflow:hidden;
  border:2px dashed rgba(77,64,48,.28);aspect-ratio:16/10;background:var(--verde-w)}
.gcard:nth-child(4n+2) .gcard-img{background:var(--sole-w)}
.gcard:nth-child(4n+3) .gcard-img{background:var(--cielo-w)}
.gcard:nth-child(4n) .gcard-img{background:var(--corallo-w)}
.gcard-img img{width:100%;height:100%;object-fit:cover;display:block}
.gcard-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px}
.gcard-badge{position:absolute;top:10px;right:-8px;background:var(--corallo);color:var(--foglio);
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:12.5px;padding:4px 12px;rotate:5deg;
  box-shadow:2px 3px 0 rgba(77,64,48,.25);z-index:1}
.gcard-plays{font-size:13.5px;color:var(--grafite);margin:6px 2px 0}
.empty{text-align:center;font-family:'Caveat',cursive;font-size:24px;color:var(--grafite);padding:30px 0}

/* ============ builder: slide in primo piano ============ */
.hslider{position:relative;border:3px solid var(--matita);border-radius:26px 20px 30px 18px;
  overflow:hidden;box-shadow:6px 7px 0 rgba(77,64,48,.16);aspect-ratio:3/2;max-height:440px}
.hslide{position:absolute;inset:0;opacity:0;transition:opacity .5s;display:block}
.hslide.on{opacity:1;z-index:1}
.hslide img{width:100%;height:100%;object-fit:cover;display:block}
.hslide-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:90px;background:linear-gradient(135deg,var(--verde-w),var(--cielo-w))}
.hslide-cap{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;
  background:linear-gradient(transparent,rgba(63,50,35,.85));color:var(--foglio)}
.hslide-cap strong{display:block;font-family:'Baloo 2',sans-serif;font-size:22px;line-height:1.2;margin-top:6px}
.hslide-cap .gcard-badge{position:static;display:inline-block;rotate:-2deg}
.hdots{position:absolute;z-index:2;bottom:10px;right:14px;display:flex;gap:6px}
.hdot{width:12px;height:12px;border-radius:50%;border:2px solid var(--foglio);background:transparent;cursor:pointer;padding:0}
.hdot.on{background:var(--sole);border-color:var(--matita)}

/* ============ builder: carosello ============ */
.hcar-wrap{position:relative}
.hcarousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:14px 2px 12px;scrollbar-width:none}
.hcarousel::-webkit-scrollbar{display:none}
.hcar-item{flex:0 0 72%;max-width:300px;scroll-snap-align:start}
@media (min-width:640px){.hcar-item{flex-basis:300px}}
.hcar-item .gcard{height:100%}
.hcar-btn{position:absolute;top:40%;z-index:2;width:42px;height:42px;border-radius:50%;
  border:2.5px solid var(--matita);background:var(--foglio);font-size:22px;font-weight:900;
  color:var(--matita);cursor:pointer;box-shadow:3px 3px 0 rgba(77,64,48,.2);
  display:flex;align-items:center;justify-content:center}
.hcar-btn.prev{left:-8px}.hcar-btn.next{right:-8px}

/* ============ builder: lista compatta (indice) ============ */
.hlist{background:var(--foglio);padding:8px 18px;border:2.5px solid var(--matita);
  border-radius:255px 18px 225px 18px/18px 225px 18px 255px;display:block}
.hlist-item{display:flex;gap:12px;align-items:center;text-decoration:none;
  padding:11px 2px;border-bottom:2px dotted rgba(77,64,48,.3)}
.hlist-item:last-child{border-bottom:0}
.hlist-item:hover strong{color:var(--corallo)}
.hlist-thumb{flex:0 0 88px;height:52px;border-radius:14px 8px 16px 8px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;font-size:28px;
  background:var(--verde-w);border:2px dashed rgba(77,64,48,.25)}
.hlist-thumb img{width:100%;height:100%;object-fit:cover}
.hlist-body strong{display:block;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:15.5px;line-height:1.25}
.hlist-body em{font-style:normal;font-family:'Caveat',cursive;font-size:17px;color:var(--grafite)}

/* ============ articolo (la scheda aperta) ============ */
.post{max-width:720px;margin:0 auto}
.crumb{font-family:'Caveat',cursive;font-size:20px;color:var(--grafite);text-align:center;margin:26px 0 4px}
.crumb a{color:var(--grafite)}
.post-num{display:block;text-align:center;font-family:'Caveat',cursive;font-weight:700;
  font-size:23px;color:var(--corallo);rotate:-2deg;margin:2px 0}
.post h1{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(26px,4.5vw,38px);
  line-height:1.14;text-align:center;margin:6px 0 8px}
.post .meta{text-align:center;font-size:14px;color:var(--grafite);margin:0 0 18px}
.featured{margin:0 0 6px}
.featured img{width:100%;height:auto;border:2.5px solid var(--matita);
  border-radius:30px 22px 34px 20px;display:block}
.post-content{font-size:17px}
.post-content img{border-radius:20px;border:2px solid var(--matita)}
.post-content a{color:var(--corallo);font-weight:700}
.post-content blockquote{margin:18px 0;padding:4px 18px;border-left:0;position:relative;
  background:var(--sole-w);border:2px dashed rgba(77,64,48,.3);border-radius:16px;
  font-family:'Caveat',cursive;font-size:21px}

/* correlati e pager */
.related{margin-top:44px}
.pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:36px 0 6px}
.pager a{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:16px;text-decoration:none;
  border:2.5px solid var(--matita);background:var(--carta2);padding:9px 18px;border-radius:14px;transition:.15s}
.pager a:hover{background:var(--sole-w);translate:0 -2px}
.pager span{font-family:'Caveat',cursive;font-size:22px;color:var(--grafite)}

/* ============ pagina statica ============ */
.page-static{max-width:720px;margin:26px auto;background:var(--foglio);
  border:2.5px solid var(--matita);border-radius:255px 18px 225px 18px/18px 225px 18px 255px;
  padding:26px 24px}
.page-static h1{font-family:'Baloo 2',sans-serif;font-weight:800;margin-top:0}
.page-body{line-height:1.68;font-size:16.5px}
.page-body img{max-width:100%;border-radius:14px}

/* ============ 404 ============ */
.notfound{text-align:center;padding:54px 14px 40px}
.nf-emoji{font-size:76px}
.notfound h1{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(26px,4.5vw,38px);margin:8px 0 6px}
.notfound p{color:var(--grafite);max-width:420px;margin:0 auto 8px}
.nf-nota{font-family:'Caveat',cursive;font-size:23px;color:var(--corallo);rotate:-2deg;display:inline-block;margin-bottom:16px}

/* ============ bottone principale ============ */
.cta{display:inline-block;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:18px;
  color:var(--matita);text-decoration:none;background:var(--sole);padding:12px 28px;
  position:relative;rotate:-1deg;box-shadow:4px 4px 0 rgba(77,64,48,.25);transition:.15s}
.cta:hover{rotate:1deg;translate:0 -2px}
.cta::before{content:'';position:absolute;top:-11px;left:50%;translate:-50%;width:70px;height:19px;
  background:rgba(241,199,91,.55);border:1.5px dashed rgba(77,64,48,.35);rotate:-3deg}

/* ============ banner anteprima admin ============ */
.preview-banner{background:var(--sole);border:2.5px solid var(--matita);border-radius:14px;
  padding:10px 14px;font-weight:800;font-family:'Baloo 2',sans-serif;margin:16px auto;max-width:720px}

/* ============ footer: il prato ============ */
.footer{margin-top:64px;padding:0}
.scena-footer{display:block;width:100%;height:auto;margin-bottom:-4px}
.footer-in{background:#CBE3B8;text-align:center;color:var(--grafite);padding:14px 16px 26px}
.footer-in .fnota{font-family:'Caveat',cursive;font-size:22px;rotate:-1deg;display:inline-block}
.footer-in a{color:var(--grafite)}

/* ============ v1.8: reazioni emoji ============ */
.gq-react{max-width:720px;margin:30px auto 6px;text-align:center}
.rx-label{display:block;font-family:'Caveat',cursive;font-size:23px;color:var(--grafite);margin-bottom:8px}
.rx-bar{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.rx-chip{display:inline-flex;align-items:center;gap:6px;border:2.5px solid var(--matita);
  background:var(--foglio);border-radius:18px 12px 16px 12px/12px 16px 12px 18px;
  padding:8px 13px;font-size:21px;cursor:pointer;transition:.15s;
  box-shadow:2.5px 3px 0 rgba(77,64,48,.18);font-family:'Nunito',sans-serif}
.rx-chip:hover{translate:0 -2px}
.rx-chip:active{translate:0 1px;box-shadow:1px 1px 0 rgba(77,64,48,.18)}
.rx-chip:disabled{opacity:.55;cursor:default}
.rx-chip.mia{background:var(--sole-w);border-color:var(--corallo);rotate:-2deg}
.rx-n{font-size:14px;font-weight:800;color:var(--grafite)}
.rx-piu{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:20px;
  background:var(--carta2);min-width:46px;justify-content:center}
.rx-pane{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px;
  background:var(--foglio);border:2px dashed rgba(77,64,48,.3);border-radius:18px;
  padding:12px;max-width:560px;margin-left:auto;margin-right:auto}
.rx-mini{padding:6px 10px;font-size:19px}
.rx-nota{font-family:'Caveat',cursive;font-size:18px;color:var(--grafite);margin:10px 0 0}
.rx-nota.hot{color:var(--corallo)}

/* ============ v1.8.6: emoji più grandi su mobile ============ */
@media (max-width:640px){
  .rx-bar{gap:10px}
  .rx-chip{padding:11px 16px;font-size:27px;border-radius:20px 13px 18px 13px/13px 18px 13px 20px}
  .rx-n{font-size:15px}
  .rx-piu{min-width:54px;font-size:24px}
  .rx-pane{gap:10px;padding:14px}
  .rx-mini{padding:9px 13px;font-size:25px}
  .rx-label{font-size:25px}
}


/* ============ v2.3.4: footer mobile con Lumalibro in primo piano ============ */
.scena-mobile{display:none}
@media (max-width:640px){
  .scena-desktop{display:none}
  .scena-mobile{display:block;width:100%;height:auto;margin-bottom:-4px}
}

/* ============================================================
   RICERCA: lente nell'header + pagina risultati
   ============================================================ */
.search-widget{position:relative;flex:none;margin-left:4px}
.search-toggle{background:var(--foglio);border:2px solid var(--grafite);border-radius:50%;
  width:38px;height:38px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:transform .15s}
.search-toggle:hover{transform:scale(1.08)}
.search-widget .search-form{position:absolute;top:calc(100% + 8px);right:0;display:flex;gap:6px;
  background:var(--foglio);border:2px solid var(--grafite);border-radius:14px;padding:8px;
  box-shadow:4px 5px 0 rgba(77,64,48,.14);opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.18s;z-index:50}
.search-widget.search-open .search-form{opacity:1;visibility:visible;transform:translateY(0)}
.search-widget .search-form input{border:2px solid var(--grafite);border-radius:10px;padding:7px 10px;
  font-family:'Baloo 2',sans-serif;font-size:14px;width:190px}
.search-widget .search-form button{background:var(--corallo);color:var(--foglio);border:none;
  border-radius:10px;padding:0 12px;cursor:pointer;font-size:15px}
@media (max-width:640px){
  .search-widget .search-form{right:-10px;position:fixed;top:auto;left:12px;right:12px;
    margin-top:0;transform:translateY(-4px)}
  .search-widget .search-form input{flex:1;width:auto}
}
/* form grande nella pagina /cerca stessa (sempre visibile, non a comparsa) */
.search-form-page{display:flex;gap:8px;margin:14px 0 6px;max-width:420px}
.search-form-page input{flex:1;border:2px solid var(--grafite);border-radius:12px;padding:10px 14px;
  font-family:'Baloo 2',sans-serif;font-size:16px}
.search-form-page button{background:var(--corallo);color:var(--foglio);border:none;border-radius:12px;
  padding:0 18px;font-weight:700;cursor:pointer}

