/* ===================================================================
   PACSI HÚS — design system (pacsihusuzem.com)
   Prémium heritage hentes: faszén-fekete + arany + meleg törtfehér.
   Token-rendszer: FRONTEND_APPLE_PLAYBOOK 6.1.0 + brand-paletta (UX/UI gen).
   Display: Fraunces serif (33 év hagyomány) + rendszer-sans törzs.
   A Fraunces fontot a head.php <link>-eli (perf), itt nincs @import.
   =================================================================== */

:root {
    /* ---- Spacing (4pt rács) ---- */
    --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
    --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px;
    --sp-20: 80px; --sp-24: 96px; --sp-32: 128px;

    /* ---- Fonts ---- */
    --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-system: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

    /* ---- Font-size skála ---- */
    --fs-xs: 12px; --fs-sm: 14px; --fs-base: 16px; --fs-lg: 18px; --fs-xl: 22px;
    --fs-2xl: 28px; --fs-3xl: 36px; --fs-4xl: 48px; --fs-5xl: 64px;

    /* ---- Weight / line-height / tracking ---- */
    --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;
    --lh-tight: 1.08; --lh-snug: 1.2; --lh-normal: 1.6; --lh-relaxed: 1.75;
    --ls-tight: -0.02em; --ls-normal: 0; --ls-wide: 0.14em;

    /* ---- Brand színek ---- */
    --clr-charcoal: #1C1917;       /* faszén-fekete: szöveg + sötét szekció */
    --clr-smoke: #26201C;          /* füst-barna: gyártás-storytelling bg */
    --clr-smoke-deep: #1A1512;
    --clr-gold: #A16207;           /* arany: CTA, akcent (WCAG-igazítva) */
    --clr-gold-hover: #854D0E;
    --clr-gold-soft: #C8941F;      /* világosabb arany sötét háttéren */
    /* A közös komponensek (cookie-consent.js sütisáv) a --clr-accent-et olvassák. */
    --clr-accent: #A16207;
    --clr-accent-dim: #854D0E;
    --clr-bg: #FAFAF9;             /* meleg törtfehér page-bg */
    --clr-surface: #F4F2EF;        /* kártya / halvány szekció */
    --clr-surface-2: #EDEAE5;
    --clr-text: #1C1917;
    --clr-text-secondary: #57534E; /* stone-600 */
    --clr-text-muted: #78716C;     /* stone-500 */
    --clr-text-on-dark: #F5F1EC;
    --clr-text-on-dark-muted: #B6ABA0;
    --clr-border: #E7E5E4;
    --clr-border-dark: #3A322C;

    /* Heritage trikolor (finom akcent) */
    --clr-hu-red: #C8102E;
    --clr-hu-white: #FFFFFF;
    --clr-hu-green: #1E7B3C;

    /* Semantic */
    --clr-success: #1E7B3C;
    --clr-error: #C0392B;

    /* ---- Radius ---- */
    --r-xs: 4px; --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px; --r-pill: 999px;

    /* ---- Shadow (finom) ---- */
    --shadow-xs: 0 1px 2px rgba(28,25,23,0.05);
    --shadow-sm: 0 2px 6px rgba(28,25,23,0.06);
    --shadow-md: 0 6px 18px rgba(28,25,23,0.08);
    --shadow-lg: 0 14px 36px rgba(28,25,23,0.10);

    /* ---- Animation ---- */
    --t-fast: 150ms; --t-base: 250ms; --t-slow: 400ms;
    --ease-system: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
}

/* ===================================================================
   Reset + base
   =================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--font-system);
    font-size: var(--fs-base);
    line-height: var(--lh-normal);
    color: var(--clr-text);
    background: var(--clr-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
img, picture, video { max-width: 100%; display: block; }
a { color: var(--clr-gold); text-decoration: none; transition: color var(--t-fast) var(--ease-system); }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; }

/* ===================================================================
   Tipográfia
   =================================================================== */
h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--ls-tight);
    line-height: var(--lh-snug);
    color: var(--clr-text);
    margin: 0;
}
.display, .hero h1 {
    font-family: var(--font-display);
    font-weight: var(--fw-semibold);
    font-size: clamp(36px, 6.5vw, 68px);
    line-height: var(--lh-tight);
    letter-spacing: var(--ls-tight);
    overflow-wrap: break-word;
}
.section-h2 { font-size: clamp(28px, 4vw, 44px); }
.subsection-h3 { font-size: clamp(20px, 2.5vw, 28px); }

