/* ============================================================
   RepairCenter — APPLE-SZERŰ MINIMÁL (2026)
   Tiszta fehér, finom szürkék, apró kék akcent, nagy térközök.
   Egyetlen fontcsalád: Geist (modern, semleges).
   ============================================================ */

:root {
    /* --- Színpaletta -------------------------------------------- */
    --bg-primary:    #ffffff;      /* hős fehér */
    --bg-secondary:  #fbfbfd;      /* Apple light gray */
    --bg-tertiary:   #f5f5f7;      /* enyhébb szürke */
    --bg-dark:       #1d1d1f;      /* footer / sötét szekció */

    --text-primary:  #1d1d1f;      /* főszöveg */
    --text-secondary:#424245;      /* másodlagos */
    --text-tertiary: #6e6e73;      /* halvány */
    --text-quaternary: #86868b;    /* legfinomabb */

    --accent:        #0071e3;      /* Apple kék */
    --accent-hover:  #0077ed;
    --accent-dim:    #2997ff;

    --border:        #d2d2d7;
    --border-soft:   #e5e5e7;
    --shadow-card:   0 4px 16px rgba(29, 29, 31, 0.05);
    --shadow-hover:  0 12px 28px rgba(29, 29, 31, 0.10);
    --shadow-deep:   0 24px 60px rgba(29, 29, 31, 0.16);

    /* --- Tipográfia (egy család) -------------------------------- */
    --font-display: 'Geist', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
    --font-text:    'Geist', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
    --font-mono:    'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

    /* --- Térköz-skála (8-base) ---------------------------------- */
    --s-1: 4px;  --s-2: 8px;  --s-3: 16px; --s-4: 24px;
    --s-5: 40px; --s-6: 64px; --s-7: 96px; --s-8: 128px;

    /* --- Sarok-radius (Apple stílus) ---------------------------- */
    --r-sm: 10px;
    --r:    18px;
    --r-lg: 22px;
    --r-xl: 28px;
    --r-pill: 980px;

    /* --- Átmenetek ---------------------------------------------- */
    --ease: cubic-bezier(0.28, 0.11, 0.32, 1);
    --t-fast: 220ms;
    --t-base: 360ms;
    --t-slow: 540ms;
}

/* ============================================================
   RESET / GLOBÁL
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    font-family: var(--font-text) !important;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: -0.005em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    cursor: auto;
}

::selection { background: var(--accent); color: #fff; }

a { color: var(--accent); text-decoration: none; transition: color var(--t-fast) var(--ease); }
a:hover { color: var(--accent-hover); }
a.link-underline { text-decoration: underline; text-underline-offset: 2px; }
img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   TIPOGRÁFIA
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.heading, .main-title h2, .alt-font, .main-font {
    font-family: var(--font-display) !important;
    color: var(--text-primary) !important;
    font-weight: 600;
    line-height: 1.07;
    letter-spacing: -0.022em;
    margin: 0 0 var(--s-3);
}

h1 {
    font-size: clamp(2.6rem, 5.6vw, 4.6rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.05;
}
h2 {
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.025em;
}
h3 {
    font-size: clamp(1.4rem, 2.2vw, 1.75rem);
    font-weight: 600;
    letter-spacing: -0.018em;
}
h4 { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.014em; }
h5 { font-size: 1.05rem; font-weight: 600; letter-spacing: -0.012em; }
h6 { font-size: 0.95rem; font-weight: 600; }

em, i { font-style: normal; color: var(--accent); font-weight: 600; }
.accent { color: var(--accent) !important; }

p {
    margin: 0 0 var(--s-3);
    color: var(--text-secondary);
    line-height: 1.5;
    font-size: 17px;
}
p.lead {
    font-size: clamp(1.15rem, 1.6vw, 1.3rem);
    font-weight: 400;
    line-height: 1.42;
    color: var(--text-primary);
    letter-spacing: -0.012em;
}

/* Hős „eyebrow" Apple-stílusú */
.ed-eyebrow, .eyebrow {
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 600;
    color: var(--accent);
    letter-spacing: 0;
    text-transform: none;
    display: inline-block;
    margin-bottom: var(--s-3);
}
.ed-eyebrow::before { display: none; }

/* ============================================================
   KONTÉNER
   ============================================================ */
.ed-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 40px);
}
.ed-narrow {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 40px);
    text-align: center;
}

/* ============================================================
   NAVIGÁCIÓ — minimal Apple
   ============================================================ */
header#home, .top-banner, .navbar-top-default {
    background: rgba(255, 255, 255, 0.78) !important;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border: 0 !important;
    border-bottom: 0.5px solid var(--border-soft) !important;
    box-shadow: none !important;
    padding: 12px 0;
}
header#home { position: sticky !important; top: 0; z-index: 9000; }
.top-banner { padding: 6px 0 !important; }

