/*
Theme Name:   Kadence Child – Elektrohő Kft.
Theme URI:    https://elektroho.hu
Description:  Kadence child theme – Elektrohő Kft. egyedi design
Author:       Elektrohő Kft.
Author URI:   https://elektroho.hu
Template:     kadence
Version:      1.1.1
License:      GNU General Public License v2 or later
Text Domain:  kadence-child

=============================================================
  SZÍN RENDSZER
=============================================================
  --ekh-navy:      #0B1F4B   (elsődleges sötétkék)
  --ekh-orange:    #F47B20   (akcentszín narancssárga)
  --ekh-orange-dk: #D4640A   (hover állapot)
  --ekh-white:     #FFFFFF
  --ekh-light:     #F5F7FA   (háttér szürke)
  --ekh-gray:      #6B7280   (szöveg szürke)
  --ekh-dark:      #1A1A2E   (mély sötét)
=============================================================
*/

/* =============================================================
   ALAP RESET
============================================================= */

/* box-sizing: border-box – padding és border nem növeli az elemet
   Kadence child theme-ben kritikus: gap + padding + border együtt
   viewport overflow-t okoz border-box nélkül */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* iOS szövegméret fix (rotáció) */
body {
    -webkit-text-size-adjust: 100%;
}

/* overflow-x: clip – vágja a 100vw hero scrollbar-overflowt,
   de NEM hoz létre BFC-t (szemben overflow:hidden-nel),
   ezért az alignwide negatív marginok továbbra is helyesen működnek */
html {
    overflow-x: clip;
}

/* =============================================================
   ALIGNWIDE GLOBÁLIS FIX
   Mivel entry-content-wrap { padding: 0 }, a Kadence
   margin-left/right: -2rem az alignwide blokkokra overflow-t okoz.
   Nullázzuk az összes alignwide margint; a width 100% tölti ki
   az adott szekciót (alignfull vagy entry-content).
============================================================= */
.page .wp-site-blocks .entry-content .alignwide {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
    max-width: 100%;
}

/* Alignfull belseji tartalomkeret: max-width korlát + padding */
.wp-block-group.alignfull > .wp-block-group__inner-container,
.wp-block-group.alignfull > .wp-block-columns {
    max-width: var(--global-content-width, 1290px);
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
    width: 100%;
}

/* Service kártyák: border-box + shadow ne vágódjon le */
.ekh-service-card,
.wp-block-column[style*="border-radius"] {
    box-sizing: border-box;
    overflow: visible !important;
}

a,
button,
.wp-block-button__link,
.ekh-cta-btn {
    -webkit-tap-highlight-color: transparent;
}

:root {
    --ekh-navy:      #0B1F4B;
    --ekh-orange:    #F47B20;
    --ekh-orange-dk: #D4640A;
    --ekh-white:     #FFFFFF;
    --ekh-light:     #F5F7FA;
    --ekh-gray:      #6B7280;
    --ekh-dark:      #1A1A2E;

    /* Kadence CSS változók felülírása */
    --global-palette1: #0B1F4B;
    --global-palette2: #F47B20;
    --global-palette3: #D4640A;
    --global-palette4: #1A1A2E;
    --global-palette5: #6B7280;
    --global-palette6: #F5F7FA;
    --global-palette7: #FFFFFF;
    --global-palette8: #FFFFFF;
    --global-palette9: #FFFFFF;

    /* WooCommerce gomb változók – alapból palette1 (navy) lenne → felülírjuk narancssárgára */
    --global-palette-btn-bg:       var(--ekh-orange);
    --global-palette-btn-bg-hover: var(--ekh-orange-dk);
    --global-palette-btn:          #FFFFFF;
    --global-palette-btn-hover:    #FFFFFF;
}

/* =============================================================
   ALAP TIPOGRÁFIA
============================================================= */
body {
    font-family: 'Raleway', 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: var(--ekh-dark);
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Raleway', 'Segoe UI', system-ui, sans-serif;
    font-weight: 700;
    color: var(--ekh-navy);
    line-height: 1.25;
}

