/* ═══════════════════════════════════════════════════════════
   mester.info.hu — style.css
   ═══════════════════════════════════════════════════════════ */

/* ── RESET & VÁLTOZÓK ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ink:      #0d1b2e;
  --paper:    #f2ede4;
  --paper2:   #e8e1d6;
  --accent:   #E8590A;
  --accent2:  #1B4F8A;
  --mid:      #6b7a8d;
  --light:    #b8c4d0;
  --white:    #ffffff;
  --success:  #1a7a4a;
  --error:    #c0392b;
  --radius:   16px;
  --radius-sm:10px;
  --nav-h:    64px;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
  overflow-x: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1; }
img  { max-width: 100%; height: auto; }

/* ── NAVIGÁCIÓ ────────────────────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--white);
  border-bottom: 1px solid var(--light);
  height: var(--nav-h);
}
.nav-inner {
  max-width: 1400px; margin: 0 auto;
  padding: 0 5vw; height: 100%;
  display: flex; align-items: center; justify-content: space-between;
}
.nav-logo {
  font-family: 'Syne', sans-serif; font-weight: 800;
  font-size: 1.25rem; letter-spacing: -.02em;
  color: var(--ink); text-decoration: none;
  display: flex; align-items: baseline; gap: .05em;
  flex-shrink: 0;
}
.logo-tld { font-size: .7em; font-weight: 600; color: var(--accent); }

.nav-links {
  display: flex; align-items: center; gap: 1.75rem;
}
.nav-links a {
  font-size: .875rem; font-weight: 500; color: var(--mid);
  text-decoration: none; transition: color .2s; white-space: nowrap;
}
.nav-links a:hover, .nav-links a.active { color: var(--ink); }
.nav-links a.active { font-weight: 600; }

.nav-user {
  display: flex; align-items: center; gap: .5rem;
  font-size: .875rem; color: var(--mid);
  flex-shrink: 0; margin-left: auto;
}
.nav-user-avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--accent2); color: var(--white);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: .7rem; font-weight: 700;
  flex-shrink: 0;
}
.nav-user-name  { font-weight: 500; color: var(--ink); }
.nav-dashboard-link { color: var(--accent2) !important; font-weight: 500; }
.nav-logout-link    { color: var(--mid); font-size: .8rem; }
.nav-cta {
  background: var(--accent2) !important; color: var(--white) !important;
  padding: .4rem 1.1rem; border-radius: 99px; font-size: .875rem !important;
  transition: background .2s !important;
}
.nav-cta:hover { background: var(--accent) !important; }

/* Hamburger */
.nav-toggle {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 36px; height: 36px; background: none; border: none;
  cursor: pointer; padding: 4px; flex-shrink: 0;
}
.nav-toggle span {
  display: block; height: 2px; border-radius: 2px;
  background: var(--ink); transition: all .3s;
}
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── HERO ─────────────────────────────────────────────────── */
.hero {
  display: grid; grid-template-columns: 1fr 400px;
  gap: 3rem; align-items: center;
  padding: 5rem 5vw 4rem;
  max-width: 1400px; margin: 0 auto; width: 100%;
  position: relative;
}
.hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 500px 400px at 70% 40%, #1B4F8A10 0%, transparent 70%),
    radial-gradient(ellipse 300px 250px at 20% 80%, #E8590A08 0%, transparent 60%);
}

.hero-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--accent2); color: #a8c8f0;
  font-size: .72rem; font-weight: 500; letter-spacing: .06em;
  text-transform: uppercase; padding: .3rem .85rem;
  border-radius: 99px; margin-bottom: 1.25rem;
}
.hero-eyebrow::before { content: '●'; font-size: .45rem; animation: pulse 2s infinite; }

.hero h1 {
  font-family: 'Syne', sans-serif;
  font-size: clamp(2rem, 3.5vw, 4.5rem);
  font-weight: 800; line-height: 1.1; letter-spacing: -.03em;
  word-break: break-word; overflow-wrap: break-word;
}
.hero h1 em {
  font-style: normal; color: var(--accent); position: relative;
}
.hero h1 em::after {
  content: ''; position: absolute; left: 0; bottom: -.06em;
  width: 100%; height: .05em; background: var(--accent); border-radius: 99px;
}
.hero-sub {
  margin-top: 1.25rem; font-size: 1rem; color: var(--mid);
  max-width: 500px; line-height: 1.7; font-weight: 300;
}

