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

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Lato:wght@300;400;700&display=swap');
:root{
  --cream:#F5EDE3;--warm:#EDD9C4;--parchment:#FAF4EC;--ochre:#B8892A;
  --forest:#3D5C35;--brown:#6B4F35;--bark:#8B6F47;--text:#2A1F14;
  --text-light:#7A6350;--white:#FFFDF8;--radius:20px;
  --shadow:0 6px 30px rgba(107,79,53,0.13);--transition:0.3s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:'Lato',sans-serif;background:var(--cream);color:var(--text);
  line-height:1.75;min-height:100vh;overflow-x:hidden;position:relative;
}
body::before{
  content:'';position:fixed;inset:0;
  background-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22300%22 height=%22300%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.8%22 numOctaves=%224%22 stitchTiles=%22stitch%22/%3E%3CfeColorMatrix type=%22saturate%22 values=%220%22/%3E%3C/filter%3E%3Crect width=%22300%22 height=%22300%22 filter=%22url(%23n)%22 opacity=%220.04%22/%3E%3C/svg%3E');
  pointer-events:none;z-index:9998;
}
h1,h2,h3,h4{font-family:'Playfair Display',serif;line-height:1.3;color:var(--brown);}
h1{font-size:clamp(2rem,5vw,3.2rem);}
h2{font-size:clamp(1.5rem,3vw,2.2rem);}
h3{font-size:clamp(1.2rem,2.5vw,1.6rem);}
p{margin-bottom:1.2rem;}
a{color:var(--ochre);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--forest);}
img{max-width:100%;height:auto;border-radius:var(--radius);display:block;}
.container{width:90%;max-width:1100px;margin:0 auto;}

/* HEADER */
.site-header{
  background:var(--parchment);border-bottom:1px solid var(--warm);
  padding:18px 0;position:sticky;top:0;z-index:100;
  box-shadow:0 2px 12px rgba(107,79,53,0.08);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.site-logo{font-family:'Playfair Display',serif;font-size:1.7rem;font-style:italic;color:var(--brown);letter-spacing:0.02em;}
.site-logo span{color:var(--forest);}
.site-nav{display:flex;gap:28px;flex-wrap:wrap;}
.site-nav a{font-size:0.9rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-light);}
.site-nav a:hover{color:var(--ochre);}