.logo-center img {
    max-height: 38px;
    width: auto;
    transition: opacity var(--t-fast) var(--ease);
}
.logo-center a:hover img { opacity: 0.7; }

.banner-icons a, .banner-icons button {
    color: var(--text-primary) !important;
    background: transparent !important;
    border: 0 !important;
    margin-left: 14px;
    font-size: 0.95rem;
    transition: opacity var(--t-fast) var(--ease);
}
.banner-icons a:hover, .banner-icons button:hover { opacity: 0.55; }
.rc-theme-toggle { display: none !important; }

/* HAMBURGER eltüntetése desktopon (csak mobilon látszik) */
.sidemenu_btn,
.sidemenu_toggle,
.fixed-nav-on-scroll {
    display: none !important;
}
@media (max-width: 991px) {
    .sidemenu_btn { display: inline-flex !important; }
}
.sidemenu_btn span { background: var(--text-primary) !important; }

/* Fő navigációs linkek */
.navbar-nav .nav-link {
    color: var(--text-primary) !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    padding: 6px 12px !important;
    text-transform: none !important;
    opacity: 0.88;
    transition: opacity var(--t-fast) var(--ease);
}
.navbar-nav .nav-link::after { display: none; }
.navbar-nav .nav-link:hover { color: var(--text-primary) !important; opacity: 1; }

/* Side menu világosabb téma — Apple mobil drawer */
.side-menu {
    background: var(--bg-primary) !important;
    width: 100% !important;
    max-width: 380px !important;
    box-shadow: var(--shadow-deep) !important;
    padding: 80px 24px 24px !important;
    z-index: 9999 !important;
}
.side-menu.hidden { display: none !important; visibility: hidden !important; }
.side-menu .inner-wrapper { padding: 0 !important; }
.side-menu .navbar-nav { padding: 0; margin: 0; }
.side-menu .nav-item { border-bottom: 1px solid var(--border-soft); }
.side-menu .nav-item:last-child { border-bottom: 0; }
.side-menu .nav-link {
    color: var(--text-primary) !important;
    font-family: var(--font-text) !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: -0.005em !important;
    padding: 16px 4px !important;
    text-align: left !important;
    transition: padding-left var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
    display: block;
}
.side-menu .nav-link:hover { color: var(--accent) !important; padding-left: 8px !important; }
.side-menu .nav-item-cta { border-bottom: 0; margin-top: 24px; }
.side-menu .nav-item-cta .btn {
    width: 100%;
    justify-content: center;
}
.side-menu .side-footer { padding-top: 24px; border-top: 1px solid var(--border-soft); margin-top: 12px; }
.side-menu .social-icons-simple { display: flex; gap: 12px; padding: 0; margin: 0; list-style: none; }
.side-menu .social-icons-simple a {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: var(--bg-secondary);
    color: var(--text-primary) !important;
    transition: all var(--t-fast) var(--ease);
}
.side-menu .social-icons-simple a:hover { background: var(--accent); color: #fff !important; }

/* Close (X) gomb átformázása — Apple stílusú kerek X */
.btn_sideNavClose, .quarter-circle.btn_sideNavClose {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--bg-secondary) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: background var(--t-fast) var(--ease);
}
.btn_sideNavClose:hover { background: var(--bg-tertiary) !important; }
.btn_sideNavClose .menu_bars2 {
    position: relative;
    width: 20px;
    height: 20px;
}
.btn_sideNavClose .menu_bars2 span {
    background: var(--text-primary) !important;
    position: absolute;
    left: 0; right: 0;
    height: 1.6px !important;
    border-radius: 1px;
    transition: all .25s ease;
}
.btn_sideNavClose .menu_bars2 span:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); }
.btn_sideNavClose .menu_bars2 span:nth-child(2) { display: none; }
.btn_sideNavClose .menu_bars2 span:nth-child(3) { top: 50%; transform: translateY(-50%) rotate(-45deg); }

.side-nav a { color: var(--text-primary) !important; }

/* ============================================================
   HERO — Apple homepage tile
   ============================================================ */
.banner, #home-banner {
    background: var(--bg-primary) !important;
    padding: clamp(80px, 11vw, 140px) 0 clamp(70px, 9vw, 110px) !important;
    min-height: auto !important;
    display: block !important;
    position: relative;
    overflow: hidden;
    text-align: center;
}
#home-banner .slider-area {
    background-image: none !important;
    background: var(--bg-primary) !important;
    height: auto !important;
    min-height: auto !important;
    display: block !important;
    padding: 0 !important;
}
#home-banner .bg-overlay { display: none !important; }
#home-banner .min-vh-100 { min-height: auto !important; }
.banner .container, .banner .row, .banner .heading-area { text-align: center; }
.banner .content-box { text-align: center !important; max-width: 880px; margin: 0 auto; }