.hero-search {
  margin-top: 2rem; background: var(--white);
  border: 1.5px solid var(--light); border-radius: var(--radius);
  padding: .4rem; display: flex; gap: .4rem; align-items: stretch;
  max-width: 540px; box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.hero-search input {
  flex: 1; border: none; outline: none;
  font-family: 'DM Sans', sans-serif; font-size: .9rem;
  padding: .55rem .9rem; background: transparent; color: var(--ink);
  min-width: 0;
}
.hero-search input::placeholder { color: var(--light); }
.hero-search select {
  border: none; outline: none; background: var(--paper);
  font-family: 'DM Sans', sans-serif; font-size: .82rem; color: var(--mid);
  padding: .45rem .7rem; border-radius: var(--radius-sm);
  cursor: pointer; flex-shrink: 1; min-width: 0;
  max-width: 140px; overflow: hidden; text-overflow: ellipsis;
}
.hero-search button {
  background: var(--accent); color: var(--white);
  border: none; border-radius: var(--radius-sm);
  padding: .55rem 1rem; font-family: 'DM Sans', sans-serif;
  font-size: .875rem; font-weight: 500; cursor: pointer;
  transition: background .2s; white-space: nowrap; flex-shrink: 0;
}
.hero-search button:hover { background: #c94d08; }

.hero-tags {
  margin-top: .85rem; display: flex; flex-wrap: wrap; gap: .4rem;
  align-items: center;
}
.hero-tags-label { font-size: .78rem; color: var(--mid); white-space: nowrap; }
.hero-tag {
  font-size: .78rem; color: var(--mid);
  padding: .25rem .75rem; border: 1px solid var(--light);
  border-radius: 99px; cursor: pointer;
  transition: all .2s; text-decoration: none; white-space: nowrap;
}
.hero-tag:hover { border-color: var(--accent); color: var(--accent); }

/* Hero kártya (jobb oldal) */
.hero-card-wrap { position: relative; }
.hero-card {
  background: var(--white); border-radius: 18px;
  border: 1px solid var(--light); overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.1);
}
.hero-card-header {
  background: var(--accent2); padding: 1.25rem 1.5rem;
  display: flex; align-items: center; gap: 1rem;
}
.hero-card-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: #2563a8; display: flex; align-items: center;
  justify-content: center; font-family: 'Syne', sans-serif;
  font-size: 1rem; font-weight: 700; color: #a8c8f0; flex-shrink: 0;
}
.hero-card-name  { font-weight: 600; color: var(--white); font-size: .9rem; }
.hero-card-job   { font-size: .75rem; color: #a8c8f0; margin-top: .1rem; }
.hero-card-stars { color: #f5c842; font-size: .8rem; margin-top: .2rem; }
.hero-card-body  { padding: 1rem 1.25rem; }
.hero-card-row {
  display: flex; align-items: center; gap: .5rem;
  padding: .45rem 0; border-bottom: 1px solid var(--paper2);
  font-size: .825rem; color: var(--mid);
}
.hero-card-row:last-child { border-bottom: none; }
.hero-card-row strong { color: var(--ink); font-weight: 500; margin-left: auto; }
.hero-card-icon {
  width: 26px; height: 26px; border-radius: 7px;
  background: var(--paper2); display: flex; align-items: center;
  justify-content: center; font-size: .8rem; flex-shrink: 0;
}
.hero-card-btn {
  display: block; width: 100%; margin-top: .85rem;
  background: var(--accent); color: var(--white); border: none;
  border-radius: var(--radius-sm); padding: .75rem;
  font-family: 'DM Sans', sans-serif; font-size: .875rem; font-weight: 500;
  cursor: pointer; text-align: center; text-decoration: none;
  transition: background .2s;
}
.hero-card-btn:hover { background: #c94d08; }
.hero-float-badge {
  position: absolute; top: -14px; right: -14px;
  background: var(--accent2); color: var(--white);
  border-radius: 99px; padding: .4rem .9rem;
  font-size: .75rem; font-weight: 600;
  box-shadow: 0 4px 14px rgba(27,79,138,.3); white-space: nowrap;
}

/* ── STATISZTIKÁK ─────────────────────────────────────────── */
.stats {
  background: var(--accent2); padding: 2.5rem 5vw;
  display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem;
}
.stat { text-align: center; padding: .75rem; }
.stat-num {
  font-family: 'Syne', sans-serif; font-size: 2.25rem;
  font-weight: 800; color: var(--white); line-height: 1;
}
.stat-num span { color: var(--accent); }
.stat-label { font-size: .8rem; color: #a8c8f0; margin-top: .35rem; }

/* ── SZEKCIÓ ALAP ─────────────────────────────────────────── */
.section {
  padding: 4.5rem 5vw;
  max-width: 1400px; margin: 0 auto; width: 100%;
}
.cats-section { background: var(--paper2); padding: 4.5rem 5vw; }
.cats-section .section-inner { max-width: 1400px; margin: 0 auto; }
.pricing-section { background: var(--accent2); padding: 4.5rem 5vw; }
.pricing-section .section-inner { max-width: 1400px; margin: 0 auto; }

.section-label {
  font-size: .72rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--accent2); margin-bottom: .6rem;
}
.pricing-section .section-label { color: #a8c8f0; }
.section-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(1.6rem, 2.5vw, 2.6rem);
  font-weight: 800; letter-spacing: -.02em; line-height: 1.15;
}
.pricing-section .section-title { color: var(--white); }
.section-sub {
  margin-top: .6rem; font-size: .95rem; color: var(--mid);
  font-weight: 300; max-width: 520px; line-height: 1.7;
}
.pricing-section .section-sub { color: #c5d8ee; }

/* ── HOGYAN MŰKÖDIK ───────────────────────────────────────── */
.steps {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1.25rem; margin-top: 2.5rem;
}
.step {
  background: var(--white); border-radius: var(--radius);
  border: 1px solid var(--light); padding: 1.75rem;
  position: relative; overflow: hidden;
  transition: transform .25s, box-shadow .25s;
}
.step:hover { transform: translateY(-3px); box-shadow: 0 10px 32px rgba(0,0,0,.08); }
.step-num {
  font-family: 'Syne', sans-serif; font-size: 4.5rem;
  font-weight: 800; color: var(--paper2);
  position: absolute; top: -.5rem; right: .75rem;
  line-height: 1; pointer-events: none; user-select: none;
}
.step-icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; margin-bottom: 1rem;
}
.step-icon.orange { background: #fdeede; }
.step-icon.green  { background: #ddeaf8; }
.step-icon.blue   { background: #e5eeff; }
.step h3 { font-family: 'Syne', sans-serif; font-size: 1rem; font-weight: 700; margin-bottom: .4rem; }
.step p  { font-size: .875rem; color: var(--mid); line-height: 1.6; font-weight: 300; }

/* ── KATEGÓRIÁK ───────────────────────────────────────────── */
.cats-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px,1fr));
  gap: .85rem; margin-top: 2rem;
}
.cat-card {
  background: var(--white); border-radius: var(--radius);
  border: 1px solid var(--light); padding: 1.25rem .85rem;
  text-align: center; cursor: pointer; text-decoration: none;
  transition: all .2s; display: block;
}
.cat-card:hover { border-color: var(--accent2); transform: translateY(-2px); }
.cat-icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--paper2); margin: 0 auto .7rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; transition: background .2s;
}
.cat-card:hover .cat-icon { background: #ddeaf8; }
.cat-name  { font-size: .82rem; font-weight: 600; color: var(--ink); }
.cat-count { font-size: .72rem; color: var(--mid); margin-top: .15rem; }

/* ── SZAKEMBER KÁRTYÁK ────────────────────────────────────── */
.experts-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr));
  gap: 1.1rem; margin-top: 2.5rem;
}
.expert-card {
  background: var(--white); border-radius: var(--radius);
  border: 1px solid var(--light); overflow: hidden;
  transition: transform .25s, box-shadow .25s; cursor: pointer;
}
.expert-card:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(0,0,0,.09); }
.expert-card-top  { padding: 1.25rem; display: flex; gap: .85rem; align-items: flex-start; }
.expert-avatar {
  width: 50px; height: 50px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: 1.1rem; font-weight: 700;
}
.expert-avatar-img { width:50px; height:50px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--light); }
.av1 { background: #fdeede; color: var(--accent); }
.av2 { background: #ddeaf8; color: var(--accent2); }
.av3 { background: #e5eeff; color: #1a3a7a; }
.expert-name     { font-weight: 600; font-size: .9rem; }
.expert-job      { font-size: .78rem; color: var(--mid); margin-top: .1rem; }
.expert-location { font-size: .75rem; color: var(--light); margin-top: .15rem; }
.expert-rating   { display: flex; align-items: center; gap: .3rem; margin-top: .35rem; }
.expert-stars    { color: #f5c842; font-size: .78rem; }
.expert-rnum     { font-size: .75rem; color: var(--mid); }
.expert-card-footer {
  padding: 1rem 1.25rem;
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--paper2); margin-top: .85rem;
}
.expert-price { font-family: 'Syne', sans-serif; font-size: .95rem; font-weight: 700; }
.expert-price span { font-size: .72rem; font-weight: 400; color: var(--mid); }
.expert-btn {
  background: var(--accent2); color: var(--white);
  border: none; border-radius: 99px; padding: .4rem 1rem;
  font-family: 'DM Sans', sans-serif; font-size: .78rem; font-weight: 500;
  cursor: pointer; transition: background .2s;
}
.expert-btn:hover { background: var(--accent); }
.btn-all-experts {
  display: inline-block; padding: .75rem 2rem;
  border-radius: 99px; border: 1.5px solid var(--light);
  font-family: 'DM Sans', sans-serif; font-size: .9rem;
  font-weight: 500; color: var(--ink); text-decoration: none; transition: all .2s;
}
.btn-all-experts:hover { border-color: var(--accent); color: var(--accent); }

/* ── TAGSÁG / ÁRAK ────────────────────────────────────────── */
.pricing-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1.1rem; margin-top: 2.5rem;
}
.pricing-card {
  background: #163f72; border-radius: var(--radius);
  border: 1px solid #2557a0; padding: 1.75rem; transition: transform .25s;
}
.pricing-card:hover { transform: translateY(-3px); }
.pricing-card.featured { background: var(--accent); border-color: var(--accent); position: relative; }
.pricing-badge {
  position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
  background: #f5c842; color: #1a1400;
  font-size: .7rem; font-weight: 700; letter-spacing: .05em;
  text-transform: uppercase; padding: .25rem .85rem; border-radius: 99px; white-space: nowrap;
}
.pricing-name { font-family:'Syne',sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--light); margin-bottom:.6rem; }
.pricing-card.featured .pricing-name { color:rgba(255,255,255,.75); }
.pricing-price { font-family:'Syne',sans-serif; font-size:2.5rem; font-weight:800; color:var(--white); line-height:1; }
.pricing-price sub { font-size:.9rem; font-weight:400; vertical-align:baseline; color:var(--light); }
.pricing-per { font-size:.78rem; color:var(--light); margin-top:.25rem; font-weight:300; }
.pricing-card.featured .pricing-per { color:rgba(255,255,255,.7); }
.pricing-divider { border:none; border-top:1px solid #2557a0; margin:1.25rem 0; }
.pricing-card.featured .pricing-divider { border-color:rgba(255,255,255,.25); }
.pricing-feature { display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:#c5d8ee; margin-bottom:.5rem; }
.pricing-card.featured .pricing-feature { color:rgba(255,255,255,.85); }
.pricing-check { color:#a8c8f0; }
.pricing-card.featured .pricing-check { color:rgba(255,255,255,.9); }
.pricing-cta {
  display:block; width:100%; margin-top:1.25rem; padding:.8rem;
  border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif;
  font-size:.875rem; font-weight:500; text-align:center;
  cursor:pointer; text-decoration:none; transition:all .2s;
  border:1.5px solid #2557a0; background:transparent; color:var(--white);
}
.pricing-cta:hover { background:#2557a0; }
.pricing-card.featured .pricing-cta { background:var(--white); color:var(--accent); border-color:var(--white); }
.pricing-card.featured .pricing-cta:hover { background:#ffe8de; }

/* ── ÉRTÉKELÉSEK ──────────────────────────────────────────── */
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin-top:2.5rem; }
.review-card { background:var(--white); border-radius:var(--radius); border:1px solid var(--light); padding:1.5rem; }
.review-stars { color:#f5c842; font-size:.875rem; margin-bottom:.85rem; }
.review-text  { font-size:.875rem; color:var(--ink); line-height:1.65; font-weight:300; font-style:italic; margin-bottom:1rem; }
.review-author { display:flex; align-items:center; gap:.65rem; }
.review-avatar { width:32px; height:32px; border-radius:50%; background:var(--paper2); display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:600; color:var(--mid); flex-shrink:0; }
.review-name { font-size:.82rem; font-weight:600; }
.review-job  { font-size:.73rem; color:var(--mid); }

/* ── CTA SÁV ──────────────────────────────────────────────── */
.cta-section {
  background: var(--accent); padding: 4rem 5vw;
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap;
}
.cta-section h2 {
  font-family:'Syne',sans-serif; font-size:clamp(1.5rem,2.5vw,2.4rem);
  font-weight:800; color:var(--white); line-height:1.2; letter-spacing:-.02em;
}
.cta-section p { font-size:.9rem; color:rgba(255,255,255,.8); margin-top:.6rem; font-weight:300; }
.cta-btns { display:flex; gap:.75rem; flex-wrap:wrap; flex-shrink:0; }
.cta-btn-main {
  background:var(--white); color:var(--accent); padding:.8rem 1.75rem;
  border-radius:99px; font-family:'DM Sans',sans-serif; font-size:.9rem;
  font-weight:600; text-decoration:none; white-space:nowrap; transition:background .2s;
}
.cta-btn-main:hover { background:var(--paper); }
.cta-btn-sec {
  background:transparent; color:var(--white); padding:.8rem 1.75rem;
  border-radius:99px; border:1.5px solid rgba(255,255,255,.5);
  font-family:'DM Sans',sans-serif; font-size:.9rem; font-weight:500;
  text-decoration:none; white-space:nowrap; transition:all .2s;
}
.cta-btn-sec:hover { border-color:rgba(255,255,255,.9); background:rgba(255,255,255,.1); }

/* ── HIRDETŐSÁV ───────────────────────────────────────────── */
.ad-banner-section { background:var(--paper2); padding:1.25rem 5vw; border-top:1px solid var(--light); }
.ad-banner-label   { font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--light); margin-bottom:.6rem; }
.ad-banner-grid    { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.65rem; }
.ad-card { background:var(--white); border-radius:var(--radius-sm); border:1px solid var(--light); padding:.75rem .9rem; display:flex; align-items:center; gap:.75rem; }
.ad-icon    { font-size:1.3rem; flex-shrink:0; }
.ad-title   { font-size:.82rem; font-weight:600; color:var(--ink); }
.ad-sub     { font-size:.73rem; color:var(--mid); margin-top:.1rem; }
.ad-btn     { font-size:.73rem; color:var(--accent2); text-decoration:none; font-weight:500; white-space:nowrap; margin-left:auto; }
.ad-content { flex:1; min-width:0; }

/* ── LÁBLÉC ───────────────────────────────────────────────── */
.site-footer { background:var(--ink); }
.footer-inner {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:2.5rem; padding:3rem 5vw;
  max-width:1400px; margin:0 auto;
}
.footer-brand .nav-logo { display:block; margin-bottom:.65rem; }
.footer-brand .nav-logo .logo-main { color:var(--white); }
.footer-desc { font-size:.82rem; color:var(--mid); font-weight:300; line-height:1.65; max-width:220px; }
.footer-col h4 { font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--light); margin-bottom:.85rem; }
.footer-col a  { display:block; font-size:.82rem; color:var(--mid); text-decoration:none; margin-bottom:.45rem; transition:color .2s; }
.footer-col a:hover { color:var(--white); }
.footer-bottom {
  background:var(--ink); padding:1rem 5vw;
  border-top:1px solid #1e3250;
  display:flex; justify-content:space-between; align-items:center;
  max-width:100%;
}
.footer-copy  { font-size:.78rem; color:var(--mid); }
.footer-legal { display:flex; gap:1.25rem; }
.footer-legal a { font-size:.78rem; color:var(--mid); text-decoration:none; }
.footer-legal a:hover { color:var(--white); }

/* ── ZIP AUTOCOMPLETE ─────────────────────────────────────── */
.zip-dropdown {
  position:absolute; top:100%; left:0; right:0; z-index:50;
  background:var(--white); border:1.5px solid var(--accent2);
  border-top:none; border-radius:0 0 var(--radius-sm) var(--radius-sm);
  max-height:200px; overflow-y:auto; display:none;
  box-shadow:0 6px 20px rgba(0,0,0,.1);
}
.zip-item { display:flex; align-items:center; gap:.65rem; padding:.55rem .9rem; cursor:pointer; transition:background .15s; }
.zip-item:hover { background:var(--paper); }
.zip-code { font-family:monospace; font-size:.82rem; color:var(--accent2); font-weight:600; min-width:40px; }
.zip-city { font-size:.85rem; color:var(--ink); }

/* ── AUTH OLDALAK ─────────────────────────────────────────── */
.auth-wrap {
  display:grid; grid-template-columns:1fr 1fr;
  min-height:calc(100vh - var(--nav-h));
}
.auth-left {
  background:var(--accent2); padding:3.5rem 8%;
  display:flex; flex-direction:column; justify-content:center;
  overflow-y:auto;
}
.auth-left-eyebrow { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#a8c8f0; margin-bottom:1rem; }
.auth-left-title   { font-family:'Syne',sans-serif; font-size:clamp(1.5rem,2.2vw,2.4rem); font-weight:800; color:var(--white); line-height:1.1; letter-spacing:-.02em; margin-bottom:.85rem; }
.auth-left-title em { font-style:normal; color:var(--accent); }
.auth-left-sub   { font-size:.9rem; color:#c5d8ee; font-weight:300; line-height:1.65; margin-bottom:1.75rem; }
.auth-benefits   { display:flex; flex-direction:column; gap:.75rem; }
.auth-benefit    { display:flex; align-items:flex-start; gap:.75rem; font-size:.85rem; color:#c5d8ee; line-height:1.5; }
.auth-benefit-icon { width:34px; height:34px; border-radius:9px; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0; }
.auth-benefit strong { color:var(--white); display:block; margin-bottom:.1rem; }
.auth-deco-cards { display:flex; flex-direction:column; gap:.65rem; }
.auth-deco-card  { background:rgba(255,255,255,.1); border-radius:10px; border:1px solid rgba(255,255,255,.15); padding:.8rem 1rem; display:flex; align-items:center; gap:.75rem; }
.auth-deco-icon  { width:34px; height:34px; border-radius:9px; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.auth-deco-text  { font-size:.82rem; color:var(--white); }
.auth-deco-sub   { font-size:.72rem; color:#a8c8f0; margin-top:.1rem; }
.auth-right      { display:flex; align-items:center; justify-content:center; padding:2.5rem 8%; overflow-y:auto; }
.auth-form-box   { width:100%; max-width:420px; }
.auth-form-title { font-family:'Syne',sans-serif; font-size:1.6rem; font-weight:800; letter-spacing:-.02em; margin-bottom:.35rem; }
.auth-form-sub   { font-size:.875rem; color:var(--mid); margin-bottom:1.5rem; }
.auth-form-sub a { color:var(--accent2); text-decoration:none; font-weight:500; }

.auth-center-wrap { display:flex; align-items:center; justify-content:center; min-height:calc(100vh - var(--nav-h)); padding:2.5rem 1rem; }
.auth-card { background:var(--white); border-radius:18px; border:1px solid var(--light); padding:2.5rem 2rem; max-width:440px; width:100%; text-align:center; box-shadow:0 8px 36px rgba(0,0,0,.07); }
.auth-result-icon  { width:72px; height:72px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:2rem; margin:0 auto 1.25rem; }
.auth-result-ok    { background:#edf7f1; }
.auth-result-err   { background:#fdf0ef; }
.auth-result-title { font-family:'Syne',sans-serif; font-size:1.6rem; font-weight:800; margin-bottom:.65rem; letter-spacing:-.02em; }
.auth-result-sub   { font-size:.9rem; color:var(--mid); line-height:1.65; }
.auth-divider      { display:flex; align-items:center; gap:.65rem; margin:1.1rem 0; color:var(--light); font-size:.78rem; }
.auth-divider::before, .auth-divider::after { content:''; flex:1; height:1px; background:var(--light); }
.auth-alt-link     { text-align:center; font-size:.85rem; color:var(--mid); }
.auth-alt-link a   { color:var(--accent2); font-weight:500; text-decoration:none; }

/* ── FORM ELEMEK ──────────────────────────────────────────── */
.form-group   { margin-bottom:.8rem; display:flex; flex-direction:column; gap:.3rem; }
.form-row     { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.form-section-label { display:block; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent2); margin:1.1rem 0 .55rem; }
label         { font-size:.78rem; font-weight:500; color:var(--mid); }
.req          { color:var(--accent); margin-left:.2rem; }

input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="number"], select, textarea {
  width:100%; padding:.68rem .9rem;
  border:1.5px solid var(--light); border-radius:var(--radius-sm);
  font-family:'DM Sans',sans-serif; font-size:.875rem;
  color:var(--ink); background:var(--white); outline:none;
  transition:border-color .2s, box-shadow .2s;
  -webkit-appearance:none; appearance:none;
}
input:focus, select:focus, textarea:focus {
  border-color:var(--accent2);
  box-shadow:0 0 0 3px rgba(27,79,138,.1);
}
input.has-error  { border-color:var(--error); }
.pw-wrap         { position:relative; }
.pw-toggle       { position:absolute; right:.7rem; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:var(--mid); font-size:.82rem; padding:.2rem; }
.pw-strength     { height:3px; border-radius:99px; margin-top:.35rem; background:var(--paper2); overflow:hidden; }
.pw-strength-bar { height:100%; border-radius:99px; width:0; transition:width .3s, background .3s; }
.pw-hint         { font-size:.72rem; color:var(--mid); margin-top:.25rem; }
.form-meta       { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; font-size:.82rem; }
.remember-wrap   { display:flex; align-items:center; gap:.45rem; cursor:pointer; color:var(--mid); }
.remember-wrap input { width:15px; height:15px; accent-color:var(--accent2); }
.forgot-link     { color:var(--accent2); text-decoration:none; }
.checkbox-wrap   { display:flex; align-items:flex-start; gap:.6rem; padding:.7rem; border-radius:var(--radius-sm); border:1.5px solid var(--light); background:var(--white); cursor:pointer; margin-bottom:.7rem; }
.checkbox-wrap input { width:17px; height:17px; min-width:17px; accent-color:var(--accent2); margin-top:.1rem; }
.checkbox-label  { font-size:.82rem; color:var(--mid); line-height:1.5; }
.checkbox-label a { color:var(--accent2); text-decoration:none; }
.btn-submit {
  width:100%; padding:.85rem; border:none;
  border-radius:var(--radius-sm); background:var(--accent2);
  color:var(--white); font-family:'DM Sans',sans-serif;
  font-size:.95rem; font-weight:600; cursor:pointer;
  transition:background .2s; margin-top:.2rem;
}
.btn-submit:hover  { background:#154080; }
.btn-submit:active { transform:scale(.99); }

.role-tabs     { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin-bottom:1.25rem; }
.role-tab      { border:1.5px solid var(--light); border-radius:var(--radius-sm); padding:.8rem; cursor:pointer; transition:all .2s; display:flex; align-items:center; gap:.65rem; background:var(--white); }
.role-tab:hover { border-color:var(--accent2); }
.role-tab.active { border-color:var(--accent2); border-width:2px; background:#eaf1fb; }
.role-tab-icon  { font-size:1.1rem; flex-shrink:0; }
.role-tab-title { font-size:.875rem; font-weight:600; color:var(--ink); }
.role-tab-sub   { font-size:.75rem; color:var(--mid); margin-top:.08rem; }
.expert-section { display:none; background:#eaf1fb; border-radius:var(--radius-sm); border:1.5px solid #b0cceb; padding:.9rem; margin-bottom:.7rem; }
.expert-section.visible { display:block; }
.expert-section-title { font-size:.78rem; font-weight:600; color:var(--accent2); margin-bottom:.65rem; }

.alert         { padding:.82rem .95rem; border-radius:var(--radius-sm); margin-bottom:1rem; font-size:.85rem; line-height:1.5; }
.alert-error   { background:#fdf0ef; border:1px solid #f5c6c1; color:var(--error); }
.alert-warning { background:#fff8e1; border:1px solid #ffe082; color:#7a5a00; }
.dev-box       { background:#fff3cd; border:1px solid #ffc107; border-radius:var(--radius-sm); padding:.8rem .95rem; font-size:.78rem; }

/* ── ANIMÁCIÓK ────────────────────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes pulse  { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ══════════════════════════════════════════════════════════
   RESZPONZÍV
   ══════════════════════════════════════════════════════════ */

/* ── TABLET: max 1024px ───────────────────────────────────── */
@media (max-width: 1024px) {
  .hero { grid-template-columns: 1fr; padding: 3rem 5vw 2.5rem; }
  .hero-card-wrap { display: none; }
  .hero h1 { font-size: clamp(1.8rem, 4.5vw, 3rem); }
  .hero-sub { max-width: 100%; }
  .hero-search { max-width: 100%; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 500px; margin-left: auto; margin-right: auto; }
  .pricing-card.featured { order: -1; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

/* ── TABLET KIS: max 768px ────────────────────────────────── */
@media (max-width: 768px) {
  :root { --nav-h: 56px; }
  .nav-toggle { display: flex; }
  .nav-links {
    display: none; position: fixed;
    top: var(--nav-h); left: 0; right: 0;
    background: var(--white); border-bottom: 1px solid var(--light);
    flex-direction: column; gap: 0; padding: .4rem 0;
    z-index: 99; box-shadow: 0 6px 20px rgba(0,0,0,.08);
    max-height: calc(100vh - var(--nav-h)); overflow-y: auto;
  }

  .nav-links.open { display: flex; }
  .nav-links a    { padding: .8rem 5vw; font-size: .95rem; border-bottom: 1px solid var(--paper2); }
  .nav-links a:last-child { border-bottom: none; }
  .nav-cta        { margin: .65rem 5vw !important; border-radius: var(--radius-sm) !important; text-align: center; padding: .7rem !important; }
  .nav-user { padding: .75rem 5vw; border-top: 1px solid var(--paper2); margin-left: 0; display: none; }
  .nav-user.open { display: flex; }

  .hero { padding: 2.5rem 4vw 2rem; }
  .hero h1 { font-size: clamp(1.6rem, 5.5vw, 2.5rem); }

  .stats { grid-template-columns: repeat(2,1fr); padding: 2rem 4vw; }
  .stat-num { font-size: 1.9rem; }

  .steps { grid-template-columns: 1fr; gap: 1rem; }
  .reviews-grid { grid-template-columns: 1fr; gap: 1rem; }
  .auth-wrap { grid-template-columns: 1fr; min-height: unset; }
  .auth-left  { display: none; }
  .auth-right { padding: 2rem 5vw; }
  .auth-center-wrap { padding: 2rem 4vw; min-height: unset; }
  .auth-card { padding: 2rem 1.5rem; }
  .cta-section { flex-direction: column; align-items: flex-start; }
  .footer-inner { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 5vw; }
  .footer-bottom { flex-direction: column; gap: .5rem; text-align: center; padding: 1rem 5vw; }
  .footer-legal  { flex-wrap: wrap; justify-content: center; }
}

/* ── MOBIL: max 480px ─────────────────────────────────────── */
@media (max-width: 480px) {
  .hero { padding: 1.75rem 3vw 1.5rem; }
  .hero h1 { font-size: clamp(1.4rem, 6.5vw, 2rem); line-height: 1.2; }
  .hero-eyebrow { font-size: .65rem; padding: .25rem .75rem; margin-bottom: 1rem; }
  .hero-sub { font-size: .875rem; margin-top: 1rem; }
  .hero-search {
    flex-direction: column; gap: .4rem; margin-top: 1.25rem;
    width: 100%; max-width: 100%; box-sizing: border-box;
  }
  .hero-search select { display: none; }
  .hero-search input,
  .hero-search button {
    width: 100%; max-width: 100%; box-sizing: border-box; flex-shrink: 0;
  }
  .hero-search button { padding: .65rem 1rem; }
  .hero-tags { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .hero-tags::-webkit-scrollbar { display: none; }
  .hero-tag { flex-shrink: 0; }

  .stats { padding: 1.25rem 4vw; gap: .35rem; }
  .stat-num { font-size: 1.6rem; }
  .stat-label { font-size: .7rem; }

  .section { padding: 2.5rem 4vw; }
  .cats-section { padding: 2.5rem 4vw; }
  .pricing-section { padding: 2.5rem 4vw; }
  .section-title { font-size: clamp(1.3rem, 6vw, 1.8rem); }

  .cats-grid { grid-template-columns: repeat(2,1fr); gap: .55rem; }
  .cat-card { padding: 1rem .65rem; }
  .cat-icon { width: 38px; height: 38px; font-size: 1.1rem; }
  .cat-name { font-size: .76rem; }

  .experts-grid { grid-template-columns: 1fr; }

  .step { padding: 1.25rem; }
  .step-num { font-size: 3.5rem; }

  .pricing-price { font-size: 2.1rem; }
  .pricing-card  { padding: 1.25rem; }

  .cta-section h2 { font-size: clamp(1.3rem, 6vw, 1.8rem); }
  .cta-btns { flex-direction: column; width: 100%; }
  .cta-btn-main, .cta-btn-sec { text-align: center; padding: .75rem 1rem; }

  .ad-banner-grid { grid-template-columns: 1fr; }

  .form-row { grid-template-columns: 1fr; }
  .role-tabs { grid-template-columns: 1fr; }
  .auth-right { padding: 1.5rem 4vw; }
  .auth-form-title { font-size: 1.4rem; }
}

/* ── KIS MOBIL: max 360px (Nokia G22) ────────────────────── */
@media (max-width: 360px) {
  .hero h1 { font-size: 1.25rem; letter-spacing: -.01em; }
  .hero-search { gap: .3rem; padding: .25rem; }
  .hero-search input  { font-size: .82rem; padding: .58rem .7rem; }
  .hero-search button { font-size: .82rem; padding: .58rem .7rem; }
  .stat-num { font-size: 1.4rem; }
  .cats-grid { grid-template-columns: repeat(2,1fr); gap: .45rem; }
  .cat-icon { width: 34px; height: 34px; font-size: 1rem; }
  .section-title { font-size: 1.2rem; }
  .pricing-price { font-size: 1.9rem; }
  .nav-logo { font-size: 1.1rem; }
}

/* ── 404 HIBAOLDAL ────────────────────────────────────────── */
.error-page {
  text-align: center;
  padding: 5rem 5vw;
  max-width: 500px;
  margin: 0 auto;
  min-height: calc(100vh - var(--nav-h) - 200px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.error-icon {
  font-size: 4rem;
  margin-bottom: 1.25rem;
}
.error-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  font-weight: 800;
  margin-bottom: .75rem;
  letter-spacing: -.02em;
}
.error-sub {
  color: var(--mid);
  font-size: .95rem;
  margin-bottom: 2rem;
  line-height: 1.6;
}
.error-actions { width: 100%; max-width: 280px; }

@media (max-width: 480px) {
  .error-page { padding: 3rem 5vw; }
  .error-icon { font-size: 3rem; }
}

/* ── EGYETLEN ELŐFIZETÉSI CSOMAG ──────────────────────────── */
.pricing-single-wrap {
  margin-top: 2.5rem;
  display: flex; flex-direction: column; align-items: center;
  gap: 1.5rem;
}
.pricing-single {
  max-width: 380px; width: 100%;
}
.pricing-price-row { margin-bottom: .2rem; }
.pricing-price-old {
  font-size: .95rem; color: rgba(255,255,255,.55);
  text-decoration: line-through;
}
.pricing-client-note {
  max-width: 480px; width: 100%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  display: flex; gap: 1rem; align-items: flex-start;
}
.pricing-client-icon {
  font-size: 1.5rem; flex-shrink: 0;
  width: 44px; height: 44px; border-radius: 12px;
  background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
}
.pricing-client-note strong { color: var(--white); font-size: .92rem; display: block; margin-bottom: .3rem; }
.pricing-client-note p { color: #c5d8ee; font-size: .85rem; line-height: 1.6; margin-bottom: .5rem; }
.pricing-client-note a { color: var(--accent); font-size: .85rem; font-weight: 500; text-decoration: none; }
.pricing-client-note a:hover { text-decoration: underline; }

@media (max-width: 480px) {
  .pricing-client-note { flex-direction: column; padding: 1rem; }
}

/* ── ELŐFIZETÉS ÖSSZEGZŐ (regisztráció után) ─────────────────────────────── */
.subscription-summary {
  background: #eaf1fb; border: 1.5px solid #b0cceb;
  border-radius: var(--radius-sm); padding: 1rem 1.1rem;
  margin-top: 1.25rem; text-align: left;
}
.subscription-summary-title { font-size: .9rem; font-weight: 600; color: var(--accent2); margin-bottom: .5rem; }
.subscription-summary-text { font-size: .85rem; color: var(--mid); line-height: 1.6; }
.subscription-summary-text strong { color: var(--ink); }

/* ── DASHBOARD ÁLTALÁNOS ──────────────────────────────────── */
.dash-wrap { padding: 2.5rem 5vw; max-width: 800px; margin: 0 auto; }
.dash-title { font-family: 'Syne', sans-serif; font-size: 1.6rem; font-weight: 800; margin-bottom: .4rem; }
.dash-sub { color: var(--mid); font-size: .9rem; margin-bottom: 2rem; }

/* ── SZÁMLÁZÁSI KÁRTYA ───────────────────────────────────── */
.billing-card {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.5rem;
}
.billing-card-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 1rem; flex-wrap: wrap; gap: .75rem;
}
.billing-status { font-size: .8rem; font-weight: 600; margin-bottom: .35rem; }
.billing-status-active  { color: var(--success); }
.billing-status-expired { color: var(--error); }
.billing-plan-name { font-family: 'Syne', sans-serif; font-size: 1.2rem; font-weight: 700; }
.billing-price { font-family: 'Syne', sans-serif; font-size: 1.6rem; font-weight: 800; color: var(--accent2); }
.billing-price span { font-size: .85rem; font-weight: 400; color: var(--mid); }
.billing-discount-note {
  background: #fff8e1; border: 1px solid #ffe082; color: #7a5a00;
  border-radius: var(--radius-sm); padding: .75rem 1rem;
  font-size: .85rem; margin-bottom: 1rem; line-height: 1.5;
}
.billing-details { border-top: 1px solid var(--paper2); padding-top: 1rem; }
.billing-detail-row {
  display: flex; justify-content: space-between;
  font-size: .875rem; padding: .5rem 0; color: var(--mid);
}
.billing-detail-row strong { color: var(--ink); }
.billing-note { font-size: .82rem; color: var(--light); margin-top: 1rem; line-height: 1.5; }

/* ── DASHBOARD KÁRTYÁK ────────────────────────────────────── */
.dash-card {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.5rem;
  text-decoration: none; color: var(--ink);
  transition: box-shadow .2s, transform .2s; display: block;
}
.dash-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); transform: translateY(-2px); }
.dash-card-icon  { font-size: 1.5rem; margin-bottom: .5rem; }
.dash-card-title { font-weight: 600; margin-bottom: .25rem; }
.dash-card-sub   { font-size: .825rem; color: var(--mid); }

/* ══════════════════════════════════════════════════════════
   KERESÉSI OLDAL — háromsávos elrendezés
   ══════════════════════════════════════════════════════════ */

/* ── Keresőoldal wrapper ─────────────────────────────────── */
.search-page { max-width: 1400px; margin: 0 auto; padding: 0 5vw 4rem; width: 100%; }

/* ── Topbar (keresőmező fent) ────────────────────────────── */
.search-topbar {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--light);
  margin-bottom: 1.5rem;
}
.search-topbar-form {
  display: flex; gap: .65rem; align-items: stretch; flex-wrap: wrap;
}
.search-topbar-input-wrap {
  flex: 1; display: flex; gap: .5rem; min-width: 0; flex-wrap: wrap; position: relative;
}
.search-topbar-input-wrap input {
  flex: 1; min-width: 180px; margin: 0;
  border-radius: var(--radius-sm); padding: .65rem 1rem;
  border: 1.5px solid var(--light); font-size: .875rem;
}
.search-topbar-btn {
  background: var(--accent); color: var(--white);
  border: none; border-radius: var(--radius-sm);
  padding: .65rem 1.5rem; font-family: 'DM Sans', sans-serif;
  font-size: .875rem; font-weight: 500; cursor: pointer;
  white-space: nowrap; transition: background .2s; flex-shrink: 0;
}
.search-topbar-btn:hover { background: #c94d08; }

/* Aktív szűrő tagek */
.search-active-filters { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .75rem; }
.filter-tag {
  font-size: .78rem; padding: .25rem .7rem;
  background: #ddeaf8; color: var(--accent2);
  border-radius: 99px; text-decoration: none;
  border: 1px solid #b0cceb; transition: background .15s;
}
.filter-tag:hover { background: #b0cceb; }
.filter-tag-clear { background: var(--paper2); color: var(--mid); border-color: var(--light); }

/* ── Háromsávos elrendezés ───────────────────────────────── */
.search-layout {
  display: grid;
  grid-template-columns: 220px 1fr 220px;
  gap: 1.5rem;
  align-items: start;
}

/* ── BAL OLDALSÁV: szűrők ────────────────────────────────── */
.search-sidebar-left {
  position: sticky; top: calc(var(--nav-h) + 1rem);
}
.filter-section {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.1rem;
  margin-bottom: .85rem;
}
.filter-title {
  font-family: 'Syne', sans-serif; font-size: .82rem;
  font-weight: 700; color: var(--ink); margin-bottom: .75rem;
  letter-spacing: .02em;
}
.filter-option {
  display: flex; align-items: center; gap: .5rem;
  font-size: .85rem; color: var(--mid);
  padding: .35rem .5rem; border-radius: 6px;
  cursor: pointer; transition: background .15s; margin-bottom: .1rem;
}
.filter-option input[type="radio"] { accent-color: var(--accent2); flex-shrink: 0; }
.filter-option:hover { background: var(--paper); color: var(--ink); }
.filter-option.active { background: #eaf1fb; color: var(--accent2); font-weight: 500; }
.filter-count {
  margin-left: auto; font-size: .72rem;
  background: var(--paper2); color: var(--mid);
  padding: .1rem .45rem; border-radius: 99px;
}
.filter-range-row {
  display: flex; align-items: center; gap: .4rem; margin-bottom: .6rem;
}
.filter-range-row input { margin: 0; padding: .5rem .6rem; font-size: .82rem; }
.filter-apply-btn {
  width: 100%; padding: .55rem; border: 1.5px solid var(--accent2);
  border-radius: var(--radius-sm); background: transparent;
  color: var(--accent2); font-family: 'DM Sans', sans-serif;
  font-size: .82rem; font-weight: 500; cursor: pointer;
  transition: all .2s; margin-top: .25rem;
}
.filter-apply-btn:hover { background: var(--accent2); color: var(--white); }
.filter-clear {
  display: block; font-size: .75rem; color: var(--mid);
  text-decoration: none; margin-top: .5rem; text-align: center;
}
.filter-clear:hover { color: var(--error); }

/* ── KÖZÉPSŐ: találatok ──────────────────────────────────── */
.search-main { min-width: 0; }
.search-results-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 1rem; flex-wrap: wrap; gap: .5rem;
}
.search-results-count { font-size: .9rem; color: var(--mid); }
.search-results-count strong { color: var(--ink); font-weight: 600; }
.search-sort { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--mid); }
.search-sort select { padding: .4rem .75rem; font-size: .82rem; width: auto; border-radius: var(--radius-sm); }

/* Szakember kártya a keresési listában */
.search-card {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.1rem;
  display: flex; gap: 1rem; align-items: flex-start;
  cursor: pointer; transition: box-shadow .2s, transform .2s;
  margin-bottom: .75rem;
}
.search-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.08); transform: translateY(-1px); }

.search-card-avatar { flex-shrink: 0; }
.search-card-avatar img {
  width: 70px; height: 70px; border-radius: 50%;
  object-fit: cover; border: 2px solid var(--light);
}
.search-card-initials {
  width: 70px; height: 70px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: 1.4rem; font-weight: 700;
}
.search-card-body { flex: 1; min-width: 0; }
.search-card-top {
  display: flex; justify-content: space-between;
  align-items: flex-start; gap: .5rem; margin-bottom: .4rem;
}
.search-card-name { font-weight: 600; font-size: .95rem; }
.search-card-prof { font-size: .8rem; color: var(--mid); margin-top: .1rem; }
.search-card-price {
  font-family: 'Syne', sans-serif; font-weight: 700;
  font-size: 1rem; color: var(--accent2); white-space: nowrap; flex-shrink: 0;
}
.search-card-price span { font-size: .72rem; font-weight: 400; color: var(--mid); }
.search-card-meta {
  display: flex; gap: 1rem; flex-wrap: wrap;
  font-size: .8rem; margin-bottom: .4rem;
}
.search-card-location { color: var(--mid); }
.search-card-rating   { display: flex; align-items: center; gap: .25rem; font-size: .8rem; }
.search-card-bio      { font-size: .82rem; color: var(--mid); line-height: 1.5; }
.search-card-action   { flex-shrink: 0; display: flex; align-items: center; }

/* Üres állapot */
.search-empty {
  text-align: center; padding: 4rem 2rem;
  background: var(--white); border-radius: var(--radius);
  border: 1px solid var(--light);
}
.search-empty h2 { font-family: 'Syne', sans-serif; font-size: 1.3rem; margin-bottom: .5rem; }
.search-empty p  { color: var(--mid); font-size: .9rem; }

/* Lapozó */
.search-pagination {
  display: flex; gap: .4rem; justify-content: center;
  margin-top: 1.5rem; flex-wrap: wrap;
}
.page-btn {
  padding: .45rem .9rem; border-radius: var(--radius-sm);
  border: 1.5px solid var(--light); background: var(--white);
  color: var(--ink); text-decoration: none; font-size: .85rem;
  transition: all .2s;
}
.page-btn:hover       { border-color: var(--accent2); color: var(--accent2); }
.page-btn-active      { background: var(--accent2); color: var(--white); border-color: var(--accent2); }

/* ── JOBB OLDALSÁV ───────────────────────────────────────── */
.search-sidebar-right {
  position: sticky; top: calc(var(--nav-h) + 1rem);
  display: flex; flex-direction: column; gap: .85rem;
}
.sidebar-widget {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.1rem;
}
.sidebar-widget-title {
  font-family: 'Syne', sans-serif; font-size: .82rem;
  font-weight: 700; margin-bottom: .85rem; color: var(--ink);
}
/* Gyors kategória */
.sidebar-cats   { display: flex; flex-direction: column; gap: .3rem; }
.sidebar-cat {
  display: flex; align-items: center; gap: .5rem;
  font-size: .82rem; color: var(--mid); padding: .35rem .6rem;
  border-radius: 6px; text-decoration: none; transition: all .15s;
}
.sidebar-cat:hover { background: var(--paper); color: var(--ink); }
.sidebar-cat.active { background: #eaf1fb; color: var(--accent2); font-weight: 500; }

/* Kiemelt szakember */
.sidebar-expert { text-align: center; }
.sidebar-expert-avatar { margin-bottom: .75rem; }
.sidebar-expert-avatar img {
  width: 72px; height: 72px; border-radius: 50%;
  object-fit: cover; border: 2px solid var(--light); margin: 0 auto;
}
.sidebar-expert-name     { font-weight: 600; font-size: .9rem; }
.sidebar-expert-prof     { font-size: .78rem; color: var(--mid); margin-top: .15rem; }
.sidebar-expert-location { font-size: .75rem; color: var(--light); margin-top: .1rem; }
.sidebar-expert-rating   { font-size: .8rem; margin-top: .35rem; }
.sidebar-expert-price    { font-family: 'Syne', sans-serif; font-weight: 700; color: var(--accent2); margin-top: .35rem; font-size: .9rem; }
.sidebar-expert-btn {
  display: block; margin-top: .85rem; padding: .55rem;
  background: var(--accent2); color: var(--white);
  border-radius: var(--radius-sm); text-decoration: none;
  font-size: .82rem; font-weight: 500; transition: background .2s;
}
.sidebar-expert-btn:hover { background: var(--accent); }

/* CTA sidebar */
.sidebar-cta { background: var(--accent2); border-color: var(--accent2); }
.sidebar-cta .sidebar-widget-title { color: var(--white); }
.sidebar-cta p { font-size: .82rem; color: #c5d8ee; line-height: 1.6; margin-bottom: .85rem; }
.sidebar-cta p strong { color: var(--white); }
.sidebar-cta-btn {
  display: block; padding: .65rem;
  background: var(--accent); color: var(--white);
  border-radius: var(--radius-sm); text-decoration: none;
  font-size: .82rem; font-weight: 600; text-align: center;
  transition: background .2s;
}
.sidebar-cta-btn:hover { background: #c94d08; }

/* ── RESZPONZÍV ──────────────────────────────────────────── */
@media (max-width: 1100px) {
  .search-layout { grid-template-columns: 200px 1fr; }
  .search-sidebar-right { display: none; }
}
@media (max-width: 768px) {
  .search-layout { grid-template-columns: 1fr; }
  .search-sidebar-left {
    position: static;
    display: flex; flex-wrap: wrap; gap: .5rem;
  }
  .filter-section {
    flex: 1 1 calc(50% - .25rem);
    margin-bottom: 0;
    min-width: 160px;
  }
}
@media (max-width: 480px) {
  .search-card { flex-direction: column; }
  .search-card-action { width: 100%; }
  .search-card-action .expert-btn { width: 100%; text-align: center; display: block; }
  .search-sidebar-left .filter-section { flex: 1 1 100%; }
  .search-topbar-input-wrap input { min-width: 100%; }
}

/* ══════════════════════════════════════════════════════════
   TALÁLAT KÁRTYA
   ══════════════════════════════════════════════════════════ */
.talalat-lista { display: flex; flex-direction: column; gap: .85rem; }

.talalat-kartya {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.25rem;
  display: flex; gap: 1.1rem; align-items: flex-start;
  transition: box-shadow .2s, transform .2s;
}
.talalat-kartya:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  transform: translateY(-1px);
}
.talalat-avatar { flex-shrink: 0; }
.talalat-avatar img {
  width: 80px; height: 80px; border-radius: 50%;
  object-fit: cover; border: 2px solid var(--light);
}
.talalat-monogram {
  width: 80px; height: 80px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: 1.5rem; font-weight: 700;
}
.talalat-tartalom { flex: 1; min-width: 0; }
.talalat-fejlec {
  display: flex; justify-content: space-between;
  align-items: flex-start; gap: .75rem; flex-wrap: wrap;
  margin-bottom: .5rem;
}
.talalat-nev    { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 1rem; }
.talalat-szakma { font-size: .82rem; color: var(--mid); margin-top: .15rem; }
.talalat-meta   {
  display: flex; flex-wrap: wrap; gap: .6rem;
  font-size: .8rem; color: var(--mid); margin-top: .35rem;
}
.talalat-ar { text-align: right; flex-shrink: 0; }
.talalat-ar-ertek {
  font-family: 'Syne', sans-serif; font-weight: 700;
  font-size: 1.1rem; color: var(--accent2);
}
.talalat-ar-egyseg { font-size: .75rem; color: var(--mid); }
.talalat-szoveg {
  font-size: .875rem; color: var(--mid); line-height: 1.6;
  margin-bottom: .65rem;
}
.talalat-lablec {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: .5rem; margin-top: .5rem;
}
.talalat-badge {
  font-size: .75rem; padding: .2rem .65rem;
  background: var(--paper2); border-radius: 99px;
  color: var(--mid); text-decoration: none; border: 1px solid var(--light);
}
.talalat-tovabb {
  font-size: .875rem; font-weight: 600;
  color: var(--accent2); text-decoration: none;
  padding: .4rem 1rem; border: 1.5px solid var(--accent2);
  border-radius: 99px; transition: all .2s; white-space: nowrap;
}
.talalat-tovabb:hover { background: var(--accent2); color: var(--white); }

/* ══════════════════════════════════════════════════════════
   PROFIL OLDAL
   ══════════════════════════════════════════════════════════ */
.profil-oldal { display: flex; flex-direction: column; gap: 1.1rem; }

.profil-fejlec {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.75rem;
  display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap;
}
.profil-fejlec-avatar img {
  width: 100px; height: 100px; border-radius: 50%;
  object-fit: cover; border: 3px solid var(--light);
}
.profil-monogram {
  width: 100px; height: 100px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: 2rem; font-weight: 700;
}
.profil-nev    { font-family: 'Syne', sans-serif; font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; }
.profil-szakma { font-size: .9rem; color: var(--mid); margin-top: .25rem; }
.profil-gomb {
  display: inline-block; padding: .5rem 1.1rem;
  border-radius: 99px; border: 1.5px solid var(--light);
  font-size: .82rem; font-weight: 500; text-decoration: none;
  color: var(--ink); transition: all .2s;
}
.profil-gomb:hover { border-color: var(--accent2); color: var(--accent2); }
.profil-gomb-fo { background: var(--accent2); color: var(--white) !important; border-color: var(--accent2); }
.profil-gomb-fo:hover { background: var(--accent); border-color: var(--accent); }

.profil-blokk {
  background: var(--white); border: 1px solid var(--light);
  border-radius: var(--radius); padding: 1.5rem;
}
.profil-blokk-cim {
  font-family: 'Syne', sans-serif; font-weight: 700; font-size: .95rem;
  margin-bottom: .85rem; color: var(--ink);
  padding-bottom: .65rem; border-bottom: 1px solid var(--paper2);
}
.profil-szoveg {
  font-size: .9rem; color: var(--mid); line-height: 1.75;
  white-space: pre-line;
}

.profil-galeria {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .65rem;
}
.profil-galeria-kep {
  border-radius: var(--radius-sm); overflow: hidden;
  aspect-ratio: 4/3; cursor: zoom-in; background: var(--paper2);
}
.profil-galeria-kep img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .25s;
}
.profil-galeria-kep:hover img { transform: scale(1.04); }

.profil-szolgaltatasok { display: flex; flex-direction: column; gap: 0; }
.profil-szolg-sor {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: .75rem 0; border-bottom: 1px solid var(--paper2); gap: 1rem;
}
.profil-szolg-sor:last-child { border-bottom: none; }
.profil-szolg-nev    { font-size: .9rem; font-weight: 500; flex: 1; }
.profil-szolg-leiras { font-size: .78rem; color: var(--mid); margin-top: .15rem; font-weight: 400; }
.profil-szolg-ar     { font-family: 'Syne', sans-serif; font-weight: 700; color: var(--accent2); font-size: .95rem; text-align: right; white-space: nowrap; }
.profil-szolg-egyseg { font-size: .72rem; font-weight: 400; color: var(--mid); }

/* Reszponzív */
@media (max-width: 600px) {
  .talalat-kartya  { flex-direction: column; }
  .talalat-avatar img, .talalat-monogram { width: 60px; height: 60px; font-size: 1.1rem; }
  .talalat-ar      { text-align: left; }
  .profil-fejlec   { flex-direction: column; }
  .profil-galeria  { grid-template-columns: repeat(2, 1fr); }
}

/* ── Navigáció: profilkép és kilépés gomb ────────────────── */
.nav-user-foto {
  width: 32px; height: 32px; border-radius: 50%;
  object-fit: cover; border: 2px solid var(--light);
  flex-shrink: 0;
}
.nav-kilepes-gomb {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--paper2); color: var(--mid);
  text-decoration: none; font-size: .9rem;
  border: 1px solid var(--light); transition: all .2s;
  margin-left: .25rem; flex-shrink: 0;
}
.nav-kilepes-gomb:hover {
  background: #fdf0ef; color: var(--error);
  border-color: #f5c6c1;
}
