@charset "UTF-8";
/*==========================================================
   BUDAPESTI LOMTALANÍTÓ — rendezett, letisztult elrendezés
   Megtartott arculat: kék gradiens (#1f7ea3 → #62bfe6),
   lekerekített "pill" gombok, kártyás dobozok, Roboto.
   Mobile-first, konzisztens térközökkel.
==========================================================*/

:root{
  --brand:#62bfe6;
  --brandDark:#1f7ea3;
  --grad:linear-gradient(135deg,var(--brandDark),var(--brand));
  --text:#1f2937;
  --muted:#6b7280;
  --bg:#f3f4f6;
  --paper:#ffffff;
  --card:#f7fafc;
  --border:#e5e7eb;
  --shadow:0 10px 25px rgba(0,0,0,.08);
  --shadow-lg:0 20px 45px rgba(0,0,0,.12);
  --radius:18px;
  --radius-sm:12px;
  --gap:20px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:none; }

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:400 16px/1.6 "Roboto",-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; border-radius:var(--radius); }
a{ color:inherit; text-decoration:none; }

h1,h2,h3{ margin:0 0 14px; color:var(--text); line-height:1.2; letter-spacing:-.01em; }
h1{ font-size:clamp(28px,5.5vw,42px); font-weight:700; }
h2{ font-size:clamp(24px,4vw,32px); font-weight:700; }
h3{ font-size:19px; font-weight:700; }
p{ margin:0 0 14px; color:var(--muted); }

.container{ width:100%; max-width:1160px; margin:0 auto; padding:0 20px; }

.eyebrow{
  display:block;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--brandDark);
  margin-bottom:10px;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  font-weight:700;
  font-size:16px;
  padding:16px 26px;
  border-radius:999px;
  border:0;
  cursor:pointer;
  color:#fff;
  background:var(--grad);
  box-shadow:var(--shadow);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover{ transform:translateY(-1px); filter:brightness(1.03); }
.btn-lg{ padding:19px 30px; font-size:17.5px; }

@media (min-width:560px){
  .btn{ width:auto; }
}

/* =================== HEADER =================== */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--paper);
  box-shadow:0 4px 16px rgba(0,0,0,.06);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
}
.logo{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  width: 190px;
  height: 70px;
  overflow: visible;
}

.logo img{
  width: 210px;
  height: 100px;
  object-fit: contain;
  transform: scale(1.45);
  transform-origin: left center;
  display: block;
}

.nav{ display:none; }
.nav a{
  display:block;
  padding:14px 20px;
  font-size:15px;
  font-weight:500;
  color:var(--text);
  border-top:1px solid var(--border);
}
.nav a:first-child{ border-top:none; }
.nav a.active,
.nav a:hover{ color:var(--brandDark); }

.nav-toggle{
  width:42px; height:42px;
  background:transparent;
  border:1px solid var(--border);
  border-radius:10px;
  position:relative;
  cursor:pointer;
  flex:0 0 auto;
  margin-left:auto;
}
.nav-toggle span{
  position:absolute;
  left:9px;
  top:19px;
  width:24px;
  height:3px;
  border-radius:999px;
  background:#168bd2;
  transition:transform .2s ease, opacity .2s ease;
}

.nav-toggle span::before,
.nav-toggle span::after{
  content:"";
  position:absolute;
  left:0;
  width:24px;
  height:3px;
  border-radius:999px;
  background:#168bd2;
  transition:transform .2s ease, top .2s ease;
}

.nav-toggle span::before{
  top:-8px;
}

.nav-toggle span::after{
  top:8px;
}
.nav-toggle span{ top:20px; }
.nav-toggle span::before{ top:-7px; }
.nav-toggle span::after{ top:7px; }
.nav-toggle.is-open span{ background:transparent; }
.nav-toggle.is-open span::before{ top:0; transform:rotate(45deg); background:var(--text); }
.nav-toggle.is-open span::after{ top:0; transform:rotate(-45deg); background:var(--text); }

