:root{
  --anthracite:#1f1f1e;
  --anthracite-soft:#444441;
  --gold:#C9A24B;
  --gold-soft:#e4c98a;
  --green:#2E9E2E;
  --green-bg:#eaf6ea;
  --cyan:#00A9C0;
  --cyan-bg:#e3f7fa;
  --blue:#1E4FBF;
  --blue-bg:#e9eefc;
  --anthracite-bg:#eeeeec;
  --white:#ffffff;
  --bg:#fafaf9;
  --text:#1f1f1e;
  --text-secondary:#5f5e5a;
  --border:#e5e3dd;
  --radius:10px;
  --max-width:1160px;
  --font-sans: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}

/* Header */
.site-header{
  background:var(--anthracite);
  color:var(--white);
  position:sticky;
  top:0;
  z-index:50;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
  max-width:var(--max-width);
  margin:0 auto;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:18px;color:var(--white)}
.logo-img{width:38px;height:38px;object-fit:contain}
.logo svg{width:32px;height:32px}
.logo-sub{display:block;font-size:11px;font-weight:400;color:var(--gold-soft);letter-spacing:.04em}

.main-nav{display:flex;gap:26px}
.main-nav a{font-size:14px;color:#d8d8d4;transition:color .15s ease}
.main-nav a:hover{color:var(--gold)}

.header-actions{display:flex;align-items:center;gap:16px}
.phone-link{font-size:14px;font-weight:500;color:var(--white);display:flex;align-items:center;gap:6px}
.header-divider{height:1px;background:var(--gold);opacity:.35}

.menu-toggle{display:none;background:none;border:0;color:var(--white);font-size:22px;cursor:pointer}

/* Cross-brand banner */
.brand-banner{
  background:#141413;
  color:#d8d8d4;
  font-size:13px;
  text-align:center;
  padding:7px 12px;
}
.brand-banner a{color:var(--gold);font-weight:500}

/* Hero */
.hero{
  background:var(--anthracite);
  color:var(--white);
  padding:64px 0 72px;
}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(28px,4vw,42px);font-weight:600;margin:0 0 18px;line-height:1.2}
.hero p{color:#c7c7c2;font-size:16px;margin:0 0 28px;max-width:46ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}

.btn{
  display:inline-block;
  padding:12px 22px;
  border-radius:8px;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .15s ease, background .15s ease;
}
.btn:active{transform:scale(.98)}
.btn-gold{background:transparent;border-color:var(--gold);color:var(--gold)}
.btn-gold:hover{background:var(--gold);color:var(--anthracite)}
.btn-outline{border-color:#55554f;color:var(--white)}
.btn-outline:hover{background:#2b2b29}
.btn-solid{background:var(--text);color:var(--white);border-color:var(--text)}

.hero-panel{
  background:#292927;
  border:1px solid #3a3a37;
  border-radius:var(--radius);
  padding:22px;
}
.hero-panel p{color:#a8a8a4;font-size:13px;margin:0 0 14px}
.hero-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hero-panel li{font-size:14px;color:#e6e6e3;display:flex;gap:8px;align-items:flex-start}
.hero-panel li::before{content:"✓";color:var(--gold);font-weight:700}

/* Service cards */
.services{padding:64px 0}
.section-eyebrow{font-size:13px;color:var(--gold);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
.section-title{font-size:26px;font-weight:600;margin:0 0 8px}
.section-sub{color:var(--text-secondary);font-size:15px;margin:0 0 32px;max-width:62ch}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.service-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:22px 20px;
  border-top:3px solid var(--anthracite-soft);
  transition:transform .2s ease, box-shadow .2s ease;
  cursor:pointer;
}
.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(0,0,0,.08)}
.service-card h3{font-size:17px;margin:0 0 8px}
.service-card p{font-size:14px;color:var(--text-secondary);margin:0 0 14px}
.service-card .card-link{font-size:13px;font-weight:500}

.card-felulvizsgalat{border-top-color:var(--green)}
.card-felulvizsgalat .card-link{color:var(--green)}
.card-biofilm{border-top-color:var(--cyan)}
.card-biofilm .card-link{color:var(--cyan)}
.card-kezeloegyseg{border-top-color:var(--blue)}
.card-kezeloegyseg .card-link{color:var(--blue)}
.card-szerviz{border-top-color:var(--anthracite-soft)}
.card-szerviz .card-link{color:var(--anthracite-soft)}

/* Homepage expanded detail sections */
.detail-block{padding:20px 0}
.detail-text{max-width:70ch}
.detail-list{margin:0 0 20px;padding-left:20px;color:var(--text-secondary);font-size:14px;display:grid;gap:8px}
.detail-list li{padding-left:2px}

.expand-toggle{
  background:transparent;
  border:1px solid;
  padding:9px 18px;
  border-radius:8px;
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  margin-top:4px;
}
.expand-panel{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .3s ease, margin-top .35s ease;
}
.expand-panel.open{
  max-height:600px;
  opacity:1;
  margin-top:18px;
}

/* Trust / about */
.about{background:var(--white);padding:56px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:28px}
.stat-num{font-size:28px;font-weight:600;color:var(--anthracite)}
.stat-label{font-size:13px;color:var(--text-secondary)}

/* FAQ */
.faq{padding:56px 0}
.faq-item{border-bottom:1px solid var(--border);padding:16px 0}
.faq-item summary{cursor:pointer;font-weight:500;font-size:15px;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;color:var(--gold);font-weight:700}
.faq-item[open] summary::after{content:"–"}
.faq-item p{color:var(--text-secondary);font-size:14px;margin:10px 0 0}

/* Contact */
.contact{background:var(--anthracite);color:var(--white);padding:56px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-info p{color:#c7c7c2;font-size:14px}
.contact-info a{color:var(--gold)}
.contact-form{display:grid;gap:12px}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;
  padding:11px 12px;
  border-radius:8px;
  border:1px solid #3a3a37;
  background:#292927;
  color:var(--white);
  font-family:inherit;
  font-size:14px;
}
.contact-form label{font-size:13px;color:#c7c7c2;margin-bottom:2px;display:block}
.contact-form textarea{min-height:100px;resize:vertical}

/* Footer */
.site-footer{background:#141413;color:#a8a8a4;padding:36px 0;font-size:13px}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a:hover{color:var(--gold)}

/* Offer toast */
.offer-toast{
  position:fixed;
  bottom:20px;
  width:220px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 16px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  opacity:0;
  transition:opacity .35s ease, transform .35s ease;
  z-index:40;
  pointer-events:none;
}
.offer-toast.left{left:20px;transform:translateX(-24px)}
.offer-toast.right{right:20px;transform:translateX(24px)}
.offer-toast.visible{opacity:1;transform:translateX(0);pointer-events:auto}
.offer-toast h4{margin:0 0 4px;font-size:13px}
.offer-toast p{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}
.offer-toast button{
  background:none;border:0;font-size:11px;color:var(--text-secondary);
  cursor:pointer;padding:0;text-decoration:underline;
}



/* Mobile */
@media (max-width:860px){
  .main-nav{display:none}
  .menu-toggle{display:block}
  .hero .container{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .offer-toast{width:calc(100% - 40px)}
}

/* Felülvizsgálati gyakoriság */
.interval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:8px 0 20px}
.interval-card{background:var(--white);border:1px solid var(--border);border-top:4px solid var(--green);border-radius:12px;padding:20px;display:flex;gap:16px;align-items:center}
.interval-badge{flex:0 0 auto;width:72px;height:72px;border-radius:50%;background:var(--green-bg);color:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.interval-badge b{font-size:30px;font-weight:700}
.interval-badge span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.interval-card h3{font-size:16px;margin:0 0 4px}
.interval-card p{font-size:13px;color:var(--text-secondary);margin:0}
