/*
Theme Name: SciencePulse Press
Theme URI: https://sciencepulse.it/
Author: SR + ChatGPT
Author URI: https://sciencepulse.it/
Description: Tema editoriale stile newspaper per SciencePulse con Hero, card notizie, tipografia serif/sans e griglie responsive. Header/ Footer ottimizzati e slot pubblicitario in Hero.
Version: 1.0.2
License: GPL-2.0-or-later
Text Domain: sciencepulse-press
*/

:root{
  --sp-bg:#ffffff;
  --sp-text:#1a1a1a;
  --sp-muted:#6a6a6a;
  --sp-border:#e6e6e6;
  --sp-accent:#0b3a70; /* blu accademico */
  --sp-accent-2:#f1f5f9; /* grigio carta */
  --sp-max:1200px;
}

html{scroll-behavior:smooth}
body{margin:0;background:var(--sp-bg);color:var(--sp-text);font:16px/1.6 "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif}
h1,h2,h3,h4{font-family:"Merriweather", Georgia, "Times New Roman", serif;color:#0b2b4a;margin:0 0 .4em}
a{color:var(--sp-accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--sp-max);margin:0 auto;padding:0 16px}
.grid{display:grid;gap:20px}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.grid.cols-3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid,.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}

/* Header base */
.site-header{border-bottom:1px solid var(--sp-border);background:#fff;position:sticky;top:0;z-index:50}
.header-wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;padding:14px 0}
.brand-block{display:flex;gap:14px;align-items:flex-end;text-decoration:none;color:inherit}
.brand-block .title{font-size:42px;line-height:1}
.brand-block .tagline{color:var(--sp-muted);font-size:14px;max-width:46ch}
.header-actions{display:flex;gap:12px;align-items:center}
.menu-toggle{display:none;border:1px solid var(--sp-border);background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}
.menu-toggle svg{display:block;width:22px;height:22px}
.site-header.is-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.06)}
.site-header.is-scrolled .brand-block .title{font-size:34px;transition:.2s}

/* Primary nav */
.navbar{border-top:0;padding:0;align-self:end}
.navbar .menu{display:flex;gap:18px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.navbar .menu li a{padding:8px 0;display:block;font-weight:600}

/* Search form */
.sp-search{position:relative}
.sp-search input[type=search]{border:1px solid var(--sp-border);border-radius:999px;padding:8px 32px 8px 12px;min-width:200px}
.sp-search button{position:absolute;right:2px;top:2px;bottom:2px;border:0;background:transparent;border-radius:999px;padding:0 8px;cursor:pointer}

/* Mobile header */
@media(max-width:900px){
  .header-wrap{grid-template-columns:1fr auto}
  .brand-block .tagline{display:none}
  .menu-toggle{display:inline-flex}
  .navbar{display:none;border-top:1px solid var(--sp-border);grid-column:1 / -1;padding-top:10px;margin-top:10px}
  .navbar.open{display:block}
  .navbar .menu{flex-direction:column;gap:8px}
  .header-actions{display:none}
}

/* Hero */
.hero{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin:28px 0}
.hero .main{position:relative;border:1px solid var(--sp-border);border-radius:8px;overflow:hidden;background:#fff;padding:16px}
.card-hero img{width:100%;height:360px;object-fit:cover;display:block;border-radius:6px}
.card-hero .content{padding:0}
.card-hero h2{font-size:34px}
.card-hero p{color:var(--sp-muted)}
.badge{display:inline-block;background:#e6f0ff;color:#0b2b4a;border:1px solid #b7cff9;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}

/* Ad slot on hero right */
.ad-slot{border:1px solid var(--sp-border);border-radius:8px;background:#fff;min-height:360px;padding:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ad-slot > *{max-width:100%}
.ad-placeholder{width:100%;height:100%;border:2px dashed var(--sp-border);display:flex;align-items:center;justify-content:center;color:var(--sp-muted);font-weight:700;border-radius:6px}

@media(max-width:900px){
  .hero{grid-template-columns:1fr}
  .card-hero img{height:240px}
  .ad-slot{min-height:180px;margin-top:12px}
}

/* Cards */
.card{border:1px solid var(--sp-border);border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{width:100%;height:180px;object-fit:cover}
.card .meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--sp-muted);font-size:13px;margin-top:6px}
.card .body{padding:14px}
.card h3{font-size:22px;margin:0 0 6px}

/* Article */
.article{max-width:800px;margin:24px auto}
.article .meta{color:var(--sp-muted);margin:.25rem 0 1rem}
.article figure img{width:100%;height:auto}
.article .tax{margin-top:16px;font-size:14px;color:var(--sp-muted)}
.article .share{border-top:1px solid var(--sp-border);margin-top:24px;padding-top:18px}
.related{margin:40px 0}

/* Sections */
.section{margin:36px 0}
.section h2{font-size:28px}
.section .sub{color:var(--sp-muted);margin-top:-8px}

/* Footer */
.site-footer{border-top:1px solid var(--sp-border);background:#fff;margin-top:44px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:24px;padding:24px 0}
.footer-title{font-weight:800;margin:0 0 10px;font-family:"Merriweather", Georgia, serif}
.footer-links, .social{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.social a{display:inline-flex;gap:8px;align-items:center}
.social svg{width:18px;height:18px}
.newsletter{display:grid;gap:8px}
.newsletter input[type=email]{border:1px solid var(--sp-border);border-radius:8px;padding:10px 12px}
.newsletter button{border:1px solid var(--sp-accent);background:var(--sp-accent);color:#fff;border-radius:8px;padding:10px 12px;font-weight:700;cursor:pointer}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr}}

/* Widgets */
.widget{border:1px solid var(--sp-border);border-radius:10px;padding:14px;background:#fff}
.widget h3{font-size:16px;margin-bottom:8px}

/* Pagination */
.pagination{display:flex;gap:12px;justify-content:center;margin:24px 0}
.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--sp-border);border-radius:6px}
.pagination .current{background:var(--sp-accent);color:#fff;border-color:var(--sp-accent)}

/* Back to top */
.back-to-top{position:fixed;right:16px;bottom:16px;border-radius:999px;border:1px solid var(--sp-border);background:#fff;padding:10px;box-shadow:0 10px 24px rgba(0,0,0,.12);cursor:pointer;display:none}
.back-to-top.show{display:inline-flex}
.back-to-top svg{width:22px;height:22px}