p { margin: 0 0 var(--sp-4); }
.lead {
    font-family: var(--font-system);
    font-size: clamp(17px, 2vw, 21px);
    line-height: var(--lh-normal);
    color: var(--clr-text-secondary);
    font-weight: var(--fw-regular);
    max-width: 600px;
}
.eyebrow {
    display: inline-block;
    font-family: var(--font-system);
    font-size: var(--fs-sm);
    text-transform: uppercase;
    letter-spacing: var(--ls-wide);
    color: var(--clr-gold);
    font-weight: var(--fw-semibold);
    margin-bottom: var(--sp-4);
}
.text-muted { color: var(--clr-text-muted); }
.body-text { max-width: 640px; }
.body-text p { color: var(--clr-text-secondary); }

/* Trikolor heritage-vonal (a logó szalagja) */
.tricolor-rule {
    width: 64px; height: 4px; border-radius: var(--r-pill);
    background: linear-gradient(90deg,
        var(--clr-hu-red) 0 33.3%, var(--clr-hu-white) 33.3% 66.6%, var(--clr-hu-green) 66.6% 100%);
    margin: var(--sp-4) 0;
}
.text-center .tricolor-rule { margin-left: auto; margin-right: auto; }

/* ===================================================================
   Layout
   =================================================================== */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--sp-6); }
.container-narrow { max-width: 760px; }
.container-wide { max-width: 1360px; }
.text-center { text-align: center; }

section { padding: var(--sp-20) 0; }
@media (min-width: 1024px) { section { padding: var(--sp-24) 0; } }
.section-tight { padding: var(--sp-12) 0; }

.grid { display: grid; gap: var(--sp-6); }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--sp-8); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.section-head { max-width: 680px; margin-bottom: var(--sp-12); }
.text-center .section-head { margin-left: auto; margin-right: auto; }

/* Füst-sötét szekció (gyártás-storytelling, B2B) */
.section-dark {
    background: var(--clr-smoke);
    color: var(--clr-text-on-dark);
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: var(--clr-text-on-dark); }
.section-dark .lead, .section-dark p { color: var(--clr-text-on-dark-muted); }
.section-dark .eyebrow { color: var(--clr-gold-soft); }
.section-surface { background: var(--clr-surface); }

/* ===================================================================
   Gomb
   =================================================================== */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
    padding: 13px 26px; min-height: 48px;
    font-family: var(--font-system); font-size: var(--fs-base); font-weight: var(--fw-semibold);
    line-height: 1; border-radius: var(--r-pill); border: 1.5px solid transparent;
    cursor: pointer; text-align: center; white-space: nowrap;
    transition: background-color var(--t-base) var(--ease-system),
                border-color var(--t-base) var(--ease-system),
                color var(--t-base) var(--ease-system),
                transform var(--t-fast) var(--ease-out);
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: var(--clr-gold); color: #fff; }
.btn-outline { background: transparent; color: var(--clr-charcoal); border-color: var(--clr-charcoal); }
.btn-light { background: var(--clr-text-on-dark); color: var(--clr-charcoal); }
.btn-ghost { background: transparent; color: var(--clr-gold); padding: 13px 18px; }
.section-dark .btn-outline { color: var(--clr-text-on-dark); border-color: rgba(245,241,236,0.5); }
.btn-lg { padding: 16px 34px; min-height: 56px; font-size: var(--fs-lg); }
.btn-block { width: 100%; }

@media (hover: hover) and (pointer: fine) {
    a:hover { color: var(--clr-gold-hover); }
    .btn-primary:hover { background: var(--clr-gold-hover); }
    .btn-outline:hover { background: var(--clr-charcoal); color: #fff; }
    .btn-light:hover { background: #fff; }
    .btn-ghost:hover { color: var(--clr-gold-hover); }
    .section-dark .btn-outline:hover { background: var(--clr-text-on-dark); color: var(--clr-charcoal); border-color: var(--clr-text-on-dark); }
}

/* ===================================================================
   Kártyák
   =================================================================== */
.card {
    background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-lg);
    padding: var(--sp-8);
    transition: transform var(--t-base) var(--ease-system), box-shadow var(--t-base) var(--ease-system);
}
.section-surface .card, .card-on-surface { background: #fff; }
.card-icon {
    width: 52px; height: 52px; border-radius: var(--r-md);
    background: rgba(161,98,7,0.10); color: var(--clr-gold);
    display: flex; align-items: center; justify-content: center; margin-bottom: var(--sp-5);
}
.card-icon svg { width: 26px; height: 26px; }
.card h3 { font-size: var(--fs-xl); margin-bottom: var(--sp-3); }
.card p { color: var(--clr-text-secondary); margin: 0; }

/* Termék-kártya (vizuális katalógus, ÁR NÉLKÜL) */
.product-card {
    background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-lg);
    overflow: hidden; display: flex; flex-direction: column;
    transition: transform var(--t-base) var(--ease-system), box-shadow var(--t-base) var(--ease-system);
}
.product-card .product-img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; background: var(--clr-surface-2); }
.product-card .product-body { padding: var(--sp-5) var(--sp-6) var(--sp-6); }
.product-card .product-title { font-family: var(--font-display); font-size: var(--fs-xl); font-weight: var(--fw-semibold); margin: 0 0 var(--sp-1); }
.product-card .product-tag { font-size: var(--fs-sm); color: var(--clr-text-muted); }

