/*
Theme Name: Presse Numérique
Description: Thème enfant pour plateforme de presse numérique 100% auto-hébergée (journaux, magazines, flipbook, PWA, abonnements)
Template: astra
Version: 1.0.0
Author: Votre rédaction
Text Domain: presse-numerique
*/

:root{
  --pn-primary:#1a1a2e;
  --pn-accent:#e63946;
  --pn-bg:#f5f5f3;
  --pn-card:#ffffff;
  --pn-text:#1a1a1a;
  --pn-muted:#6b6b6b;
  --pn-border:#e5e2dc;
  --pn-radius:10px;
}

body{background:var(--pn-bg);color:var(--pn-text);}

/* ---------- Grille des éditions (journaux/magazines) ---------- */
.pn-editions-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:28px;
  margin:32px 0;
}
.pn-edition-card{
  background:var(--pn-card);
  border:1px solid var(--pn-border);
  border-radius:var(--pn-radius);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  display:flex;flex-direction:column;
}
.pn-edition-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.pn-edition-cover{
  aspect-ratio:3/4;
  width:100%;
  object-fit:cover;
  background:#ddd;
}
.pn-edition-body{padding:14px 16px 18px;}
.pn-edition-title{font-weight:700;font-size:1rem;margin:0 0 4px;line-height:1.3;}
.pn-edition-meta{font-size:.8rem;color:var(--pn-muted);margin-bottom:10px;}
.pn-edition-badge{
  display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.03em;
  background:var(--pn-accent);color:#fff;padding:2px 8px;border-radius:999px;
  text-transform:uppercase;margin-bottom:8px;
}
.pn-btn{
  display:inline-block;background:var(--pn-primary);color:#fff;
  padding:8px 14px;border-radius:6px;font-size:.85rem;font-weight:600;
  text-decoration:none;text-align:center;
}
.pn-btn:hover{background:var(--pn-accent);color:#fff;}
.pn-btn-outline{background:transparent;border:1.5px solid var(--pn-primary);color:var(--pn-primary);}

/* ---------- Lecteur Flipbook ---------- */
.pn-flipbook-wrap{
  max-width:900px;margin:24px auto;padding:16px;
  background:#111;border-radius:var(--pn-radius);
}
.pn-flipbook-toolbar{
  display:flex;justify-content:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;
}
.pn-flipbook-toolbar button{
  background:var(--pn-primary);color:#fff;border:none;border-radius:6px;
  padding:8px 12px;cursor:pointer;font-size:.85rem;
}
.pn-flipbook-toolbar button:hover{background:var(--pn-accent);}
#pn-flipbook-container{
  width:100%;
  aspect-ratio:4/3;
  margin:0 auto;
  background:#222;
  border-radius:6px;
}
.pn-flipbook-locked{
  color:#fff;text-align:center;padding:60px 20px;
}
.pn-flipbook-locked a{color:var(--pn-accent);font-weight:700;}

/* ---------- Bandeau abonnement restreint ---------- */
.pn-paywall{
  background:var(--pn-card);border:1px dashed var(--pn-accent);
  border-radius:var(--pn-radius);padding:24px;text-align:center;margin:24px 0;
}

/* ---------- Bibliothèque personnelle (compte abonné) ---------- */
.pn-dashboard-tabs{display:flex;gap:8px;border-bottom:1px solid var(--pn-border);margin-bottom:24px;}
.pn-dashboard-tabs a{padding:10px 16px;text-decoration:none;color:var(--pn-muted);font-weight:600;}
.pn-dashboard-tabs a.active{color:var(--pn-primary);border-bottom:2px solid var(--pn-accent);}

/* ---------- Responsive ---------- */
@media (max-width:600px){
  .pn-editions-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;}
}