/* HERO */
.hero{
  position:relative;min-height:88vh;display:flex;align-items:center;
  background:linear-gradient(135deg,var(--forest) 0%,#2a4028 60%,#1e3020 100%);
  overflow:hidden;
}
.hero-blob{
  position:absolute;width:60vw;height:60vw;max-width:700px;max-height:700px;
  background:radial-gradient(circle,rgba(184,137,42,0.25) 0%,transparent 70%);
  border-radius:50%;top:-10%;right:-10%;animation:blobFloat 8s ease-in-out infinite;
}
.hero-blob2{
  position:absolute;width:40vw;height:40vw;max-width:500px;
  background:radial-gradient(circle,rgba(255,253,248,0.06) 0%,transparent 70%);
  border-radius:50%;bottom:-5%;left:-5%;animation:blobFloat 12s ease-in-out infinite reverse;
}
@keyframes blobFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-30px) scale(1.05);}}
.hero-content{position:relative;z-index:2;color:var(--white);max-width:640px;}
.hero-eyebrow{
  display:inline-block;font-size:0.78rem;font-weight:700;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--ochre);margin-bottom:20px;
  padding:6px 16px;border:1px solid rgba(184,137,42,0.4);border-radius:30px;
}
.hero h1{color:var(--white);margin-bottom:22px;font-style:italic;}
.hero p{font-size:1.1rem;color:rgba(255,253,248,0.82);margin-bottom:36px;max-width:480px;}
.btn{
  display:inline-block;padding:14px 36px;border-radius:30px;font-weight:700;
  font-size:0.92rem;letter-spacing:0.08em;text-transform:uppercase;
  transition:all var(--transition);cursor:pointer;border:none;
}
.btn-primary{background:var(--ochre);color:var(--white);box-shadow:0 4px 20px rgba(184,137,42,0.4);}
.btn-primary:hover{background:#9a7220;color:var(--white);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--white);border:2px solid rgba(255,253,248,0.5);}
.btn-outline:hover{background:rgba(255,253,248,0.1);color:var(--white);}
.btn-forest{background:var(--forest);color:var(--white);}
.btn-forest:hover{background:#2d4428;color:var(--white);}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}

/* SECTIONS */
.section{padding:80px 0;}
.section-alt{background:var(--warm);padding:80px 0;}
.section-label{
  display:inline-block;font-size:0.75rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--forest);margin-bottom:12px;
}
.section-title{margin-bottom:14px;}
.section-sub{color:var(--text-light);font-size:1.05rem;margin-bottom:48px;max-width:560px;}

/* CARDS GRID */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;}
.card{
  background:var(--parchment);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);
}
.card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(107,79,53,0.18);}
.card-img{width:100%;height:220px;object-fit:cover;border-radius:0;}
.card-body{padding:28px;}
.card-tag{
  display:inline-block;font-size:0.72rem;font-weight:700;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--forest);background:rgba(61,92,53,0.1);
  padding:4px 12px;border-radius:20px;margin-bottom:14px;
}
.card h3{margin-bottom:10px;font-size:1.25rem;}
.card p{color:var(--text-light);font-size:0.95rem;margin-bottom:18px;}
.card-link{font-weight:700;font-size:0.88rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ochre);}
.card-link:hover{color:var(--forest);}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;}}
.about-img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;}
.about-text .section-label{display:block;}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;}
.feature-item{display:flex;align-items:flex-start;gap:12px;}
.feature-icon{
  width:36px;height:36px;min-width:36px;background:var(--forest);color:var(--white);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.feature-text{font-size:0.9rem;color:var(--text-light);line-height:1.5;}

/* SUBSCRIBE FORM */
.subscribe-section{background:linear-gradient(135deg,var(--forest),#2a4028);padding:80px 0;}
.subscribe-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
@media(max-width:768px){.subscribe-inner{grid-template-columns:1fr;}}
.subscribe-text h2{color:var(--white);}
.subscribe-text p{color:rgba(255,253,248,0.78);margin-bottom:0;}
.subscribe-form{display:grid;gap:16px;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:0.82rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,253,248,0.7);}
.form-group input{
  padding:14px 18px;border-radius:12px;border:1px solid rgba(255,253,248,0.2);
  background:rgba(255,253,248,0.1);color:var(--white);font-size:0.97rem;
  font-family:'Lato',sans-serif;transition:border-color var(--transition);
}
.form-group input::placeholder{color:rgba(255,253,248,0.4);}
.form-group input:focus{outline:none;border-color:var(--ochre);}
.form-submit{margin-top:8px;}

/* ARTICLE PAGE */
.article-hero{
  background:linear-gradient(160deg,var(--forest),#1e3020);
  padding:100px 0 70px;text-align:center;
}
.article-hero h1{color:var(--white);font-style:italic;margin-bottom:18px;}
.article-meta{color:rgba(255,253,248,0.65);font-size:0.88rem;letter-spacing:0.06em;}
.article-meta span{margin:0 12px;color:var(--ochre);}
.article-body{max-width:760px;margin:0 auto;padding:60px 20px;}
.article-body h2{margin:40px 0 16px;color:var(--brown);}
.article-body h3{margin:30px 0 12px;color:var(--forest);}
.article-body p{color:var(--text);line-height:1.85;margin-bottom:1.4rem;}
.article-lead{font-size:1.15rem;color:var(--text-light);font-style:italic;border-left:3px solid var(--ochre);padding-left:20px;margin-bottom:2rem;}
.article-img{width:100%;border-radius:var(--radius);margin:36px 0;box-shadow:var(--shadow);}
.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:32px 0;}
.fact-card{
  background:var(--parchment);border-radius:16px;padding:24px;
  border-left:4px solid var(--forest);box-shadow:0 2px 12px rgba(107,79,53,0.08);
}
.fact-card strong{display:block;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--brown);margin-bottom:8px;}
.fact-card p{font-size:0.9rem;color:var(--text-light);margin:0;}
.disclaimer{
  background:var(--warm);border-radius:var(--radius);padding:28px;
  border-left:4px solid var(--ochre);margin-top:48px;
}
.disclaimer p{color:var(--text-light);font-size:0.9rem;margin:0;line-height:1.7;}
.disclaimer strong{color:var(--brown);}
.sources{margin-top:32px;padding-top:24px;border-top:1px solid var(--warm);}
.sources p{font-size:0.82rem;color:var(--text-light);margin-bottom:6px;}
.sources a{color:var(--forest);font-size:0.82rem;}

/* LEGAL PAGES */
.legal-hero{background:var(--forest);padding:80px 0 50px;text-align:center;}
.legal-hero h1{color:var(--white);}
.legal-hero p{color:rgba(255,253,248,0.7);}
.legal-body{max-width:800px;margin:0 auto;padding:60px 20px;}
.legal-body h2{margin:36px 0 14px;color:var(--brown);}
.legal-body p{color:var(--text-light);line-height:1.85;margin-bottom:1.2rem;}
.legal-body ul{padding-left:24px;margin-bottom:1.2rem;}
.legal-body ul li{color:var(--text-light);margin-bottom:8px;line-height:1.7;}

/* SUCCESS / 404 */
.center-page{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;}
.center-box{max-width:520px;padding:40px 20px;}
.center-box .icon{font-size:4rem;margin-bottom:20px;}
.center-box h1{margin-bottom:16px;}
.center-box p{color:var(--text-light);margin-bottom:32px;}

/* FOOTER */
.site-footer{background:#1e1610;padding:60px 0 30px;color:rgba(255,253,248,0.6);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:48px;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand .site-logo{margin-bottom:14px;display:block;}
.footer-brand p{font-size:0.88rem;line-height:1.7;max-width:280px;}
.footer-col h4{font-family:'Playfair Display',serif;color:var(--warm);font-size:1rem;margin-bottom:16px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul li a{color:rgba(255,253,248,0.55);font-size:0.88rem;}
.footer-col ul li a:hover{color:var(--ochre);}
.footer-bottom{border-top:1px solid rgba(255,253,248,0.08);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:0.8rem;}

/* COOKIE BANNER — CSS ONLY */
.cc-input{display:none;}
.cookie-banner{
  position:fixed;bottom:24px;right:24px;width:310px;
  background:var(--parchment);border-radius:var(--radius);
  padding:24px;box-shadow:0 8px 40px rgba(42,31,20,0.22);
  z-index:9999;border:1px solid var(--warm);
  transition:opacity 0.4s ease,transform 0.4s ease;
}
.cc-input:checked ~ .cookie-banner{opacity:0;transform:translateY(16px);pointer-events:none;}
.cookie-banner p{font-size:0.85rem;color:var(--text-light);margin-bottom:16px;line-height:1.6;}
.cookie-banner-btns{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-accept{
  flex:1;padding:10px 16px;background:var(--forest);color:var(--white);
  border-radius:30px;font-size:0.82rem;font-weight:700;letter-spacing:0.06em;
  text-transform:uppercase;cursor:pointer;text-align:center;
  transition:background var(--transition);
}
.cookie-accept:hover{background:#2d4428;}
.cookie-more{
  flex:1;padding:10px 16px;border:1px solid var(--warm);color:var(--text-light);
  border-radius:30px;font-size:0.82rem;text-align:center;
  transition:border-color var(--transition);
}
.cookie-more:hover{border-color:var(--ochre);color:var(--ochre);}

@media(max-width:768px){
  .hero{min-height:70vh;padding:60px 0;}
  .section,.section-alt{padding:52px 0;}
  .article-body{padding:40px 16px;}
  .cookie-banner{width:calc(100% - 32px);left:16px;right:16px;bottom:16px;}
  .site-nav{gap:16px;}
}
