/*
Theme Name: Custom Auto Theme
Author: System
Version: 1.0
*/

html {scroll-behavior: smooth;}
html, body {overflow-x:hidden;}
a {display: inline-block; text-align: center;}

:root {
  --primary: #1b1b2f;
  --accent: #c75b39;
  --accent-light: #f4d9cc;
  --bg: #faf7f4;
  --bg-alt: #f0ebe4;
  --text: #2a2a2a;
  --text-light: #6b6560;
  --border: #d6cfc6;
  --white: #ffffff;
  --shadow: 0 2px 20px rgba(0,0,0,.06);
  --radius: 6px;
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
  --max-w: 820px;
  --max-w-wide: 1140px;
  --transition: .3s cubic-bezier(.4,0,.2,1);
}

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,800;1,400;1,600&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');

* {margin:0;padding:0;box-sizing:border-box;}

body {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--bg);
  font-size: 17px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

img {max-width:100%;height:auto;display:block;border-radius:var(--radius);}

h1,h2,h3,h4 {font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--primary);}

h1 {font-size:clamp(2rem,5vw,3rem);letter-spacing:-.02em;}
h2 {font-size:clamp(1.4rem,3.5vw,2rem);margin:2.5rem 0 1rem;}
h3 {font-size:clamp(1.15rem,2.5vw,1.5rem);margin:2rem 0 .8rem;}

p {margin-bottom:1.2rem;}

/* ── HEADER ── */
.site-header {
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:1rem 2rem;
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.92);
}
.site-header-inner {
  max-width:var(--max-w-wide);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.8rem;
}
.site-logo {
  font-family:var(--font-display);font-size:1.6rem;font-weight:800;
  color:var(--primary);text-decoration:none;letter-spacing:-.03em;
  text-align:left;
}
.site-logo span {color:var(--accent);}
.site-nav {display:flex;gap:.3rem;flex-wrap:wrap;}
.site-nav a {
  text-decoration:none;color:var(--text-light);font-size:.88rem;
  font-weight:500;padding:.45rem .9rem;border-radius:var(--radius);
  transition:var(--transition);text-align:center;
}
.site-nav a:hover,.site-nav a.active {color:var(--accent);background:var(--accent-light);}
.hamburger {display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--primary);padding:.3rem;}

/* ── BREADCRUMBS ── */
.breadcrumbs {
  max-width:var(--max-w);margin:1.5rem auto .5rem;padding:0 1.5rem;
  font-size:.82rem;color:var(--text-light);
}
.breadcrumbs a {color:var(--accent);text-decoration:none;text-align:left;}
.breadcrumbs span {margin:0 .4rem;opacity:.5;}

/* ── ARTICLE ── */
.article-header {
  max-width:var(--max-w);margin:0 auto;padding:1.5rem 1.5rem 0;
}
.article-meta {
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  font-size:.82rem;color:var(--text-light);margin-bottom:1rem;
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;
}
.article-meta .category {color:var(--accent);}
.article-title {margin-bottom:1.5rem;}

.article-body {
  max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;
}
.article-body p {font-size:1.05rem;}
.article-body h2 {
  padding-top:1.5rem;
  border-top:2px solid var(--border);
}

/* ── PULL QUOTE ── */
.pull-quote {
  margin:2.5rem -1rem;padding:2rem 2rem 2rem 2.5rem;
  border-left:4px solid var(--accent);
  background:linear-gradient(135deg,var(--accent-light) 0%,var(--bg) 100%);
  border-radius:0 var(--radius) var(--radius) 0;
  font-family:var(--font-display);font-style:italic;
  font-size:1.2rem;line-height:1.6;color:var(--primary);
}

/* ── AFFIRMATION ── */
.affirmation {
  max-width:var(--max-w);margin:2.5rem auto;padding:2rem 2rem;
  background:var(--primary);color:var(--white);
  border-radius:var(--radius);text-align:center;
  position:relative;overflow:hidden;
}
.affirmation::before {
  content:'\201C';position:absolute;top:-.3rem;left:1rem;
  font-size:8rem;opacity:.08;font-family:var(--font-display);
}
.affirmation-label {
  font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;
  color:var(--accent-light);margin-bottom:.5rem;font-weight:600;
}
.affirmation p {
  font-family:var(--font-display);font-size:1.35rem;font-style:italic;
  line-height:1.5;margin:0;color:var(--white);
}

