/* GENERÁLT FÁJL – tools/build_wp_assets.py. Forrás: programme__mygim-radiance.css */
body.gim .gim-op-outer { position: relative;}
body.gim .gim-op-pin { position: relative;}
body.gim .gim-op-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center;}
body.gim .gim-op-header { padding: 0 48px; margin-bottom: 32px; display: flex; align-items: flex-end; justify-content: space-between;}
body.gim .gim-op-label-top { font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(16,40,48,0.4); display: flex; align-items: center; gap: 14px;}
body.gim .gim-op-label-top::before { content: ''; display: block; width: 24px; height: 1px; background: currentColor; flex-shrink: 0;}
body.gim .gim-op-hint { font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(16,40,48,0.2);}
body.gim .gim-op-card, body.gim .gim-op-card *, body.gim .gim-op-card:hover, body.gim .gim-op-card:hover * { text-decoration: none !important;}
body.gim .gim-op-track { display: flex; align-items: stretch; gap: 12px; padding: 0 48px; will-change: transform;}
body.gim .gim-op-card { position: relative; width: 60vw; max-width: 760px; height: 68vh; flex-shrink: 0; overflow: hidden; display: block; transition: transform 0.4s cubic-bezier(0.4,0,0.2,1); text-decoration: none; color: #102830; background-image: var(--bg-img); background-size: cover; background-position: center; background-repeat: no-repeat; --shape-size: 55%;}
body.gim .gim-op-card:hover { transform: translateY(-5px); }
body.gim .gim-op-card.c-essence { --bg-img: url('../../img/pages/pexels-chermitove-3064717-AVf--oT0HZUQQojup-DaGg.webp'); }
body.gim .gim-op-card.c-drive { --bg-img: url('../../img/pages/pexels-angela-roma-7479959-KM98jMq_6yWN5FhVtQdO2w.webp');}
body.gim .gim-op-card.c-reset { --bg-img: url('../../img/pages/iStock-491598528-rOKtH3T2MxI7b2CB_sfbXQ.webp');}
body.gim .gim-op-card.c-overview { background-image: none; background-color: #fffd8a;}
body.gim .gim-op-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient( to top, #FDEBEA 0%, rgba(255, 253, 138, 0.92) 0%, rgba(255, 253, 138, 0.55) 55%, rgba(255, 253, 138, 0.15) 80%, rgba(255, 253, 138, 0) 90% ); pointer-events: none; z-index: 1; transition: opacity 0.4s ease;}
body.gim .gim-op-card.c-overview::before { display: none;}
body.gim .gim-op-label { position: absolute; top: 28px; left: 32px; z-index: 10; font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: #ffffff; font-weight: 400;}
body.gim .gim-op-card.c-overview .gim-op-label { color: rgba(16,40,48,0.55);}
body.gim .gim-op-shape { position: absolute; bottom: 32px; right: 32px; width: var(--shape-size); height: auto; z-index: 5; pointer-events: none; transition: transform 0.6s ease;}
body.gim .gim-op-card:hover .gim-op-shape { transform: scale(1.03);}
body.gim .gim-op-card.c-overview { --shape-size: 50%; }
body.gim .gim-op-card.c-essence { --shape-size: 55%; }
body.gim .gim-op-card.c-drive { --shape-size: 40%; }
body.gim .gim-op-card.c-reset { --shape-size: 40%; }
body.gim .gim-op-num { position: absolute; top: 28px; right: 32px; z-index: 10; font-size: 0.68rem; letter-spacing: 0.2em; color: rgba(255,255,255,0.7);}
body.gim .gim-op-card.c-overview .gim-op-num { color: rgba(16,40,48,0.4);}
body.gim .gim-op-prog-list { position: absolute; left: 32px; bottom: 36px; z-index: 5; display: flex; flex-direction: column; gap: 6px; opacity: 0; transform: translateY(14px); transition: opacity 0.5s ease 0.18s, transform 0.5s ease 0.18s;}
body.gim .gim-op-card.is-active .gim-op-prog-list { opacity: 1; transform: translateY(0);}
body.gim .gim-op-prog-list span { font-size: 0.85rem; letter-spacing: 0.04em; color: rgba(16,40,48,0.75); padding: 8px 0; border-bottom: 1px solid rgba(16,40,48,0.15); display: flex; align-items: center; gap: 10px; min-width: 200px;}
body.gim .gim-op-prog-list span::before { content: ''; display: block; width: 4px; height: 4px; border-radius: 50%; background: rgba(16,40,48,0.5); flex-shrink: 0;}
body.gim .gim-op-overview-title { position: absolute; right: 32px; bottom: 36px; z-index: 5; font-size: clamp(1.4rem, 2.2vw, 2.2rem); font-weight: 200; letter-spacing: -0.02em; line-height: 1.1; color: #102830; text-align: right; max-width: 55%;}
@media (max-width: 768px) { body.gim .gim-op-pin { height: auto; } body.gim .gim-op-sticky { position: relative; height: auto; overflow: visible; } body.gim .gim-op-track { flex-direction: column; padding: 0; gap: 0; transform: none !important; } body.gim .gim-op-card { width: 100%; height: 75vh; max-width: none; } body.gim .gim-op-header { padding: 40px 24px 0; } body.gim .gim-op-hint { display: none; } body.gim .gim-op-card.c-overview { height: auto; min-height: 75vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 96px 24px 36px; } body.gim .gim-op-overview-title { position: static; order: 1; text-align: left; max-width: 100%; margin-bottom: 28px; } body.gim .gim-op-prog-list { position: static; order: 2; opacity: 1 !important; transform: none !important; transition: none !important; } body.gim .gim-op-prog-list span { min-width: 0; } }
body.gim #gim-chapnav { position: fixed; left: 10px; 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; } }