.banner h1, .ed-hero h1 {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 6vw, 4.8rem) !important;
    font-weight: 600 !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em;
    color: var(--text-primary) !important;
    margin: 0 0 var(--s-4) !important;
    text-shadow: none !important;
}
.banner h1 .accent, .ed-hero h1 .accent {
    color: #fd4545 !important;
    font-style: normal;
    font-weight: 600;
}
.banner h2, .ed-hero h2 {
    font-family: var(--font-text) !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--text-tertiary) !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 var(--s-3) !important;
}
.banner p, .ed-hero p {
    font-family: var(--font-text) !important;
    font-style: normal;
    font-size: clamp(1.15rem, 1.6vw, 1.4rem) !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em;
    color: var(--text-secondary) !important;
    max-width: 640px;
    margin: 0 auto var(--s-5) !important;
}

.btn-area {
    display: flex !important;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center !important;
    margin-top: var(--s-4);
}

/* Apple stílusú gombok — pirula */
.btn, .btn-neon, .btn-outline-success, .btn-yellow, .rc-submit {
    font-family: var(--font-text) !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    letter-spacing: -0.005em !important;
    border-radius: var(--r-pill) !important;
    background: var(--accent) !important;
    color: #ffffff !important;
    border: 1px solid var(--accent) !important;
    padding: 11px 22px !important;
    text-transform: none !important;
    transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease) !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: none !important;
    line-height: 1.2;
}
.btn:hover, .btn-neon:hover {
    background: var(--accent-hover) !important;
    border-color: var(--accent-hover) !important;
    color: #ffffff !important;
    transform: none !important;
}
.btn-outline-success {
    background: transparent !important;
    color: var(--accent) !important;
    border: 1px solid var(--accent) !important;
}
.btn-outline-success:hover {
    background: rgba(0, 113, 227, 0.06) !important;
    color: var(--accent) !important;
    border-color: var(--accent) !important;
}
.btn .fa, .btn i { transition: transform var(--t-fast) var(--ease); }
.btn:hover .fa { transform: translateX(2px); }

/* Hero scroll-cue eltüntetése */
.ed-hero-meta { display: none !important; }

/* ============================================================
   SZEKCIÓK
   ============================================================ */
section {
    background: var(--bg-primary) !important;
    padding: clamp(70px, 10vw, 130px) 0 !important;
    border: 0 !important;
    position: relative;
}
/* Páros váltakozás: fehér / világosszürke */
section.about, section.cube-portfolio1, section#szerviz, section.elerhetoseg, section.hidrogelfolia, section.rc-reviews { background: var(--bg-secondary) !important; }
section + section { border-top: 0 !important; }

/* Központi szekció-fejléc (Apple Hero Stack) */
.ed-section-head {
    display: block !important;
    text-align: center !important;
    max-width: 740px;
    margin: 0 auto var(--s-6) !important;
    padding: 0 !important;
    border: 0 !important;
}
.ed-section-head .meta {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--s-2);
}
.ed-section-head .num {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--accent);
    letter-spacing: 0;
    font-weight: 500;
}
.ed-section-head .label {
    font-family: var(--font-text);
    font-size: 14px;
    color: var(--text-tertiary);
    letter-spacing: 0;
    text-transform: none;
    font-weight: 500;
}
.ed-section-head h2 {
    margin: 0 !important;
    font-size: clamp(2rem, 4vw, 3.2rem) !important;
    line-height: 1.05;
    color: var(--text-primary) !important;
}

/* ============================================================
   SZOLGÁLTATÁSOK — Apple product tile grid
   ============================================================ */
.about-box { display: none !important; }

.ed-services {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    margin-top: var(--s-6);
    border: 0 !important;
}
.ed-service {
    padding: var(--s-5) var(--s-4) var(--s-4) !important;
    border: 0 !important;
    border-radius: var(--r-lg) !important;
    background: var(--bg-secondary) !important;
    position: relative;
    overflow: hidden;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
    cursor: pointer;
    text-decoration: none !important;
    color: inherit !important;
    display: flex;
    flex-direction: column;
    min-height: 260px;
}
.ed-service:nth-child(3n) { border: 0 !important; }
.ed-service:hover {
    background: var(--bg-tertiary) !important;
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
    color: inherit !important;
}
.ed-service:hover h3,
.ed-service:hover p,
.ed-service:hover .ed-service-num,
.ed-service:hover .ed-service-arrow { color: inherit !important; }
.ed-service-num {
    font-family: var(--font-text);
    font-size: 13px;
    font-weight: 500;
    color: var(--accent) !important;
    letter-spacing: 0;
    margin-bottom: var(--s-3);
    text-transform: none;
}
.ed-service h3 {
    font-family: var(--font-display) !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 var(--s-2) !important;
    color: var(--text-primary) !important;
}
.ed-service h3 em {
    color: var(--accent) !important;
    font-style: normal;
    font-weight: 600;
}
.ed-service p {
    color: var(--text-secondary) !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin: 0 0 var(--s-4) !important;
    flex: 1;
}
.ed-service-arrow {
    position: static !important;
    align-self: flex-start;
    font-size: 1.1rem;
    color: var(--accent) !important;
    transition: transform var(--t-fast) var(--ease);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.ed-service-arrow::before {
    content: "Tudj meg többet";
    font-size: 14px;
    font-weight: 500;
    color: var(--accent);
}
.ed-service:hover .ed-service-arrow { transform: translateX(4px); }

/* ============================================================
   RÓLUNK
   ============================================================ */
section.about figure.about-image img {
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-card);
    filter: none;
}
section.about p { color: var(--text-secondary); font-size: 1.05rem; line-height: 1.55; }