@media (hover: hover) and (pointer: fine) {
    .card:hover, .product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
}

/* Statisztika-számok (33 év, 40+ partner, 3 ország) */
.stat .stat-num { font-family: var(--font-display); font-size: clamp(40px, 6vw, 60px); font-weight: var(--fw-semibold); line-height: 1; color: var(--clr-gold); letter-spacing: var(--ls-tight); }
.stat .stat-label { font-size: var(--fs-sm); color: var(--clr-text-secondary); margin-top: var(--sp-2); }
.section-dark .stat .stat-num { color: var(--clr-gold-soft); }
.section-dark .stat .stat-label { color: var(--clr-text-on-dark-muted); }

/* ===================================================================
   Form
   =================================================================== */
.form-field { margin-bottom: var(--sp-5); }
.form-label { display: block; font-size: var(--fs-sm); font-weight: var(--fw-semibold); margin-bottom: var(--sp-2); color: var(--clr-text); }
.form-input, input[type="text"], input[type="email"], input[type="tel"], textarea, select {
    width: 100%; padding: 13px 16px; font-family: var(--font-system); font-size: var(--fs-base);
    color: var(--clr-text); background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-md);
    transition: border-color var(--t-fast) var(--ease-system), box-shadow var(--t-fast) var(--ease-system); outline: none;
}
textarea { min-height: 120px; resize: vertical; }
.form-input:focus, input:focus, textarea:focus, select:focus {
    border-color: var(--clr-gold); box-shadow: 0 0 0 3px rgba(161,98,7,0.15);
}
.form-input::placeholder { color: var(--clr-text-muted); }
.form-hint { font-size: var(--fs-sm); color: var(--clr-text-muted); margin-top: var(--sp-2); }
.form-check { display: flex; gap: var(--sp-3); align-items: flex-start; font-size: var(--fs-sm); color: var(--clr-text-secondary); }
.form-check input { width: auto; margin-top: 3px; }

/* ===================================================================
   Header + nav
   =================================================================== */
.site-header {
    position: sticky; top: 0; z-index: 100;
    background: rgba(250,250,249,0.85); backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--clr-border);
}
.site-header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.site-header .logo img { height: 46px; width: 46px; border-radius: 50%; object-fit: cover; }
.site-nav ul { display: flex; align-items: center; gap: var(--sp-6); }
.site-nav a { color: var(--clr-text); font-size: var(--fs-base); font-weight: var(--fw-medium); }
.site-nav .nav-cta { margin-left: var(--sp-2); }
@media (hover: hover) and (pointer: fine) { .site-nav a:not(.btn):hover { color: var(--clr-gold); } }

/* Hamburger */
.hamburger { display: none; background: none; border: none; cursor: pointer; width: 44px; height: 44px; padding: 10px; flex-direction: column; justify-content: center; gap: 5px; }
.hamburger span { display: block; height: 2px; width: 24px; background: var(--clr-charcoal); border-radius: 2px; transition: transform var(--t-base) var(--ease-system), opacity var(--t-base) var(--ease-system); }
.hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-overlay { position: fixed; inset: 0; background: rgba(28,25,23,0.5); opacity: 0; visibility: hidden; transition: opacity var(--t-base) var(--ease-system), visibility var(--t-base); z-index: 110; }
.nav-overlay.active { opacity: 1; visibility: visible; }
.mobile-nav { position: fixed; top: 0; right: 0; bottom: 0; width: min(86vw, 340px); background: var(--clr-bg); z-index: 120; padding: var(--sp-16) var(--sp-6) var(--sp-6); transform: translateX(100%); transition: transform var(--t-slow) var(--ease-drawer); box-shadow: var(--shadow-lg); overflow-y: auto; }
.mobile-nav.active { transform: translateX(0); }
.mobile-nav ul { display: flex; flex-direction: column; gap: var(--sp-1); }
.mobile-nav a { display: block; padding: var(--sp-3) var(--sp-2); font-size: var(--fs-lg); color: var(--clr-text); font-weight: var(--fw-medium); }
.mobile-nav .btn { margin-top: var(--sp-4); }
.mobile-nav-close { position: absolute; top: var(--sp-5); right: var(--sp-5); width: 44px; height: 44px; background: none; border: none; font-size: 30px; line-height: 1; color: var(--clr-text); cursor: pointer; }

