/* GENERÁLT FÁJL – tools/build_wp_assets.py. Ticker, header, overlay (minden oldalon azonos). */
figure{margin:0}
.gim-header *:focus-visible,.gim-overlay *:focus-visible { outline: none; box-shadow: 0 0 0 1px rgba(16, 40, 48, 0.3);}
.gim-infobar { position: fixed; top: 0; left: 0; right: 0; z-index: 600; background: #fffd8a; height: 36px; display: flex; align-items: center; justify-content: center; font-family: 'PPMori', sans-serif; font-size: 0.68rem; letter-spacing: 0.16em; font-weight: 500; color: #102830; text-transform: uppercase; white-space: nowrap; overflow: hidden;}
.gim-ticker { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}
.gim-ticker-item { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 8px; opacity: 0; transition: opacity 0.6s ease; pointer-events: none;}
.gim-ticker-item.is-active { opacity: 1; pointer-events: all;}
.gim-ticker-icon { width: 13px; height: 13px; flex-shrink: 0; display: flex; align-items: center;}
.gim-ticker-icon svg { width: 13px; height: 13px; display: block; fill: #102830;}
.gim-header { position: fixed; top: 36px; left: 0; right: 0; z-index: 500; height: 76px; display: flex; align-items: center; justify-content: center; background: rgba(251, 253, 251, 0.35); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-bottom: 1px solid rgba(0, 0, 0, 0.08); transition: background 0.4s, border-color 0.4s; font-family: 'PPMori', sans-serif;}
.gim-header.scrolled { background: rgba(251, 253, 251, 0.92); border-color: rgba(0, 0, 0, 0.12);}
.gim-header-inner { width: 100%; max-width: 1440px; display: flex; align-items: center; padding: 0 32px; position: relative;}
.gim-spacer { height: 112px; display: block;}
.gim-hd-left { display: flex; align-items: center; gap: 0; flex: 1;}
.gim-hd-center { position: absolute; left: 50%; transform: translateX(-50%); pointer-events: none;}
.gim-hd-center a { pointer-events: all; display: block;}
.gim-hd-center img { height: 56px; display: block; width: auto;}
.gim-hd-right { display: flex; align-items: center; gap: 6px; margin-left: auto;}
.gim-menu-trigger { display: flex; align-items: center; gap: 0; background: none; border: none; padding: 8px 16px 8px 0; cursor: pointer; color: #102830; flex-shrink: 0; outline: none; -webkit-tap-highlight-color: transparent;}
.gim-hamburger { display: flex; flex-direction: column; gap: 5px; width: 18px;}
.gim-hamburger span { display: block; height: 1.2px; background: #102830; transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.3s ease, width 0.45s cubic-bezier(0.65, 0, 0.35, 1);}
.gim-hamburger span:nth-child(1) { width: 100%;}
.gim-hamburger span:nth-child(2) { width: 55%;}
.gim-menu-trigger:hover .gim-hamburger span:nth-child(2) { width: 100%;}
.gim-nav-group { position: relative;}
.gim-hn { display: flex; align-items: center; gap: 5px; font-size: 0.78rem; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(16, 40, 48, 0.7); text-decoration: none; white-space: nowrap; background: none; border: none; padding: 8px 10px; cursor: pointer; transition: color 0.2s; font-family: 'PPMori', sans-serif; font-weight: 400; position: relative;}
.gim-hn:hover { color: #102830; text-decoration: none;}
.gim-hn.is-active { color: #102830; font-weight: 500;}
.gim-hn.is-active::after { content: ''; position: absolute; bottom: 2px; left: 10px; right: 10px; height: 1.2px; background: #102830;}
.gim-chevron { width: 9px; height: 9px; flex-shrink: 0; transition: transform 0.22s ease; opacity: 0.5;}
.gim-nav-group:hover .gim-chevron { transform: rotate(180deg); opacity: 0.8;}
.gim-dropdown { position: absolute; top: 100%; left: 0; padding-top: 8px; background: transparent; min-width: 220px; opacity: 0; pointer-events: none; transition: opacity 0.18s; z-index: 600;}
.gim-dropdown-inner { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: none; padding: 10px 0; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); transform: translateY(-6px); transition: transform 0.18s;}
.gim-nav-group:hover .gim-dropdown { opacity: 1; pointer-events: all;}
.gim-nav-group:hover .gim-dropdown-inner { transform: translateY(0);}
.gim-dropdown-label { padding: 6px 18px 6px; font-size: 0.6rem; letter-spacing: 0.14em; color: rgba(16, 40, 48, 0.3); text-transform: uppercase; font-family: 'PPMori', sans-serif;}
.gim-dropdown-inner a { display: block; padding: 8px 18px; font-size: 0.78rem; letter-spacing: 0.04em; color: rgba(16, 40, 48, 0.7); text-decoration: none; font-family: 'PPMori', sans-serif; transition: background 0.15s, color 0.15s;}
.gim-dropdown-inner a:hover { background: rgba(16, 40, 48, 0.04); color: #102830;}
.gim-hn-cta { display: inline-flex; align-items: center; background: #fffd8a; color: #102830; border: none; padding: 8px 16px; border-radius: 0; font-weight: 500; font-size: 0.78rem; letter-spacing: 0.10em; text-transform: uppercase; text-decoration: none; white-space: nowrap; font-family: 'PPMori', sans-serif; transition: background 0.25s ease, color 0.25s ease;}
.gim-hn-cta:hover { background: #102830; color: #fff; text-decoration: none;}
.gim-icon-group { display: flex; align-items: center; gap: 0; padding: 0 2px; margin: 0 2px;}
.gim-icon-link { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: none; border: none; cursor: pointer; color: rgba(16, 40, 48, 0.55); transition: color 0.15s; text-decoration: none;}
.gim-icon-link:hover { color: #102830; text-decoration: none;}
.gim-icon-link svg { width: 18px; height: 18px; display: block; fill: currentColor;}
.gim-lang { position: relative;}
.gim-lang-btn { display: flex; align-items: center; gap: 5px; background: none; border: none; padding: 6px 8px; cursor: pointer; font-size: 0.78rem; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(16, 40, 48, 0.7); font-family: 'PPMori', sans-serif; transition: color 0.2s;}
.gim-lang-btn:hover { color: #102830;}
.gim-lang-btn svg { width: 9px; height: 9px; opacity: 0.5; transition: transform 0.2s;}
.gim-lang.open .gim-lang-btn svg { transform: rotate(180deg);}
.gim-lang-dropdown { position: absolute; top: calc(100% + 6px); right: 0; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: none; overflow: hidden; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06); opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity 0.15s, transform 0.15s; min-width: 70px; z-index: 700;}
.gim-lang.open .gim-lang-dropdown { opacity: 1; pointer-events: all; transform: translateY(0);}
.gim-lang-dropdown button { display: flex; align-items: center; width: 100%; padding: 9px 14px; background: none; border: none; cursor: pointer; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(16, 40, 48, 0.6); font-family: 'PPMori', sans-serif; transition: background 0.12s, color 0.12s;}
.gim-lang-dropdown button:hover { background: rgba(16, 40, 48, 0.04);}
.gim-lang-dropdown button.active { color: #102830; font-weight: 500;}
.gim-overlay { position: fixed; top: 0; left: 0; width: 25%; height: 100vh; z-index: 800; background: rgba(251, 253, 251, 0.6); backdrop-filter: blur(32px); -webkit-backdrop-filter: blur(32px); overflow: hidden; opacity: 0; transform: translateX(-100%); transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; display: flex; align-items: center; padding: 0; border-right: 1px solid rgba(0, 0, 0, 0.06);}
.gim-overlay.is-open { opacity: 1; transform: translateX(0); pointer-events: all;}
.gim-overlay-backdrop { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 799; background: rgba(16, 40, 48, 0.08); opacity: 0; pointer-events: none; transition: opacity 0.4s ease;}
.gim-overlay-backdrop.is-visible { opacity: 1; pointer-events: all;}
.gim-overlay-close { position: absolute; top: 28px; right: 24px; background: none; border: none; cursor: pointer; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; transition: opacity 0.2s;}
.gim-overlay-close:hover { opacity: 0.5;}
.gim-overlay-close svg { width: 18px; height: 18px; stroke: #102830; transition: opacity 0.2s;}
.gim-overlay-nav { width: 100%; padding: 0 clamp(24px, 3vw, 48px);}
.gim-overlay-nav ul { list-style: none; margin: 0; padding: 0;}
.gim-overlay-nav ul > li { margin: 0; padding: 0; line-height: 1;}
.gim-nav-big { display: block; font-family: 'PPMori', sans-serif; font-weight: 300; font-size: clamp(0.95rem, 1.8vw, 1.6rem); line-height: 1.5; text-transform: uppercase; letter-spacing: 0.1em; color: #102830; text-decoration: none; padding: 5px 0; margin: 0; transform: translateY(14px); opacity: 0; transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, color 0.2s ease;}
.gim-nav-big:hover { color: rgba(16, 40, 48, 0.45); text-decoration: none;}
.gim-overlay.is-open .gim-nav-big { transform: translateY(0); opacity: 1;}
.gim-overlay.is-open li:nth-child(1) .gim-nav-big { transition-delay: 0.08s; }
.gim-overlay.is-open li:nth-child(2) .gim-nav-big { transition-delay: 0.13s; }
.gim-overlay.is-open li:nth-child(3) .gim-nav-big { transition-delay: 0.18s; }
.gim-overlay.is-open li:nth-child(4) .gim-nav-big { transition-delay: 0.23s; }
.gim-overlay.is-open li:nth-child(5) .gim-nav-big { transition-delay: 0.28s; }
.gim-overlay.is-open li:nth-child(6) .gim-nav-big { transition-delay: 0.33s; }
.gim-overlay-secondary { margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(16, 40, 48, 0.06);}
.gim-overlay-secondary a { display: block; font-family: 'PPMori', sans-serif; font-weight: 300; font-size: clamp(0.7rem, 1vw, 0.82rem); line-height: 1.3; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(16, 40, 48, 0.38); text-decoration: none; padding: 4px 0; margin: 0; transform: translateY(8px); opacity: 0; transition: transform 0.4s ease 0.35s, opacity 0.3s ease 0.35s, color 0.2s;}
.gim-overlay.is-open .gim-overlay-secondary a { transform: translateY(0); opacity: 1;}
.gim-overlay-secondary a:hover { color: #102830; text-decoration: none;}
@media (max-width: 1280px) { .gim-hd-left .gim-nav-group { display: none; } .gim-hd-right .gim-nav-group { display: none; } }
@media (max-width: 900px) { .gim-icon-group { display: none; } .gim-hd-center img { height: 46px; } .gim-header-inner { padding: 0 16px; } .gim-overlay { width: 80%; } }
@media (max-width: 600px) { .gim-hn-cta { display: none; } .gim-overlay { width: 100%; border-right: none; } .gim-overlay-nav { padding: 0 24px; } .gim-overlay-close { top: 20px; right: 20px; } .gim-infobar { font-size: 0.58rem; letter-spacing: 0.1em; } }
