/* GENERÁLT FÁJL – tools/build_wp_assets.py. Forrás: ablauf.css */
body.gim .gim-layout-wrapper { display: flex; flex-direction: column; width: 100%; background-color: rgb(252, 252, 252); color: rgb(26, 26, 26); z-index: 2; }
body.gim .gim-media-slide { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; will-change: transform; }
body.gim .gim-bg-video { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0px; left: 0px; }
body.gim .gim-media-overlay { position: absolute; inset: 0px; background: linear-gradient(rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%); }
body.gim .gim-media-text { position: absolute; inset: 0px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 10%; z-index: 10; }
body.gim .subline-book { font-size: 1rem; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 32px; color: white; }
body.gim .gim-h2 { margin: 0px; color: rgb(255, 255, 255); }
body.gim .gim-content-section { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
body.gim .gim-text-block { padding: 10%; }
body.gim .gim-text-block p { margin-bottom: 2rem; }
body.gim .gim-quote { font-family: 'PPWriter', serif; font-size: 1.6rem; line-height: 1.45; font-style: italic; font-weight: 400; border: none; padding: 0; margin: 3rem 0; position: relative; }
body.gim .gim-quote p { margin-bottom: 1.5rem; }
body.gim .gim-quote cite { display: block; font-family: 'PPMori', Sans-Serif; font-size: 1rem; font-style: normal; font-weight: 500; text-transform: uppercase; margin-top: 1rem; color: rgb(102, 102, 102); }
@media (min-width: 992px) { body.gim .gim-layout-wrapper { flex-direction: row; } body.gim .gim-sticky-col { width: 50%; height: 100vh; position: sticky; top: 0px; overflow: hidden; } body.gim .gim-scroll-col { width: 50%; } body.gim .gim-mobile-only { display: none !important; } }
@media (max-width: 991px) { body.gim .gim-desktop-only { display: none !important; } body.gim .gim-mobile-media { width: 100%; height: 70vh; position: relative; overflow: hidden; } body.gim .gim-content-section { min-height: auto; } }
body.gim .gim-hs-outer { position: relative; background-color: white; z-index: 1;}
body.gim .gim-hs-pin { position: relative;}
body.gim .gim-hs-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: center;}
body.gim .gim-hs-track { display: flex; align-items: center; gap: 3px; padding: 0 75px; will-change: transform;}
body.gim .gim-hs-card { position: relative; width: 70vw; max-width: 900px; height: 80vh; flex-shrink: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between;}
body.gim .gim-hs-card.c-1 { background: #F9DEDD; }
body.gim .gim-hs-card.c-2 { background: #FDEBEA; }
body.gim .gim-hs-card.c-3 { background: #FEF3F2; }
body.gim .gim-hs-card.c-4 { background: #FFF8F8; }
body.gim .gim-hs-shape { position: absolute; z-index: 1; pointer-events: none; fill: none; stroke: rgba(16, 40, 48, 0.08); stroke-width: 2;}
body.gim .gim-hs-card.c-1 .gim-hs-shape { bottom: -18%; right: -12%; width: 65%; opacity: 1;}
body.gim .gim-hs-card.c-2 .gim-hs-shape { top: -15%; left: -10%; width: 55%; opacity: 1;}
body.gim .gim-hs-card.c-3 .gim-hs-shape { bottom: -20%; left: -8%; width: 60%; opacity: 1;}
body.gim .gim-hs-card.c-4 .gim-hs-shape { top: -12%; right: -14%; width: 70%; opacity: 1;}
body.gim .gim-hs-content { position: relative; z-index: 10; padding: 52px 48px 0; width: 100%;}
body.gim .gim-hs-step-label { display: block; font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: #102830; opacity: 0.5; margin-bottom: 20px; opacity: 0; transform: translateY(14px); transition: opacity 0.5s ease, transform 0.5s ease;}
body.gim .gim-hs-title { font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; color: #102830; margin: 0 0 18px; opacity: 0; transform: translateY(22px); transition: opacity 0.6s ease 0.08s, transform 0.6s ease 0.08s;}
body.gim .gim-hs-desc { font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.7; color: rgba(16, 40, 48, 0.65); max-width: 440px; margin: 0; opacity: 0; transform: translateY(16px); transition: opacity 0.55s ease 0.18s, transform 0.55s ease 0.18s;}
body.gim .gim-hs-number { position: relative; z-index: 10; padding: 0 48px 40px; display: flex; align-items: flex-end; justify-content: flex-end; gap: 0;}
body.gim .gim-hs-number-dash { font-size: clamp(6rem, 14vw, 12rem); font-weight: 200; line-height: 0.8; color: #102830; opacity: 0.12; letter-spacing: -0.04em; user-select: none;}
body.gim .gim-hs-number-val { font-size: clamp(6rem, 14vw, 12rem); font-weight: 200; line-height: 0.8; color: #102830; opacity: 0.12; letter-spacing: -0.04em; user-select: none;}
body.gim .gim-hs-card.is-active .gim-hs-step-label, body.gim .gim-hs-card.is-active .gim-hs-title, body.gim .gim-hs-card.is-active .gim-hs-desc { opacity: 1; transform: translateY(0);}
body.gim .gim-hs-card.is-active .gim-hs-step-label { opacity: 0.5;}
body.gim .gim-hs-card.c-intro { background: #D4908C; width: 50vw; max-width: 640px; justify-content: flex-end;}
body.gim .gim-hs-intro-inner { position: relative; z-index: 10; padding: 44px 48px; width: 100%;}
body.gim .gim-hs-intro-shape { position: absolute; top: -5%; right: -15%; width: 70%; pointer-events: none; z-index: 1; fill: none; stroke: rgba(255, 253, 138, 0.08); stroke-width: 2;}
body.gim .gim-hs-intro-label { font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: #fff; margin-bottom: 24px;}
body.gim .gim-hs-intro-h2 { font-size: clamp(1.6rem, 2.8vw, 2.8rem); font-weight: 200; letter-spacing: -0.03em; line-height: 1.12; color: #fff; margin: 0 0 12px;}
body.gim .gim-hs-intro-sub { font-size: 1.1rem; line-height: 1.65; color: rgba(255, 255, 255, 0.55);}
body.gim .gim-hs-dots { display: flex; gap: 10px; align-items: center; margin-top: 32px;}
body.gim .gim-hs-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.35s ease, box-shadow 0.35s ease; cursor: pointer; flex-shrink: 0;}
body.gim .gim-hs-dot.active { background: #fffd8a; transform: scale(2.2); box-shadow: 0 0 0 3px rgba(255, 253, 138, 0.2);}
body.gim .gim-hs-dot.visited { background: rgba(255, 253, 138, 0.4);}
body.gim .gim-hs-scroll-hint { margin-top: 28px; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); display: flex; align-items: center; gap: 10px;}
body.gim .gim-hs-scroll-hint::before { content: ''; display: block; width: 20px; height: 1px; background: rgba(255, 255, 255, 0.7);}
body.gim .gim-hs-card.c-cta { background: #D4908C; justify-content: center; align-items: center; text-align: center; width: 60vw; max-width: 760px;}
body.gim .gim-hs-cta-shape-tl { position: absolute; top: -12%; left: -10%; width: 55%; fill: none; stroke: rgba(255, 253, 138, 0.06); stroke-width: 2; pointer-events: none;}
body.gim .gim-hs-cta-shape-br { position: absolute; bottom: -12%; right: -10%; width: 48%; fill: none; stroke: rgba(255, 253, 138, 0.05); stroke-width: 2; pointer-events: none;}
body.gim .gim-hs-cta-inner { position: relative; z-index: 10; padding: 52px;}
body.gim .gim-hs-cta-h2 { font-size: clamp(2rem, 3.5vw, 4rem); font-weight: 200; letter-spacing: -0.04em; line-height: 1.05; color: white; margin: 0 0 20px; opacity: 0; transform: translateY(22px); transition: opacity 0.65s ease 0.1s, transform 0.65s ease 0.1s;}
body.gim .gim-hs-cta-sub { font-size: 1.1rem; line-height: 1.7; color: rgba(255, 255, 255, 0.9); max-width: 320px; margin: 0 auto 44px; opacity: 0; transform: translateY(14px); transition: opacity 0.55s ease 0.2s, transform 0.55s ease 0.2s;}
body.gim .button-hori { display: inline-block; font-size: 15px; letter-spacing: 1px; background-color: #fffd8a; padding: 0.75rem 1.75rem; color: #102830; text-decoration: none !important; transition: all 0.5s ease !important; opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease 0.32s, transform 0.5s ease 0.32s;}
body.gim .button-hori:hover { transform: scale(0.98) !important; color: #102830;}
body.gim .gim-hs-card.is-active .gim-hs-cta-h2, body.gim .gim-hs-card.is-active .gim-hs-cta-sub, body.gim .gim-hs-card.is-active .button-hori { opacity: 1; transform: translateY(0);}
@media (max-width: 768px) { body.gim .gim-hs-pin { height: auto; } body.gim .gim-hs-sticky { position: relative; height: auto; overflow: visible; } body.gim .gim-hs-track { flex-direction: column; padding: 0; gap: 0; transform: none !important; } body.gim .gim-hs-card, body.gim .gim-hs-card.c-intro, body.gim .gim-hs-card.c-cta { width: 100%; height: 75vh; min-height: 0; max-width: none; } body.gim .gim-hs-intro-inner, body.gim .gim-hs-cta-inner, body.gim .gim-hs-content { padding: 32px 24px 0; } body.gim .gim-hs-number { padding: 0 24px 24px; } body.gim .gim-hs-step-label, body.gim .gim-hs-title, body.gim .gim-hs-desc, body.gim .gim-hs-cta-h2, body.gim .gim-hs-cta-sub, body.gim .button-hori { opacity: 1 !important; transform: none !important; transition: none !important; } body.gim .gim-hs-dots { display: none; } body.gim .gim-hs-scroll-hint { display: none; } }
body.gim .gim-gm-rows { display: grid; }
body.gim .gim-gm-row { display: grid; grid-template-columns: 1fr 1fr;height: 66vh;}
body.gim .gim-gm-row:nth-child(even) .gim-gm-content { grid-column: 2; grid-row: 1; }
body.gim .gim-gm-row:nth-child(even) .gim-gm-media { grid-column: 1; grid-row: 1; }
body.gim .gim-gm-content { padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; }
body.gim .gim-gm-row:nth-child(1) .gim-gm-content { background: #F9DEDD; }
body.gim .gim-gm-row:nth-child(2) .gim-gm-content { background: #FDEBEA; }
body.gim .gim-gm-row:nth-child(3) .gim-gm-content { background: #FEF3F2; }
body.gim .gim-gm-row:nth-child(4) .gim-gm-content { background: #FFF8F8; }
body.gim .gim-gm-name { font-family: 'PPWriter', sans-serif; margin: 0 0 18px; }
body.gim .gim-gm-name span { display: block; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: #1a1a1a; opacity: 0.4; margin-bottom: 8px; }
body.gim .gim-gm-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
body.gim .gim-gm-tag { font-family: 'PPMori', sans-serif; font-size: 0.8rem; color: rgba(26, 26, 26, 0.7); background: rgba(255, 255, 255, 0.5); padding: 6px 14px; line-height: 1.4; }
body.gim .gim-gm-row:nth-child(4) .gim-gm-tag { background: rgba(26, 26, 26, 0.04); }
body.gim .gim-gm-body p { margin: 0 0 1rem; }
body.gim .gim-gm-body p:last-child { margin-bottom: 0; }
body.gim .gim-gm-link { display: inline-flex; align-items: center; gap: 8px; font-family: 'PPMori', sans-serif; font-size: 0.85rem; font-weight: 600; color: #1a1a1a; text-decoration: none !important; margin-top: 28px; transition: opacity 0.3s ease; }
body.gim .gim-gm-link:hover { opacity: 0.6; color: #1a1a1a !important; }
body.gim .gim-gm-link svg { transition: transform 0.3s ease; }
body.gim .gim-gm-link:hover svg { transform: translateX(4px); }
body.gim .gim-gm-media { overflow: hidden; }
body.gim .gim-gm-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 768px) { body.gim .gim-gm-row { display: flex; flex-direction: column; height: auto; } body.gim .gim-gm-media { order: -1; height: auto; aspect-ratio: 4 / 3; } body.gim .gim-gm-media img { width: 100%; height: 100%; object-fit: cover; } body.gim .gim-gm-content { padding: 36px 24px; } }
body.gim #gim-chapnav { position: fixed; left: 32px; top: 50%; transform: translateY(-50%); z-index: 100; display: flex; flex-direction: column; gap: 0; pointer-events: none;}
body.gim #gim-chapnav ul { list-style: none; padding: 0; margin: 0; pointer-events: auto;}
body.gim #gim-chapnav li { display: flex; align-items: center; gap: 12px; padding: 10px 0; cursor: pointer;}
body.gim #gim-chapnav .cn-line { width: 12px; height: 2px; background-color: rgba(255, 255, 255, 0.3); flex-shrink: 0; transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
body.gim #gim-chapnav li.active .cn-line, body.gim #gim-chapnav li:hover .cn-line { width: 36px; background-color: var(--butter);}
body.gim #gim-chapnav .cn-label { font-family: var(--font-display); font-weight: 200; font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.35); transition: color 0.3s ease; white-space: nowrap;}
body.gim #gim-chapnav li.active .cn-label, body.gim #gim-chapnav li:hover .cn-label { color: var(--butter);}
body.gim.nav-light #gim-chapnav .cn-line { background-color: rgba(16, 40, 48, 0.25);}
body.gim.nav-light #gim-chapnav li.active .cn-line, body.gim.nav-light #gim-chapnav li:hover .cn-line { background-color: var(--firefly);}
body.gim.nav-light #gim-chapnav .cn-label { color: rgba(16, 40, 48, 0.3);}
body.gim.nav-light #gim-chapnav li.active .cn-label, body.gim.nav-light #gim-chapnav li:hover .cn-label { color: var(--firefly);}
body.gim #gim-chapnav.cn-white .cn-line { background-color: rgba(255, 255, 255, 0.3);}
body.gim #gim-chapnav.cn-white li.active .cn-line, body.gim #gim-chapnav.cn-white li:hover .cn-line { background-color: #ffffff;}
body.gim #gim-chapnav.cn-white .cn-label { color: rgba(255, 255, 255, 0.5);}
body.gim #gim-chapnav.cn-white li.active .cn-label, body.gim #gim-chapnav.cn-white li:hover .cn-label { color: #ffffff;}
@media (max-width: 1024px) { body.gim #gim-chapnav { display: none; } }