/* ── READ ALSO ── */
.read-also {
  max-width:var(--max-w);margin:2rem auto;padding:0 1.5rem;
}
.read-also h3 {font-size:1.1rem;margin-bottom:1rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-body);font-weight:700;}
.read-also-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.read-also-card {
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.2rem 1.4rem;text-decoration:none;color:var(--text);
  transition:var(--transition);display:block;text-align:left;
}
.read-also-card:hover {border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow);}
.read-also-card h4 {font-size:1rem;margin-bottom:.4rem;color:var(--primary);}
.read-also-card span {font-size:.8rem;color:var(--accent);font-weight:600;}

/* ── SUBSCRIBE ── */
.subscribe {
  max-width:var(--max-w);margin:2.5rem auto;padding:2rem;
  background:var(--bg-alt);border-radius:var(--radius);text-align:center;
}
.subscribe h3 {font-size:1.3rem;margin-bottom:.5rem;}
.subscribe p {color:var(--text-light);font-size:.92rem;margin-bottom:1.2rem;}
.subscribe-form {display:flex;gap:.6rem;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.subscribe-form input[type="email"] {
  flex:1;min-width:200px;padding:.7rem 1rem;border:1px solid var(--border);
  border-radius:var(--radius);font-size:.95rem;font-family:var(--font-body);
  background:var(--white);transition:var(--transition);
}
.subscribe-form input[type="email"]:focus {outline:none;border-color:var(--accent);}
.subscribe-form button {
  padding:.7rem 1.8rem;background:var(--accent);color:var(--white);
  border:none;border-radius:var(--radius);font-weight:600;
  font-size:.95rem;cursor:pointer;transition:var(--transition);
  font-family:var(--font-body);
}
.subscribe-form button:hover {background:var(--primary);}

/* ── FOOTER ── */
.site-footer {
  margin-top:3rem;padding:2.5rem 1.5rem 1.5rem;
  border-top:2px solid var(--border);
  background:var(--white);
}
.footer-inner {max-width:var(--max-w-wide);margin:0 auto;text-align:center;}
.footer-links {display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin:.8rem 0;}
.footer-links a {font-size:.85rem;color:var(--text-light);text-decoration:none;transition:var(--transition);}
.footer-links a:hover {color:var(--accent);}
.footer-disclaimer {font-size:.78rem;color:var(--text-light);max-width:600px;margin:.8rem auto 0;line-height:1.6;}
.footer-copy {font-size:.82rem;color:var(--text-light);margin-top:.6rem;}

/* ── HERO (HOME) ── */
.hero {
  max-width:var(--max-w-wide);margin:0 auto;
  padding:3rem 1.5rem 2rem;text-align:center;
}
.hero-label {
  font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;
  color:var(--accent);font-weight:700;margin-bottom:.8rem;display:block;
}
.hero h1 {margin-bottom:1rem;}
.hero p {max-width:580px;margin:0 auto;color:var(--text-light);font-size:1.1rem;}

/* ── DIVIDER ── */
.hr-accent {border:none;height:2px;background:var(--border);margin:2rem 0;max-width:var(--max-w);margin-left:auto;margin-right:auto;}

/* ── IMAGE BLOCK ── */
.article-img {margin:2rem 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}

/* ── DISCLAIMER ── */
.disclaimer {
  max-width:var(--max-w);margin:1.5rem auto;padding:1rem 1.5rem;
  font-size:.82rem;color:var(--text-light);
  border:1px dashed var(--border);border-radius:var(--radius);
  line-height:1.7;
}

/* ── COOKIE MODAL ── */
.cookie-modal {
  position:fixed;bottom:1.5rem;right:1.5rem;max-width:360px;width:calc(100% - 2rem);
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.5rem;box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:999;
  animation:slideUp .4s ease;
}
@keyframes slideUp {from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.cookie-modal h4 {font-size:1rem;margin-bottom:.5rem;}
.cookie-modal p {font-size:.82rem;color:var(--text-light);margin-bottom:1rem;line-height:1.5;}
.cookie-btns {display:flex;gap:.5rem;}
.cookie-btns button {
  flex:1;padding:.55rem .8rem;border-radius:var(--radius);
  font-size:.85rem;cursor:pointer;font-weight:600;
  font-family:var(--font-body);transition:var(--transition);border:none;
}
.cookie-accept {background:var(--accent);color:var(--white);}
.cookie-accept:hover {background:var(--primary);}
.cookie-decline {background:var(--bg-alt);color:var(--text);}
.cookie-decline:hover {background:var(--border);}
.cookie-hidden {display:none;}

/* ── POLICY/TERMS PAGES ── */
.legal-page {max-width:var(--max-w);margin:2rem auto;padding:0 1.5rem;}
.legal-page h1 {margin-bottom:1.5rem;font-size:clamp(1.6rem,4vw,2.4rem);}
.legal-page h2 {font-size:1.2rem;margin:2rem 0 .8rem;padding-top:1rem;border-top:1px solid var(--border);}
.legal-page p,.legal-page li {font-size:.95rem;color:var(--text);line-height:1.8;}
.legal-page ul {padding-left:1.5rem;margin-bottom:1rem;}
.legal-page li {margin-bottom:.4rem;}

/* ── SUCCESS ── */
.success-page {
  min-height:60vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  padding:3rem 1.5rem;
}
.success-page h1 {font-size:clamp(2rem,6vw,3.5rem);margin-bottom:1rem;color:var(--accent);}
.success-page p {font-size:1.1rem;color:var(--text-light);margin-bottom:2rem;}
.success-page a {
  padding:.8rem 2.5rem;background:var(--accent);color:var(--white);
  text-decoration:none;border-radius:var(--radius);font-weight:600;
  transition:var(--transition);
}
.success-page a:hover {background:var(--primary);}

/* ── 404 ── */
.page-404 {
  min-height:70vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  padding:3rem 1.5rem;
}
.page-404 .big-404 {
  font-family:var(--font-display);font-size:clamp(6rem,18vw,12rem);
  font-weight:800;color:var(--accent);opacity:.15;line-height:1;
  position:absolute;z-index:0;
}
.page-404 h1 {font-size:clamp(1.5rem,4vw,2.5rem);margin-bottom:.8rem;position:relative;z-index:1;}
.page-404 p {color:var(--text-light);margin-bottom:2rem;position:relative;z-index:1;}
.page-404 a {
  padding:.8rem 2.5rem;background:var(--primary);color:var(--white);
  text-decoration:none;border-radius:var(--radius);font-weight:600;
  transition:var(--transition);position:relative;z-index:1;
}
.page-404 a:hover {background:var(--accent);}

/* ── SIDEBAR TEASER ── */
.sidebar-teaser {
  max-width:var(--max-w);margin:2rem auto;padding:0 1.5rem;
  display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start;
}
.sidebar-teaser-main {padding:0;}
.sidebar-box {
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.5rem;
}
.sidebar-box h4 {font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.8rem;font-family:var(--font-body);font-weight:700;}
.sidebar-box p {font-size:.88rem;color:var(--text-light);line-height:1.6;margin-bottom:.6rem;}
.sidebar-box a {font-size:.85rem;color:var(--accent);text-decoration:none;font-weight:600;text-align:left;}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .sidebar-teaser {grid-template-columns:1fr;}
  .hamburger {display:block;}
  .site-nav {
    display:none;width:100%;order:3;
    flex-direction:column;padding-top:.5rem;
  }
  .site-nav.open {display:flex;}
  .site-nav a {text-align:left;padding:.6rem 0;}
  .cookie-modal {right:.5rem;bottom:.5rem;max-width:calc(100% - 1rem);}
}