@media (min-width:960px){
  .nav-toggle{ display:none; margin-left:0; }
  .nav{ display:flex; align-items:center; gap:2px; order:2; flex:1 1 auto; justify-content:center; }
  .nav a{ border-top:none; padding:10px 16px; border-radius:999px; }
  .nav a.active,
  .nav a:hover{ background:var(--card); }
  .header-call{ display:inline-flex; order:3; }
  .logo{ order:1; }
}
@media (max-width:959px){
  .header-call{ display:inline-flex; margin-left:auto; }
  .nav{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:100%;
    left:0; right:0;
    background:var(--paper);
    box-shadow:0 12px 24px rgba(0,0,0,.08);
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }
  .nav.is-open{ max-height:400px; }
}

@media (max-width:959px){
  .nav-toggle span,
  .nav-toggle span::before,
  .nav-toggle span::after{
    background:#168bd2;
  }

  .nav-toggle.is-open span{
    background:transparent;
  }

  .nav-toggle.is-open span::before,
  .nav-toggle.is-open span::after{
    background:#168bd2;
  }
}

/* =================== SECTIONS: shared rhythm =================== */
main section{ padding:44px 0; }
main section + section{ border-top:1px solid var(--border); }
section[id]{ scroll-margin-top:88px; }

/* =================== HERO =================== */
.hero{ padding-top:36px; }
.hero-grid{ display:grid; gap:28px; }
.hero-grid > *{ min-width:0; }
.hero-visual img{ width:100%; height:auto; box-shadow:var(--shadow-lg); }
.hero-copy p{ font-size:15.5px; }
.hero-copy p strong{ color:var(--text); }

.home-bullets{
  margin:4px 0 24px;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.home-bullets li{
  position:relative;
  padding-left:28px;
  font-weight:600;
  color:var(--text);
  font-size:15px;
}
.home-bullets li::before{
  content:"✔";
  position:absolute;
  left:0;
  top:0;
  color:var(--brandDark);
  font-size:14px;
}

.hero-note{
  display:block;
  margin-top:14px;
  font-size:13.5px;
  font-weight:600;
  color:var(--muted);
}

@media (min-width:860px){
  .hero-grid{ grid-template-columns:.9fr 1.1fr; align-items:center; }
  .hero-visual{ order:2; }
  .hero-copy{ order:1; }
}

/* =================== SHARED: section headers + reveal =================== */
.eyebrow-center{ text-align:center; }
.section-title{ text-align:center; }
.section-lead{
  max-width:640px;
  margin:0 auto 34px;
  text-align:center;
  font-size:15.5px;
}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.is-visible{ opacity:1; transform:translateY(0); }

.btn-outline{
  background:transparent;
  color:var(--brandDark);
  box-shadow:none;
  border:1.5px solid var(--brandDark);
}
.btn-outline:hover{ background:var(--card); filter:none; }

/* =================== SZOLGÁLTATÁSOK =================== */
.services{ background:var(--paper); }

.service-grid{
  display:grid;
  gap:22px;
}
.service-card{
  position:relative;
  padding:30px 26px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:var(--grad);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}
.service-card:hover::before{ transform:scaleX(1); }

.service-icon{
  width:60px; height:60px;
  border-radius:16px;
  background:var(--grad);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  box-shadow:var(--shadow);
  transition:transform .3s ease;
}
.service-icon svg{ width:28px; height:28px; }
.service-card:hover .service-icon{ transform:scale(1.08) rotate(-4deg); }

.service-card h3{ margin-bottom:8px; }
.service-card p{ font-size:14.5px; margin-bottom:16px; }

.service-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  font-size:14.5px;
  color:var(--brandDark);
  transition:gap .2s ease;
}
.service-link:hover{ gap:10px; }

@media (min-width:760px){
  .service-grid{ grid-template-columns:repeat(3,1fr); }
}

/* =================== GALÉRIA / CAROUSEL =================== */
.gallery{ background:var(--bg); }

.gallery-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}
.gallery-viewport{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  flex:1 1 auto;
  min-width:0;
}
.gallery-viewport::-webkit-scrollbar{ display:none; }