/* Statisztikák */
.ed-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-4);
    margin-top: var(--s-5);
    padding-top: var(--s-5);
    border-top: 1px solid var(--border-soft);
}
.ed-stat-num {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 600;
    line-height: 1;
    color: var(--text-primary);
    margin-bottom: 6px;
    letter-spacing: -0.035em;
    font-variant-numeric: tabular-nums;
}
.ed-stat-label {
    font-family: var(--font-text);
    font-size: 13px;
    color: var(--text-tertiary);
    letter-spacing: 0;
    text-transform: none;
    font-weight: 500;
}

/* ============================================================
   ELADÓ KÉSZÜLÉKEK
   ============================================================ */
#keszulekek { background: var(--bg-primary) !important; }
#keszulekek select.custom-select-dark, #keszulekek select {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r-pill) !important;
    padding: 10px 18px !important;
    font-family: var(--font-text) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
}
#keszulekek select:focus { outline: none !important; border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.18) !important; }

/* Device card állapot-badge (A / B / C / Új) — Apple stílus */
.device-card .badge,
.device-card .badge-info,
.device-card .badge-success,
.device-card .badge-warning,
.device-card .badge-danger {
    background: var(--text-primary) !important;
    color: #ffffff !important;
    border-radius: var(--r-pill) !important;
    padding: 4px 10px !important;
    font-family: var(--font-text) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
}

/* Eladó készülékek szűrő-sáv — Apple light style */
.rc-filter-bar {
    background: var(--bg-secondary) !important;
    border: 0 !important;
    border-radius: var(--r-lg);
    padding: 18px !important;
    margin-bottom: var(--s-5) !important;
    align-items: center;
}
#keszulekek .btn-outline-success.btn-block {
    width: 100%;
    padding: 9px 16px !important;
    font-size: 13px !important;
}

.device-card {
    background: var(--bg-secondary) !important;
    border: 0 !important;
    border-radius: var(--r-lg) !important;
    overflow: hidden;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
    cursor: pointer;
    box-shadow: none;
}
.device-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
}
.device-img-wrapper {
    background: #ffffff !important;
    border-radius: var(--r-lg) var(--r-lg) 0 0 !important;
    padding: 28px !important;
}
.device-title { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 1.05rem !important; letter-spacing: -0.015em !important; }
.device-price { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 1.1rem !important; }

/* ============================================================
   REFERENCIÁK
   ============================================================ */
.cube-portfolio1 { background: var(--bg-secondary) !important; }
.cbp-l-caption-activeWrap { background: rgba(29, 29, 31, 0.7) !important; }
.cbp-l-caption-title { color: #fff !important; font-family: var(--font-display) !important; font-weight: 600 !important; }
.cbp-item img { transition: transform 0.6s var(--ease); border-radius: var(--r-sm); }
.cbp-item { border-radius: var(--r-sm); overflow: hidden; }
.cbp-item:hover img { transform: scale(1.04); }

/* ============================================================
   SZERVIZ ÁRAK
   ============================================================ */
.sz-search-input {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-primary) !important;
    border-radius: var(--r) !important;
    padding: 14px 18px !important;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
}
.sz-search-input::placeholder { color: var(--text-tertiary); }
.sz-search-input:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.18) !important; }

