/* =====================================================
   JobportĂˇl â€“ FĹ‘stĂ­luslap
   Mobile-first, modern, letisztult design
   jobs.hu / profesia.sk inspirĂˇciĂł
   ===================================================== */

/* --- CSS vĂˇltozĂłk (felĂĽlĂ­rhatĂłk JS-bĹ‘l portĂˇlonkĂ©nt) --- */
:root {
    --color-primary:    #2563eb;
    --color-primary-d:  #1d4ed8;
    --color-primary-l:  #dbeafe;
    --color-secondary:  #f8fafc;
    --color-text:       #1e293b;
    --color-muted:      #64748b;
    --color-border:     #e2e8f0;
    --color-white:      #ffffff;
    --color-success:    #16a34a;
    --color-warning:    #d97706;
    --color-danger:     #dc2626;
    --font-family:      -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    --shadow-sm:        0 1px 2px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.1);
    --shadow-md:        0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
    --shadow-lg:        0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
    --radius:           8px;
    --radius-lg:        12px;
    --transition:       .15s ease;
    --container:        1280px;
    --header-h:         64px;
}

/* ─── Dark mode (html.dark) ──────────────────────────────── */
html.dark {
    --color-secondary:  #0f172a;
    --color-text:       #e2e8f0;
    --color-muted:      #94a3b8;
    --color-border:     #334155;
    --color-white:      #1e293b;
    --color-primary-l:  #1e3a5f;
    --shadow-sm:        0 1px 3px rgba(0,0,0,.4);
    --shadow-md:        0 4px 12px rgba(0,0,0,.5);
    --shadow-lg:        0 10px 30px rgba(0,0,0,.6);
}
html.dark { color-scheme: dark; }
/* Alert dark overrides */
html.dark .alert-success { background:#0d2b1b; border-color:#166534; color:#86efac; }
html.dark .alert-error   { background:#3b0f0f; border-color:#991b1b; color:#fca5a5; }
html.dark .alert-warning { background:#2d1a06; border-color:#92400e; color:#fcd34d; }
html.dark .alert-info    { background:#0e1f4d; border-color:#1e3a8a; color:#93c5fd; }
/* Badge dark overrides */
html.dark .badge-primary { background:#1e3a5f; color:#93c5fd; }
html.dark .badge-success { background:#0d2b1b; color:#86efac; }
html.dark .badge-warning { background:#2d1a06; color:#fcd34d; }
html.dark .badge-muted   { background:#334155; color:#94a3b8; }
html.dark .badge-gold    { background:#2d1a06; color:#fbbf24; }
/* Featured job card */
html.dark .job-card.featured { border-color:#92400e !important; background: linear-gradient(135deg,#2d1a06 0%,#1e293b 100%) !important; }
/* Mobile bar */
html.dark .mobile-apply-bar { background:#1e293b; border-top-color:#334155; }
/* Céglogók (JPG fehér háttér) – sötét módban fehér keret */
html.dark .company-card-logo { background: #ffffff; border-color: #d1d5db; }

/* --- Reset --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
    font-family: var(--font-family);
    color: var(--color-text);
    background: var(--color-secondary);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
img { max-width: 100%; height: auto; display: block; }
a  { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

/* --- Utility --- */
.container   { max-width: var(--container); margin: 0 auto; padding: 0 16px; }
.sr-only     { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
.text-center { text-align: center; }
.text-muted  { color: var(--color-muted); }
.flex        { display: flex; }
.items-center{ align-items: center; }
.gap-2       { gap: 8px; }
.gap-3       { gap: 12px; }
.mt-2        { margin-top: 8px; }
.mt-4        { margin-top: 16px; }
.mb-4        { margin-bottom: 16px; }
.main-content{ flex: 1; }

/* --- Buttons --- */
.btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 6px; padding: 10px 20px; border-radius: var(--radius);
    border: 2px solid transparent; font-size: 14px; font-weight: 600;
    cursor: pointer; text-decoration: none; transition: all var(--transition);
    white-space: nowrap; line-height: 1.4; font-family: inherit;
}
.btn-primary  { background: var(--color-primary); color:#fff; border-color: var(--color-primary); }
.btn-primary:hover  { background: var(--color-primary-d); border-color: var(--color-primary-d); color:#fff; text-decoration:none; }
.btn-outline  { background: transparent; color: var(--color-primary); border: 1px solid #dbe2e8; }
.btn-outline:hover  { background: var(--color-primary); color:#fff; border-color: var(--color-primary); text-decoration:none; }
.btn-ghost    { background: transparent; color: var(--color-text); border-color: transparent; }
.btn-ghost:hover    { background: var(--color-border); text-decoration:none; }
.btn-danger   { background: var(--color-danger); color:#fff; border-color: var(--color-danger); }
.btn-sm       { padding: 6px 14px; font-size: 13px; }
.btn-lg       { padding: 14px 28px; font-size: 16px; }
.btn-block    { width: 100%; }

/* --- Badges --- */
.badge        { display:inline-block; padding:2px 10px; border-radius:99px; font-size:12px; font-weight:600; line-height:1.6; }
.badge-primary{ background: var(--color-primary-l); color: var(--color-primary-d); }
.badge-success{ background: #dcfce7; color: #15803d; }
.badge-warning{ background: #fef9c3; color: #a16207; }
.badge-muted  { background: var(--color-border); color: var(--color-muted); }
.badge-gold   { background: #fef3c7; color: #92400e; }

/* --- Alert --- */
.alert { padding:14px 18px; border-radius:var(--radius); margin-bottom:16px; font-size:14px; border:1px solid transparent; }
.alert-success{ background:#f0fdf4; border-color:#86efac; color:#166534; }
.alert-error  { background:#fef2f2; border-color:#fca5a5; color:#991b1b; }
.alert-warning{ background:#fffbeb; border-color:#fcd34d; color:#92400e; }
.alert-info   { background:#fff0f3; border-color:#f9a8c0; color:#9b0035; }

/* ==============================================
   HEADER
   ============================================== */
.site-header {
    position: sticky; top: 0; z-index: 1000;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
    height: var(--header-h);
}
.header-inner {
    display: flex; align-items: center; justify-content: space-between;
    height: var(--header-h); gap: 24px;
}
.site-logo {
    display: flex; align-items: center; gap: 10px;
    text-decoration: none; flex-shrink: 0;
}
.site-logo img       { height: 36px; width: auto; }
.logo-text           { font-size: 22px; font-weight: 800; color: var(--color-primary); letter-spacing: -0.5px; }
.logo-text span      { color: var(--color-text); }
.main-nav            { display: none; align-items: center; gap: 2px; }
.main-nav a          { padding: 8px 12px; border-radius: var(--radius); color: var(--color-text); font-size: 14px; font-weight: 500; text-decoration: none; transition: background var(--transition); }
.main-nav a:hover    { background: var(--color-secondary); }
.main-nav a.active   { color: var(--color-primary); font-weight: 600; }
.header-actions      { display: none; align-items: center; gap: 8px; }
.hamburger           { display: flex; flex-direction: column; gap: 5px; padding: 8px; cursor: pointer; background: none; border: none; border-radius: var(--radius); }
.hamburger span      { display: block; width: 22px; height: 2px; background: var(--color-text); transition: all var(--transition); border-radius: 2px; }
.hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.is-open span:nth-child(2) { opacity: 0; }
.hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobil nav */
.mobile-nav {
    display: none; position: fixed; inset: 0; background: var(--color-white);
    z-index: 999; padding: 76px 20px 20px; flex-direction: column; gap: 4px;
    overflow-y: auto;
}
.mobile-nav.is-open  { display: flex; }
.mobile-nav a        { padding: 13px 16px; border-radius: var(--radius); color: var(--color-text); font-size: 16px; font-weight: 500; text-decoration: none; border-bottom: 1px solid var(--color-border); }
.mobile-nav a:hover  { background: var(--color-secondary); }
.mobile-nav-actions  { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }

/* ==============================================
   HERO
   ============================================== */
.hero {
    background: linear-gradient(135deg, rgba(30,58,138,.82) 0%, rgba(37,99,235,.75) 55%, rgba(59,130,246,.65) 100%),
                url('https://workline.hu/img/hatter.jpg') center center / cover no-repeat;
    padding: 56px 0 72px; position: relative; overflow: hidden;
}
.hero-content        { position: relative; text-align: center; }
.hero-title          { font-size: clamp(26px, 5vw, 46px); font-weight: 800; color: #fff; margin-bottom: 12px; letter-spacing: -0.5px; line-height: 1.2; }
.hero-subtitle       { font-size: clamp(15px, 2.5vw, 19px); color: rgba(255,255,255,.85); margin-bottom: 36px; }
.hero-stats          { display: flex; justify-content: center; gap: 32px; margin-top: 28px; flex-wrap: wrap; }
.hero-stat           { color: rgba(255,255,255,.9); font-size: 14px; }
.hero-stat strong    { display: block; font-size: 24px; font-weight: 800; color: #fff; }

/* Search box */
.search-box {
    background: var(--color-white); border-radius: var(--radius-lg);
    padding: 14px; box-shadow: var(--shadow-lg);
    max-width: 860px; margin: 0 auto;
}
.search-row          { display: flex; flex-direction: column; gap: 10px; }
.search-field        { flex: 1; position: relative; }
.search-field svg    { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--color-muted); pointer-events: none; width: 18px; height: 18px; }
.search-field input,
.search-field select { width: 100%; padding: 12px 14px 12px 38px; border: 1.5px solid var(--color-border); border-radius: var(--radius); font-size: 15px; font-family: inherit; color: var(--color-text); background: var(--color-white); transition: border-color var(--transition); appearance: none; }
.search-field input:focus,
.search-field select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.search-field input::placeholder { color: var(--color-muted); }
.search-btn          { width: 100%; }

/* ==============================================
   SECTIONS
   ============================================== */
.section             { padding: 52px 0; }
.section-white       { background: var(--color-white); }
.section-header      { margin-bottom: 28px; }
.section-title       { font-size: clamp(20px, 3vw, 26px); font-weight: 700; color: var(--color-text); margin-bottom: 6px; }
.section-subtitle    { color: var(--color-muted); font-size: 15px; }
.section-header-row  { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }

/* ==============================================
   CATEGORY GRID
   ============================================== */
.category-grid       { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.category-card       {
    background: var(--color-white); border: 1.5px solid var(--color-border);
    border-radius: var(--radius-lg); padding: 18px 14px;
    text-decoration: none; display: flex; align-items: center; gap: 13px;
    transition: all var(--transition); cursor: pointer;
}
.category-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-2px); text-decoration: none; }
.cat-icon            { width: 44px; height: 44px; border-radius: var(--radius); background: var(--color-primary-l); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--color-primary); }
.cat-icon svg        { width: 22px; height: 22px; }
.cat-name            { font-weight: 600; font-size: 14px; color: var(--color-text); line-height: 1.3; }
.cat-count           { font-size: 13px; color: var(--color-muted); margin-top: 2px; }

/* ==============================================
   JOB CARDS
   ============================================== */
.job-grid            { display: grid; grid-template-columns: 1fr; gap: 14px; }
.job-card            {
    background: var(--color-white); border: 1.5px solid var(--color-border);
    border-radius: var(--radius-lg); padding: 18px 20px;
    text-decoration: none; display: block; min-width: 0;
    transition: all var(--transition); position: relative;
}
.job-card:hover      { border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-2px); text-decoration: none; }
.job-card.featured   { border-color: #fbbf24; background: #fffbeb; }
.job-card-inner      { display: flex; gap: 14px; align-items: flex-start; }
.company-logo        { width: 80px; height: 80px; border-radius: var(--radius); border: 1px solid var(--color-border); object-fit: contain; object-position: center; padding: 8px; background: #fff; flex-shrink: 0; }
/* Logo konténer – rögzített méret, kép aránymegtartással */
.company-logo-wrapper { display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius); flex-shrink: 0; }
.company-logo-wrapper img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; padding: 8px; box-sizing: border-box; }
.company-logo-placeholder { width: 80px; height: 80px; border-radius: var(--radius); border: 1px solid var(--color-border); background: var(--color-secondary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 24px; color: var(--color-muted); flex-shrink: 0; }
.job-body            { flex: 1; min-width: 0; }
.job-title           { font-size: 15px; font-weight: 700; color: var(--color-text); margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.job-company-name    { font-size: 13px; color: var(--color-primary); font-weight: 500; margin-bottom: 8px; }
.job-meta            { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.job-meta-item       { display: flex; align-items: center; gap: 4px; font-size: 13px; color: var(--color-muted); }
.job-meta-item svg   { width: 14px; height: 14px; flex-shrink: 0; }

/* ── Salary badge ───────────────────────────────────────────────────────── */
.job-salary-badge {
    display:         inline-flex;
    align-items:     center;
    gap:             5px;
    font-size:       12px;
    font-weight:     600;
    color:           #1B8A3C;
    background:      #E8F7EC;
    border:          1px solid #CDEED8;
    border-radius:   99px;
    padding:         2px 10px 2px 8px;
    line-height:     1.5;
    white-space:     nowrap;
    transition:      background .15s;
}
.job-card:hover .job-salary-badge,
.job-card:focus .job-salary-badge {
    background: #DDF4E4;
}

.job-card-footer     { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--color-border); flex-wrap: wrap; gap: 8px; }
.featured-tag        { position: absolute; top: 12px; right: 12px; background: #fbbf24; color: #78350f; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 99px; letter-spacing: 0.4px; }

/* ==============================================
   JOB LIST PAGE â€“ keresĹ‘ + lista layout
   ============================================== */
.jobs-layout         { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.jobs-filters        { width: 100%; background: var(--color-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 20px; }
.jobs-filters h3     { font-size: 15px; font-weight: 700; margin-bottom: 16px; color: var(--color-text); }
/* Mobile filter toggle button – hidden on desktop */
.filter-toggle-btn   { display: flex; align-items: center; gap: 8px; width: 100%; background: none; border: none; padding: 0 0 4px 0; font-size: 15px; font-weight: 700; color: var(--color-text); cursor: pointer; }
.filter-toggle-chevron { margin-left: auto; transition: transform .25s ease; }
.jobs-filters.is-open .filter-toggle-chevron { transform: rotate(180deg); }
.filter-collapsible  { overflow: visible; }
/* On mobile: collapsed by default */
@media (max-width: 767px) {
    .filter-toggle-btn { display: flex; }
    .jobs-filters:not(.is-open) .filter-collapsible { display: none; }
    .jobs-filters:not(.is-open) .filter-toggle-btn { padding-bottom: 0; }
}
/* On desktop: always expanded, button hidden */
@media (min-width: 768px) {
    .filter-toggle-btn { display: none; }
    .filter-collapsible { display: block !important; }
}
.filter-group        { margin-bottom: 16px; }
.filter-label        { display: block; font-size: 12px; font-weight: 600; color: var(--color-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.filter-group input,
.filter-group select { width: 100%; padding: 9px 12px; border: 1.5px solid var(--color-border); border-radius: var(--radius); font-size: 14px; font-family: inherit; color: var(--color-text); background: var(--color-white); appearance: none; transition: border-color var(--transition); }
.filter-group input:focus,
.filter-group select:focus { outline: none; border-color: var(--color-primary); }
.filter-check        { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; margin-bottom: 6px; }
.filter-check input  { width: auto; margin: 0; cursor: pointer; }
.jobs-main           { width: 100%; }
.jobs-header         { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; flex-wrap: wrap; gap: 10px; }
.jobs-count          { font-size: 15px; color: var(--color-muted); }
.jobs-count strong   { color: var(--color-text); }

/* ==============================================
   JOB DETAIL
   ============================================== */
.job-detail-layout   { display: flex; flex-direction: column; gap: 24px; }
.job-detail-main     { background: var(--color-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 28px; }
.job-detail-sidebar  { width: 100%; }
.job-detail-hdr      { display: flex; flex-direction: column; position: relative; overflow: hidden; min-height: clamp(260px, 28vw, 360px); margin-bottom: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--color-border); }
.job-detail-title    { font-size: clamp(22px, 4vw, 30px); font-weight: 800; color: var(--color-text); margin-bottom: 14px; line-height: 1.2; }
.job-detail-company  { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.company-logo-lg     { width: 68px; height: 68px; border-radius: var(--radius-lg); border: 1.5px solid var(--color-border); object-fit: contain; padding: 6px; background: #fff; }
.company-logo-lg-ph  { width: 68px; height: 68px; border-radius: var(--radius-lg); border: 1.5px solid var(--color-border); background: var(--color-secondary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 22px; color: var(--color-muted); }
.job-detail-meta     { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px; width: 100%; margin-top: auto; padding-top: 18px; position: relative; z-index: 1; }
@media (max-width: 767px) {
    .job-detail-hdr { min-height: 0; }
    .job-detail-meta { margin-top: 0; padding-top: 4px; gap: 10px; }
}
.job-detail-meta-item{ display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--color-muted); }
.job-detail-meta-item svg { width: 17px; height: 17px; color: var(--color-primary); }
.job-detail-body h2  { font-size: 17px; font-weight: 700; margin: 24px 0 10px; color: var(--color-text); }
.job-detail-body h2:first-child { margin-top: 0; }
.job-detail-body p   { margin-bottom: 12px; color: var(--color-text); line-height: 1.75; }
.job-detail-body ul  { padding-left: 20px; margin-bottom: 12px; }
.job-detail-body ul li { margin-bottom: 6px; color: var(--color-text); line-height: 1.65; }
.job-detail-body img { max-width: 100%; height: auto; vertical-align: middle; }
.job-detail-body li > img { max-height: 1.1em; width: auto; }

/* Sidebar */
.sidebar-card        { background: var(--color-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 20px; margin-bottom: 16px; }
.sidebar-card h3     { font-size: 15px; font-weight: 700; margin-bottom: 14px; }
.sidebar-row         { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 14px; }
.sidebar-row svg     { width: 17px; height: 17px; color: var(--color-primary); flex-shrink: 0; margin-top: 2px; }
.apply-box           { text-align: center; padding: 24px; }
.apply-box .btn      { width: 100%; margin-bottom: 10px; font-size: 15px; }

/* ==============================================
   COMPANIES
   ============================================== */
.companies-grid      { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.company-card        { background: var(--color-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 20px 16px 18px; text-decoration: none; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; transition: all var(--transition); }
.company-card:hover  { border-color: var(--color-primary); box-shadow: var(--shadow-md); text-decoration: none; transform: translateY(-2px); }
.company-card-logo   { width: 80px; height: 56px; border-radius: var(--radius); border: 1px solid var(--color-border); object-fit: contain; padding: 6px; background: #fff; }
.company-card-logo-ph{ width: 72px; height: 72px; border-radius: var(--radius-lg); border: 1px solid var(--color-border); background: var(--color-secondary); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 26px; color: var(--color-muted); }
.company-card-body   { width: 100%; }
.company-card-name   { font-size: 14px; font-weight: 700; color: var(--color-text); margin-bottom: 4px; line-height: 1.3; }
.company-card-desc   { font-size: 12px; color: var(--color-muted); line-height: 1.5; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.company-card-jobs   { font-size: 12px; font-weight: 600; color: var(--color-primary); }

/* Featured companies (logo rĂˇcs) */
.featured-grid       { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.feat-company-card   { background: var(--color-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 16px; text-decoration: none; text-align: center; transition: all var(--transition); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.feat-company-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); text-decoration: none; }
.feat-company-card img  { width: 80px; height: 44px; object-fit: contain; margin: 0 auto; }
.feat-company-logo-ph{ width: 60px; height: 60px; border-radius: var(--radius); background: var(--color-secondary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 20px; color: var(--color-muted); margin: 0 auto; }
.feat-name           { font-size: 13px; font-weight: 600; color: var(--color-text); }
.feat-count          { font-size: 12px; color: var(--color-muted); }

/* ==============================================
   COMPANY PROFILE
   ============================================== */
.company-showcase { margin-bottom: 34px; }
.company-profile-cover { margin-bottom: 20px; border-radius: var(--radius-lg); overflow: hidden; border: 1.5px solid var(--color-border); background: linear-gradient(135deg, rgba(162, 0, 73, 0.12) 0%, rgba(77, 36, 89, 0.18) 100%); position: relative; }
.company-profile-cover--hero { margin-bottom: 0; min-height: 260px; }
.company-profile-cover-img { width: 100%; height: clamp(180px, 30vw, 280px); object-fit: cover; display: block; }
.company-profile-cover-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16, 24, 40, 0.06) 0%, rgba(77, 36, 89, 0.58) 100%); }
.company-profile-panel { position: relative; z-index: 1; margin-top: -72px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); border: 1.5px solid rgba(255,255,255,.75); box-shadow: 0 18px 48px rgba(15, 23, 42, .12); border-radius: 28px; padding: 28px; }
.company-profile-brand-row { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
.company-profile-hdr { background: var(--color-white); border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 28px; display: flex; gap: 22px; align-items: flex-start; margin-bottom: 24px; flex-wrap: wrap; }
.company-profile-logo{ width: 124px; height: 124px; border-radius: 999px; border: 5px solid rgba(255,255,255,.98); object-fit: contain; padding: 10px; flex-shrink: 0; background: #fff; box-shadow: 0 12px 24px rgba(15, 23, 42, .14); }
.company-profile-logo-ph { width: 124px; height: 124px; border-radius: 999px; border: 5px solid rgba(255,255,255,.98); background: linear-gradient(135deg, #f8d7e3 0%, #f3edf6 100%); display: flex; align-items: center; justify-content: center; font-size: 42px; font-weight: 800; color: #8c1d4f; flex-shrink: 0; box-shadow: 0 12px 24px rgba(15, 23, 42, .14); }
.company-profile-heading { flex: 1; min-width: min(100%, 340px); }
.company-profile-kicker { display: inline-flex; align-items: center; padding: 7px 12px; border-radius: 999px; background: rgba(162, 0, 73, .1); color: #8b1248; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 14px; }
.company-profile-title { font-size: 26px; font-weight: 800; margin-bottom: 8px; }
.company-profile-lead { max-width: 780px; color: #475467; line-height: 1.7; font-size: 15px; margin-bottom: 16px; }
.company-profile-meta{ display: flex; flex-wrap: wrap; gap: 14px; color: var(--color-muted); font-size: 14px; }
.company-profile-meta a { color: var(--color-primary); }
.company-inline-icon { width: 16px; height: 16px; display: inline-flex; vertical-align: text-bottom; margin-right: 4px; color: #ce234e; }
.company-inline-icon svg { width: 16px; height: 16px; }
.company-profile-desc{ margin-top: 16px; color: var(--color-muted); line-height: 1.75; font-size: 15px; }
.company-profile-socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.company-profile-social-link { display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border: 1px solid rgba(162,0,73,.12); border-radius: 999px; text-decoration: none; color: #7f1d4d; font-size: 13px; font-weight: 700; background: #fff; transition: .18s ease; }
.company-social-link-icon { width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; margin-right: 8px; color: #ce234e; }
.company-social-link-icon svg { width: 16px; height: 16px; }
.company-profile-social-link:hover { border-color: #ce234e; color: #ce234e; box-shadow: 0 10px 18px rgba(206, 35, 78, .12); text-decoration: none; }
.company-facts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.company-fact-card { padding: 18px; border-radius: 22px; background: linear-gradient(180deg, #fff 0%, #fff7fa 100%); border: 1px solid #f2d4df; min-height: 128px; }
.company-fact-icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: rgba(206, 35, 78, .1); color: #ce234e; margin-bottom: 16px; }
.company-fact-icon svg { width: 20px; height: 20px; }
.company-fact-label { color: #667085; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
.company-fact-value { color: #101828; font-size: 17px; font-weight: 800; line-height: 1.45; }
.company-story-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr); gap: 24px; margin-bottom: 34px; align-items: start; }
.company-story-card,
.company-media-card { background: #fff; border: 1.5px solid var(--color-border); border-radius: 24px; padding: 24px; box-shadow: 0 10px 34px rgba(15, 23, 42, .05); }
.company-story-kicker { display: inline-flex; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #8b1248; margin-bottom: 12px; }
.company-story-title { font-size: clamp(22px, 3vw, 30px); line-height: 1.2; margin-bottom: 18px; color: #101828; }
.company-story-copy { display: grid; gap: 14px; color: #475467; line-height: 1.8; }
.company-story-copy p { margin: 0; }
.company-about-html { color: #475467; line-height: 1.8; }
.company-about-html p { margin: 0 0 10px; }
.company-about-html p:last-child { margin-bottom: 0; }
.company-about-html strong, .company-about-html b { font-weight: 600; color: #344054; }
.company-about-html em, .company-about-html i { font-style: italic; }
.company-about-html ul, .company-about-html ol { margin: 6px 0 10px 18px; padding: 0; }
.company-about-html li { margin-bottom: 4px; }
.company-about-html h2 { font-size: 18px; font-weight: 700; color: #101828; margin: 14px 0 6px; }
.company-about-html h3 { font-size: 15px; font-weight: 600; color: #344054; margin: 10px 0 4px; }
.company-meta-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.company-meta-list-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid #f2d4df; border-radius: 18px; background: linear-gradient(180deg, #fff 0%, #fff9fb 100%); }
.company-meta-list-icon { width: 38px; height: 38px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: rgba(206, 35, 78, .1); color: #ce234e; }
.company-meta-list-icon svg { width: 18px; height: 18px; }
.company-meta-list-content { display: grid; gap: 0; min-width: 0; }
.company-meta-list-content span { color: #475467; line-height: 1.7; }
.company-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.company-media-tile { border-radius: 18px; overflow: hidden; min-height: 180px; background: #f8f4f6; }
.company-media-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.company-video-embed { border-radius: 20px; overflow: hidden; background: #0f172a; }
.company-video-embed iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; display: block; }
@media (max-width: 640px) {
  .company-profile-cover { margin-bottom: 16px; }
  .company-profile-panel { margin-top: -36px; padding: 20px; border-radius: 22px; }
  .company-profile-logo,
  .company-profile-logo-ph { width: 102px; height: 102px; }
  .company-profile-title { font-size: 24px; }
  .company-facts-grid { grid-template-columns: 1fr; }
  .company-story-grid { grid-template-columns: 1fr; }
  .company-media-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .company-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-story-grid { grid-template-columns: 1fr; }
}

/* ==============================================
   PAGINATION
   ============================================== */
.pagination          { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 32px; flex-wrap: wrap; }
.pagination a,
.pagination span     { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; border-radius: var(--radius); border: 1.5px solid var(--color-border); font-size: 14px; font-weight: 500; text-decoration: none; color: var(--color-text); padding: 0 8px; transition: all var(--transition); }
.pagination a:hover  { border-color: var(--color-primary); color: var(--color-primary); }
.pagination .active  { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.pagination .dots    { border: none; }

/* ==============================================
   BREADCRUMB
   ============================================== */
.breadcrumb          { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--color-muted); margin-bottom: 20px; flex-wrap: wrap; }
.breadcrumb a        { color: var(--color-muted); text-decoration: none; }
.breadcrumb a:hover  { color: var(--color-primary); }
.breadcrumb .sep     { color: var(--color-border); }

/* ==============================================
   PAGE HEADER (belsĹ‘ oldalak)
   ============================================== */
.page-header         { background: var(--color-white); border-bottom: 1px solid var(--color-border); padding: 28px 0; }
.page-header-title   { font-size: clamp(20px, 4vw, 32px); font-weight: 800; color: var(--color-text); }
.page-header-sub     { color: var(--color-muted); font-size: 15px; margin-top: 6px; }

/* ==============================================
   FORMS
   ============================================== */
.form-group          { margin-bottom: 18px; }
.form-label          { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; color: var(--color-text); }
.form-control        { width: 100%; padding: 10px 14px; border: 1.5px solid var(--color-border); border-radius: var(--radius); font-size: 15px; font-family: inherit; color: var(--color-text); background: var(--color-white); transition: border-color var(--transition); }
.form-control:focus  { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
textarea.form-control{ min-height: 120px; resize: vertical; }

/* ==============================================
   FOOTER
   ============================================== */
.site-footer         { background: #0f172a; color: #94a3b8; padding: 52px 0 24px; }
.footer-grid         { display: grid; grid-template-columns: 1fr; gap: 32px; margin-bottom: 40px; }
.footer-logo-img     { height: 36px; filter: brightness(0) invert(1); }
.footer-brand .logo-text { color: #fff; }
.footer-brand .logo-text span { color: #94a3b8; }
.footer-desc         { font-size: 14px; margin-top: 10px; line-height: 1.7; }

/* Typewriter */
.footer-typewriter   { margin: 14px 0 6px; min-height: 4em; }
.footer-tw-text      { font-family: 'Caveat', cursive; font-size: 26px; font-weight: 700; color: #fff; letter-spacing: .3px; line-height: 1.2; }
.footer-tw-cursor    { display: inline-block; font-family: 'Caveat', cursive; font-size: 26px; font-weight: 300; color: rgba(255,255,255,.6); margin-left: 2px; animation: twBlink 1.1s step-end infinite; }
@keyframes twBlink   { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.footer-brand-nav    { margin-top: 0px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; }
.footer-brand-nav a  { display: block; color: #94a3b8; font-size: 14px; text-decoration: none; padding: 4px 0; transition: color var(--transition); }
.footer-brand-nav a:hover { color: #fff; }
.footer-col h4       { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; color: #fff; margin-bottom: 14px; }
.footer-col a        { display: block; color: #94a3b8; font-size: 14px; text-decoration: none; margin-bottom: 9px; transition: color var(--transition); }
.footer-col a:hover  { color: #fff; }
.footer-bottom       { padding-top: 22px; border-top: 1px solid #1e293b; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 13px; }
.footer-legal-links  { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-legal-links a { color: #64748b; font-size: 13px; text-decoration: none; transition: color .15s; }
.footer-legal-links a:hover { color: #fff; }
.hero-social         { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.hero-social-link    { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.2); transition: background .15s; flex-shrink: 0; }
.hero-social-link:hover { background: rgba(255,255,255,.35); }
.hero-social-link svg { width: 14px; height: 14px; fill: #fff; }

/* ==============================================
   ADMIN
   ============================================== */
/* ── Admin – Workline brand color override ──────────────────── */
.admin-body {
    background: #f1f5f9;
    min-height: 100vh;
    --color-primary:   #a20049;
    --color-primary-d: #7a0037;
    --color-primary-l: #fce7ef;
}
.admin-header        { background: var(--admin-hdr,linear-gradient(-90deg,#4d2459,#781251 18%,#a20049 48%,#bb144c 77%,#d4284f)); color: #fff; padding: 0 24px; height: 60px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 100; }
.admin-header-brand  { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.admin-header-brand-sep  { color: rgba(255,255,255,.35); font-size: 18px; font-weight: 300; }
.admin-header-brand-label { font-size: 13px; font-weight: 700; letter-spacing: 1.5px; color: rgba(255,255,255,.85); }
.admin-header nav    { display: flex; align-items: center; gap: 4px; }
.admin-header nav a  { color: rgba(255,255,255,.75); font-size: 14px; text-decoration: none; }
.admin-header nav a:hover { color: #fff; }
.admin-nav-icon      { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 10px; border-radius: 6px; color: rgba(255,255,255,.8); text-decoration: none; transition: background .15s, color .15s; }
.admin-nav-icon:hover { background: rgba(255,255,255,.15); color: #fff; text-decoration: none; }
.admin-nav-active    { background: rgba(255,255,255,.2); color: #fff !important; }
.admin-nav-label     { font-size: 10px; line-height: 1; white-space: nowrap; }
.admin-nav-logout    { }
.admin-banner         { position: relative; line-height: 0; overflow: hidden; }
.admin-banner img     { width: 100%; height: 70px; object-fit: cover; display: block; }
.admin-banner-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--admin-overlay,linear-gradient(-90deg,rgba(77,36,89,.8),rgba(120,18,81,.8) 38%,rgba(162,0,73,.8))); }
.admin-layout        { display: flex; min-height: calc(100vh - 60px); }
.admin-sidebar       { width: 220px; background-color: #25292d; color: #a2a3a5; border-right: 1px solid #1a1d20; padding: 16px 0; flex-shrink: 0; }
.admin-sidebar a     { display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: #a2a3a5; text-decoration: none; font-size: 14px; font-weight: 500; transition: background var(--transition), color var(--transition); border-left: 3px solid transparent; }
.admin-sidebar a:hover { background-color: #2f3234; color: #fff; text-decoration: none; }
.admin-sidebar a.active { color: #fff; background: rgba(255,255,255,.1); border-left-color: var(--admin-accent,#d4284f); }
.admin-sidebar a.sub-item { padding-left: 36px; font-size: 13px; font-weight: 400; color: #888a8c; border-left-color: transparent; }
.admin-sidebar a.sub-item:hover { color: #fff; background-color: #2f3234; text-decoration: none; }
.admin-sidebar a.sub-item.active { color: #fff; background: rgba(255,255,255,.1); border-left-color: var(--admin-accent,#d4284f); }
.admin-sidebar .nav-section { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; color: #666b72; padding: 14px 20px 4px; }
.admin-content-col   { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.admin-content       { flex: 1; padding: 28px; min-width: 0; max-width: 1200px; }
.admin-content.wide  { max-width: none; }
.admin-page-title    { font-size: 22px; font-weight: 700; margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.card                { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 24px; margin-bottom: 24px; }
.card-title          { font-size: 15px; font-weight: 700; margin-bottom: 16px; }
.table-wrap          { overflow-x: auto; }
table.data-table     { width: 100%; border-collapse: collapse; font-size: 14px; }
table.data-table th  { text-align: left; padding: 10px 12px; background: var(--color-secondary); font-weight: 600; color: var(--color-muted); font-size: 13px; white-space: nowrap; }
table.data-table td  { padding: 11px 12px; border-bottom: 1px solid var(--color-border); vertical-align: middle; }
table.data-table tr:last-child td { border-bottom: none; }
table.data-table tr:hover td { background: #f8fafc; }
.stats-grid          { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; }
.stat-card           { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 20px; }
.stat-value          { font-size: 30px; font-weight: 800; color: var(--color-primary); }
.stat-label          { font-size: 14px; color: var(--color-muted); margin-top: 4px; }
.actions-row         { display: flex; gap: 6px; flex-wrap: wrap; }

/* ── Admin téma CSS-változók ──────────────────────────────── */
html:not([data-admin-theme]), html[data-admin-theme="default"] {
    --admin-hdr:     linear-gradient(-90deg,#4d2459,#781251 18%,#a20049 48%,#bb144c 77%,#d4284f);
    --admin-accent:  #d4284f;
    --admin-overlay: linear-gradient(-90deg,rgba(77,36,89,.8),rgba(120,18,81,.8) 38%,rgba(162,0,73,.8));
}
html[data-admin-theme="blue"] {
    --admin-hdr:     linear-gradient(-90deg,#1e3a8a,#1d4ed8 35%,#2563eb 70%,#3b82f6);
    --admin-accent:  #3b82f6;
    --admin-overlay: linear-gradient(-90deg,rgba(30,58,138,.85),rgba(29,78,216,.8) 45%,rgba(37,99,235,.7));
}
html[data-admin-theme="green"] {
    --admin-hdr:     linear-gradient(-90deg,#064e3b,#047857 35%,#059669 70%,#10b981);
    --admin-accent:  #10b981;
    --admin-overlay: linear-gradient(-90deg,rgba(6,78,59,.85),rgba(4,120,87,.8) 45%,rgba(5,150,105,.7));
}
html[data-admin-theme="sun"] {
    --admin-hdr:     linear-gradient(90deg,#c2410c,#f97316 45%,#fbbf24);
    --admin-accent:  #f97316;
    --admin-overlay: linear-gradient(90deg,rgba(194,65,12,.85),rgba(249,115,22,.75) 55%,rgba(251,191,36,.65));
}
html[data-admin-theme="turkiz"] {
    --admin-hdr:     linear-gradient(86.63deg,#1E3D6E -4.79%,#53BCC3 100%);
    --admin-accent:  #e5064b;
    --admin-overlay: linear-gradient(86.63deg,rgba(30,61,110,.85) -4.79%,rgba(83,188,195,.75) 100%);
}

/* ── Téma-specifikus primary szín (.admin-body összes elem) ── */
html[data-admin-theme="blue"] .admin-body {
    --color-primary:   #2563eb;
    --color-primary-d: #1d4ed8;
    --color-primary-l: #dbeafe;
}
html[data-admin-theme="green"] .admin-body {
    --color-primary:   #059669;
    --color-primary-d: #047857;
    --color-primary-l: #d1fae5;
}
html[data-admin-theme="sun"] .admin-body {
    --color-primary:   #f97316;
    --color-primary-d: #ea580c;
    --color-primary-l: #fff7ed;
}
html[data-admin-theme="turkiz"] .admin-body {
    --color-primary:   #e5064b;
    --color-primary-d: #8f1c6b;
    --color-primary-l: #fce7ef;
}
html[data-admin-theme="turkiz"] .admin-body .btn-primary {
    background: linear-gradient(94.14deg,#e5064b -15.55%,#8f1c6b 118.75%);
    border-color: #e5064b;
}
html[data-admin-theme="turkiz"] .admin-body .btn-primary:hover {
    background: linear-gradient(94.14deg,#8f1c6b -15.55%,#e5064b 118.75%);
    border-color: #8f1c6b;
}

/* ── Admin sötét mód kapcsoló ikon ──────────────────────── */
.admin-dark-btn .icon-sun  { display: none; }
.admin-dark-btn .icon-moon { display: block; }
html.admin-dark .admin-dark-btn .icon-sun  { display: block; }
html.admin-dark .admin-dark-btn .icon-moon { display: none; }

/* ── Admin téma picker popup (dark mode) ──────────────── */
html.admin-dark #adminThemeMenu                  { background: #1e293b !important; border-color: #334155 !important; }
html.admin-dark #adminThemeMenu div[style*="6b7280"] { color: #64748b !important; }
html.admin-dark #adminThemeMenu [data-theme]     { color: #e2e8f0 !important; }
html.admin-dark #adminThemeMenu [data-theme]:hover { background: #2d3748 !important; border-color: #475569 !important; }

/* ── Admin sötét mód ─────────────────────────────────────── */
html.admin-dark .admin-body          { background: #0f172a; color: #e2e8f0; }
html.admin-dark .admin-sidebar       { background-color: #111318; border-right-color: #0a0c10; }
html.admin-dark .admin-sidebar a     { color: #94a3b8; }
html.admin-dark .admin-sidebar a:hover { background: #1e2530; color: #e2e8f0; }
html.admin-dark .admin-sidebar .nav-section { color: #3d4451; }
html.admin-dark .admin-content-col   { background: #0f172a; }
html.admin-dark .admin-page-title    { color: #e2e8f0; }
html.admin-dark .card                { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.admin-dark .card-title          { color: #e2e8f0; }
html.admin-dark table.data-table th  { background: #0f172a; color: #64748b; }
html.admin-dark table.data-table td  { border-color: #334155; color: #cbd5e1; }
html.admin-dark table.data-table tr:hover td { background: #1e293b; }
html.admin-dark .form-control        { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.admin-dark select.form-control  { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.admin-dark textarea.form-control { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.admin-dark .form-control:focus  { background: #1e293b; border-color: var(--admin-accent,#d4284f); box-shadow: 0 0 0 3px rgba(148,163,184,.1); }
html.admin-dark label                { color: #94a3b8; }
html.admin-dark .form-text, html.admin-dark small.text-muted { color: #64748b; }
html.admin-dark .stat-card           { background: #1e293b; border-color: #334155; }
html.admin-dark .stat-label          { color: #64748b; }
html.admin-dark .stat-value          { color: var(--admin-accent,#d4284f); }
html.admin-dark .alert-info          { background: #2d0a1a; border-color: #7a1a32; color: #fca5a5; }
html.admin-dark .alert-success       { background: #0d2b1b; border-color: #166534; color: #86efac; }
html.admin-dark .alert-error         { background: #3b0f0f; border-color: #991b1b; color: #fca5a5; }
html.admin-dark .alert-warning       { background: #2d1a06; border-color: #92400e; color: #fcd34d; }
html.admin-dark h1,html.admin-dark h2,html.admin-dark h3,html.admin-dark h4 { color: #e2e8f0; }
html.admin-dark hr                   { border-color: #334155; }
html.admin-dark #sidebarToggleBtn    { background: #1a1d22; color: #64748b; }
html.admin-dark #sidebarToggleBtn:hover { background: #252a31; color: #e2e8f0; }
html.admin-dark .admin-header nav a  { color: rgba(255,255,255,.75); }
html.admin-dark .badge               { border-color: #334155; }
html.admin-dark .text-muted          { color: #64748b !important; }
html.admin-dark .admin-banner-overlay { opacity: .9; }

/* User / Cég sidebar dark mode */
html.admin-dark .user-sidebar        { background: #111318; }
html.admin-dark .user-nav-item       { color: rgba(255,255,255,.7); }
html.admin-dark .user-nav-item:hover { background: rgba(255,255,255,.08); color: #fff; }
html.admin-dark .user-nav-item.active{ background: rgba(255,255,255,.12); color: #fff; }
html.admin-dark .ceg-sidebar         { background: #111318; }
html.admin-dark .ceg-nav-item        { color: rgba(255,255,255,.7); }
html.admin-dark .ceg-nav-item:hover  { background: rgba(255,255,255,.08); color: #fff; }
html.admin-dark .ceg-nav-item.active { background: rgba(255,255,255,.12); color: #fff; }

/* Sidebar footer (user/ceg) */
.usf-links { display:flex; flex-wrap:wrap; gap:4px 12px; padding:0 12px 6px; }
.usf-links a { font-size:11px; color:rgba(255,255,255,.45); text-decoration:none; transition:color .15s; }
.usf-links a:hover { color:rgba(255,255,255,.8); }
.usf-copy  { font-size:10.5px; color:rgba(255,255,255,.3); padding:0 12px 12px; line-height:1.4; }

/* Header időjárás */
.wh-nav { gap:4px !important; min-width:auto !important; }

/* Login */
.login-wrap          { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #7a0037 0%, #4d2459 100%); padding: 24px; }
.login-box           { background: #fff; border-radius: 20px; padding: 0; width: 100%; max-width: 420px; box-shadow: 0 20px 60px rgba(0,0,0,.35); overflow: hidden; }
.login-head          { background: linear-gradient(135deg, #a20049 0%, #4d2459 100%); padding: 32px 40px 28px; text-align: center; }
.login-head img      { height: 40px; width: auto; display: block; margin: 0 auto; }
.login-body          { padding: 32px 40px 36px; }
.login-logo          { text-align: center; margin-bottom: 28px; }
.login-title         { font-size: 20px; font-weight: 700; margin-bottom: 4px; text-align: center; color: var(--color-text); }
.login-sub           { color: var(--color-muted); font-size: 13px; text-align: center; margin-bottom: 24px; }
.login-body .form-control { border-radius: 25px; padding: 11px 18px; }
.login-body .form-control:focus { box-shadow: 0 0 0 3px rgba(162,0,73,.12); border-color: #a20049; }
.login-btn-wrap      { text-align: center; margin-top: 8px; }
.login-btn-wrap .btn { border-radius: 25px; padding: 11px 40px; font-weight: 600; background: linear-gradient(135deg, #a20049, #7a0037); border: none; color: #fff; cursor: pointer; font-size: 15px; transition: opacity .18s; }
.login-btn-wrap .btn:hover { opacity: .88; }

/* Import log */
.log-box             { background: #0f172a; color: #94a3b8; font-family: 'Courier New', monospace; font-size: 13px; padding: 16px; border-radius: var(--radius); min-height: 120px; max-height: 400px; overflow-y: auto; line-height: 1.6; }
.log-box .log-ok     { color: #4ade80; }
.log-box .log-err    { color: #f87171; }
.log-box .log-info   { color: #93c5fd; }

/* ==============================================
   RESPONSIVE
   ============================================== */
@media (min-width: 480px) {
    .featured-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 640px) {
    .search-row    { flex-direction: row; }
    .search-btn    { width: auto; }
    .companies-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
    .container     { padding: 0 24px; }
    .main-nav      { display: flex; }
    .header-actions{ display: flex; }
    .hamburger     { display: none; }
    .category-grid { grid-template-columns: repeat(3, 1fr); }
    .job-grid      { grid-template-columns: repeat(2, 1fr); }
    .featured-grid { grid-template-columns: repeat(4, 1fr); }
    .footer-grid   { grid-template-columns: repeat(2, 1fr); }
    .jobs-layout   { flex-direction: row; align-items: flex-start; }
    .jobs-filters  { width: 280px; flex-shrink: 0; position: sticky; top: calc(var(--header-h) + 16px); }
    .stats-grid    { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1024px) {
    .category-grid { grid-template-columns: repeat(4, 1fr); }
    .job-grid      { grid-template-columns: repeat(2, 1fr); }
    .featured-grid { grid-template-columns: repeat(5, 1fr); }
    .companies-grid{ grid-template-columns: repeat(4, 1fr); }
    .footer-grid   { grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; }
    .job-detail-layout { flex-direction: row; align-items: flex-start; }
    .job-detail-main   { flex: 1; }
    .job-detail-sidebar{ width: 320px; flex-shrink: 0; position: sticky; top: calc(var(--header-h) + 16px); }
}
@media (min-width: 1280px) {
    .job-grid { grid-template-columns: repeat(3, 1fr); }
    .companies-grid { grid-template-columns: repeat(5, 1fr); }
}

/* Mobile sticky apply/CTA bar */
.mobile-apply-bar {
    display: block;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    border-top: 1.5px solid var(--color-border);
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 200;
    box-shadow: 0 -2px 12px rgba(0,0,0,.10);
}
.mobile-apply-bar .btn { width: 100%; font-size: 15px; }
@media (min-width: 1024px) { .mobile-apply-bar { display: none; } }

/* ─── Scroll-to-top gomb ─────────────────────────────────── */
#scrollTopBtn {
    position: fixed; bottom: 24px; right: 24px;
    width: 44px; height: 44px;
    background: var(--color-primary); color: #fff;
    border: none; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; z-index: 490;
    box-shadow: var(--shadow-md);
    opacity: 0; pointer-events: none;
    transition: opacity .25s, transform .25s, background .15s;
    transform: translateY(12px);
}
#scrollTopBtn.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
#scrollTopBtn:hover   { background: var(--color-primary-d); transform: translateY(-2px); }
@media (max-width: 1023px) { #scrollTopBtn { bottom: 80px; right: 16px; } }

/* Print */
@media print {
    .site-header, .site-footer, .jobs-filters, .sidebar-card { display: none; }
    .job-detail-layout { display: block; }
}

/* ==============================================
   LEGAL PAGES (impresszum, aszf, adatkezeles)
   ============================================== */
.legal-content h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    margin-top: 2rem;
    margin-bottom: .5rem;
    padding-bottom: .25rem;
    border-bottom: 2px solid #e2e8f0;
}
.legal-content h3 {
    font-size: 1rem;
    font-weight: 600;
    color: #334155;
    margin-top: 1.25rem;
    margin-bottom: .4rem;
}
.legal-content p,
.legal-content ul,
.legal-content ol {
    color: #475569;
    line-height: 1.75;
    margin-bottom: .9rem;
}
.legal-content ul,
.legal-content ol {
    padding-left: 1.4rem;
}
.legal-content a { color: var(--color-primary); text-decoration: underline; }
.legal-content a:hover { opacity: .8; }

/* â”€â”€ Impresszum oldal â”€â”€ */
.imp-page {
    max-width: 860px;
    padding: 40px 20px 64px;
}
.imp-breadcrumb {
    font-size: .85rem;
    color: #94a3b8;
    margin-bottom: 32px;
    display: flex;
    gap: 6px;
    align-items: center;
}
.imp-breadcrumb a { color: var(--color-primary); text-decoration: none; }
.imp-breadcrumb a:hover { text-decoration: underline; }
.imp-title {
    font-size: 2rem;
    font-weight: 800;
    color: #1e293b;
    letter-spacing: -.5px;
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 3px solid var(--color-primary);
}
.imp-section {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #f1f5f9;
}
.imp-section:last-child { border-bottom: none; }
.imp-section p {
    color: #374151;
    line-height: 1.8;
    margin-bottom: 10px;
}
.imp-section p:last-child { margin-bottom: 0; }
.imp-section a { color: var(--color-primary); text-decoration: underline; }
.imp-company-main {
    font-size: 1.05rem;
    margin-bottom: 12px !important;
}
/* Partnerek sor */
.imp-partners {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.imp-partner-row {
    display: flex;
    gap: 16px;
    align-items: baseline;
    font-size: .95rem;
    color: #374151;
}
.imp-partner-label {
    min-width: 120px;
    font-weight: 600;
    color: #64748b;
}
/* ElĂ©rhetĹ‘sĂ©gek */
.imp-contacts p { margin-bottom: 14px !important; }
.imp-contact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.imp-contact-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    font-size: .93rem;
    color: #374151;
    min-width: 220px;
}
.imp-contact-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e2e8f0;
    flex-shrink: 0;
    display: block;
}
.imp-contact-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.imp-contact-card strong { font-size: 1rem; color: #1e293b; }
.imp-contact-card a { color: var(--color-primary); text-decoration: none; }
.imp-contact-card a:hover { text-decoration: underline; }

/* â”€â”€ Impresszum â€“ KĂ©toszlopos elrendezĂ©s â”€â”€ */
.imp-two-col-page {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 56px 0 72px;
}
.imp-two-col-wrap {
    display: grid;
    grid-template-columns: minmax(300px, 400px) 1fr;
    gap: 52px;
    align-items: start;
}
.imp-col-form {
    position: sticky;
    top: 80px;
    background: #fff;
    border-radius: 14px;
    padding: 32px 28px;
    box-shadow: 0 2px 20px rgba(0,0,0,.07);
}
.imp-col-content { min-width: 0; color: #22201c; }
.imp-contact-tag {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--color-primary);
    text-transform: uppercase;
    margin-bottom: 10px;
}
.imp-contact-title {
    font-size: 1.45rem;
    font-weight: 800;
    color: #1e293b;
    line-height: 1.3;
    margin-bottom: 24px;
}

/* Form mezĹ‘k */
.imp-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.imp-form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.imp-form-row .imp-form-group { margin-bottom: 0; }
.imp-form-label { font-size: .85rem; font-weight: 600; color: #374151; }
.imp-form-label .req { color: #ef4444; }
.imp-form-input {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    font-size: .95rem;
    color: #1e293b;
    background: #fff;
    outline: none;
    transition: border-color .15s;
    box-sizing: border-box;
}
.imp-form-input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.imp-form-textarea { min-height: 130px; resize: vertical; }

/* Checkbox */
.imp-form-consent { margin-bottom: 20px; }
.imp-consent-label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: .85rem;
    color: #64748b;
    cursor: pointer;
    line-height: 1.5;
}
.imp-consent-label input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: var(--color-primary);
    cursor: pointer;
}
.imp-consent-label a { color: var(--color-primary); text-decoration: underline; }

/* Gomb */
.imp-form-submit { text-align: left; }
.imp-submit-btn {
    background: var(--color-primary);
    color: #fff;
    border: none;
    padding: 13px 32px;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .5px;
    cursor: pointer;
    transition: background .15s, transform .1s;
}
.imp-submit-btn:hover { background: var(--color-primary-d); transform: translateY(-1px); }
.imp-submit-btn:active { transform: translateY(0); }

/* Ăśzenetek */
.imp-form-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: .9rem;
    margin-bottom: 20px;
}
.imp-form-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
    padding: 48px 24px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    color: #16a34a;
}
.imp-form-success p { color: #4b5563; margin: 0; }

/* ReszponzĂ­v */
@media (max-width: 860px) {
    .imp-two-col-wrap { grid-template-columns: 1fr; gap: 32px; }
    .imp-col-form { position: static; box-shadow: none; border-radius: 12px; }
    .imp-form-row { grid-template-columns: 1fr; }
}

.impresszum-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
    font-size: .95rem;
}
.impresszum-table tr { border-bottom: 1px solid #f1f5f9; }
.impresszum-table th {
    width: 160px;
    text-align: left;
    padding: 10px 12px 10px 0;
    font-weight: 600;
    color: #64748b;
    vertical-align: top;
}
.impresszum-table td {
    padding: 10px 0;
    color: #1e293b;
}
@media (max-width: 480px) {
    .impresszum-table th,
    .impresszum-table td { display: block; width: 100%; padding: 4px 0; }
    .impresszum-table th { color: #94a3b8; font-size: .8rem; padding-top: 10px; }
    .imp-contact-grid { flex-direction: column; }
    .imp-contact-card { min-width: unset; }
}

/* ==============================================
   GYIK (Accordion)
   ============================================== */
.gyik-section {
    background: linear-gradient(135deg,#ce234e 0%,#a20049 50%,#4d2459 100%);
    padding: 64px 0 72px;
}
.gyik-main-title {
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 800;
    color: #fff;
    text-align: center;
    letter-spacing: 2px;
    margin-bottom: 40px;
}
.gyik-group {
    background: transparent;
    margin-bottom: 15px;
}
.gyik-group-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: #22201c;
    text-transform: uppercase;
    padding: 18px 28px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: #fff;
    border-radius: 14px;
}
.gyik-group-summary::-webkit-details-marker { display: none; }
.gyik-group-summary::after {
    content: '+';
    font-size: 1.4rem;
    font-weight: 300;
    color: #22201c;
    flex-shrink: 0;
    line-height: 1;
    transition: transform .2s;
}
details[open] > .gyik-group-summary::after { transform: rotate(45deg); }
.gyik-group-body {
    padding: 0 28px 12px;
}
.gyik-item { border-bottom: 1px solid rgba(255,255,255,.15); }
.gyik-item:last-child { border-bottom: none; }
.gyik-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    padding: 16px 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.gyik-question::-webkit-details-marker { display: none; }
.gyik-question::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    color: rgba(255,255,255,.7);
    flex-shrink: 0;
    line-height: 1;
    transition: transform .2s;
}
details[open] > .gyik-question::after { transform: rotate(45deg); }
.gyik-answer {
    color: rgba(255,255,255,.85);
    font-size: .95rem;
    line-height: 1.75;
    padding-bottom: 18px;
}
.gyik-answer p { margin-bottom: 10px; }
.gyik-answer p:last-child { margin-bottom: 0; }
.gyik-answer a { color: #93c5fd; text-decoration: underline; }
.gyik-answer a:hover { color: #bfdbfe; }
.gyik-cta { text-align: center; margin-top: 48px; }
.gyik-cta-title {
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}
.gyik-cta-text {
    color: rgba(255,255,255,.8);
    font-size: .95rem;
    margin-bottom: 24px;
}
.gyik-cta-btn {
    display: inline-block;
    background: transparent;
    color: #fff;
    font-weight: 700;
    font-size: .95rem;
    padding: 13px 36px;
    border-radius: 25px;
    border: 2px solid #fff;
    text-decoration: none;
    transition: background .15s, color .15s, border-color .15s, transform .1s;
}
.gyik-cta-btn:hover {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
    transform: translateY(-1px);
}

/* ==============================================
   AUTH OLDALAK (regisztráció, bejelentkezés stb.)
   ============================================== */
.auth-page           { min-height: 60vh; padding: 48px 20px; background: var(--color-secondary); }
.auth-container      { max-width: 620px; margin: 0 auto; }
.auth-container-sm   { max-width: 460px; margin: 0 auto; }
.auth-header         { text-align: center; margin-bottom: 24px; }
.auth-title          { font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 800; color: var(--color-text); margin-bottom: 8px; }
.auth-sub            { color: var(--color-muted); font-size: 15px; }
.auth-sub a          { color: var(--color-primary); font-weight: 600; text-decoration: none; }
.auth-tabs           { display: flex; border: 2px solid var(--color-primary); border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
.auth-tab            { flex: 1; padding: 12px 8px; text-align: center; font-size: 13px; font-weight: 600; text-decoration: none; color: var(--color-primary); background: #fff; transition: all .15s; }
.auth-tab.active     { background: var(--color-primary); color: #fff; }
.auth-tab:hover:not(.active) { background: var(--color-primary-l); }
.auth-card           { background: #fff; border: 1.5px solid var(--color-border); border-radius: var(--radius-lg); padding: 32px; margin-bottom: 20px; }
.auth-alert          { border-radius: var(--radius); padding: 12px 16px; margin-bottom: 20px; font-size: 14px; line-height: 1.6; }
.auth-alert-error    { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }
.auth-alert-success  { background: #f0fdf4; border: 1px solid #bbf7d0; color: #16a34a; }

/* Honeypot – emberek nem látják */
.hp-field            { position: absolute; left: -9999px; top: -9999px; visibility: hidden; pointer-events: none; }

/* Jelszó mező + toggle */
.password-wrap       { position: relative; }
.password-wrap .form-control { padding-right: 44px; }
.pw-toggle           { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: var(--color-muted); padding: 4px; display: flex; align-items: center; }
.pw-toggle:hover     { color: var(--color-text); }
.pw-strength         { font-size: 12px; font-weight: 600; margin-top: 4px; min-height: 16px; }

/* CAPTCHA */
.captcha-row         { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.captcha-question    { font-size: 15px; color: var(--color-text); white-space: nowrap; }
.captcha-input       { max-width: 90px; }

/* Form extras */
.form-hint           { font-size: 12px; color: var(--color-muted); }
.req                 { color: #dc2626; }
.form-check-group    { margin-bottom: 20px; }
.form-check          { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 14px; color: var(--color-text); line-height: 1.5; }
.form-check input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--color-primary); cursor: pointer; }
.form-check a        { color: var(--color-primary); text-decoration: none; }
.form-check a:hover  { text-decoration: underline; }


/* =====================================================================
   CEG DASHBOARD
   ===================================================================== */

/* Layout alap */
.ceg-dash-body          { background: #f8fafc; margin: 0; }

/* Topbar */
.ceg-topbar             { position: fixed; top: 0; left: 0; right: 0; height: 56px; background: #fff; border-bottom: 1.5px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; z-index: 200; gap: 12px; }
.ceg-topbar-left        { display: flex; align-items: center; gap: 12px; }
.ceg-topbar-right       { display: flex; align-items: center; gap: 10px; }
.ceg-sidebar-toggle     { background: none; border: none; cursor: pointer; padding: 6px; border-radius: 8px; color: #64748b; display: flex; align-items: center; }
.ceg-sidebar-toggle:hover { background: #f1f5f9; color: #1e293b; }
.ceg-topbar-brand       { font-size: 17px; font-weight: 800; color: var(--color-primary); text-decoration: none; letter-spacing: -.5px; }
.ceg-topbar-greeting    { font-size: 14px; color: #64748b; }
@media (max-width: 639px) { .ceg-topbar-greeting { display: none; } }
.ceg-topbar-avatar      { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; border: 2px solid #e2e8f0; background: var(--color-primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ceg-avatar-img         { width: 100%; height: 100%; object-fit: cover; }
.ceg-avatar-initials    { font-size: 14px; font-weight: 700; color: #fff; }
.ceg-logout-form        { display: flex; margin: 0; }
.ceg-topbar-logout      { background: none; border: none; cursor: pointer; padding: 6px; border-radius: 8px; color: #94a3b8; display: flex; align-items: center; }
.ceg-topbar-logout:hover { color: #dc2626; background: #fef2f2; }

/* Dash wrap */
.ceg-dash-wrap          { display: flex; margin-top: 56px; min-height: calc(100vh - 56px); }

/* Sidebar */
.ceg-sidebar            { width: 240px; background: #1e293b; position: fixed; top: 56px; bottom: 0; overflow-y: auto; display: flex; flex-direction: column; transition: transform .25s ease; z-index: 100; }
@media (max-width: 1023px) { .ceg-sidebar { transform: translateX(-100%); } }
.ceg-sidebar.open       { transform: translateX(0) !important; }

.ceg-sidebar-company    { padding: 20px 16px 16px; text-align: center; border-bottom: 1px solid rgba(255,255,255,.08); }
.ceg-logo-circle        { width: 72px; height: 72px; border-radius: 50%; object-fit: contain; object-position: center; padding: 5px; box-sizing: border-box; background: #fff; border: 3px solid rgba(255,255,255,.15); margin: 0 auto 10px; display: block; }
.ceg-logo-placeholder   { width: 72px; height: 72px; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 28px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; border: 3px solid rgba(255,255,255,.15); }
.ceg-sidebar-company-name { font-size: 13px; color: #e2e8f0; font-weight: 600; line-height: 1.4; }

.ceg-nav                { padding: 12px 8px; flex: 1; }
.ceg-nav-item           { display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: #a2a3a5; font-size: 14px; font-weight: 500; text-decoration: none; transition: background var(--transition), color var(--transition); border-left: 3px solid transparent; line-height: 1; }
.ceg-nav-item:hover     { background-color: #2f3234; color: #fff; text-decoration: none; }
.ceg-nav-item.active    { color: #fff; background: rgba(255,255,255,.1); border-left-color: var(--admin-accent,#d4284f); }
.ceg-nav-item svg       { flex-shrink: 0; }

.ceg-sidebar-bottom     { padding: 8px; border-top: 1px solid rgba(255,255,255,.08); }
.ceg-nav-ext            { font-size: 12px; opacity: .7; }

/* Main content */
.ceg-main               { flex: 1; margin-left: 240px; }
@media (max-width: 1023px) { .ceg-main { margin-left: 0; } }
.ceg-content            { padding: 28px; max-width: 1200px; }

/* Dashboard greeting */
.ceg-dash-greeting      { margin-bottom: 28px; }
.ceg-dash-greeting h1   { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; color: #1e293b; margin: 0 0 8px; line-height: 1.2; }
.ceg-dash-greeting h1 span { color: var(--color-primary); }
.ceg-dash-greeting p    { color: #64748b; font-size: 15px; margin: 0; }

/* Stat grid */
.ceg-stat-grid          { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; margin-bottom: 32px; }
.ceg-stat-card          { background: #fff; border: 1.5px solid #e2e8f0; border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 8px; transition: box-shadow .15s; }
.ceg-stat-card:hover    { box-shadow: 0 4px 16px rgba(0,0,0,.07); }
.ceg-stat-icon          { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 4px; }
.ceg-stat-value         { font-size: 28px; font-weight: 800; color: #1e293b; }
.ceg-stat-label         { font-size: 13px; color: #64748b; margin-top: 2px; }
.ceg-stat-link          { font-size: 13px; color: var(--color-primary); font-weight: 600; text-decoration: none; margin-top: auto; }
.ceg-stat-link:hover    { text-decoration: underline; }

/* Section title */
.ceg-section-title      { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #94a3b8; margin-bottom: 12px; }

/* Quick actions */
.ceg-quick-actions      { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 32px; }
.ceg-quick-btn          { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; background: var(--color-primary); color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s; }
.ceg-quick-btn:hover    { background: var(--color-primary-d); color: #fff; }
.ceg-quick-btn-secondary { background: #fff; color: #1e293b; border: 1.5px solid #e2e8f0; }
.ceg-quick-btn-secondary:hover { background: #f8fafc; color: #1e293b; }

/* Page header */
.ceg-page-header        { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.ceg-page-title         { font-size: clamp(1.2rem, 3vw, 1.6rem); font-weight: 800; color: #1e293b; margin: 0; }

/* Empty state */
.ceg-empty-state        { text-align: center; padding: 64px 24px; background: #fff; border: 1.5px solid #e2e8f0; border-radius: 12px; }
.ceg-empty-icon         { width: 80px; height: 80px; border-radius: 50%; background: #f1f5f9; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.ceg-empty-state h2     { font-size: 18px; font-weight: 700; color: #1e293b; margin: 0 0 8px; }
.ceg-empty-state p      { color: #64748b; margin: 0; }

/* Settings grid */
.ceg-settings-grid      { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 768px) { .ceg-settings-grid { grid-template-columns: 1fr 1fr; } }

/* Card */
.ceg-card               { background: #fff; border: 1.5px solid #e2e8f0; border-radius: 12px; overflow: hidden; }
.ceg-card-header        { padding: 14px 20px; border-bottom: 1.5px solid #f1f5f9; font-size: 14px; font-weight: 700; color: #1e293b; display: flex; align-items: center; gap: 8px; }
.ceg-card-body          { padding: 20px; }

/* Logo upload */
.ceg-logo-upload-wrap   { display: flex; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin-bottom: 12px; }
.ceg-logo-preview       { width: 90px; height: 90px; border-radius: 50%; overflow: hidden; border: 3px solid #e2e8f0; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 32px; font-weight: 700; color: var(--color-primary); flex-shrink: 0; }
.ceg-logo-preview img   { width: 100%; height: 100%; object-fit: contain; object-position: center; padding: 6px; box-sizing: border-box; background: #fff; display: block; }
.ceg-upload-btn-wrap    { display: flex; flex-direction: column; gap: 8px; }

/* Image preview */
.ceg-img-preview        { width: 100%; height: 120px; border-radius: 8px; border: 2px dashed #e2e8f0; background: #f8fafc; display: flex; align-items: center; justify-content: center; color: #94a3b8; font-size: 14px; margin-bottom: 10px; overflow: hidden; }
.ceg-img-preview img    { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Color row */
.ceg-color-row          { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.ceg-color-input        { flex: 1; }

/* Social row */
.ceg-social-row         { display: grid; grid-template-columns: 32px 1fr; align-items: start; gap: 10px; margin-bottom: 14px; }
.ceg-social-icon        { color: #64748b; display: flex; align-items: center; justify-content: center; padding-top: 28px; }

/* Chip */
.ceg-chip-group         { display: flex; flex-wrap: wrap; gap: 8px; }
.ceg-chip               { display: inline-flex; align-items: center; gap: 4px; padding: 6px 14px; border-radius: 20px; border: 1.5px solid #e2e8f0; font-size: 13px; cursor: pointer; transition: background .12s, border-color .12s, color .12s; user-select: none; }
.ceg-chip.selected      { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.ceg-chip:hover:not(.selected) { background: #f1f5f9; border-color: #cbd5e1; }
.ceg-chip-hidden        { display: none; }

/* Save button */
.ceg-save-btn           { display: inline-flex; align-items: center; gap: 8px; padding: 10px 24px; background: var(--color-primary); color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .15s; }
.ceg-save-btn:hover     { background: var(--color-primary-d); }

/* Alerts */
.ceg-alert              { border-radius: 8px; padding: 12px 16px; font-size: 14px; margin-bottom: 20px; }
.ceg-alert-success      { background: #f0fdf4; border: 1px solid #bbf7d0; color: #16a34a; }
.ceg-alert-error        { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }

/* File label */
.ceg-file-label         { display: inline-block; padding: 8px 16px; background: #f1f5f9; border: 1.5px solid #e2e8f0; border-radius: 8px; cursor: pointer; font-size: 14px; transition: background .12s; }
.ceg-file-label:hover   { background: #e2e8f0; }
.ceg-file-label input[type="file"] { display: none; }

/* Sidebar overlay on mobile */
.ceg-sidebar-overlay    { display: none; position: fixed; inset: 56px 0 0 0; background: rgba(0,0,0,.4); z-index: 99; }
.ceg-sidebar-overlay.show { display: block; }



/* ── CEG + Admin egységes responsive ────────────────────────── */
@media (max-width: 1023px) { .ceg-sidebar { transform: translateX(-100%); } .ceg-main { margin-left: 0; } }
@media (min-width: 768px)  { .ceg-settings-grid { grid-template-columns: 1fr 1fr; } }

/* ── CEG Dashboard – Admin-egységes overrides ────────────────── */
.ceg-dash-body          { background: #f1f5f9; }
.ceg-sidebar            { background-color: #25292d; border-right: 1px solid #1a1d20; top: 60px; }
.ceg-dash-wrap          { margin-top: 60px; min-height: calc(100vh - 60px); }
.ceg-sidebar-overlay    { inset: 60px 0 0 0; }
.ceg-main               { background: #f1f5f9; }

/* ── CEG dark mode (egységes az admin dark mode-dal) ─────────── */
html.admin-dark .ceg-dash-body      { background: #0f172a; color: #e2e8f0; }
html.admin-dark .ceg-sidebar        { background-color: #111318; border-right-color: #0a0c10; }
html.admin-dark .ceg-nav-item       { color: #94a3b8; }
html.admin-dark .ceg-nav-item:hover { background: #1e2530; color: #e2e8f0; }
html.admin-dark .ceg-sidebar-company-name { color: #94a3b8; }
html.admin-dark .ceg-main           { background: #0f172a; }
html.admin-dark .ceg-stat-card      { background: #1e293b; border-color: #334155; }
html.admin-dark .ceg-stat-value     { color: #e2e8f0; }
html.admin-dark .ceg-stat-label     { color: #64748b; }
html.admin-dark .ceg-dash-greeting h1 { color: #e2e8f0; }
html.admin-dark .ceg-page-title     { color: #e2e8f0; }
html.admin-dark .ceg-card           { background: #1e293b; border-color: #334155; }
html.admin-dark .ceg-card-header    { color: #e2e8f0; border-bottom-color: #334155; }
html.admin-dark .ceg-card-body      { background: #1e293b; }
html.admin-dark .ceg-empty-state    { background: #1e293b; border-color: #334155; }
html.admin-dark .ceg-empty-icon     { background: #0f172a; }
html.admin-dark .ceg-empty-state h2 { color: #e2e8f0; }
html.admin-dark .ceg-alert-success  { background: #0d2b1b; border-color: #166534; color: #86efac; }
html.admin-dark .ceg-alert-error    { background: #3b0f0f; border-color: #991b1b; color: #fca5a5; }
html.admin-dark .ceg-quick-btn-secondary { background: #1e293b; color: #e2e8f0; border-color: #334155; }
html.admin-dark .ceg-chip           { border-color: #334155; color: #94a3b8; }
html.admin-dark .ceg-chip:hover:not(.selected) { background: #1e293b; border-color: #475569; }
html.admin-dark .ceg-file-label     { background: #1e293b; border-color: #334155; color: #94a3b8; }
html.admin-dark .ceg-file-label:hover { background: #2d3748; }
html.admin-dark .ceg-img-preview    { border-color: #334155; background: #1e293b; }
html.admin-dark .ceg-section-title  { color: #64748b; }

/* ── User (álláskeresői) Dashboard Layout ────────────────────── */
.user-dash-body         { background: #f1f5f9; margin: 0; }
.user-dash-wrap         { display: flex; margin-top: 60px; min-height: calc(100vh - 60px); }
.user-sidebar           { width: 240px; background: #25292d; position: fixed; top: 60px; bottom: 0; overflow-y: auto; display: flex; flex-direction: column; transition: transform .25s ease; z-index: 100; border-right: 1px solid #1a1d20; }
.user-main              { flex: 1; margin-left: 240px; background: #f1f5f9; }
.user-content           { padding: 28px; max-width: 1100px; }
.user-page-title        { font-size: clamp(1.2rem,3vw,1.6rem); font-weight: 800; color: #1e293b; margin: 0 0 24px; }
.user-nav               { padding: 12px 8px; flex: 1; }
.user-nav-item          { display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: #a2a3a5; font-size: 14px; font-weight: 500; text-decoration: none; transition: background var(--transition), color var(--transition); border-left: 3px solid transparent; line-height: 1; }
.user-nav-item:hover    { background-color: #2f3234; color: #fff; text-decoration: none; }
.user-nav-item.active   { color: #fff; background: rgba(255,255,255,.1); border-left-color: var(--admin-accent,#d4284f); }
.user-nav-item svg      { flex-shrink: 0; }
.user-sidebar-bottom    { padding: 8px; border-top: 1px solid rgba(255,255,255,.08); }
@media (max-width: 1023px) { .user-sidebar { transform: translateX(-100%); } .user-main { margin-left: 0; } }
.user-sidebar.open      { transform: translateX(0) !important; }

/* User dark mode */
html.admin-dark .user-dash-body     { background: #0f172a; color: #e2e8f0; }
html.admin-dark .user-sidebar       { background-color: #111318; border-right-color: #0a0c10; }
html.admin-dark .user-main          { background: #0f172a; }
html.admin-dark .user-nav-item      { color: #94a3b8; }
html.admin-dark .user-nav-item:hover { background: #1e2530; color: #e2e8f0; }
html.admin-dark .user-page-title    { color: #e2e8f0; }

/* ── Hirdetésfeladás (.jf-*) dark mode ──────────────────────── */
html.admin-dark .jf-section         { background: #1e293b; border-color: #334155; }
html.admin-dark .jf-section-head    { background: #0f172a; border-color: #334155; }
html.admin-dark .jf-section-title   { color: #e2e8f0; }
html.admin-dark .jf-section-subtitle { color: #64748b; }
html.admin-dark .jf-section-num     { background: var(--color-primary,#d4284f); }
html.admin-dark .jf-label           { color: #94a3b8; }
html.admin-dark .jf-note            { color: #64748b; }
html.admin-dark .jf-input           { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.admin-dark .jf-input:focus     { border-color: var(--admin-accent,#d4284f); }
html.admin-dark .jf-chip-label      { background: #1e293b; border-color: #334155; color: #94a3b8; }
html.admin-dark .jf-chip input:checked+.jf-chip-label { background: #1e3a8a; border-color: #3b82f6; color: #93c5fd; }
html.admin-dark .jf-radio-label     { background: #1e293b; border-color: #334155; color: #94a3b8; }
html.admin-dark .jf-radio input:checked+.jf-radio-label { background: #1e3a8a; border-color: #3b82f6; color: #93c5fd; }
html.admin-dark .jf-submit-bar      { background: #1e293b; border-color: #334155; }
html.admin-dark .jf-btn-sec         { background: #1e293b; border-color: #334155; color: #94a3b8; }
html.admin-dark .jf-btn-sec:hover   { background: #2d3748; }
html.admin-dark .jf-info-box        { background: #0e1f4d; border-color: #1e3a8a; color: #93c5fd; }
html.admin-dark .jf-nav a           { color: #94a3b8; }
html.admin-dark .jf-nav a:hover     { background: #1e293b; color: #e2e8f0; }
html.admin-dark .jf-nav a.active    { background: #1e293b; color: var(--admin-accent,#d4284f); }
html.admin-dark .jf-nav a.active .jf-nav-num { background: rgba(212,40,79,.2); color: var(--admin-accent,#d4284f); }
html.admin-dark .jf-errors          { background: #3b0f0f; border-color: #991b1b; color: #fca5a5; }
html.admin-dark .jf-terms-box       { background: #0f172a; border-color: #334155; color: #94a3b8; }
html.admin-dark .jf-ac-list         { background: #1e293b; border-color: #334155; }
html.admin-dark .jf-ac-item         { color: #e2e8f0; }
html.admin-dark .jf-ac-item:hover   { background: #1e3a8a; }

/* ── Álláskeresői profil (.sk-*) dark mode ─────────────────── */
html.admin-dark .sk-card            { background: #1e293b; border-color: #334155; }
html.admin-dark .sk-card-head       { border-color: #334155; background: #0f172a; }
html.admin-dark .sk-card-head-title { color: #e2e8f0; }
html.admin-dark .sk-label           { color: #94a3b8; }
html.admin-dark .sk-input           { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.admin-dark .sk-dyn-item        { background: #0f172a; border-color: #334155; }
html.admin-dark .sk-save-bar        { background: #1e293b; border-color: #334155; }
html.admin-dark .sk-page-title      { color: #e2e8f0; }
html.admin-dark .sk-flash-ok        { background: #0d2b1b; color: #86efac; }
html.admin-dark .sk-flash-err       { background: #3b0f0f; color: #fca5a5; }
html.admin-dark .sk-doc-item        { background: #0f172a; }
html.admin-dark .sk-toggle-arrow    { color: #94a3b8; }
html.admin-dark .sk-wrap            { color: #e2e8f0; }
/* Social ikonok a footerben */
.footer-social         { margin-top: 20px; }
.footer-social-label   { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: #94a3b8; margin-bottom: 10px; }
.footer-social-icons   { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.footer-social-icon    { display: flex; align-items: center; justify-content: center; color: #94a3b8; transition: color .15s; }
.footer-social-icon:hover { color: #fff; }

/* Regisztrációs előnyök blokk */
.reg-benefits          { background: linear-gradient(135deg, #a20049 0%, #4d2459 100%); border-radius: 14px; padding: 28px 24px; margin-bottom: 24px; color: #fff; }
.reg-benefits h2       { font-size: 1.2rem; font-weight: 800; margin: 0 0 6px; }
.reg-benefits p        { font-size: 14px; opacity: .85; margin: 0 0 18px; line-height: 1.6; }
.reg-benefits-list     { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.reg-benefits-list li  { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.reg-benefits-list svg { flex-shrink: 0; opacity: .9; }

/* Input ikon wrapper (belepes + regisztracio) */
.input-icon-wrap        { position: relative; }
.input-icon             { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: #94a3b8; pointer-events: none; display: flex; }
.form-control-icon      { padding-left: 38px; }

/* Sidebar social ikonok */
.ceg-sidebar-social      { display: flex; gap: 6px; flex-wrap: wrap; padding: 10px 16px 4px; }
.ceg-sidebar-social-icon { width: 30px; height: 30px; border-radius: 7px; display: flex; align-items: center; justify-content: center; color: #94a3b8; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: background .15s, color .15s; }
.ceg-sidebar-social-icon:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* OAuth gombok (belepes.php) */
.oauth-divider          { display: flex; align-items: center; gap: 10px; margin: 18px 0 14px; color: #94a3b8; font-size: 13px; }
.oauth-divider::before,.oauth-divider::after { content:''; flex:1; height:1px; background:#e2e8f0; }
.oauth-buttons          { display: flex; flex-direction: column; gap: 10px; }
.oauth-btn              { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 20px; border-radius: 10px; font-size: 14px; font-weight: 500; text-decoration: none; border: 1.5px solid #d1d5db; background: #fff; color: #374151; transition: box-shadow .15s, border-color .15s, background .15s; }
.oauth-btn:hover        { box-shadow: 0 2px 8px rgba(0,0,0,.08); border-color: #9ca3af; background: #f9fafb; }
.oauth-btn svg          { flex-shrink: 0; filter: grayscale(1); opacity: .65; }
.oauth-btn-google       { }
.oauth-btn-facebook     { }
.oauth-btn-apple        { }

/* ── Kétoszlopos regisztrációs layout ─────────────────────── */
.auth-page-wide .auth-container { max-width: 960px; }
.reg-2col         { display: flex; gap: 32px; align-items: flex-start; }
.reg-col-form     { flex: 1; min-width: 0; }
.reg-col-benefits { width: 340px; flex-shrink: 0; position: sticky; top: 24px; }
@media (max-width: 860px) {
  .reg-2col         { flex-direction: column-reverse; }
  .reg-col-benefits { width: 100%; position: static; }
}

/* ── Munkaügyi központok oldal ─────────────────────────────── */
.mkp-page        { padding: 32px 20px 64px; max-width: 1100px; }

.mkp-hero        { margin-bottom: 36px; }
.mkp-hero__title { font-size: 2rem; font-weight: 700; color: #1e293b; margin-bottom: 10px; }
.mkp-hero__desc  { color: #64748b; font-size: 1rem; line-height: 1.7; max-width: 680px; }

.mkp-layout      { display: flex; gap: 28px; align-items: flex-start; }

/* Bal sidebar */
.mkp-sidebar        { width: 220px; flex-shrink: 0; position: sticky; top: 24px; }
.mkp-sidebar__inner { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; }
.mkp-sidebar__title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
                      color: #94a3b8; padding: 14px 16px 8px; }
.mkp-megye-nav      { display: flex; flex-direction: column; }
.mkp-megye-link     { display: flex; align-items: center; gap: 8px; padding: 9px 16px;
                      color: #475569; font-size: 13.5px; text-decoration: none;
                      border-left: 3px solid transparent; transition: background .15s, color .15s; }
.mkp-megye-link:hover  { background: #f1f5f9; color: var(--color-primary); }
.mkp-megye-link.active { background: var(--color-primary-l, #eff6ff); color: var(--color-primary);
                         border-left-color: var(--color-primary); font-weight: 600; }
.mkp-megye-link svg    { flex-shrink: 0; opacity: .5; }
.mkp-megye-link.active svg { opacity: 1; }

/* Jobb tartalom */
.mkp-content       { flex: 1; min-width: 0; }
.mkp-county-header { display: flex; align-items: flex-start; justify-content: space-between;
                     gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }

/* Státusz sáv */
.mkp-status-bar    { display: flex; align-items: flex-start; justify-content: space-between;
                     gap: 16px; flex-wrap: wrap;
                     background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px;
                     padding: 12px 16px; margin-bottom: 20px; }
.mkp-status-left   { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }

.mkp-status        { display: inline-flex; align-items: center; gap: 5px; font-size: 13px;
                     font-weight: 700; padding: 4px 12px; border-radius: 20px; white-space: nowrap; }
.mkp-status--nyitva   { background: #dcfce7; color: #16a34a; }
.mkp-status--hamarosan{ background: #fef9c3; color: #a16207; }
.mkp-status--zarva    { background: #fee2e2; color: #dc2626; }
.mkp-status--info     { background: #e0f2fe; color: #0369a1; }

/* Főiroda vezető + e-mail sáv */
.mkp-hivatal-info          { display: flex; flex-wrap: wrap; gap: 6px 24px;
                              background: #f8fafc; border: 1px solid #e2e8f0;
                              border-radius: 8px; padding: 10px 16px;
                              margin-bottom: 18px; }
.mkp-hivatal-info__sor     { display: flex; align-items: center; gap: 6px;
                              font-size: 13px; color: #334155; }
.mkp-hivatal-info__sor svg { flex-shrink: 0; color: #64748b; }
.mkp-hivatal-info__label   { font-weight: 600; color: #475569; }

.mkp-status-detail { font-size: 13px; color: #475569; }
.mkp-status-warn   { font-weight: 600; color: #a16207; }

/* Heti menetrend mini táblázat */
.mkp-schedule        { flex-shrink: 0; }
.mkp-schedule-table  { border-collapse: collapse; font-size: 12px; }
.mkp-schedule-table td{ padding: 2px 8px; color: #64748b; }
.mkp-schedule-table .mkp-sch-nap  { font-weight: 700; color: #475569; width: 26px; }
.mkp-schedule-table .mkp-sch-zarva{ color: #94a3b8; }
.mkp-schedule-table .mkp-sch-ma td{ background: color-mix(in srgb, var(--color-primary) 10%, #fff);
                                     border-radius: 4px; color: var(--color-primary); font-weight: 700; }
.mkp-county-title  { font-size: 1.5rem; font-weight: 700; color: #1e293b; margin-bottom: 4px; }
.mkp-county-sub    { font-size: 13px; color: #94a3b8; }
.mkp-web-btn       { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px;
                     background: var(--color-primary); color: #fff; border-radius: 8px;
                     font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
                     transition: opacity .15s; flex-shrink: 0; }
.mkp-web-btn:hover { opacity: .88; }

/* Nyitvatartás info box */
.mkp-info-box  { display: flex; gap: 12px; align-items: flex-start; background: #f0fdf4;
                 border: 1px solid #bbf7d0; border-radius: 10px; padding: 14px 16px;
                 margin-bottom: 20px; color: #166534; font-size: 13.5px; }
.mkp-info-box svg { flex-shrink: 0; margin-top: 2px; color: #16a34a; }
.mkp-info-box strong { display: block; font-weight: 600; margin-bottom: 6px; }
.mkp-nyitva-sor { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.mkp-nyitva-sor span { white-space: nowrap; }

/* Kártyák */
.mkp-cards       { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.mkp-card        { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
                   padding: 18px 20px; position: relative; }
.mkp-card--fo    { border-color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 4%, #fff); }
.mkp-badge       { display: inline-block; background: var(--color-primary); color: #fff;
                   font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
                   padding: 2px 8px; border-radius: 20px; margin-bottom: 8px; }
.mkp-card__title  { font-size: 14.5px; font-weight: 700; color: #1e293b; margin-bottom: 6px;
                    line-height: 1.4; }
.mkp-card--fo .mkp-card__title { color: var(--color-primary-d, #1d4ed8); }
.mkp-card__kerulet { font-size: 12.5px; font-weight: 600; color: #64748b; margin-bottom: 10px; }
.mkp-card__meta   { display: flex; flex-direction: column; gap: 5px; }
.mkp-card__row    { display: flex; align-items: flex-start; gap: 7px; font-size: 13.5px; color: #475569; }
.mkp-card__row svg { flex-shrink: 0; margin-top: 1px; }
.mkp-tel          { color: var(--color-primary); text-decoration: none; font-weight: 500; }
.mkp-tel:hover    { text-decoration: underline; }

/* Tájékoztató szöveg */
.mkp-info-text    { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px;
                    padding: 24px 28px; }
.mkp-info-text h3 { font-size: 1.1rem; font-weight: 700; color: #1e293b; margin-bottom: 12px; }
.mkp-info-text p  { color: #64748b; font-size: 14px; line-height: 1.75; margin-bottom: 10px; }
.mkp-info-text p:last-child { margin-bottom: 0; }

.mkp-card__row--link { margin-top: 4px; }

/* Nyitvatartás rács a kártyán */
.mkp-card__nyitva   { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 10px; }
.mkp-ny-cella       { display: flex; flex-direction: column; align-items: center;
                       min-width: 46px; padding: 4px 6px; border-radius: 6px;
                       background: #f1f5f9; border: 1px solid #e2e8f0; }
.mkp-ny-nap         { font-size: 10px; font-weight: 700; color: #64748b; text-transform: uppercase; }
.mkp-ny-ido         { font-size: 11px; font-weight: 600; color: #334155; white-space: nowrap; }
.mkp-ny-zarva .mkp-ny-ido { color: #94a3b8; font-weight: 400; }
.mkp-ny-ma          { background: color-mix(in srgb, var(--color-primary) 12%, #fff);
                       border-color: var(--color-primary); }
.mkp-ny-ma .mkp-ny-nap { color: var(--color-primary); }
.mkp-ny-ma .mkp-ny-ido { color: var(--color-primary); }

/* Responsive */
@media (max-width: 768px) {
  .mkp-layout  { flex-direction: column; }
  .mkp-sidebar { width: 100%; position: static; }
  .mkp-sidebar__inner { border-radius: 8px; }
  .mkp-megye-nav { flex-direction: row; flex-wrap: wrap; gap: 2px; padding: 8px; }
  .mkp-megye-link { border-left: none; border-radius: 6px; border-bottom: 2px solid transparent; }
  .mkp-megye-link.active { border-left-color: transparent; border-bottom-color: var(--color-primary); }
  .mkp-hero__title { font-size: 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   Egyetemek oldal (egyetemek.php)
═══════════════════════════════════════════════════════════════ */
.egy-page { padding-top: 0; }

/* Hero sáv */
.egy-hero {
  padding: 40px 0 28px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 32px;
}
.egy-hero__title { font-size: 1.75rem; font-weight: 700; color: #111827; margin: 0 0 8px; }
.egy-hero__desc  { color: #6b7280; font-size: 0.95rem; margin: 0; }
.egy-hero__link  { color: var(--color-primary); text-decoration: none; }
.egy-hero__link:hover { text-decoration: underline; }

/* Kétoszlopos layout */
.egy-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  padding-bottom: 60px;
}

/* ─── Bal oldalsáv ─────────────────────────────────────────── */
.egy-sidebar {
  width: 220px;
  flex-shrink: 0;
  position: sticky;
  top: 20px;
}
.egy-sidebar__inner {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}
.egy-sidebar__title {
  font-size: 11px;
  font-weight: 700;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0;
  padding: 14px 16px 8px;
}
.egy-megye-nav { display: flex; flex-direction: column; padding: 0 0 8px; }
.egy-megye-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  font-size: 13px;
  color: #374151;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background .15s, color .15s;
  gap: 6px;
}
.egy-megye-link:hover { background: #f9fafb; color: var(--color-primary); }
.egy-megye-link--active {
  border-left-color: var(--color-primary);
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 7%, #fff);
  font-weight: 600;
}
.egy-megye-szam {
  margin-left: auto;
  font-size: 11px;
  color: #9ca3af;
  background: #f3f4f6;
  border-radius: 10px;
  padding: 1px 6px;
  white-space: nowrap;
}
.egy-megye-link--active .egy-megye-szam {
  background: color-mix(in srgb, var(--color-primary) 15%, #fff);
  color: var(--color-primary);
}

/* ─── Főtartalom ──────────────────────────────────────────── */
.egy-main { flex: 1; min-width: 0; }
.egy-main-header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 20px;
}
.egy-main-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.egy-main-count {
  font-size: 13px;
  font-weight: 500;
  color: #6b7280;
}
.egy-empty { color: #9ca3af; padding: 24px 0; font-size: 0.95rem; }

/* ─── Kártya rács ─────────────────────────────────────────── */
.egy-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

/* ─── Egyedi kártya ───────────────────────────────────────── */
.egy-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: box-shadow .15s, transform .15s;
}
.egy-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.09);
  transform: translateY(-2px);
}

/* Logó (kör) */
.egy-card__logo-wrap {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid #e5e7eb;
  overflow: hidden;
  background: #f9fafb;
  display: flex;
  align-items: center;
  justify-content: center;
}
.egy-card__logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}
.egy-card__logo-placeholder {
  font-size: 13px;
  font-weight: 700;
  color: var(--color-primary);
  text-align: center;
  line-height: 1;
}

/* Kártya tartalom */
.egy-card__body { flex: 1; min-width: 0; }
.egy-card__title {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
  line-height: 1.35;
}
.egy-card__title-link {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: flex-start;
  gap: 4px;
}
.egy-card__title-link:hover { color: var(--color-primary); }
.egy-card__title-link svg { margin-top: 2px; opacity: .55; flex-shrink: 0; }

.egy-card__rovid {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 12%, #fff);
  border-radius: 4px;
  padding: 1px 6px;
  margin-bottom: 10px;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.egy-card__meta { display: flex; flex-direction: column; gap: 5px; }
.egy-card__row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 12.5px;
  color: #4b5563;
  line-height: 1.4;
}
.egy-card__row svg { flex-shrink: 0; color: #9ca3af; margin-top: 1px; }
.egy-link {
  color: var(--color-primary);
  text-decoration: none;
  word-break: break-all;
}
.egy-link:hover { text-decoration: underline; }

/* Forrás megjegyzés */
.egy-forrás {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #f1f5f9;
  font-size: 12px;
  color: #9ca3af;
}
.egy-forrás a { color: inherit; }

/* ─── Reszponzív ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .egy-layout { flex-direction: column; }
  .egy-sidebar { width: 100%; position: static; }
  .egy-sidebar__inner { border-radius: 8px; }
  .egy-megye-nav { flex-direction: row; flex-wrap: wrap; gap: 2px; padding: 8px; }
  .egy-megye-link { border-left: none; border-radius: 6px; border-bottom: 2px solid transparent; padding: 6px 10px; }
  .egy-megye-link--active { border-left-color: transparent; border-bottom-color: var(--color-primary); }
}
@media (max-width: 600px) {
  .egy-cards { grid-template-columns: 1fr; }
  .egy-hero__title { font-size: 1.4rem; }
}

/* ═══════════════════════════════════════════════════════════════
   Ajánlj cégeket oldal (ajanlj_cegeket.php)
═══════════════════════════════════════════════════════════════ */

/* ── 1. HERO szekció (középre zárt) ─────────────────────────── */
.ajc-hero {
  background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 60%, #1e1b4b) 100%);
  padding: 80px 0 72px;
  color: #fff;
  text-align: center;
}
.ajc-hero__inner {
  max-width: 720px;
  margin: 0 auto;
}
.ajc-hero__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin: 0 0 14px;
}
.ajc-hero__title {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 20px;
  color: #fff;
}
.ajc-hero__lead {
  font-size: 1.1rem;
  line-height: 1.7;
  color: rgba(255,255,255,.85);
  margin: 0 0 36px;
}
.ajc-hero__btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.ajc-hero__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: #fff;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 15px;
  border-radius: 10px;
  text-decoration: none;
  transition: background .15s, transform .1s;
}
.ajc-hero__btn-primary:hover { background: #f1f5f9; transform: translateY(-1px); }
.ajc-hero__btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: transparent;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  border-radius: 10px;
  border: 2px solid rgba(255,255,255,.45);
  text-decoration: none;
  transition: border-color .15s, background .15s;
}
.ajc-hero__btn-secondary:hover { border-color: rgba(255,255,255,.8); background: rgba(255,255,255,.08); }

/* ── 2. ELŐNYÖK szekció (Mit kapsz?) ────────────────────────── */
.ajc-benefits {
  padding: 80px 0;
  background: #f8fafc;
}
.ajc-section-header {
  text-align: center;
  margin-bottom: 52px;
}
.ajc-section-header h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 800;
  color: #111827;
  margin: 0 0 12px;
}
.ajc-section-header p {
  font-size: 1.05rem;
  color: #6b7280;
  margin: 0;
}
.ajc-benefits__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ajc-benefit-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 32px 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  transition: box-shadow .15s, transform .15s;
}
.ajc-benefit-card:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.ajc-benefit-card__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}
.ajc-benefit-card__body h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px;
}
.ajc-benefit-card__body p {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.6;
  margin: 0;
}

/* ── 3. LÉPÉSEK szekció (Hogyan ajánlj?) ────────────────────── */
.ajc-steps {
  padding: 80px 0;
  background: #0f172a;
}
.ajc-steps .ajc-section-header h2 { color: #fff; }
.ajc-steps .ajc-section-header p  { color: rgba(255,255,255,.6); }
.ajc-steps__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.ajc-step-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 28px 22px;
  color: #fff;
  position: relative;
}
.ajc-step-card__num {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 16px;
  opacity: .8;
}
.ajc-step-card h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
}
.ajc-step-card p {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.6;
  margin: 0;
}

/* ── 4. CTA szekció ──────────────────────────────────────────── */
.ajc-cta {
  padding: 80px 0;
  background: linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 60%, #1e1b4b) 100%);
  text-align: center;
  color: #fff;
}
.ajc-cta__inner { max-width: 620px; margin: 0 auto; }
.ajc-cta h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 900;
  color: #fff;
  margin: 0 0 16px;
}
.ajc-cta p {
  font-size: 1.05rem;
  color: rgba(255,255,255,.82);
  line-height: 1.7;
  margin: 0 0 36px;
}
.ajc-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px 38px;
  background: #fff;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 16px;
  border-radius: 10px;
  text-decoration: none;
  transition: background .15s, transform .1s;
}
.ajc-cta__btn:hover { background: #f1f5f9; transform: translateY(-1px); }

/* ── Reszponzív ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .ajc-steps__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .ajc-benefits__grid { grid-template-columns: 1fr; }
  .ajc-steps__grid { grid-template-columns: 1fr 1fr; }
  .ajc-hero { padding: 56px 0 48px; }
}
@media (max-width: 480px) {
  .ajc-steps__grid { grid-template-columns: 1fr; }
  .ajc-hero__btns { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════════
   BLOG / KARRIERTIPPEK
═══════════════════════════════════════════════════════════════ */

/* ── Listing fejléc ───────────────────────────────────────── */
.blog-listing-header { margin-bottom: 24px; }
.blog-listing-title  { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; color: #0f172a; margin: 0 0 6px; }
.blog-listing-sub    { color: #64748b; font-size: 1rem; margin: 0; }

/* ── Cimke szűrők ─────────────────────────────────────────── */
.blog-tag-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; margin-bottom: 28px; }
.blog-tag-filter  { padding: 6px 14px; border-radius: 20px; border: 1.5px solid #e2e8f0;
                    font-size: 13px; font-weight: 500; text-decoration: none; color: #475569;
                    background: #fff; transition: background .12s, border-color .12s, color .12s; }
.blog-tag-filter:hover  { background: #f1f5f9; border-color: #cbd5e1; }
.blog-tag-filter.active { background: #a20049; color: #fff; border-color: #a20049; font-weight: 600; }

/* ── Cimke pill ───────────────────────────────────────────── */
.blog-tag-pill    { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 10px;
                    background: #fce7f1; color: #a20049; text-decoration: none;
                    font-weight: 600; transition: background .12s; }
.blog-tag-pill:hover    { background: #f9c0d4; }
.blog-tag-pill-lg { font-size: 13px; padding: 3px 12px; }

/* ── Cikk rács ────────────────────────────────────────────── */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin-bottom: 48px; }

/* ── Kártya ───────────────────────────────────────────────── */
.blog-card      { background: var(--color-white, #fff); border-radius: 14px; overflow: hidden;
                  box-shadow: 0 1px 4px rgba(0,0,0,.07); border: 1px solid var(--color-border, #e2e8f0);
                  display: flex; flex-direction: column; transition: box-shadow .15s, transform .15s; }
.blog-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.10); transform: translateY(-2px); }
.blog-card-draft { opacity: .75; border-style: dashed; }

.blog-card-img-wrap { display: block; overflow: hidden; height: 190px; background: #f1f5f9; }
.blog-card-img      { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.blog-card:hover .blog-card-img { transform: scale(1.03); }
.blog-card-placeholder { display: flex; align-items: center; justify-content: center; font-size: 48px; }

.blog-card-body  { padding: 18px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.blog-card-tags  { display: flex; flex-wrap: wrap; gap: 5px; }
.blog-card-title { font-size: 16px; font-weight: 700; line-height: 1.4; margin: 0; }
.blog-card-title a { color: #0f172a; text-decoration: none; }
.blog-card-title a:hover { color: var(--color-primary, #2563eb); }
.blog-card-lead  { font-size: 13.5px; color: #64748b; line-height: 1.55; margin: 0; flex: 1; }
.blog-card-meta  { font-size: 12px; color: #94a3b8; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: auto; }

/* ── Cikk oldal – layout ──────────────────────────────────── */
.blog-post-layout   { display: flex; gap: 36px; align-items: flex-start; }
.blog-article       { flex: 1; min-width: 0; background: #fff; border-radius: 14px;
                      border: 1px solid #e2e8f0; overflow: hidden; }
.blog-cover-img     { width: 100%; max-height: 360px; object-fit: cover; display: block; }
.blog-article-inner { padding: 32px 40px 40px; }

.blog-article-title { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; color: #0f172a;
                      line-height: 1.25; margin: 0 0 14px; }
.blog-article-meta  { font-size: 12.5px; color: #94a3b8; display: flex; gap: 12px;
                      flex-wrap: wrap; align-items: center; margin-bottom: 20px; }
.blog-article-lead  { font-size: 1.08rem; font-style: italic; color: #475569; font-weight: 500;
                      border-left: 3px solid #94a3b8; padding-left: 16px; margin: 0 0 24px;
                      line-height: 1.7; }
.blog-tags-row { display: flex; flex-wrap: wrap; gap: 6px; }

/* ── Törzsszöveg tipográfia ───────────────────────────────── */
.blog-body            { line-height: 1.78; color: #1e293b; font-size: 16px; }
.blog-body h2         { font-size: 1.45rem; font-weight: 800; color: #0f172a; margin: 2rem 0 .8rem;
                        border-left: 4px solid var(--color-primary, #2563eb); padding-left: 14px;
                        line-height: 1.3; }
.blog-body h3         { font-size: 1.15rem; font-weight: 700; color: #334155; margin: 1.6rem 0 .6rem; }
.blog-body p          { margin: 0 0 1rem; }
.blog-body ul,
.blog-body ol         { margin: 0 0 1rem; padding-left: 1.5rem; }
.blog-body li         { margin: .3rem 0; }
.blog-body strong     { font-weight: 700; }
.blog-body em         { font-style: italic; }
.blog-body img        { max-width: 100%; height: auto; border-radius: 10px; margin: 1rem 0; display: block; }
.blog-body a          { color: var(--color-primary, #2563eb); text-decoration: underline; }
.blog-body a:hover    { opacity: .8; }
.blog-auto-link       { color: #a20049 !important; text-decoration: underline; }

/* ── CTA blokk ────────────────────────────────────────────── */
.blog-cta-box  { display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
                 background: linear-gradient(135deg, #fff0f3 0%, #fce7f1 100%);
                 border: 1px solid #f9c0d4; border-radius: 12px; padding: 20px 24px; margin-top: 32px; }
.blog-cta-icon { font-size: 32px; flex-shrink: 0; }
.blog-cta-box div { flex: 1; font-size: 15px; color: #1e293b; line-height: 1.55; }
.blog-cta-btn  { display: inline-block; background: #a20049; color: #fff;
                 padding: 10px 22px; border-radius: 8px; font-weight: 700; font-size: 14px;
                 text-decoration: none; white-space: nowrap; flex-shrink: 0; }
.blog-cta-btn:hover { background: #7a0037; color: #fff; }

/* ── Oldalsáv ─────────────────────────────────────────────── */
.blog-sidebar       { width: 280px; flex-shrink: 0; position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.blog-sidebar-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
                      color: #94a3b8; margin: 0 0 12px; }
.blog-related-card  { display: flex; gap: 12px; padding: 12px; border-radius: 10px;
                      border: 1px solid #e2e8f0; background: #fff; text-decoration: none; color: inherit;
                      transition: box-shadow .12s; }
.blog-related-card:hover { box-shadow: 0 3px 12px rgba(0,0,0,.08); }
.blog-related-img   { width: 64px; height: 64px; object-fit: cover; border-radius: 7px; flex-shrink: 0; }
.blog-related-body  { flex: 1; min-width: 0; }
.blog-related-title { font-size: 13px; font-weight: 600; color: #1e293b; line-height: 1.4; margin-bottom: 4px; }
.blog-related-meta  { font-size: 11px; color: #94a3b8; }
.blog-all-link      { display: inline-block; font-size: 13px; color: var(--color-primary, #2563eb);
                      text-decoration: none; padding: 8px 0; }
.blog-all-link:hover { text-decoration: underline; }

/* ── Lapozó ────────────────────────────────────────────────── */
.blog-pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; margin: 40px 0 20px; flex-wrap: wrap;
}
.blog-page-btn {
  display: inline-flex; align-items: center; padding: 8px 18px;
  border-radius: 8px; font-size: 14px; font-weight: 600;
  background: #f1f5f9; color: #1e293b; text-decoration: none;
  border: 1px solid #e2e8f0; transition: background .15s, color .15s;
}
.blog-page-btn:hover { background: #2563eb; color: #fff; border-color: #2563eb; }
.blog-page-disabled { opacity: .4; cursor: default; pointer-events: none; }
.blog-page-numbers { display: flex; align-items: center; gap: 4px; }
.blog-page-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 8px; font-size: 14px; font-weight: 600;
  text-decoration: none; color: #1e293b; border: 1px solid #e2e8f0;
  background: #f8fafc; transition: background .15s, color .15s;
}
.blog-page-num:hover { background: #2563eb; color: #fff; border-color: #2563eb; }
.blog-page-current { background: #2563eb; color: #fff; border-color: #2563eb; }
.blog-page-ellipsis { font-size: 14px; color: #94a3b8; padding: 0 4px; }

/* ── Reszponzív ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .blog-post-layout { flex-direction: column; }
  .blog-sidebar     { width: 100%; position: static; flex-direction: row; flex-wrap: wrap; }
  .blog-related-card { flex: 1; min-width: 220px; }
}
@media (max-width: 640px) {
  .blog-grid              { grid-template-columns: 1fr; }
  .blog-article-inner     { padding: 20px 16px 28px; }
  .blog-article-title     { font-size: 1.4rem; }
  .blog-body h2           { font-size: 1.2rem; }
}

/* ── Dark mode ─────────────────────────────────────────────── */
html.dark .blog-card         { background: var(--color-white); border-color: var(--color-border); }
html.dark .blog-card-title a { color: #e2e8f0; }
html.dark .blog-article      { background: var(--color-white); border-color: var(--color-border); }
html.dark .blog-article-title { color: #f1f5f9; }
html.dark .blog-body          { color: #cbd5e1; }
html.dark .blog-body h2       { color: #e2e8f0; border-left-color: #60a5fa; }
html.dark .blog-body h3       { color: #cbd5e1; }
html.dark .blog-related-card  { background: var(--color-white); border-color: var(--color-border); }
html.dark .blog-related-title { color: #e2e8f0; }
html.dark .blog-tag-filter    { background: var(--color-white); border-color: var(--color-border); color: #94a3b8; }
html.dark .blog-cta-box       { background: #1e2f4d; border-color: #1e3a8a; }
html.dark .blog-cta-box div   { color: #e2e8f0; }