.gallery-track{
  display:flex;
  gap:18px;
  padding:4px 2px 14px;
}
.gallery-item{
  position:relative;
  flex:0 0 78%;
  scroll-snap-align:start;
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  background:var(--card);
}
.gallery-item img{
  width:100%;
  height:230px;
  object-fit:cover;
  border-radius:0;
  transition:transform .5s ease;
  display:block;
}
.gallery-item:hover img{ transform:scale(1.06); }
.gallery-item figcaption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:26px 16px 14px;
  background:linear-gradient(to top, rgba(17,24,39,.82), rgba(17,24,39,0));
  color:#fff;
  font-size:14px;
  font-weight:700;
}

.gallery-arrow{
  flex:0 0 auto;
  width:44px; height:44px;
  border-radius:50%;
  border:1px solid var(--border);
  background:var(--paper);
  color:var(--text);
  font-size:17px;
  cursor:pointer;
  box-shadow:var(--shadow);
  transition:border-color .2s ease, color .2s ease, transform .2s ease;
}
.gallery-arrow:hover{ border-color:var(--brandDark); color:var(--brandDark); transform:translateY(-1px); }

@media (min-width:640px){
  .gallery-item{ flex-basis:46%; }
}
@media (min-width:960px){
  .gallery-item{ flex-basis:31%; }
  .gallery-item img{ height:260px; }
}

/* =================== WHY US =================== */
.why{ background:var(--paper); }
.why h2{ text-align:center; margin-bottom:26px; }

.marked-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}
.marked-list li{
  position:relative;
  padding:24px 20px 20px;
  font-size:15px;
  line-height:1.55;
  color:var(--muted);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.marked-list li::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:var(--brandDark);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.marked-list li:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  border-color:var(--brandDark);
}
.marked-list li:hover::before{ transform:scaleX(1); }

.wi-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-bottom:12px;
  border-radius:50%;
  background:color-mix(in srgb, var(--brandDark) 12%, transparent);
  color:var(--brandDark);
}
.wi-icon svg{ width:22px; height:22px; }

.marked-list li strong{
  color:var(--brandDark);
  display:block;
  margin-bottom:4px;
  font-size:16px;
}
.marked-list li p{ margin:0; }

