/* IdroRoma Blog — Fraunces + Manrope, brand: #0274be #ff6900 #192730 */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;700&display=swap');

:root{
  --primary:#0274be;
  --primary-dark:#015a93;
  --accent:#ff6900;
  --dark:#192730;
  --text:#2a3441;
  --muted:#5a6573;
  --bg:#fbfbfd;
  --card:#ffffff;
  --border:#e6e9ee;
  --radius:10px;
  --maxw:780px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Manrope',system-ui,sans-serif;
  font-size:17px;line-height:1.65;color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
a:hover{border-bottom-color:var(--primary)}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.nav{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-family:'Fraunces',serif;font-weight:700;font-size:22px;color:var(--dark);letter-spacing:-.01em}
.brand span{color:var(--primary)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap}
.nav a{color:var(--dark);font-weight:500;font-size:15px;border:none}
.nav a:hover{color:var(--primary)}
.nav .cta{background:var(--accent);color:#fff;padding:9px 16px;border-radius:6px;font-weight:700}
.nav .cta:hover{background:#e85d00;color:#fff}

/* Hero / article header */
.hero{max-width:var(--maxw);margin:36px auto 0;padding:0 20px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--primary)}
h1{
  font-family:'Fraunces',serif;font-weight:700;font-size:clamp(28px,5vw,42px);
  line-height:1.15;letter-spacing:-.02em;color:var(--dark);margin:0 0 14px;
}
.lede{font-size:19px;color:var(--muted);margin:0 0 22px}
.meta{font-size:14px;color:var(--muted);margin-bottom:24px;display:flex;gap:14px;flex-wrap:wrap}
.meta span::before{content:"·";margin-right:14px;color:var(--border)}
.meta span:first-child::before{content:none;margin:0}

.hero-img{margin:0 auto 30px;max-width:var(--maxw);padding:0 20px}
.hero-img img{border-radius:var(--radius);width:100%;aspect-ratio:16/9;object-fit:cover}
.credit{font-size:12px;color:var(--muted);margin-top:6px}
.credit a{color:var(--muted)}

/* Body */
article{max-width:var(--maxw);margin:0 auto;padding:0 20px 60px}
article h2{
  font-family:'Fraunces',serif;font-weight:700;font-size:28px;line-height:1.2;
  color:var(--dark);margin:42px 0 14px;letter-spacing:-.01em;
}
article h3{font-family:'Fraunces',serif;font-weight:500;font-size:22px;margin:28px 0 10px;color:var(--dark)}
article p{margin:0 0 18px}
article ul,article ol{padding-left:22px;margin:0 0 18px}
article li{margin-bottom:8px}
article blockquote{
  border-left:4px solid var(--accent);background:#fff7ef;padding:14px 18px;
  margin:22px 0;border-radius:0 var(--radius) var(--radius) 0;color:var(--dark);
}
article strong{color:var(--dark)}

/* Inline CTA box */
.cta-box{
  background:var(--dark);color:#fff;padding:22px 24px;border-radius:var(--radius);
  margin:30px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.cta-box p{margin:0;color:#fff;font-weight:500}
.cta-box a{
  background:var(--accent);color:#fff;padding:10px 20px;border-radius:6px;
  font-weight:700;border:none;white-space:nowrap;
}
.cta-box a:hover{background:#e85d00;color:#fff}

/* FAQ */
.faq{margin-top:42px}
.faq details{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 18px;margin-bottom:10px;
}
.faq summary{
  cursor:pointer;font-weight:700;color:var(--dark);list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.faq summary::after{content:"+";color:var(--primary);font-size:22px;margin-left:12px}
.faq details[open] summary::after{content:"−"}
.faq details[open]{border-color:var(--primary)}
.faq p{margin:12px 0 4px;color:var(--text)}

/* Related posts */
.related{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;margin-top:50px;
}
.related h3{margin-top:0;font-family:'Fraunces',serif;font-weight:700}
.related ul{list-style:none;padding:0;margin:0}
.related li{padding:8px 0;border-bottom:1px solid var(--border)}
.related li:last-child{border-bottom:none}
.related a{font-weight:500;color:var(--dark);border:none}
.related a:hover{color:var(--primary)}

/* Blog listing */
.listing{max-width:1100px;margin:30px auto;padding:0 20px}
.listing-head{text-align:center;margin-bottom:40px}
.listing-head h1{margin:0 0 10px}
.listing-head p{font-size:18px;color:var(--muted);max-width:580px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:24px}
.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;
}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(25,39,48,.08)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card-body{padding:18px 20px;flex-grow:1;display:flex;flex-direction:column}
.card-tag{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-weight:700;margin-bottom:8px}
.card h2{font-family:'Fraunces',serif;font-size:21px;line-height:1.25;margin:0 0 10px;color:var(--dark);font-weight:700}
.card p{font-size:15px;color:var(--muted);margin:0 0 14px;flex-grow:1}
.card a.read{margin-top:auto;font-weight:700;color:var(--primary);font-size:14px;border:none}
.card a.read::after{content:" →"}
.card>a{color:inherit;border:none}

/* Footer */
.site-footer{background:var(--dark);color:#c8d0d8;margin-top:60px;padding:36px 20px 24px}
.site-footer .inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
.site-footer h4{font-family:'Fraunces',serif;color:#fff;margin:0 0 12px;font-size:17px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:8px}
.site-footer a{color:#c8d0d8;border:none;font-size:15px}
.site-footer a:hover{color:#fff}
.site-footer .copy{max-width:1100px;margin:24px auto 0;padding-top:18px;border-top:1px solid #2c3a44;font-size:13px;color:#8a96a3;text-align:center}

@media (max-width:600px){
  .nav{flex-wrap:wrap;gap:10px}
  .nav ul{gap:14px;font-size:14px}
  body{font-size:16px}
}