.sz-pill {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r-pill) !important;
    color: var(--text-primary) !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
    padding: 7px 14px !important;
    font-weight: 500 !important;
    transition: all var(--t-fast) var(--ease) !important;
}
.sz-pill:hover { background: var(--bg-tertiary) !important; }
.sz-pill.active { background: var(--text-primary) !important; color: #fff !important; border-color: var(--text-primary) !important; }

.sz-acc-brand {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border-soft) !important;
    border-radius: var(--r) !important;
    margin-bottom: 12px !important;
    backdrop-filter: none !important;
    transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.sz-acc-brand:hover { box-shadow: var(--shadow-card); }
.sz-acc-brand.open { border-color: var(--accent) !important; }
.sz-acc-brand-head { padding: 20px 24px !important; }
.sz-acc-brand-head:hover { background: transparent !important; }
.sz-acc-brand-title { font-family: var(--font-display) !important; font-size: 1.2rem !important; font-weight: 600 !important; color: var(--text-primary) !important; letter-spacing: -0.015em !important; }
.sz-acc-brand-title i { color: var(--accent) !important; }
.sz-acc-brand-meta { font-family: var(--font-text) !important; font-size: 13px !important; color: var(--text-tertiary) !important; letter-spacing: 0 !important; font-weight: 500 !important; }
.sz-chev { color: var(--accent) !important; }
.sz-acc-model { background: var(--bg-secondary) !important; border: 1px solid var(--border-soft) !important; border-radius: var(--r-sm) !important; }
.sz-acc-model.open { border-color: var(--accent) !important; }
.sz-acc-model-title { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; }
.sz-acc-model-meta { color: var(--text-tertiary) !important; font-family: var(--font-text) !important; font-size: 13px !important; }
.sz-stats, .sz-stats b { color: var(--text-secondary) !important; font-family: var(--font-text) !important; font-size: 14px !important; }
.sz-stats .clear-all { color: var(--accent) !important; }
.sz-dd-list, .sz-dd-item { background: var(--bg-primary) !important; color: var(--text-primary) !important; border-color: var(--border-soft) !important; }
.sz-dd-item:hover { background: var(--bg-secondary) !important; }
.sz-dd-item.selected { background: rgba(0, 113, 227, 0.1) !important; color: var(--accent) !important; }
.sz-dd-item .cnt { background: var(--bg-tertiary) !important; color: var(--text-tertiary) !important; }
.sz-tag { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; border: 0 !important; border-radius: var(--r-pill) !important; }
.sz-card { background: var(--bg-secondary) !important; border: 1px solid var(--border-soft) !important; border-radius: var(--r) !important; transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease) !important; }
.sz-card:hover { transform: translateY(-3px) !important; border-color: var(--accent) !important; box-shadow: var(--shadow-card) !important; }
.sz-card-name { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; }
.sz-cat-badge {
    background: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-soft) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 11.5px !important;
    padding: 4px 10px !important;
    border-radius: var(--r-pill) !important;
}
.sz-card-meta { color: var(--text-tertiary) !important; }
.sz-card-meta i { color: var(--text-tertiary) !important; }
.sz-card-desc { color: var(--text-secondary) !important; }
.sz-card-price {
    color: var(--text-primary) !important;
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    font-size: 1.15rem !important;
    letter-spacing: -0.02em !important;
}
.sz-card-btn {
    background: var(--accent) !important;
    border: 0 !important;
    color: #ffffff !important;
    border-radius: var(--r-pill) !important;
    padding: 7px 16px !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: background var(--t-fast) var(--ease) !important;
}
.sz-card-btn:hover { background: var(--accent-hover) !important; color: #ffffff !important; text-decoration: none !important; }

/* Almodel fejléc + count badge */
.sz-acc-model-head { padding: 14px 18px !important; }
.sz-acc-model-head:hover { background: var(--bg-tertiary) !important; }
.sz-acc-model-title .dot { color: var(--accent) !important; }
.sz-acc-model-count { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; border-radius: var(--r-pill) !important; padding: 3px 11px !important; font-weight: 500 !important; }

mark.sz-hl { background: #fff5b8 !important; color: var(--text-primary) !important; padding: 0 3px; border-radius: 3px; }
.sz-empty { background: var(--bg-secondary) !important; border-color: var(--border-soft) !important; color: var(--text-tertiary) !important; border-radius: var(--r-lg) !important; }
.sz-empty h4 { color: var(--text-primary) !important; }
.sz-loading { color: var(--text-tertiary) !important; }
.sz-loading i { color: var(--accent) !important; }
.sz-search-hint kbd { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
.sz-search-hint { color: var(--text-tertiary) !important; font-family: var(--font-text) !important; }

/* Dropdown — Apple light */
.sz-dd-btn {
    background-color: var(--bg-primary) !important;
    border-color: var(--border) !important;
    color: var(--text-primary) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%230071e3' d='M6 8L0 0h12z'/></svg>") !important;
}
.sz-dd-btn:hover { border-color: var(--accent) !important; }
.sz-dd-btn:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.18) !important; }
.sz-dd.active .sz-dd-btn { background-color: var(--text-primary) !important; color: #fff !important; border-color: var(--text-primary) !important; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23fff' d='M6 8L0 0h12z'/></svg>") !important; }
.sz-dd.open .sz-dd-btn { box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.18) !important; }
.sz-dd-panel {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--r) !important;
    box-shadow: var(--shadow-deep) !important;
}
.sz-dd-search { border-bottom: 1px solid var(--border-soft) !important; }
.sz-dd-search input { background: var(--bg-secondary) !important; border: 1px solid var(--border-soft) !important; color: var(--text-primary) !important; }
.sz-dd-search input:focus { border-color: var(--accent) !important; }
.sz-dd-search i { color: var(--text-tertiary) !important; }
.sz-dd-list::-webkit-scrollbar-track { background: var(--bg-secondary) !important; }
.sz-dd-list::-webkit-scrollbar-thumb { background: var(--border) !important; }
.sz-dd-item { color: var(--text-primary) !important; border-bottom: 1px solid var(--border-soft) !important; }
.sz-dd-item:hover { background: var(--bg-secondary) !important; color: var(--text-primary) !important; }
.sz-dd-item.selected { background: rgba(0, 113, 227, 0.08) !important; color: var(--accent) !important; }
.sz-dd-item .cnt { background: var(--bg-tertiary) !important; color: var(--text-secondary) !important; }
.sz-dd-item.selected .cnt { background: var(--accent) !important; color: #fff !important; }
.sz-dd-empty { color: var(--text-tertiary) !important; }

/* ============================================================
   TERMÉK MODÁL (productModal) — Apple-light átalakítás
   ============================================================ */
#productModal .modal-content {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    border: 0 !important;
    border-radius: var(--r-lg) !important;
}
#productModal .modal-header, #productModal .modal-footer { border-color: var(--border-soft) !important; }
#productModal .modal-title { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; }
#productModal .close { color: var(--text-primary) !important; opacity: 0.5; text-shadow: none; }
#productModal .close:hover { opacity: 1; }
#productModal #modalImage { background: var(--bg-secondary) !important; border: 0 !important; border-radius: var(--r) !important; padding: 18px; }
#productModal #modalPrice { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; font-size: 2rem !important; letter-spacing: -0.025em; }