@media (min-width:760px){
  .marked-list{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1080px){
  .marked-list{ grid-template-columns:repeat(3,1fr); }
}

/* =================== ÍGY DOLGOZUNK =================== */
.process{ background:var(--paper); }

.process-track{
  display:grid;
  gap:34px;
  position:relative;
}
.process-step{
  position:relative;
  text-align:center;
  padding:0 8px;
}
.process-icon{
  position:relative;
  width:74px; height:74px;
  margin:0 auto 18px;
  border-radius:50%;
  background:var(--grad);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow);
  transition:transform .3s ease;
}
.process-icon svg{ width:30px; height:30px; }
.process-step:hover .process-icon{ transform:scale(1.08); }
.process-num{
  position:absolute;
  bottom:-6px; right:-6px;
  width:26px; height:26px;
  border-radius:50%;
  background:var(--paper);
  color:var(--brandDark);
  border:2px solid var(--brandDark);
  font-size:12.5px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
.process-step h3{ font-size:17px; margin-bottom:6px; }
.process-step p{ font-size:14px; margin:0 auto; max-width:240px; }

@media (min-width:860px){
  .process-track{ grid-template-columns:repeat(4,1fr); gap:20px; }
  .process-step::after{
    content:"";
    position:absolute;
    top:37px;
    left:calc(50% + 50px);
    width:calc(100% - 100px);
    height:2px;
    background:var(--border);
  }
  .process-step:last-child::after{ display:none; }
}

/* =================== ÁRAZÁS =================== */
.pricing{ background:var(--bg); }

.pricing-grid{
  display:grid;
  gap:22px;
}
.price-card{
  position:relative;
  padding:32px 26px;
  text-align:center;
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;
}
.price-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.price-featured{
  border-color:var(--brandDark);
  background:linear-gradient(180deg, rgba(98,191,230,.08), var(--paper) 40%);
}
.price-badge{
  position:absolute;
  top:-13px; left:50%;
  transform:translateX(-50%);
  background:var(--grad);
  color:#fff;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:6px 16px;
  border-radius:999px;
  box-shadow:var(--shadow);
}
.price-card h3{ font-size:18px; margin-bottom:10px; }
.price-tag{
  font-size:28px;
  font-weight:900;
  color:var(--brandDark);
  margin-bottom:10px;
}
.price-desc{ font-size:14px; margin-bottom:22px; min-height:42px; }
.price-card .btn{ width:100%; }

.price-note{
  text-align:center;
  font-size:12.5px;
  margin:26px auto 0;
  max-width:640px;
  color:var(--muted);
}

@media (min-width:760px){
  .pricing-grid{ grid-template-columns:repeat(3,1fr); align-items:stretch; }
  .price-featured{ transform:scale(1.04); }
  .price-featured:hover{ transform:scale(1.04) translateY(-6px); }
}

/* =================== SZOLGÁLTATÁSI TERÜLET =================== */
.area{ background:var(--paper); }

.district-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  max-width:900px;
  margin:0 auto;
}
.district-chip{
  padding:9px 18px;
  font-size:13.5px;
  font-weight:600;
  color:var(--brandDark);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:999px;
  transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.district-chip:hover{
  background:var(--grad);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

.area-note{
  text-align:center;
  max-width:720px;
  margin:24px auto 0;
  font-size:14px;
}

/* =================== GYIK =================== */
.faq{ background:var(--bg); }

.faq-list{
  max-width:780px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.faq-item{
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.faq-item:hover{ border-color:var(--brandDark); box-shadow:var(--shadow); }

.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:none;
  border:0;
  text-align:left;
  font:700 15.5px "Roboto",sans-serif;
  color:var(--text);
  cursor:pointer;
}

.faq-toggle{
  position:relative;
  flex:0 0 auto;
  width:22px; height:22px;
}
.faq-toggle::before,
.faq-toggle::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  background:var(--brandDark);
  transform:translate(-50%,-50%);
  transition:transform .25s ease;
}
.faq-toggle::before{ width:14px; height:2px; }
.faq-toggle::after{ width:2px; height:14px; }
.faq-item.is-open .faq-toggle::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.faq-answer p{
  margin:0;
  padding:0 20px 20px;
  font-size:14.5px;
}
.faq-item.is-open .faq-answer{ max-height:220px; }

/* =================== KAPCSOLAT + VÉLEMÉNYEK =================== */
.info-grid{ display:grid; gap:20px; }

.info-box{
  padding:28px 26px;
  border-radius:var(--radius);
  background:var(--grad);
  color:#fff;
  box-shadow:var(--shadow);
}
.info-box h2{ color:#fff; margin-bottom:18px; }
.info-line{
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.25);
}
.info-line:first-of-type{ border-top:none; padding-top:0; }
.info-line small{
  display:block;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.85;
  margin-bottom:3px;
}
.info-line a,
.info-line span{ font-weight:700; font-size:17px; color:#fff; }
.info-line a:hover{ text-decoration:underline; }
.info-hint{ margin:16px 0 0; font-size:13.5px; color:rgba(255,255,255,.85); }


.quote-stage{
  padding:26px 24px;
  border-radius:var(--radius);
  background:#111827;
  border:1px solid #1f2937;
  box-shadow:var(--shadow-lg);
}
.quote-stage-center{ max-width:720px; margin:0 auto; }
.quote-track{ position:relative; min-height:130px; }
.quote-slide{
  margin:0;
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .4s ease;
}
.quote-slide.is-active{ opacity:1; visibility:visible; position:relative; }

.quote-rating{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.quote-stars{
  display:flex;
  gap:2px;
  color:#fbbc04;
  font-size:16px;
  line-height:1;
}
.quote-google{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12.5px;
  font-weight:700;
  color:#9ca3af;
}
.quote-google svg{ width:14px; height:14px; }

.quote-slide p{
  font-size:15.5px;
  font-style:italic;
  color:#f3f4f6;
  line-height:1.6;
  margin:0;
}

.quote-controls{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:20px; }
.quote-controls button{
  width:38px; height:38px;
  border-radius:50%;
  background:#1f2937;
  border:1px solid #374151;
  font-size:16px;
  cursor:pointer;
  color:#e5e7eb;
  transition:border-color .2s ease, color .2s ease;
}
.quote-controls button:hover{ border-color:var(--brand); color:var(--brand); }
.quote-dots{ display:flex; gap:7px; }
.quote-dots button{ width:7px; height:7px; padding:0; border:none; border-radius:50%; background:#374151; }
.quote-dots button.is-active{ background:var(--brand); }

@media (min-width:860px){
  .info-grid{ grid-template-columns:.85fr 1.15fr; align-items:stretch; }
  .quote-stage{ display:flex; flex-direction:column; justify-content:center; }
}

/* =================== CTA ============ */
.cta-section{ background:var(--grad); }
.cta-card{ text-align:center; color:#fff; }
.cta-card h2{ color:#fff; }
.cta-card p{ color:rgba(255,255,255,.9); font-size:16px; }
.cta-card .btn{ background:#fff; color:var(--brandDark); margin-top:6px; }
.cta-note{ display:block; margin-top:14px; font-size:13px; color:rgba(255,255,255,.85); }

/* =================== ÍRJON NEKÜNK =================== */
.contact{ background:var(--paper); }
.contact > .container > h2{ text-align:center; margin-bottom:24px; }

.contact .info-grid{ align-items:stretch; }
.contact .info-box{ display:flex; flex-direction:column; justify-content:center; }

.contact-form{
  padding:28px 24px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
}
.form-row{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}
.contact-form label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:var(--muted);
}
.contact-form .form-message{ margin-top:16px; }
.contact-form input,
.contact-form textarea{
  display:block;
  width:100%;
  margin-top:8px;
  font:400 16px/1.4 "Roboto",sans-serif;
  color:var(--text);
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:13px 14px;
  resize:vertical;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--brandDark);
  box-shadow:0 0 0 4px rgba(31,126,163,.15);
}
.contact-form textarea{ min-height:130px; }
.contact-form button{ margin-top:18px; }

@media (min-width:760px){
  .contact-form button{ min-width:220px; }
}

/* =================== FOOTER =================== */
footer{ background:#111827; color:#9ca3af; }
.footer-inner{ padding:32px 20px 22px; text-align:center; }
.footer-brand{ font-size:19px; font-weight:900; color:#fff; margin-bottom:16px; }
.footer-brand span{ color:var(--brand); }
.footer-contact{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:8px; }
.footer-contact a:hover{ color:var(--brand); }
.copyright{ font-size:12.5px; opacity:.8; }

/* =================== POPUP =================== */
.overlay{
  position:fixed; inset:0; z-index:2000;
  background:rgba(17,24,39,.7);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  visibility:hidden; opacity:0;
  transition:opacity .3s ease;
}
.overlay:target{ visibility:visible; opacity:1; }
.popup{
  position:relative;
  max-width:420px; width:100%;
  background:var(--paper);
  border-radius:var(--radius);
  padding:30px 26px;
  box-shadow:var(--shadow-lg);
}
.popup .close{ position:absolute; top:12px; right:16px; font-size:24px; font-weight:700; color:var(--muted); }
.popup .close:hover{ color:var(--brandDark); }

/* =================== MOBILE STICKY CALL BAR =================== */
.mobile-call-bar{
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:900;
  background:var(--grad);
  color:#fff;
  text-align:center;
  font-weight:700;
  font-size:15px;
  padding:15px 12px;
  box-shadow:0 -8px 24px rgba(0,0,0,.18);
}
@media (max-width:959px){
  .mobile-call-bar{ display:block; }
  main{ padding-bottom:64px; }
}

@media (max-width:479px){
  .container{ padding:0 16px; }
  main section{ padding:34px 0; }
  .contact-form,
  .info-box,
  .quote-stage{ padding:22px 18px; }
}

@media (max-width: 768px) {
  .navbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 90px;
  }

  .logo{
    display: flex;
    align-items: center;
    height: 90px;
    width: auto;
    margin-right: auto;
  }

  .logo img{
    height: 80px; /* akár 90-100px is lehet */
    width: auto;
    object-fit: contain;
  }
}