/* =============================================================
   GOMBOK
============================================================= */
.wp-block-button__link,
.button,
.btn-primary,
.ff-btn-submit {
    background-color: var(--ekh-orange);
    border-color: var(--ekh-orange);
    color: var(--ekh-white);
    font-weight: 600;
    border-radius: 4px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.wp-block-button__link:hover,
.button:hover,
.btn-primary:hover,
.ff-btn-submit:hover,
.ff-btn-submit:focus,
.ff-btn-submit:active {
    background-color: var(--ekh-orange-dk);
    border-color: var(--ekh-orange-dk);
    color: var(--ekh-white);
}

/* Másodlagos gomb */
.btn-secondary {
    background-color: transparent;
    border: 2px solid var(--ekh-white);
    color: var(--ekh-white);
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.btn-secondary:hover {
    background-color: var(--ekh-white);
    color: var(--ekh-navy);
}

/* =============================================================
   LOGÓ – elektroho-logo-header.png: fehér+narancssárga variáns dark headerre
============================================================= */

/* Site title elrejtése – logó mellett felesleges */
.site-header .site-title,
#masthead .site-title,
.header-site-title {
    display: none !important;
}

/* Logó kép méretezés */
.site-header .custom-logo,
.site-header .kadence-logo-img,
#masthead .custom-logo,
#masthead img.custom-logo,
.site-branding a.brand img {
    max-height: 56px !important;
    max-width: none !important;
    width: auto !important;
    height: 56px !important;
    display: block;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;

    object-fit: contain;
}

/* Logó wrapper + brand link – overflow: visible hogy ne vágja le */
.site-header .site-logo,
.site-header .custom-logo-link,
#masthead .site-logo,
#masthead .header-logo-wrap,
#masthead .site-branding,
#masthead a.brand,
.site-header a.brand {
    overflow: visible !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    background: none !important;
}

/* Sticky fejlécben */
.kadence-sticky-header .custom-logo,
.kadence-sticky-header .kadence-logo-img,
.kadence-sticky-header a.brand img {
    height: 44px !important;
    max-height: 44px !important;
}

/* =============================================================
   FULL-WIDTH LAP – entry-content padding eltávolítása
   Minden page-en: padding=0 hogy az alignfull szekciók
   (hero, tartalmi szekciók) teljes viewport szélességet töltsenek ki.
   A kártyák kilógását az alignfull>alignwide fix kezeli külön
   (margin:auto + max-width + padding-inline), nem a wrapper paddingja.
============================================================= */
.page .entry-content-wrap {
    padding: 0 !important;
}

.page article.page {
    background: transparent !important;
    box-shadow: none !important;
}

/* Fix #1: Dupla H1 javítás – Kadence post_title H1 elrejtése
   Minden belső oldalon egyedi hero szekció van saját H1-gyel.
   display:none → Google "rejtett tartalom"-nak kezeli; a hero H1 marad az autoritatív. */
.page:not(.home) .entry-header .entry-title {
    display: none !important;
}

/* A teljes entry-header is felesleges ha csak a title volt benne */
.page:not(.home) .entry-header:not(:has(*:not(.entry-title))) {
    display: none !important;
}

/* Kadence automatikus page-hero szekció elrejtése belső oldalakon –
   minden aloldal saját designed hero szekciót tartalmaz a tartalomban,
   a duplikált fehér title-blokk ezért felesleges */
.page:not(.home) .entry-hero,
.page:not(.home) .page-hero-section {
    display: none !important;
}

/* content-area margin-top (5rem) eltávolítása – ez hozza létre
   a fehér sávot a nav és a hero között, ha entry-hero el van rejtve */
.page:not(.home) .content-area {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Hero és trust bar: teljes szélességbe törés (100vw = viewport teljes szélessége)
   overflow-x: clip a body-n (ld. alap reset szekció) megakadályozza
   a scrollbar-szélességű overflowt anélkül hogy BFC-t hozna létre */
.ekh-hero-new,
.ekh-trust-bar {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* =============================================================
   NAVIGÁCIÓ (Kadence specifikus szelektorok)
============================================================= */
.site-header,
#masthead {
    background-color: var(--ekh-navy) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Alap nav – felülírja Kadence inline color:var(--global-palette5) szürkéjét */
.main-navigation .primary-menu-container > ul > li.menu-item > a,
.header-navigation .nav-menu a,
.kadence-navigation .menu-item a,
.primary-menu-container .menu-item a {
    color: #FFFFFF !important;
    font-weight: 500;
}

/* Hover – felülírja Kadence color:var(--global-palette-highlight) feketéjét
   #F47B20 on #0B1F4B = 5.28:1 → WCAG AA ✓ */
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.header-navigation .nav-menu a:hover,
.kadence-navigation .menu-item a:hover,
.primary-menu-container .menu-item a:hover {
    color: #F47B20 !important;
}

/* Aktív menüpont */
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
.header-navigation .current-menu-item > a,
.primary-menu-container .current-menu-item > a {
    color: #F47B20 !important;
}

/* Mobil menü */
.kadence-mobile-header-nav .nav-menu a {
    color: var(--ekh-navy);
}

/* =============================================================
   AKADÁLYMENTESSÉG – WCAG 2.2 AA
============================================================= */

/* Skip-to-content (2.4.1 Bypass Blocks) – Kadence "Skip to content" EN duplikátum elrejtve */
a.skip-link.screen-reader-text { display: none !important; }

.ekh-skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    z-index: 99999;
    padding: 12px 24px;
    background: var(--ekh-navy);
    color: #fff !important;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    border-radius: 0 0 4px 0;
    transition: top 0.15s ease;
}

.ekh-skip-link:focus {
    top: 0;
    outline: 3px solid var(--ekh-orange);
    outline-offset: 2px;
}

/* Billentyűzetes fókusz (2.4.11 Focus Appearance) – látható keret minden interaktív elemen */
:focus-visible {
    outline: 3px solid var(--ekh-orange);
    outline-offset: 3px;
    border-radius: 2px;
}

/* Kadence néhol outline: none !important-tal írja felül – visszaállítjuk */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--ekh-orange) !important;
    outline-offset: 3px !important;
    border-radius: 2px !important;
    box-shadow: 0 0 0 5px rgba(244, 123, 32, 0.2) !important;
}

/* =============================================================
   LINKEK
============================================================= */
a {
    color: var(--ekh-orange);
    text-decoration: none;
}

a:hover {
    color: var(--ekh-orange-dk);
}

/* Törzsszövegben lévő linkek aláhúzása (WCAG 1.4.1 – nem csak szín különbözteti meg) */
.entry-content a:not(.wp-block-button__link):not(.ekh-cta-btn):not([class*="btn"]) {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.entry-content a:not(.wp-block-button__link):not(.ekh-cta-btn):hover {
    text-decoration-thickness: 2px;
}

/* =============================================================
   SZOLGÁLTATÁS KÁRTYÁK
============================================================= */
.ekh-service-card {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ekh-service-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    transform: translateY(-2px);
}

/* =============================================================
   TÉRKÉP – reszponzív magasság
============================================================= */
.wp-block-embed__wrapper iframe[src*="google.com/maps"],
.wp-block-embed__wrapper iframe[src*="openstreetmap"] {
    width: 100% !important;
}

@media ( max-width: 768px ) {
    .wp-block-embed__wrapper iframe[src*="google.com/maps"],
    .wp-block-embed__wrapper iframe[src*="openstreetmap"],
    iframe[src*="google.com/maps"] {
        height: 250px !important;
    }
}

/* =============================================================
   RESZPONZÍV – Aloldalak mobil fix (max 768px)
   Érinti: about, services, contact, arjanylat-keres, projects, blog
============================================================= */
@media ( max-width: 768px ) {

    /* --- Főoldal hero (cover block) --- */
    .wp-block-cover.ekh-hero {
        min-height: 480px !important;
        overflow: hidden !important;
    }
    .wp-block-cover.ekh-hero h1 {
        font-size: 28px !important;
        line-height: 1.2 !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
    }
    .wp-block-cover.ekh-hero p {
        font-size: 15px !important;
        word-break: break-word !important;
        max-width: 100% !important;
    }
    .wp-block-cover__inner-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* --- Aloldal page-hero fejléc (navy group) --- */
    .wp-block-group.alignfull[style*="background:#0B1F4B"],
    .wp-block-group.alignfull[style*="background:#0b1f4b"] {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    .wp-block-group.alignfull[style*="background:#0B1F4B"] h1,
    .wp-block-group.alignfull[style*="background:#0b1f4b"] h1 {
        font-size: 28px !important;
        line-height: 1.2 !important;
        word-break: break-word !important;
    }
    .wp-block-group.alignfull[style*="background:#0B1F4B"] p,
    .wp-block-group.alignfull[style*="background:#0b1f4b"] p {
        font-size: 16px !important;
        max-width: 100% !important;
    }

    /* --- Általános H2 (tartalmi szekciók) --- */
    .wp-block-heading[style*="font-size:42px"],
    .wp-block-heading[style*="font-size:44px"],
    .wp-block-heading[style*="font-size:38px"],
    .wp-block-heading[style*="font-size:36px"],
    .wp-block-heading[style*="font-size:34px"],
    .wp-block-heading[style*="font-size:32px"] {
        font-size: 24px !important;
        line-height: 1.3 !important;
        word-break: break-word !important;
    }

    /* --- Columns: egymás alá rakás (flex-basis inline override) --- */
    .wp-block-columns.alignwide,
    .wp-block-columns.alignfull,
    .wp-block-columns {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
        min-width: 100% !important;
    }

    /* --- Kártyák (services, about értékek) --- */
    .ekh-service-card,
    .wp-block-column[style*="border-radius:8px"] {
        margin-bottom: 16px !important;
    }

    /* --- Gombok --- */
    .wp-block-buttons {
        flex-direction: column !important;
        align-items: center !important;
    }
    .wp-block-button__link {
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* --- Trust bar --- */
    .ekh-trust-strip .wp-block-columns {
        flex-wrap: wrap !important;
        flex-direction: row !important;
    }
    .ekh-trust-strip .wp-block-column {
        flex-basis: 50% !important;
        min-width: 50% !important;
    }

    /* --- Nagy padding csökkentése szekciókban --- */
    .wp-block-group[style*="padding-top:72px"] {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    .wp-block-group[style*="padding-top:64px"] {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }
    .wp-block-group[style*="padding-top:80px"] {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    /* --- Kapcsolat oldal: térkép és form --- */
    .wp-block-embed__wrapper iframe[src*="google.com/maps"],
    iframe[src*="google.com/maps"] {
        height: 250px !important;
    }

    /* --- Overflow védelem mobilon --- */
    .entry-content {
        overflow-x: clip;
    }

    /* --- Inline CSS grid (pl. Engedélyek 3-oszlopos) → 1 oszlop mobilon --- */
    div[style*="grid-template-columns:repeat(3"] {
        grid-template-columns: 1fr !important;
    }
    div[style*="grid-template-columns: repeat(3"] {
        grid-template-columns: 1fr !important;
    }

    /* --- Columns inline flex-basis override mobilon
         (WordPress <=781px-en magától stack-el, de !important felülírja) --- */
    .wp-block-columns[style*="padding-top"] {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* =============================================================
   RESZPONZÍV – Mobil (max 480px)
============================================================= */
@media ( max-width: 480px ) {

    /* Főoldal hero */
    .wp-block-cover.ekh-hero {
        min-height: 400px !important;
        padding: 48px 20px !important;
    }
    .wp-block-cover.ekh-hero h1 {
        font-size: 26px !important;
    }

    /* Trust bar: egymás alá */
    .ekh-trust-strip .wp-block-column {
        flex-basis: 100% !important;
        min-width: 100% !important;
    }

    /* H2 még kisebb */
    .wp-block-heading[style*="font-size:42px"],
    .wp-block-heading[style*="font-size:44px"],
    .wp-block-heading[style*="font-size:38px"],
    .wp-block-heading[style*="font-size:36px"],
    .wp-block-heading[style*="font-size:34px"],
    .wp-block-heading[style*="font-size:32px"] {
        font-size: 22px !important;
    }

    /* Belső padding csökkentése kártyákon */
    .wp-block-column[style*="padding:32px"],
    .wp-block-column[style*="padding:28px"] {
        padding: 20px 16px !important;
    }

    /* Aloldal hero fejléc */
    .wp-block-group.alignfull[style*="background:#0B1F4B"] h1,
    .wp-block-group.alignfull[style*="background:#0b1f4b"] h1 {
        font-size: 24px !important;
    }

    /* Általános szöveg padding */
    .wp-block-group__inner-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* =============================================================
   REFERENCIÁK KÁRTYÁK – CSS hover (onmouseenter/onmouseleave helyett)
   A PHP által generált inline JS handlers felett !important nyeri
============================================================= */
.ekh-rc {
    transition: box-shadow .25s ease, transform .25s ease !important;
}

.ekh-rc:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.14) !important;
    transform: translateY(-4px) !important;
}

.ekh-rc img {
    transition: transform .4s ease !important;
}

.ekh-rc:hover img {
    transform: scale(1.04) !important;
}

/* =============================================================
   WEBSHOP – kategória szűrő sáv
============================================================= */
.ekh-shop-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
}

.ekh-shop-categories a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 2px solid #E5E7EB;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ekh-navy);
    text-decoration: none;
    transition: all .2s ease;
}

.ekh-shop-categories a:hover,
.ekh-shop-categories a.active {
    background: var(--ekh-navy);
    border-color: var(--ekh-navy);
    color: #fff;
}

.ekh-shop-categories a .count {
    background: rgba(0,0,0,0.08);
    border-radius: 10px;
    padding: 1px 7px;
    font-size: 11px;
    font-weight: 700;
}

/* =============================================================
   B2B PARTNER FIÓK – üdvözlő szekció a my-account oldalon
============================================================= */
.ekh-partner-welcome {
    background: linear-gradient(135deg, #0B1F4B 0%, #1a3a7a 100%);
    border-radius: 8px;
    padding: 24px 28px;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.ekh-partner-welcome-icon {
    width: 48px;
    height: 48px;
    background: rgba(244,123,32,0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ekh-orange);
}

.ekh-partner-welcome h3 {
    color: #fff !important;
    font-size: 16px !important;
    margin: 0 0 4px !important;
}

.ekh-partner-welcome p {
    color: #94a3b8;
    font-size: 13px;
    margin: 0;
    line-height: 1.5;
}

.ekh-partner-welcome a {
    color: var(--ekh-orange) !important;
    text-decoration: underline;
}

/* Guest figyelmeztetés partner regisztrációhoz */
.ekh-partner-nudge {
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    border-left: 4px solid var(--ekh-orange);
    border-radius: 0 6px 6px 0;
    padding: 14px 18px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #374151;
}

.ekh-partner-nudge strong { color: var(--ekh-navy); }
.ekh-partner-nudge a { color: var(--ekh-orange); font-weight: 600; }

/* =============================================================
   BREADCRUMB navigáció
============================================================= */
.site-breadcrumb {
    background: var(--ekh-light);
    padding: 12px 0;
    font-size: 14px;
    color: var(--ekh-gray);
}

.site-breadcrumb a {
    color: var(--ekh-navy);
}

.site-breadcrumb a:hover {
    color: var(--ekh-orange);
}

/* =============================================================
   GOMB – outline változat felülírása (ne legyen narancssárga)
============================================================= */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: rgba(255,255,255,0.1) !important;
}

/* =============================================================
   NAVIGÁCIÓ – Árajánlat CTA gomb
============================================================= */
.primary-menu-container .menu-item.ekh-nav-cta > a,
.header-navigation .nav-menu .ekh-nav-cta > a,
.menu-item.ekh-nav-cta > a {
    background-color: var(--ekh-orange) !important;
    color: var(--ekh-white) !important;
    border-radius: 4px !important;
    padding: 11px 20px !important;  /* 44px touch target: 11px top+bottom + ~22px text */
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease !important;
    margin-left: 12px;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
}

.primary-menu-container .menu-item.ekh-nav-cta > a:hover,
.header-navigation .nav-menu .ekh-nav-cta > a:hover,
.menu-item.ekh-nav-cta > a:hover,
.primary-menu-container .menu-item.ekh-nav-cta > a:focus,
.header-navigation .nav-menu .ekh-nav-cta > a:focus,
.menu-item.ekh-nav-cta > a:focus,
.primary-menu-container .menu-item.ekh-nav-cta > a:active,
.header-navigation .nav-menu .ekh-nav-cta > a:active,
.menu-item.ekh-nav-cta > a:active,
.primary-menu-container .menu-item.ekh-nav-cta > a:visited,
.header-navigation .nav-menu .ekh-nav-cta > a:visited,
.menu-item.ekh-nav-cta > a:visited {
    background-color: var(--ekh-orange-dk) !important;
    color: var(--ekh-white) !important;
}

/* =============================================================
   HERO – oldallayout.jpg szerinti 3-oszlopos layout
============================================================= */
.ekh-hero-new {
    background-color: var(--ekh-navy);
    width: 100%;
    overflow: hidden;
}

.ekh-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 48px 40px;
    display: grid;
    grid-template-columns: 4fr 6fr 220px;
    align-items: center;
    gap: 0;
    min-height: 460px;
}

/* --- Bal: szöveg --- */
.ekh-hero-text {
    padding-right: 32px;
}

.ekh-tagline {
    display: block;
    color: var(--ekh-orange);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    margin-bottom: 28px;
    opacity: 0.9;
}

.ekh-hero-h1 {
    font-family: 'Raleway', sans-serif;
    font-size: 56px;
    font-size: clamp(44px, 5.5vw, 76px);
    font-weight: 800;
    line-height: 1.0;
    margin: 0 0 24px;
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}

.ekh-title-white { display: block; color: #fff; }
.ekh-title-orange { display: block; color: var(--ekh-orange); }

.ekh-hero-subtitle {
    color: #94a3b8;
    font-size: 15px;
    line-height: 1.75;
    margin: 0 0 40px;
    max-width: 360px;
}

.ekh-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--ekh-orange);
    color: #fff !important;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 15px 30px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.ekh-cta-btn:hover {
    background-color: var(--ekh-orange-dk) !important;
    color: #fff !important;
}

/* --- Közép: 3D épület --- */
.ekh-hero-building {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    background-color: #0B1F4B !important;
}

.ekh-hero-building img {
    width: 100%;
    max-height: 500px;
    display: block;
    background-color: #0B1F4B !important;
}

/* --- Jobb: szolgáltatás ikonok --- */
.ekh-hero-services {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-left: 24px;
    border-left: 1px solid rgba(255,255,255,0.08);
}

.ekh-service-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background: rgba(255,255,255,0.05);
    border-radius: 8px;
    cursor: default;
}

.ekh-service-item svg {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.ekh-service-item span {
    color: #e2e8f0;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    line-height: 1.25;
    white-space: nowrap;
}

/* =============================================================
   TRUST BAR – 4 értékpropozíció (oldallayout.jpg alján)
============================================================= */
.ekh-trust-bar {
    background-color: #0a1b42;
    border-top: 2px solid rgba(244,123,32,0.25);
    width: 100%;
}

.ekh-trust-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 28px 48px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.ekh-trust-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ekh-trust-item svg {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    color: var(--ekh-orange);
    opacity: 0.8;
}

.ekh-trust-item-text strong {
    display: block;
    color: #fff;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 3px;
}

.ekh-trust-item-text span {
    color: #94a3b8;   /* #94a3b8 / #0a1b42 = ~4.6:1 → WCAG AA ✓ */
    font-size: 13px;
}

/* =============================================================
   RESZPONZÍV
============================================================= */
@media ( max-width: 1024px ) {
    .ekh-hero-inner {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        padding: 48px 32px 40px;
    }
    .ekh-hero-building { grid-column: 2; grid-row: 1; }
    .ekh-hero-text { grid-column: 1; grid-row: 1; }
    .ekh-hero-services {
        grid-column: 1 / -1;
        grid-row: 2;
        flex-direction: row;
        flex-wrap: wrap;
        border-left: none;
        border-top: 1px solid rgba(255,255,255,0.08);
        padding: 24px 0 0;
        margin-top: 16px;
        gap: 8px;
    }
    .ekh-service-item { flex: 1 1 calc(50% - 8px); }
    .ekh-trust-inner { grid-template-columns: repeat(2, 1fr); padding: 24px 32px; }
}

@media ( max-width: 640px ) {
    .ekh-hero-inner {
        grid-template-columns: 1fr;
        padding: 40px 24px 32px;
        text-align: center;
        min-height: auto;
    }
    .ekh-hero-text { grid-column: 1; grid-row: 1; padding-right: 0; }
    .ekh-hero-building { grid-column: 1; grid-row: 2; max-height: 260px; }
    .ekh-hero-services { grid-column: 1; grid-row: 3; justify-content: center; }
    .ekh-hero-subtitle { max-width: 100%; }
    .ekh-trust-inner { grid-template-columns: 1fr; padding: 24px; gap: 16px; }

    /* Hero H1 overflow fix mobilon */
    .ekh-hero-h1 {
        font-size: 30px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
        max-width: 100% !important;
    }

    .ekh-tagline {
        font-size: 10px !important;
        letter-spacing: 1.5px !important;
        word-break: break-word !important;
    }

    .ekh-hero-new,
    .ekh-hero-inner {
        overflow: hidden !important;
        max-width: 100% !important;
    }

    .ekh-service-item span {
        white-space: normal !important;
        font-size: 10px !important;
    }
}

/* =============================================================
   AKADÁLYMENTESSÉG – prefers-reduced-motion (WCAG 2.3.3)
   Felhasználók akik mozgáscsökkentést kérnek az OS-ben
============================================================= */
@media ( prefers-reduced-motion: reduce ) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =============================================================
   WOOCOMMERCE GOMBOK – narancssárga + fehér felirat
   Kadence woocommerce.css btn-bg: var(--global-palette1) = navy alapból,
   mert a theme_mods-ban nincs gombszín beállítás → default palette1.
   !important szükséges mivel Kadence inline <style> felülírja a :root változókat.
   A --ekh-orange viszont megmarad (Kadence nem bántja az egyedi --ekh-* változókat).
============================================================= */
.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt,
.single_add_to_cart_button,
.add_to_cart_button,
.wc-block-grid__product .button {
    background-color: var(--ekh-orange) !important;
    color: #ffffff !important;
    border-color: var(--ekh-orange) !important;
}

.woocommerce a.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
.wc-block-grid__product .button:hover {
    background-color: var(--ekh-orange-dk) !important;
    color: #ffffff !important;
    border-color: var(--ekh-orange-dk) !important;
}

/* =============================================================
   FOOTER NAVIGÁCIÓ
============================================================= */
.ekh-footer-nav {
    text-align: center;
    padding: 12px 0 4px;
    border-top: 1px solid rgba(255,255,255,0.08);
    margin-top: 8px;
}

.ekh-footer-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 24px;
}

.ekh-footer-nav-list li a {
    color: #94a3b8;
    font-size: 12px;
    text-decoration: none;
    transition: color 0.15s ease;
}

.ekh-footer-nav-list li a:hover {
    color: #fff;
}

/* =============================================================
   TOPBAR – desktop utility sáv (telefon, email, fiók, kosár)
============================================================= */
.ekh-topbar {
    background: #0a1b42;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.ekh-topbar-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 48px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ekh-topbar-left,
.ekh-topbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.ekh-topbar-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.3px;
    white-space: nowrap;
    transition: color 0.15s ease;
}

.ekh-topbar-link:hover {
    color: #fff;
    text-decoration: none;
}

.ekh-topbar-link svg {
    flex-shrink: 0;
    opacity: 0.7;
    transition: opacity 0.15s ease;
}

.ekh-topbar-link:hover svg {
    opacity: 1;
}

.ekh-topbar-cart {
    position: relative;
}

.ekh-topbar-cart-count {
    position: absolute;
    top: -7px;
    right: -9px;
    background: var(--ekh-orange);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Topbar elrejtése mobilon / tableten */
@media ( max-width: 1024px ) {
    .ekh-topbar { display: none !important; }
}

/* =============================================================
   NAVIGÁCIÓ – Desktop: utility itemek elrejtése
   (phone + account a topbarban vannak, főnavban feleslegesek)
============================================================= */
.primary-menu-container .menu-item.ekh-nav-phone,
.header-navigation .nav-menu .menu-item.ekh-nav-phone,
.kadence-navigation .menu-item.ekh-nav-phone,
.primary-menu-container .menu-item.ekh-nav-account,
.header-navigation .nav-menu .menu-item.ekh-nav-account,
.kadence-navigation .menu-item.ekh-nav-account {
    display: none !important;
}

/* =============================================================
   NAVIGÁCIÓ – Hamburger menü (mobile + tablet)
   Három zóna: primary → CTA → secondary/utility
   CSS flex order kezeli a sorrendet; a DB-beli sorrend = desktop
============================================================= */

/* Flex layout a hamburger listahoz */
.kadence-mobile-header-nav ul,
.kadence-mobile-header-nav .nav-menu {
    display: flex !important;
    flex-direction: column !important;
}

/* Zóna-rend: primary=0 (default), CTA=10, secondary=20, account=25, phone=30 */
.kadence-mobile-header-nav .menu-item.ekh-nav-cta      { order: 10; }
.kadence-mobile-header-nav .menu-item.ekh-nav-secondary { order: 20; }
.kadence-mobile-header-nav .menu-item.ekh-nav-account   { order: 25; }
.kadence-mobile-header-nav .menu-item.ekh-nav-phone     { order: 30; }

/* CTA: full-width narancs gomb blokk */
.kadence-mobile-header-nav .menu-item.ekh-nav-cta {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 4px;
}

.kadence-mobile-header-nav .menu-item.ekh-nav-cta > a {
    display: block !important;
    background: var(--ekh-orange) !important;
    color: #fff !important;
    border-radius: 4px !important;
    text-align: center !important;
    padding: 14px 24px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.3px;
    margin-top: 4px;
}

.kadence-mobile-header-nav .menu-item.ekh-nav-cta > a:hover {
    background: var(--ekh-orange-dk) !important;
    color: #fff !important;
}

/* Vízszintes elválasztó vonal a CTA és a secondary zóna között */
.kadence-mobile-header-nav .menu-item.ekh-nav-cta::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.08);
}

/* Secondary itemek: halványabb, kisebb méret */
.kadence-mobile-header-nav .menu-item.ekh-nav-secondary > a {
    font-size: 13px !important;
    opacity: 0.60;
}

/* Account item: csak bejelentkezett usereknek látszik (WordPress .logged-in body class) */
body:not(.logged-in) .kadence-mobile-header-nav .menu-item.ekh-nav-account {
    display: none !important;
}

/* Phone: tap-to-call gomb stílus */
.kadence-mobile-header-nav .menu-item.ekh-nav-phone > a {
    color: var(--ekh-navy) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    opacity: 0.75;
}

.kadence-mobile-header-nav .menu-item.ekh-nav-phone > a:hover {
    color: var(--ekh-orange) !important;
    opacity: 1;
}
