/* ===========================================================
   Szász Ati Autó — Autószerviz
   Microweber-biztos stíluslap.
   Minden szabály a .sza-site gyökér alá van szűkítve, és minden
   osztály "sza-" előtagot kap, hogy NE ütközzön a Microweber
   (Bootstrap-alapú) sablon saját stílusaival.
   =========================================================== */

/* ---------- Gyökér + reset (csak a .sza-site-en belül) ---------- */
.sza-site, .sza-site *, .sza-site *::before, .sza-site *::after { box-sizing: border-box; }
.sza-site {
  font-family: 'Figtree', system-ui, -apple-system, sans-serif;
  color: #0E1A26;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
.sza-site h1, .sza-site h2, .sza-site h3, .sza-site h4, .sza-site h5 { margin: 0; font-weight: inherit; }
.sza-site p { margin: 0; }
.sza-site ul { margin: 0; }
.sza-site a { color: inherit; text-decoration: none; }
.sza-site img { display: block; max-width: 100%; border: 0; }
.sza-site button { font-family: inherit; }
.sza-site ::selection { background: #2E90DE; color: #fff; }

.sza-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.sza-section { padding: 100px 0; scroll-margin-top: 82px; }
.sza-section--light { background: #F2F6FA; }
.sza-section--white { background: #fff; }

.sza-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Archivo', sans-serif; font-weight: 600;
  font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #2E90DE;
}
.sza-head { max-width: 680px; }
.sza-title {
  font-family: 'Archivo', sans-serif; font-weight: 800;
  font-size: clamp(30px, 3.6vw, 44px); line-height: 1.08;
  letter-spacing: -.02em; color: #0E1A26; margin: 14px 0 0;
}
.sza-lead { font-size: 18px; line-height: 1.7; color: #5C6B7A; margin: 18px 0 0; }

/* ---------- Reveal animáció (progresszív fejlesztés) ---------- */
.sza-site [data-reveal] { opacity: 1; transform: none; }
html.js .sza-site [data-reveal] {
  opacity: 0; transform: translateY(22px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
}
html.js .sza-site [data-reveal].is-visible { opacity: 1; transform: none; }

/* ---------- Fejléc ---------- */
.sza-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid #E7EDF3;
  transition: box-shadow .3s ease, background .3s ease;
}
.sza-header.is-scrolled { box-shadow: 0 6px 24px rgba(12,35,56,0.10); background: rgba(255,255,255,0.97); }
.sza-header__bar { display: flex; align-items: center; gap: 22px; height: 76px; }
.sza-brand { display: flex; align-items: center; gap: 12px; }
.sza-brand__mark {
  width: 44px; height: 44px; border-radius: 12px;
  background: linear-gradient(135deg, #2E90DE, #0F3A68);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 16px rgba(22,76,134,0.32); flex-shrink: 0;
}
.sza-brand__mark i { font-size: 24px; color: #fff; line-height: 1; }
.sza-brand__name { display: flex; flex-direction: column; line-height: 1.05; }
.sza-brand__name strong { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 18px; letter-spacing: -.01em; color: #0E1A26; }
.sza-brand__name small { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: #7A8998; font-weight: 600; }
.sza-nav { margin-left: auto; display: flex; align-items: center; gap: 30px; }
.sza-nav a { color: #33424F; font-weight: 600; font-size: 15px; transition: color .2s ease; }
.sza-nav a:hover { color: #164C86; }
.sza-cta {
  display: inline-flex; align-items: center; gap: 8px; background: #0E1A26; color: #fff !important;
  font-weight: 700; font-size: 15px; padding: 11px 18px; border-radius: 11px; transition: background .2s ease;
}
.sza-cta:hover { background: #164C86; color: #fff !important; }
.sza-cta i { font-size: 17px; line-height: 1; color: #fff !important; }
.sza-menu-open {
  display: none; align-items: center; justify-content: center; width: 46px; height: 46px;
  border: 1px solid #E1E9F1; background: #fff; border-radius: 12px; color: #0E1A26; cursor: pointer; margin-left: auto;
}
.sza-menu-open i { font-size: 26px; line-height: 1; }

/* ---------- Mobil menü ---------- */
.sza-mobile {
  position: fixed; inset: 0; z-index: 80; background: #0C2338;
  transform: translateX(100%); transition: transform .35s cubic-bezier(.4,0,.2,1);
  display: flex; flex-direction: column; padding: 28px 28px 40px;
}
.sza-mobile.is-open { transform: translateX(0); }
.sza-mobile__top { display: flex; justify-content: flex-end; }
.sza-menu-close {
  width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.2); background: transparent;
  border-radius: 12px; color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.sza-menu-close i { font-size: 26px; line-height: 1; }
.sza-mobile__nav { display: flex; flex-direction: column; gap: 6px; margin-top: 22px; }
.sza-mobile__nav a {
  color: #fff; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 28px;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08);
}
.sza-mobile__foot { margin-top: auto; display: flex; flex-direction: column; gap: 6px; }
.sza-mobile__foot .sza-label { color: #7FA8CE; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.sza-mobile__foot .sza-tel { color: #fff !important; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 24px; }
.sza-mobile__foot .sza-mail { color: #9FC1DE; font-size: 16px; }

/* ---------- Hero ---------- */
.sza-hero { position: relative; overflow: hidden; background: #0C2338; color: #fff; }
.sza-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.sza-hero__overlay { position: absolute; inset: 0; background: linear-gradient(112deg, rgba(9,26,43,0.97) 0%, rgba(9,26,43,0.82) 42%, rgba(9,26,43,0.42) 100%); }
.sza-hero__glow { position: absolute; top: -140px; right: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(46,144,222,0.35), transparent 70%); }
.sza-hero__inner { position: relative; padding: 104px 24px 108px; max-width: 1200px; margin: 0 auto; }
.sza-hero__content { max-width: 740px; }
.sza-badge {
  display: inline-flex; align-items: center; gap: 9px; background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16); padding: 8px 15px; border-radius: 100px;
  font-size: 13px; font-weight: 600; letter-spacing: .04em; color: #fff;
}
.sza-badge .sza-dot { width: 8px; height: 8px; border-radius: 50%; background: #2E90DE; box-shadow: 0 0 0 4px rgba(46,144,222,0.25); }
.sza-hero h1 {
  font-family: 'Archivo', sans-serif; font-weight: 900; font-size: clamp(38px, 5.6vw, 66px);
  line-height: 1.03; letter-spacing: -.025em; margin: 22px 0 0; color: #fff;
}
.sza-hero h1 .sza-accent { color: #3B9AE8; }
.sza-hero__lead { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.7; color: #C4D3E1; max-width: 600px; margin: 22px 0 0; }
.sza-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.sza-btn-primary {
  display: inline-flex; align-items: center; gap: 9px; background: linear-gradient(135deg, #2E90DE, #164C86);
  color: #fff; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 16px 26px;
  border-radius: 13px; box-shadow: 0 14px 30px rgba(22,76,134,0.45); transition: transform .2s ease, box-shadow .2s ease; border: none; cursor: pointer;
}
.sza-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(22,76,134,0.55); }
.sza-btn-primary i { font-size: 19px; line-height: 1; }
.sza-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.07);
  border: 1.5px solid rgba(255,255,255,0.28); color: #fff; font-family: 'Archivo', sans-serif;
  font-weight: 700; font-size: 16px; padding: 16px 24px; border-radius: 13px; transition: background .2s ease;
}
.sza-btn-ghost:hover { background: rgba(255,255,255,0.16); }
.sza-hero__stats { display: flex; flex-wrap: wrap; gap: 44px; margin-top: 52px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,0.12); }
.sza-stat__num { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 40px; line-height: 1; color: #fff; }
.sza-stat__label { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #8FA9C2; margin-top: 8px; font-weight: 600; }

/* ---------- Rólam ---------- */
.sza-about { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 56px; align-items: center; }
.sza-about__photo { position: relative; }
.sza-about__photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 22px; box-shadow: 0 30px 60px rgba(12,35,56,0.18); }
.sza-about__badge { position: absolute; right: -14px; bottom: 34px; background: linear-gradient(135deg, #2E90DE, #0F3A68); color: #fff; padding: 18px 22px; border-radius: 16px; box-shadow: 0 16px 34px rgba(22,76,134,0.4); }
.sza-about__badge strong { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 34px; line-height: 1; display: block; }
.sza-about__badge span { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
.sza-about__tag { position: absolute; left: -8px; top: 26px; background: #fff; border: 1px solid #E1E9F1; padding: 10px 16px; border-radius: 100px; box-shadow: 0 10px 24px rgba(12,35,56,0.12); font-weight: 700; font-size: 14px; color: #0E1A26; }
.sza-about__text p { font-size: 17px; line-height: 1.75; color: #5C6B7A; margin: 22px 0 0; }
.sza-about__text p strong { color: #0E1A26; }
.sza-feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 22px; margin-top: 34px; }
.sza-feat__icon { width: 46px; height: 46px; border-radius: 12px; background: #EAF3FB; color: #164C86; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.sza-feat__icon i { font-size: 24px; line-height: 1; }
.sza-feat h4 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; margin: 0 0 5px; color: #0E1A26; }
.sza-feat p { font-size: 14px; line-height: 1.6; color: #6B7A89; margin: 0; }

/* ---------- Szolgáltatások ---------- */
.sza-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-top: 46px; }
.sza-card { background: #fff; border: 1px solid #E7EDF3; border-radius: 18px; padding: 32px 30px; transition: transform .25s ease, box-shadow .25s ease; }
.sza-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(12,35,56,0.1); }
.sza-card__icon { width: 58px; height: 58px; border-radius: 14px; background: linear-gradient(135deg, #EAF3FB, #D6E8F7); color: #164C86; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.sza-card__icon i { font-size: 30px; line-height: 1; }
.sza-card h3 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 21px; color: #0E1A26; margin: 0 0 10px; }
.sza-card > p { font-size: 15px; line-height: 1.65; color: #5C6B7A; margin: 0 0 16px; }
.sza-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.sza-card li { display: flex; gap: 9px; align-items: flex-start; font-size: 14px; color: #41505F; }
.sza-card li i { font-size: 17px; color: #2E90DE; line-height: 1.4; }

/* ---------- Referenciák ---------- */
.sza-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.sza-filter { background: #fff; color: #41505F; border: 1px solid #E1E9F1; border-radius: 100px; padding: 10px 20px; font-family: 'Figtree', sans-serif; font-weight: 600; font-size: 14px; cursor: pointer; transition: all .2s ease; }
.sza-filter.is-active { background: #164C86; color: #fff; border-color: #164C86; }
.sza-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; margin-top: 26px; }
.sza-gallery__item { position: relative; border-radius: 16px; overflow: hidden; }
.sza-gallery__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.sza-gallery__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px; background: linear-gradient(0deg, rgba(9,26,43,0.85), transparent); color: #fff; pointer-events: none; }
.sza-gallery__cap .sza-tag { display: inline-block; background: #2E90DE; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; }
.sza-gallery__cap .sza-name { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; margin-top: 8px; }

/* ---------- Elrettentő ---------- */
.sza-dark { padding: 100px 0; background: #0C2338; color: #fff; position: relative; overflow: hidden; }
.sza-dark__glow { position: absolute; top: -100px; left: -80px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(224,122,63,0.22), transparent 70%); }
.sza-dark__inner { position: relative; }
.sza-eyebrow--warn { color: #F0A868; font-weight: 700; letter-spacing: .14em; }
.sza-eyebrow--warn i { font-size: 17px; line-height: 1; }
.sza-dark__title { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(30px,3.6vw,44px); line-height: 1.08; letter-spacing: -.02em; margin: 14px 0 0; color: #fff; }
.sza-dark__lead { font-size: 18px; line-height: 1.7; color: #B7C7D6; margin: 18px 0 0; }
.sza-warns { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-top: 44px; }
.sza-warn { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; overflow: hidden; }
.sza-warn__media { position: relative; }
.sza-warn__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.sza-warn__flag { position: absolute; top: 14px; left: 14px; background: #D9663A; color: #fff; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 12px; letter-spacing: .08em; padding: 6px 12px; border-radius: 8px; }
.sza-warn__body { padding: 24px; }
.sza-warn__body h3 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 19px; margin: 0 0 8px; color: #fff; }
.sza-warn__body p { font-size: 14.5px; line-height: 1.65; color: #AEC0D0; margin: 0; }

/* ---------- Vélemények ---------- */
.sza-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-top: 44px; }
.sza-quote { background: #fff; border: 1px solid #E7EDF3; border-radius: 18px; padding: 30px; margin: 0; }
.sza-quote__stars { color: #F5A623; font-size: 18px; letter-spacing: 2px; margin-bottom: 14px; }
.sza-quote blockquote { font-size: 16.5px; line-height: 1.65; color: #33424F; margin: 0 0 20px; }
.sza-quote figcaption { display: flex; align-items: center; gap: 12px; }
.sza-quote__avatar { width: 42px; height: 42px; border-radius: 50%; background: #EAF3FB; color: #164C86; display: flex; align-items: center; justify-content: center; font-family: 'Archivo', sans-serif; font-weight: 800; }
.sza-quote__who .sza-n { font-weight: 700; color: #0E1A26; font-size: 15px; }
.sza-quote__who .sza-c { font-size: 13px; color: #7A8998; }

/* ---------- Időpontkérés ---------- */
.sza-book { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 52px; align-items: start; }
.sza-book__list { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-direction: column; gap: 14px; }
.sza-book__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; color: #33424F; }
.sza-book__list li i { font-size: 20px; color: #2E90DE; line-height: 1.3; }
.sza-book__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.sza-chip-dark { display: inline-flex; align-items: center; gap: 9px; background: #0E1A26; color: #fff !important; font-weight: 700; font-size: 15px; padding: 13px 20px; border-radius: 12px; transition: background .2s ease; }
.sza-chip-dark:hover { background: #164C86; }
.sza-chip-dark i { font-size: 18px; line-height: 1; color: #fff !important; }
.sza-chip-blue { display: inline-flex; align-items: center; gap: 9px; background: #EAF3FB; color: #164C86; font-weight: 700; font-size: 15px; padding: 13px 20px; border-radius: 12px; transition: background .2s ease; }
.sza-chip-blue:hover { background: #D6E8F7; }
.sza-chip-blue i { font-size: 18px; line-height: 1; }

.sza-form { background: #F2F6FA; border: 1px solid #E7EDF3; border-radius: 20px; padding: 34px; position: relative; }
.sza-form h3 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 21px; color: #0E1A26; margin: 0 0 4px; }
.sza-form .sza-hint { font-size: 14px; color: #7A8998; margin: 0 0 22px; }
.sza-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sza-field { display: flex; flex-direction: column; gap: 6px; }
.sza-field + .sza-field, .sza-form__row + .sza-field { margin-top: 14px; }
.sza-field label { font-size: 13px; font-weight: 600; color: #41505F; }
.sza-field label .sza-req { color: #D9663A; }
.sza-field input, .sza-field select, .sza-field textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #D8E2EC; border-radius: 10px;
  font-family: 'Figtree', sans-serif; font-size: 15px; color: #0E1A26; background: #fff; outline: none;
}
.sza-field textarea { resize: vertical; }
.sza-field input:focus, .sza-field select:focus, .sza-field textarea:focus { border-color: #2E90DE; box-shadow: 0 0 0 3px rgba(46,144,222,0.15); }
.sza-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; font-size: 13px; color: #5C6B7A; line-height: 1.5; cursor: pointer; }
.sza-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: #2E90DE; }
.sza-form__submit {
  width: 100%; margin-top: 22px; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  background: linear-gradient(135deg, #2E90DE, #164C86); color: #fff; border: none;
  font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 15px; border-radius: 12px;
  cursor: pointer; box-shadow: 0 12px 26px rgba(22,76,134,0.35); transition: transform .2s ease;
}
.sza-form__submit:hover { transform: translateY(-2px); }
.sza-form__submit i { font-size: 19px; line-height: 1; }
.sza-form__success {
  display: none; position: absolute; inset: 0; background: rgba(242,246,250,0.97);
  border-radius: 20px; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 34px; z-index: 2;
}
.sza-form__success.is-shown { display: flex; }
.sza-form__success .sza-tick { width: 64px; height: 64px; border-radius: 50%; background: #2E90DE; color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.sza-form__success .sza-tick i { font-size: 34px; line-height: 1; }
.sza-form__success h3 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 22px; color: #0E1A26; margin: 0 0 8px; }
.sza-form__success p { font-size: 15px; color: #5C6B7A; margin: 0; }

/* ---------- Kapcsolat ---------- */
.sza-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 22px; margin-top: 44px; align-items: stretch; }
.sza-contact__cards { display: flex; flex-direction: column; gap: 14px; }
.sza-contact__card { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid #E7EDF3; border-radius: 16px; padding: 22px; transition: transform .2s ease, box-shadow .2s ease; }
a.sza-contact__card:hover { transform: translateX(4px); box-shadow: 0 12px 28px rgba(12,35,56,0.08); }
.sza-contact__icon { width: 52px; height: 52px; border-radius: 13px; background: #EAF3FB; color: #164C86; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sza-contact__icon i { font-size: 26px; line-height: 1; }
.sza-contact__card .sza-k { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #7A8998; font-weight: 600; }
.sza-contact__card .sza-v { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 20px; color: #0E1A26; }
.sza-contact__card .sza-v--sm { font-size: 18px; }
.sza-map { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid #E7EDF3; min-height: 420px; background: #DCE6EF; }
.sza-map iframe { border: 0; min-height: 420px; display: block; width: 100%; height: 100%; }
.sza-map__pin { position: absolute; top: 14px; left: 14px; background: rgba(12,35,56,0.9); color: #fff; font-size: 12px; font-weight: 600; padding: 7px 12px; border-radius: 8px; backdrop-filter: blur(4px); }

/* ---------- Facebook CTA ---------- */
.sza-fb { padding: 0 0 100px; background: #F2F6FA; }
.sza-fb__card { background: linear-gradient(135deg, #0F3A68, #164C86); border-radius: 22px; padding: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: 28px; justify-content: space-between; overflow: hidden; position: relative; }
.sza-fb__bg { position: absolute; right: -60px; bottom: -60px; font-size: 220px; color: rgba(255,255,255,0.06); line-height: 1; }
.sza-fb__text { position: relative; max-width: 560px; }
.sza-fb__text .sza-eyebrow { color: #9FC1DE; letter-spacing: .14em; }
.sza-fb__text .sza-eyebrow i { font-size: 18px; line-height: 1; }
.sza-fb__text h2 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(26px,3vw,36px); line-height: 1.1; color: #fff; margin: 12px 0 8px; }
.sza-fb__text p { font-size: 16.5px; line-height: 1.65; color: #C4D3E1; margin: 0; }
.sza-fb__text p strong { color: #fff; }
.sza-fb__btn { position: relative; display: inline-flex; align-items: center; gap: 10px; background: #fff; color: #0F3A68; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 15px 26px; border-radius: 13px; flex-shrink: 0; transition: transform .2s ease; }
.sza-fb__btn:hover { transform: translateY(-2px); }
.sza-fb__btn i { font-size: 22px; line-height: 1; color: #1877F2; }

/* ---------- Lábléc ---------- */
.sza-footer { background: #0C2338; color: #fff; padding: 64px 0 32px; }
.sza-footer__support { text-align: center; padding-bottom: 44px; margin-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,0.1); }
.sza-footer__support p { font-size: 15px; line-height: 1.6; color: #B7C7D6; margin: 0; }
.sza-footer__support strong { color: inherit; font-weight: inherit; }
.sza-footer__logos { display: flex; align-items: center; justify-content: center; gap: 44px; flex-wrap: wrap; margin-top: 30px; }
.sza-footer__logos img { height: 76px; width: auto; object-fit: contain; }
.sza-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; }
.sza-footer__brand { max-width: 320px; }
.sza-footer__row { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.sza-footer__row strong { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 18px; }
.sza-footer .sza-brand__name strong { color: #fff; }
.sza-footer__row small { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: #7FA8CE; font-weight: 600; }
.sza-footer__brand > p { font-size: 14.5px; line-height: 1.65; color: #9BB0C4; margin: 0 0 18px; }
.sza-social { display: inline-flex; width: 42px; height: 42px; border-radius: 11px; background: rgba(255,255,255,0.08); color: #fff; align-items: center; justify-content: center; transition: background .2s ease; }
.sza-social:hover { background: #1877F2; }
.sza-social i { font-size: 22px; line-height: 1; }
.sza-footer h5 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: #fff; margin: 0 0 16px; }
.sza-footer__links { display: flex; flex-direction: column; gap: 11px; }
.sza-footer__links a, .sza-footer__links span { color: #9BB0C4; font-size: 14.5px; }
.sza-footer__links a { transition: color .2s ease; }
.sza-footer__links a:hover { color: #fff; }
.sza-footer__bottom { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; margin-top: 44px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); }
.sza-footer__bottom span { font-size: 13.5px; color: #7F94A8; }
.sza-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.sza-footer__legal a { font-size: 13.5px; color: #9BB0C4; transition: color .2s ease; }
.sza-footer__legal a:hover { color: #fff; }

/* ---------- Jogi oldalak (Impresszum, Adatvédelem) ---------- */
.sza-page-hero { position: relative; overflow: hidden; background: #0C2338; color: #fff; padding: 84px 0 64px; }
.sza-page-hero__glow { position: absolute; top: -140px; right: -120px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(46,144,222,0.3), transparent 70%); }
.sza-page-hero__inner { position: relative; }
.sza-crumb { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #8FA9C2; }
.sza-crumb a { color: #8FA9C2; transition: color .2s ease; }
.sza-crumb a:hover { color: #fff; }
.sza-crumb i { font-size: 15px; line-height: 1; }
.sza-page-hero h1 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: clamp(32px, 4vw, 48px); line-height: 1.06; letter-spacing: -.02em; color: #fff; margin: 16px 0 0; }
.sza-page-hero__lead { font-size: 17px; line-height: 1.7; color: #B7C7D6; max-width: 640px; margin: 16px 0 0; }

.sza-legal { background: #fff; padding: 72px 0 110px; }
.sza-legal__body { max-width: 780px; }
.sza-prose h2 { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -.01em; color: #0E1A26; margin: 44px 0 14px; }
.sza-prose h2:first-child { margin-top: 0; }
.sza-prose h3 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 18px; color: #0E1A26; margin: 28px 0 10px; }
.sza-prose p { font-size: 16px; line-height: 1.75; color: #41505F; margin: 0 0 14px; }
.sza-prose ul { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 9px; }
.sza-prose li { position: relative; padding-left: 24px; font-size: 16px; line-height: 1.65; color: #41505F; }
.sza-prose li::before { content: ""; position: absolute; left: 4px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: #2E90DE; }
.sza-prose a { color: #164C86; font-weight: 600; border-bottom: 1px solid rgba(22,76,134,0.3); transition: border-color .2s ease; }
.sza-prose a:hover { border-color: #164C86; }
.sza-prose strong { color: #0E1A26; }
.sza-datalist { display: flex; flex-direction: column; border: 1px solid #E7EDF3; border-radius: 16px; overflow: hidden; margin: 22px 0; }
.sza-datalist__row { display: grid; grid-template-columns: 240px 1fr; gap: 16px; padding: 15px 22px; background: #fff; }
.sza-datalist__row:nth-child(odd) { background: #F7FAFC; }
.sza-datalist__row + .sza-datalist__row { border-top: 1px solid #EDF2F7; }
.sza-datalist__k { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #7A8998; padding-top: 2px; }
.sza-datalist__v { font-size: 15.5px; color: #0E1A26; font-weight: 500; line-height: 1.55; }
.sza-notice { display: flex; gap: 12px; align-items: flex-start; background: #FCF3EC; border: 1px solid #F2DCC9; border-radius: 14px; padding: 18px 20px; margin: 26px 0; }
.sza-notice i { font-size: 20px; color: #D9663A; line-height: 1.4; }
.sza-notice p { font-size: 14.5px; line-height: 1.6; color: #7A5A42; margin: 0; }
.sza-legal__updated { margin-top: 44px; padding-top: 20px; border-top: 1px solid #E7EDF3; font-size: 13.5px; color: #7A8998; }
.sza-info { background: #EAF3FB; border: 1px solid #CFE4F6; border-radius: 14px; padding: 18px 22px; margin: 0 0 10px; }
.sza-info p { font-size: 14.5px; line-height: 1.7; color: #33526E; margin: 0; }
.sza-lsec { display: flex; align-items: center; gap: 10px; margin: 44px 0 18px; }
.sza-lsec__icon { width: 28px; height: 28px; border-radius: 8px; background: #EAF3FB; color: #164C86; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sza-lsec__icon i { font-size: 16px; line-height: 1; }
.sza-lsec__label { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #0E1A26; white-space: nowrap; }
.sza-lsec::after { content: ""; flex: 1; height: 1px; background: #E7EDF3; }
.sza-lcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.sza-lcard { background: #fff; border: 1px solid #E7EDF3; border-radius: 14px; padding: 16px 18px; }
.sza-lcard__k { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #2E90DE; margin-bottom: 6px; }
.sza-lcard__v { font-size: 15px; font-weight: 500; color: #0E1A26; line-height: 1.5; }
.sza-lcard__v a { color: #164C86; }
.sza-code { display: inline-block; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size: 12.5px; background: #F2F6FA; border: 1px solid #E1E9F1; border-radius: 6px; padding: 1px 7px; color: #164C86; }
.sza-dl-help { font-size: 13.5px; line-height: 1.8; color: #7A8998; margin-top: 16px; max-width: 560px; }
@media (max-width: 640px) { .sza-datalist__row { grid-template-columns: 1fr; gap: 4px; } }

/* ---------- Microweber kapcsolat-modul illesztés ----------
   Ha a .sza-form belsejében a Microweber contact_form modul fut,
   annak mezői is a saját stílusunkat kapják. */
.sza-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.sza-form select, .sza-form textarea {
  width: 100%; padding: 12px 14px; border: 1px solid #D8E2EC; border-radius: 10px;
  font-family: 'Figtree', sans-serif; font-size: 15px; color: #0E1A26; background: #fff; outline: none;
}
.sza-form input:focus, .sza-form select:focus, .sza-form textarea:focus { border-color: #2E90DE; box-shadow: 0 0 0 3px rgba(46,144,222,0.15); }
.sza-form label { font-size: 13px; font-weight: 600; color: #41505F; }
.sza-form button[type="submit"], .sza-form input[type="submit"], .sza-form .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; width: 100%;
  background: linear-gradient(135deg, #2E90DE, #164C86); color: #fff; border: none;
  font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 16px; padding: 15px; border-radius: 12px;
  cursor: pointer; box-shadow: 0 12px 26px rgba(22,76,134,0.35); transition: transform .2s ease;
}
.sza-form button[type="submit"]:hover, .sza-form input[type="submit"]:hover, .sza-form .btn:hover { transform: translateY(-2px); }

/* ---------- Reszponzív ---------- */
@media (max-width: 880px) {
  .sza-nav, .sza-cta { display: none !important; }
  .sza-menu-open { display: inline-flex; }
  .sza-section { padding: 72px 0; }
  .sza-dark, .sza-fb { padding: 72px 0; }
  .sza-fb { padding-bottom: 72px; }
  .sza-form__row { grid-template-columns: 1fr; }
}
@media (min-width: 881px) {
  .sza-menu-open { display: none; }
}

.sza-footer__logos a img{height:141px}
.sza-footer__logos > img{height:141px}

.legal-section{padding:140px 0 90px}
.legal-wrap{max-width:820px;margin:0 auto}
.legal-eyebrow{display:inline-block;font:700 12.5px/1 'Archivo', sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#164C86}
.legal-title{font-size:clamp(30px,3.6vw,42px);margin:12px 0 26px;color:#0E1A26}
.legal-callout{background:#EAF3FB;border-left:4px solid #164C86;border-radius:12px;padding:20px 24px;font-size:16.5px;line-height:1.7;color:#41505F;margin:0 0 40px}
.legal-head{display:flex;align-items:center;gap:14px;margin:44px 0 20px}
.legal-ic{width:32px;height:32px;border-radius:9px;background:#164C86;color:#fff;display:grid;place-items:center;flex:none}
.legal-ic svg{width:17px;height:17px}
.legal-head h2{font:700 15px/1 'Archivo', sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#0E1A26;margin:0;white-space:nowrap}
.legal-head::after{content:"";flex:1;height:1px;background:#E1E9F1}
.legal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.legal-card{background:#fff;border:1px solid #E1E9F1;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.legal-card .lc-label{font:700 11.5px/1 'Archivo', sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#164C86}
.legal-card .lc-value{font-size:16.5px;color:#0E1A26}
.legal-chips{display:flex;flex-wrap:wrap;gap:12px}
.legal-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid #C9D6E2;border-radius:12px;padding:12px 18px;font:600 16px 'Archivo', sans-serif;color:#0E1A26;transition:border-color .2s,color .2s;text-decoration:none}
.legal-chip svg{width:17px;height:17px;color:#164C86;flex:none}
.legal-chip:hover{border-color:#164C86;color:#164C86}
.legal-chip--btn{background:#164C86;color:#fff;border-color:#164C86}
.legal-chip--btn svg{color:#fff}
.legal-chip--btn:hover{color:#fff;opacity:.9}
.legal-prose{font-size:17.5px;line-height:1.75;color:#41505F;margin:0}
.legal-hint{font-size:14.5px;color:#7A8998;line-height:1.9;margin:18px 0 0}
.legal-hint code{background:#F2F6FA;border:1px solid #E1E9F1;border-radius:6px;padding:2px 7px;font-size:13px;color:#0E1A26}
@media (max-width:760px){.legal-cards{grid-template-columns:1fr}}

#rolam .sza-about{grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:64px;align-items:start}
#rolam .sza-about__photo{position:sticky;top:110px}
#rolam .sza-about__text p{margin:20px 0 0}
#rolam .sza-feats--row{grid-template-columns:repeat(3,1fr);margin-top:52px}
@media(max-width:960px){#rolam .sza-about{grid-template-columns:1fr;gap:44px}#rolam .sza-about__photo{position:relative;top:0;max-width:420px}}
@media(max-width:760px){#rolam .sza-feats--row{grid-template-columns:1fr}}

.sza-header{background:#112F4C}
.sza-header.is-scrolled{background:rgba(17,47,76,0.97);box-shadow:0 6px 24px rgba(6,18,31,0.35)}
.sza-brand__logo{height:48px;width:auto;display:block}
.sza-brand__logo--footer{height:56px}
.sza-nav a{color:#C7D6E4}
.sza-nav a:hover{color:#7FB8E8}
.sza-menu-open i{color:#0E1A26}
.sza-hero__overlay{background:linear-gradient(112deg,rgba(11,31,51,0.97) 0%,rgba(11,31,51,0.82) 42%,rgba(11,31,51,0.42) 100%)}
.sza-dark{background:#112F4C}
.sza-footer{background:#112F4C}
.sza-muhely{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.sza-muhely img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;box-shadow:0 14px 34px rgba(12,35,56,0.14)}
.sza-pelda-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.sza-pelda{position:relative;border-radius:12px;overflow:hidden}
.sza-pelda img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .3s ease}
.sza-pelda:hover img{transform:scale(1.05)}
.sza-pelda .sza-warn__flag{position:absolute;top:10px;left:10px}
@media(max-width:960px){.sza-pelda-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.sza-pelda-grid{grid-template-columns:repeat(2,1fr)}.sza-muhely{grid-template-columns:1fr}}

@media (max-width: 600px) { .sza-wrap { padding-left: 14px; padding-right: 14px; } }
.sza-map .module,.sza-map [class*=google_maps]{width:100%;height:100%;display:block}
.sza-map iframe{width:100%;height:100%;min-height:400px;border:0;display:block}

/* DSP logo strict 141 */
.sza-footer__logos img,.sza-footer__logos a img,.sza-footer__logos > img{height:141px!important;width:auto!important}