@media (max-width: 900px) {
    .site-nav { display: none; }
    .hamburger { display: flex; }
}

/* ===================================================================
   Hero
   =================================================================== */
.hero { position: relative; padding: var(--sp-24) 0 var(--sp-20); }
.hero .lead { margin-top: var(--sp-5); margin-bottom: var(--sp-8); }
.hero-cta { display: flex; gap: var(--sp-4); flex-wrap: wrap; }
.text-center .hero-cta { justify-content: center; }
.hero-media { margin-top: var(--sp-12); border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow-lg); }
.hero-media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

/* Két-út blokk (B2B üzem / B2C boltok) */
.path-card { position: relative; border-radius: var(--r-xl); overflow: hidden; min-height: 340px; display: flex; align-items: flex-end; padding: var(--sp-8); color: #fff; }
.path-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,25,23,0.15) 0%, rgba(28,25,23,0.82) 100%); z-index: 1; }
.path-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.path-card .path-body { position: relative; z-index: 2; }
.path-card h3 { color: #fff; font-size: var(--fs-2xl); margin-bottom: var(--sp-2); }
.path-card p { color: rgba(245,241,236,0.88); margin-bottom: var(--sp-5); }
.path-card .path-link { display: inline-flex; align-items: center; gap: var(--sp-2); color: #fff; font-weight: var(--fw-semibold); }

/* ===================================================================
   Footer
   =================================================================== */
.site-footer { background: var(--clr-charcoal); color: var(--clr-text-on-dark-muted); padding: var(--sp-16) 0 var(--sp-8); }
.site-footer h4 { color: var(--clr-text-on-dark); font-family: var(--font-system); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: var(--ls-wide); margin-bottom: var(--sp-4); }
.site-footer a { color: var(--clr-text-on-dark-muted); }
.site-footer .footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--sp-8); margin-bottom: var(--sp-12); }
.site-footer .footer-brand img { height: 64px; margin-bottom: var(--sp-4); }
.site-footer .footer-links li { margin-bottom: var(--sp-2); }
.site-footer .footer-bottom { border-top: 1px solid var(--clr-border-dark); padding-top: var(--sp-6); display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-4); font-size: var(--fs-sm); }
@media (hover: hover) and (pointer: fine) { .site-footer a:hover { color: var(--clr-gold-soft); } }
@media (max-width: 768px) { .site-footer .footer-grid { grid-template-columns: 1fr 1fr; } }

/* ===================================================================
   Scroll-reveal + a11y
   =================================================================== */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity var(--t-slow) var(--ease-out), transform var(--t-slow) var(--ease-out); }
.reveal.visible { opacity: 1; transform: translateY(0); }

.skip-to-content { position: fixed; top: -60px; left: 16px; background: var(--clr-gold); color: #fff; padding: 12px 20px; border-radius: var(--r-md); z-index: 9999; transition: top var(--t-base) var(--ease-system); }
.skip-to-content:focus { top: 16px; }
*:focus-visible { outline: 2px solid var(--clr-gold); outline-offset: 2px; border-radius: var(--r-sm); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
    .reveal { opacity: 1; transform: none; }
    .mobile-nav { transition: none; }
}

/* ===================================================================
   Főoldal-komponensek
   =================================================================== */
/* Füst-sötét szekcióban a kártya "glass" */
.section-dark .card { background: rgba(255,255,255,0.045); border-color: var(--clr-border-dark); }
.section-dark .card p { color: var(--clr-text-on-dark-muted); }
.section-dark .card-icon { background: rgba(200,148,31,0.16); color: var(--clr-gold-soft); }

/* Gyártási folyamat — számozott lépések */
.process { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-8) var(--sp-6); }
.process-step { position: relative; padding-top: var(--sp-2); }
.process-step .step-num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; border-radius: var(--r-pill);
    background: var(--clr-gold); color: #fff;
    font-family: var(--font-display); font-size: var(--fs-xl); font-weight: var(--fw-semibold);
    margin-bottom: var(--sp-4);
}
.process-step h4 { font-size: var(--fs-lg); margin-bottom: var(--sp-2); }
.process-step p { color: var(--clr-text-secondary); font-size: var(--fs-sm); margin: 0; }

