/*
Theme Name: CalPrintable
Theme URI: https://calprintable.com/
Author: UAE
Author URI: https://calprintable.com/
Description: Custom theme for CalPrintable — a free printable calendar generator. Vanilla JS, hand-written CSS, no page builders, no frameworks. Built for speed (LCP < 2s) and programmatic SEO.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: calprintable
*/

:root{
  --navy:#14243f;
  --navy-deep:#0d1a30;
  --navy-soft:#1e3355;
  --amber:#f5a623;
  --amber-dark:#d98e12;
  --amber-soft:#fef3e0;
  --paper:#ffffff;
  --bg:#f6f7fb;
  --ink:#1c2740;
  --muted:#66708c;
  --line:#e4e7f0;
  --radius:16px;
  --shadow:0 10px 30px rgba(20,36,63,.10);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--amber-dark)}
h1,h2,h3{color:var(--navy);line-height:1.25;margin:0 0 .6em}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ---------- Header ---------- */
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:-.5px}
.brand span{color:var(--amber)}
.main-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.main-nav a{color:#fff;font-weight:600;font-size:.95rem}
.main-nav a:hover{color:var(--amber)}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}

/* ---------- Hero ---------- */
.hero{background:var(--paper);padding:56px 0 40px;text-align:center;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;letter-spacing:-1px;margin-bottom:.3em}
.hero .sub{color:var(--muted);font-size:1.15rem;margin:0 0 28px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-radius:999px;
  padding:12px 26px;border:2px solid transparent;cursor:pointer;font-size:1rem;transition:.18s}
.btn-amber{background:var(--amber);color:#fff}
.btn-amber:hover{background:var(--amber-dark);color:#fff;transform:translateY(-1px)}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{border-color:var(--amber);color:var(--amber-dark)}
.btn-sm{padding:8px 18px;font-size:.9rem}

/* ---------- Format chips ---------- */
.format-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0 8px;list-style:none;padding:0}
.format-chips a{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line);
  border-radius:999px;padding:9px 18px;font-weight:600;font-size:.92rem;color:var(--ink)}
.format-chips a:hover,.format-chips a.active{border-color:var(--amber);color:var(--amber-dark);background:var(--amber-soft)}

/* ---------- Sections ---------- */
.section{padding:44px 0}
.section h2{font-size:1.7rem;letter-spacing:-.5px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}

/* ---------- Month grids (internal linking engine) ---------- */
.month-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;list-style:none;padding:0;margin:20px 0}
.month-grid a{display:block;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px 8px;
  text-align:center;font-weight:700;color:var(--navy);transition:.15s}
.month-grid a small{display:block;font-weight:500;color:var(--muted);font-size:.8rem;margin-top:2px}
.month-grid a:hover{border-color:var(--amber);background:var(--amber-soft);transform:translateY(-2px)}
.month-grid a.active{border-color:var(--amber);background:var(--amber-soft)}
.year-nav{display:flex;gap:10px;justify-content:center;margin:10px 0 0}

/* ---------- Trust bullets ---------- */
.trust{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center;list-style:none;padding:0;margin:26px 0;color:var(--navy);font-weight:600}
.trust li::before{content:"✓";color:#22a06b;font-weight:800;margin-right:8px}

/* ---------- Holidays list ---------- */
.holiday-list{columns:2;column-gap:32px;list-style:none;padding:0;margin:0}
.holiday-list li{break-inside:avoid;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.96rem}
.holiday-list strong{color:var(--navy)}
.holiday-date{color:var(--muted);font-size:.85rem;margin-left:8px}

/* ---------- FAQ accordion ---------- */
.faq{border-top:1px solid var(--line);margin-top:8px}
.faq details{border-bottom:1px solid var(--line);padding:14px 4px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--amber);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin:.6em 0 0}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{font-size:.85rem;color:var(--muted);margin:18px 0 6px}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--amber-dark)}

/* ---------- Ad slots (reserved, empty until ranking) ---------- */
.ad-slot{display:flex;align-items:center;justify-content:center;min-height:90px;margin:28px 0;
  border:1px dashed var(--line);border-radius:12px;color:var(--line);font-size:.8rem;background:#fafbfd}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#c9d2e6;margin-top:40px}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;padding:36px 20px}
.site-footer a{color:#c9d2e6;font-size:.92rem}
.site-footer a:hover{color:var(--amber)}
.footer-brand{font-size:1.3rem;font-weight:800;color:#fff}
.footer-brand span{color:var(--amber)}
.footer-note{width:100%;text-align:center;font-size:.82rem;color:#8b96b3;border-top:1px solid var(--navy-soft);padding-top:18px;margin-top:6px}

/* ---------- 404 ---------- */
.error-404{text-align:center;padding:70px 20px}
.error-404 h1{font-size:4rem;margin-bottom:.2em}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .month-grid{grid-template-columns:repeat(3,1fr)}
  .holiday-list{columns:1}
}
@media (max-width:640px){
  .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy-deep);padding:10px 20px 18px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:14px}
  .nav-toggle{display:block}
  .hero{padding:36px 0 28px}
  .month-grid{grid-template-columns:repeat(3,1fr);gap:10px}
}