/* Badges */
#productModal #modalConditionBadge {
    background: rgba(0, 113, 227, 0.1) !important;
    color: var(--accent) !important;
    border: 1px solid rgba(0, 113, 227, 0.25) !important;
    border-radius: var(--r-pill) !important;
    padding: 6px 14px !important;
    font-weight: 500 !important;
    font-size: 13px !important;
}
#productModal #modalStorageBadge {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 0 !important;
    border-radius: var(--r-pill) !important;
    padding: 6px 14px !important;
    font-weight: 500 !important;
    font-size: 13px !important;
}

/* Részletes Állapot blokk: sötét → világos */
#productModal .bg-secondary {
    background: var(--bg-secondary) !important;
    border-radius: var(--r) !important;
}
#productModal .bg-secondary h6 {
    color: var(--text-primary) !important;
    font-family: var(--font-display) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--border-soft) !important;
}
#productModal .table-dark,
#productModal .table-dark td,
#productModal .table-dark th {
    background: transparent !important;
    color: var(--text-primary) !important;
    border-color: transparent !important;
}
#productModal .table-dark .text-muted { color: var(--text-tertiary) !important; }
#productModal .table-dark .text-white,
#productModal .table-dark .text-white.font-weight-bold { color: var(--text-primary) !important; }

/* Lista (SKU, IMEI, Szín) */
#productModal ul.text-white-50 { color: var(--text-secondary) !important; }
#productModal ul .text-green { color: var(--accent) !important; }
#productModal ul .text-white { color: var(--text-primary) !important; font-weight: 500; }

/* "Érdekel a termék" gomb */
#productModal #modalInterestBtn {
    background: var(--accent) !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: var(--r-pill) !important;
    padding: 12px 24px !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}
#productModal #modalInterestBtn:hover { background: var(--accent-hover) !important; }
#productModal .mt-4 { text-align: center; }
#productModal .text-muted { color: var(--text-tertiary) !important; }

/* ============================================================
   VÉLEMÉNYEK
   ============================================================ */
