/*
Theme Name: Il Circolo dell'Enigmistica
Description: Tema custom per il sito della serie "Il Circolo dell'Enigmistica" — Nesso Edizioni. Costruito per WordPress + WooCommerce secondo il capitolato del progetto.
Author: Nesso Edizioni
Version: 0.1.0 (nucleo essenziale)
Text Domain: circolo-enigmistica
Requires PHP: 8.0
Requires at least: 6.4
WC requires at least: 8.0
*/

/* =========================================================
   Questo file è anche il foglio di stile principale del tema.
   Contiene: reset, design tokens (colori/tipografia), layout
   di base e componenti condivisi da tutti i template.
   Vedi theme.json per i token esposti all'editor a blocchi.
   ========================================================= */

:root{
  --petrolio:#00506A;
  --petrolio-dark:#00394B;
  --petrolio-tint:#0C6483;
  --oro:#F4BD4F;
  --oro-dark:#B9832A;
  --avorio:#F4EFE5;
  --bianco:#FAF8F3;
  --antracite:#252525;
  --successo:#2F6F4F;
  --errore:#B5432B;
  --warning:#C98A1E;
  --focus:#F4BD4F;
  --font-display:'Libre Baskerville', Georgia, serif;
  --font-ui:'Inter', system-ui, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bianco);
  color:var(--antracite);
  font-family:var(--font-ui);
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.6;
}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;font-weight:700}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;font-size:16px}
input,select,textarea{font-family:var(--font-ui)}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}

.container{max-width:1280px;margin:0 auto;padding:0 56px}
@media(max-width:900px){.container{padding:0 28px}}
@media(max-width:560px){.container{padding:0 20px}}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--oro);color:var(--petrolio-dark);padding:12px 20px;z-index:100;font-weight:600}
.skip-link:focus{left:16px;top:16px}

/* Nav */
.nav-link{position:relative;padding:6px 2px;font-size:14px}
.nav-link::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--oro);transition:right .3s cubic-bezier(.16,1,.3,1)}
.nav-link:hover::after,.nav-link.active::after{right:0}
.nav-desktop{display:flex;align-items:center;gap:36px}
.nav-toggle{display:none}
@media(max-width:900px){.nav-desktop{display:none}.nav-toggle{display:flex}}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--oro);color:var(--petrolio-dark);padding:15px 30px;border-radius:2px;font-weight:600;font-size:15px;transition:background .2s ease, transform .2s ease}
.btn-primary:hover{background:#FFD98C;transform:translateY(-2px)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-outline{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--petrolio);color:var(--petrolio);padding:13px 26px;border-radius:2px;font-weight:600;font-size:14px;transition:background .2s ease,color .2s ease}
.btn-outline:hover{background:var(--petrolio);color:var(--bianco)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(250,248,243,.6);color:var(--bianco);padding:14px 28px;border-radius:2px;font-weight:600;font-size:15px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.btn-ghost:hover{background:var(--bianco);color:var(--petrolio-dark);border-color:var(--bianco)}

/* Badges */
.badge{display:inline-block;padding:5px 11px;border-radius:2px;font-size:12px;font-weight:600;letter-spacing:.03em}
.badge-disponibile{background:rgba(47,111,79,.12);color:var(--successo)}
.badge-prossimamente,.badge-annunciato,.badge-preordine{background:rgba(244,189,79,.22);color:var(--oro-dark)}
.badge-esaurito{background:rgba(181,67,43,.1);color:var(--errore)}
.badge-in_preparazione{background:rgba(0,80,106,.08);color:var(--petrolio)}

/* Cards */
.cover-lift{transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1)}
.cover-lift:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 30px 60px -16px rgba(0,32,44,.4)}
.card-link{position:relative;display:inline-block}
.card-link::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .3s cubic-bezier(.16,1,.3,1)}
.card-link:hover::after{right:0}

.grid-books{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
@media(max-width:860px){.grid-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.grid-books{grid-template-columns:1fr;gap:48px}}

.cover-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;background:linear-gradient(160deg,var(--petrolio),var(--petrolio-dark));position:relative;overflow:hidden}
.cover-placeholder span{position:absolute;bottom:16px;left:16px;right:16px;color:rgba(244,239,229,.65);font-size:11px;letter-spacing:.06em;text-align:center}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