/* Vélemény-kártya */
.review-card { background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-lg); padding: var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-5); }
.review-stars { color: var(--clr-gold); font-size: var(--fs-lg); letter-spacing: 2px; }
.review-card blockquote { margin: 0; font-size: var(--fs-lg); line-height: var(--lh-relaxed); color: var(--clr-text); font-family: var(--font-display); font-weight: var(--fw-regular); }
.review-card .review-author { font-size: var(--fs-sm); color: var(--clr-text-muted); font-weight: var(--fw-semibold); }

/* Záró CTA blokk */
.cta-band { background: var(--clr-charcoal); color: var(--clr-text-on-dark); border-radius: var(--r-xl); padding: var(--sp-16) var(--sp-8); text-align: center; }
.cta-band h2 { color: var(--clr-text-on-dark); margin-bottom: var(--sp-5); }
.cta-band p { color: var(--clr-text-on-dark-muted); max-width: 520px; margin: 0 auto var(--sp-8); }
.cta-band .hero-cta { justify-content: center; }

/* ===================================================================
   Aloldal-komponensek
   =================================================================== */
.page-hero { padding: var(--sp-20) 0 var(--sp-12); }
.page-hero .display { font-size: clamp(32px, 5vw, 52px); }

/* Lead-form kártya */
.form-card { background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-xl); padding: var(--sp-10); box-shadow: var(--shadow-md); }
.section-dark .form-card { background: rgba(255,255,255,0.05); border-color: var(--clr-border-dark); box-shadow: none; }
.section-dark .form-card .form-label { color: var(--clr-text-on-dark); }
.section-dark .form-card input, .section-dark .form-card textarea, .section-dark .form-card select { background: rgba(255,255,255,0.06); border-color: var(--clr-border-dark); color: var(--clr-text-on-dark); }
.section-dark .form-card input::placeholder, .section-dark .form-card textarea::placeholder { color: var(--clr-text-on-dark-muted); }
.section-dark .form-card .form-check { color: var(--clr-text-on-dark-muted); }
.form-message { margin-top: var(--sp-4); font-size: var(--fs-sm); }
.form-message.success { color: var(--clr-gold-soft); }
.form-message.error { color: #E88; }

/* Bolt-kártya + térkép */
.shop-card { background: #fff; border: 1px solid var(--clr-border); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; }
.shop-card .map-embed { aspect-ratio: 16 / 10; background: var(--clr-surface-2); }
.shop-card .map-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.shop-card .shop-body { padding: var(--sp-6); }
.shop-card h3 { font-size: var(--fs-xl); margin-bottom: var(--sp-3); }
.shop-card .shop-row { display: flex; gap: var(--sp-3); align-items: flex-start; font-size: var(--fs-sm); color: var(--clr-text-secondary); margin-bottom: var(--sp-2); }
.shop-card .shop-row svg { width: 18px; height: 18px; color: var(--clr-gold); flex-shrink: 0; margin-top: 2px; }

/* Termék-kategória */
.cat-block { margin-bottom: var(--sp-16); }
.cat-head { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-8); }
.cat-head h2 { font-size: var(--fs-2xl); white-space: nowrap; }
.cat-head .cat-line { flex: 1; height: 1px; background: var(--clr-border); }

/* Letöltés-kártya (EU-engedély) */
.download-card { display: flex; align-items: center; gap: var(--sp-5); background: var(--clr-surface); border: 1px solid var(--clr-border); border-radius: var(--r-lg); padding: var(--sp-6); }
.download-card .dl-icon { width: 48px; height: 48px; border-radius: var(--r-md); background: rgba(161,98,7,0.1); color: var(--clr-gold); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.download-card .dl-body strong { display: block; font-family: var(--font-display); font-size: var(--fs-lg); }
.download-card .dl-body span { font-size: var(--fs-sm); color: var(--clr-text-muted); }

/* Kapcsolat-info */
.contact-item { padding: var(--sp-6); background: var(--clr-surface); border-radius: var(--r-lg); height: 100%; }
.contact-item h3 { font-size: var(--fs-lg); margin-bottom: var(--sp-3); }
.contact-item p { font-size: var(--fs-sm); color: var(--clr-text-secondary); margin: 0 0 var(--sp-1); }

/* ===================================================================
   Responsive finomítás
   =================================================================== */
@media (max-width: 600px) {
    section { padding: var(--sp-16) 0; }
    .btn-lg { width: 100%; }
    .hero-cta { flex-direction: column; }
    .hero-cta .btn { width: 100%; }
}