.rc-reviews { background: var(--bg-secondary) !important; }
.rc-reviews-head { max-width: 720px; margin: 0 auto var(--s-6) !important; text-align: center !important; }
.rc-reviews-badge {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border-soft) !important;
    color: var(--text-primary) !important;
    font-family: var(--font-text) !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
    border-radius: var(--r-pill) !important;
    padding: 7px 14px !important;
    font-weight: 500 !important;
}
.rc-reviews-badge svg path { fill: #FFB100 !important; }
.rc-reviews-title { display: none !important; }
.rc-reviews-sub { color: var(--text-secondary) !important; font-size: 1.05rem !important; font-family: var(--font-text) !important; line-height: 1.5 !important; margin-top: 14px !important; }

.rc-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 18px;
    border: 0 !important;
    margin-top: var(--s-5) !important;
}
.rc-review {
    background: var(--bg-primary) !important;
    border: 0 !important;
    border-radius: var(--r-lg) !important;
    padding: var(--s-4) !important;
    box-shadow: var(--shadow-card);
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
    cursor: pointer;
}
.rc-review:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover);
    background: var(--bg-primary) !important;
    border: 0 !important;
}
.rc-review:nth-child(3n) { border: 0 !important; }
.rc-review-head { gap: 12px !important; margin-bottom: var(--s-3) !important; }
.rc-review-avatar {
    width: 40px !important; height: 40px !important;
    background: var(--accent) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-family: var(--font-display) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    border-radius: 50% !important;
}
.rc-review-name { font-family: var(--font-display) !important; font-weight: 600 !important; color: var(--text-primary) !important; font-size: 1rem !important; letter-spacing: -0.01em !important; }
.rc-review-name svg path { fill: var(--accent) !important; }
.rc-review-sub { font-family: var(--font-text) !important; color: var(--text-tertiary) !important; font-size: 12px !important; letter-spacing: 0 !important; }
.rc-stars { color: #FFB100 !important; font-size: 0.95rem !important; letter-spacing: 1.5px !important; }
.rc-review-text {
    font-family: var(--font-text) !important;
    font-style: normal !important;
    color: var(--text-secondary) !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
    letter-spacing: -0.005em;
}
.rc-review-text::before { display: none !important; }

/* ============================================================
   HIDROGÉL FÓLIA
   ============================================================ */
.hidrogelfolia { background: var(--bg-secondary) !important; }
.hidrogelfolia h5 {
    font-family: var(--font-text) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--accent) !important;
    font-weight: 600 !important;
}
.hidrogelfolia h2 {
    font-family: var(--font-display) !important;
    color: var(--text-primary) !important;
    font-size: clamp(1.8rem, 3.4vw, 2.6rem) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: var(--s-3) !important;
}
.hidrogelfolia h2 .text-yellow, .hidrogelfolia .js-rotating { color: var(--accent) !important; font-style: normal !important; font-weight: 600 !important; }
.hidrogelfolia p, .hidrogelfolia ul li { color: var(--text-secondary) !important; font-family: var(--font-text) !important; }
.hidrogelfolia figure.about-image img { border-radius: var(--r-xl); box-shadow: var(--shadow-card); }
.hidrogelfolia ul { margin-top: var(--s-3); }
.hidrogelfolia ul li {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--border-soft) !important;
    font-family: var(--font-text) !important;
    font-size: 15px !important;
    letter-spacing: 0 !important;
    color: var(--text-primary) !important;
    list-style: none !important;
}
.hidrogelfolia ul li::before { display: none !important; }
.hidrogelfolia ul li b { font-family: var(--font-display) !important; font-weight: 600 !important; color: var(--text-primary) !important; font-size: 1rem; letter-spacing: -0.01em; }

/* ============================================================
   ELÉRHETŐSÉG
   ============================================================ */
.elerhetoseg { background: var(--bg-secondary) !important; }
.elerhetoseg .heading { font-family: var(--font-display) !important; color: var(--text-primary) !important; }
.elerhetoseg .contact-box, .elerhetoseg .contact-info {
    background: transparent !important;
    backdrop-filter: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.elerhetoseg .contact-info p {
    color: var(--text-secondary) !important;
    line-height: 1.55;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-soft);
    margin-bottom: 18px !important;
    font-size: 16px;
}
.elerhetoseg .contact-info p:last-child { border-bottom: 0; }
.elerhetoseg .contact-info p b {
    color: var(--text-tertiary);
    font-family: var(--font-text);
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 500;
    display: block;
    margin-bottom: 4px;
}
.elerhetoseg .contact-info a { color: var(--accent) !important; }
.elerhetoseg .mapouter { border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow-card); }
.elerhetoseg .mapouter iframe { filter: none; height: 460px !important; }

/* ============================================================
   DOKUMENTUMOK
   ============================================================ */
.pricing { background: var(--bg-primary) !important; }
.price-item-dark, .price_item {
    background: var(--bg-secondary) !important;
    border: 0 !important;
    border-radius: var(--r-lg) !important;
    padding: var(--s-4) !important;
    box-shadow: none;
    transition: transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);
    text-align: left !important;
    height: 100% !important;
    cursor: pointer;
    backdrop-filter: none !important;
}
.price-item-dark:hover, .price_item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
}
.price-item-dark .price_header_text, .price_item .price_header_text { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-size: 1.1rem !important; font-weight: 600 !important; letter-spacing: -0.015em; }
.price-item-dark .btn-yellow, .price_item .btn-yellow {
    background: transparent !important;
    border: 0 !important;
    color: var(--accent) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: var(--s-3);
    font-family: var(--font-text) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
}
.price-item-dark .btn-yellow:hover, .price_item .btn-yellow:hover { background: transparent !important; color: var(--accent-hover) !important; }

/* Modálok */
.modal-content {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    border: 0 !important;
    border-radius: var(--r-lg) !important;
    box-shadow: var(--shadow-deep) !important;
}
.modal-content .modal-header, .modal-content .modal-footer { border-color: var(--border-soft) !important; padding: 20px 28px !important; }
.modal-content .modal-body { padding: 28px 32px !important; }
.modal-content h4, .modal-content h5, .modal-content h6, .modal-content .modal-title { color: var(--text-primary) !important; font-family: var(--font-display) !important; font-weight: 600 !important; }
.modal-content p, .modal-content ul li, .modal-content span { color: var(--text-secondary) !important; }
.modal-content a { color: var(--accent) !important; }
.close { color: var(--text-primary) !important; opacity: 0.55 !important; }

/* Popup (hírek) */
#popup-overlay { background: rgba(29, 29, 31, 0.55) !important; backdrop-filter: blur(8px); }
#popup-overlay > div, #popup-overlay [style*="background:white"] {
    background: var(--bg-primary) !important;
    border-radius: var(--r-lg) !important;
    border: 0 !important;
    box-shadow: var(--shadow-deep) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
    background: var(--bg-secondary) !important;
    color: var(--text-tertiary) !important;
    padding: clamp(60px, 8vw, 100px) 0 var(--s-4) !important;
    border-top: 1px solid var(--border-soft) !important;
}
.footer h3 { color: var(--text-primary) !important; }
.footer p, .footer .company-about { color: var(--text-tertiary) !important; font-family: var(--font-text) !important; font-size: 13px !important; line-height: 1.55; }
.footer a { color: var(--text-primary) !important; }
.footer a:hover { color: var(--accent) !important; }
.footer .footer-social a {
    background: var(--bg-primary) !important;
    border: 1px solid var(--border-soft) !important;
    color: var(--text-primary) !important;
    width: 40px !important; height: 40px !important;
    border-radius: 50% !important;
    transition: all var(--t-fast) var(--ease) !important;
}
.footer .footer-social a:hover { background: var(--text-primary) !important; color: #fff !important; transform: translateY(-2px); border-color: var(--text-primary) !important; }

/* Footer 4-oszlopos elrendezés alapszín */
.footer [style*="color:var(--silver)"] { color: var(--text-tertiary) !important; }
.footer [style*="color:var(--silver-bright)"] { color: var(--text-primary) !important; }
.footer [style*="color:var(--paper)"] { color: var(--text-primary) !important; }

/* ============================================================
   MIKROANIMÁCIÓK
   ============================================================ */
.ed-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.ed-reveal.is-visible { opacity: 1; transform: none; }

.ed-reveal-stagger > * {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.ed-reveal-stagger.is-visible > * { opacity: 1; transform: none; }
.ed-reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0.04s; }
.ed-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 0.10s; }
.ed-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 0.16s; }
.ed-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 0.22s; }
.ed-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 0.28s; }
.ed-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 0.34s; }
.ed-reveal-stagger.is-visible > *:nth-child(7) { transition-delay: 0.40s; }
.ed-reveal-stagger.is-visible > *:nth-child(8) { transition-delay: 0.46s; }

.ed-word { display: inline-block; opacity: 0; transform: translateY(14px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease); }
.ed-words.is-visible .ed-word { opacity: 1; transform: none; }

.ed-counter[data-target] { font-variant-numeric: tabular-nums; }

@media (prefers-reduced-motion: reduce) {
    .ed-reveal, .ed-reveal-stagger > *, .ed-word { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   GO-TOP
   ============================================================ */
.go-top {
    background: var(--text-primary) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 50% !important;
    width: 44px !important; height: 44px !important;
}
.go-top:hover { background: var(--accent) !important; }

/* ============================================================
   CUSTOM CURSOR — ki van kapcsolva Apple stílushoz
   ============================================================ */
.ed-cursor, .ed-cursor-ring { display: none !important; }

/* ============================================================
   RÉGI OSZTÁLYOK SEMLEGESÍTÉSE
   ============================================================ */
.tech-master-bg, .floating-gear, .neon-grid, .gear-overlay { display: none !important; }
.bg-overlay.bg-black { background: transparent !important; }
.text-white { color: var(--text-primary) !important; }
.text-green, .text-neon, .text-yellow { color: var(--accent) !important; text-shadow: none !important; }
.bg-dark-gray, .bg-black { background: var(--bg-primary) !important; }
.bg-trans-color { background: transparent !important; }

/* ============================================================
   RESZPONZÍV
   ============================================================ */
@media (max-width: 991px) {
    .ed-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .ed-stats { grid-template-columns: 1fr; }
    section { padding: 70px 0 !important; }
    .banner h1, .ed-hero h1 { font-size: 9vw !important; }
}
