/* VII. Digitalis Oktatasi Konferencia - landing v2 */
/* Generalt fajl: build_landing_v2.py --external-css. */
/* Kezzel ne szerkeszd, a generator felulirja. */

:root{--cyan:#0a8fe0;--cyan-hover:#0077c2;--cyan-ink:#0065a8;--cyan-light:#4dbdf6;
--green:#89c043;--green-ink:#3f6e12;--ink:#141a33;--muted:#556074;--line:#dde3ee;
--bg-soft:#f3f6fb;--bg-soft-hover:#e7edf7;--radius:14px;--max:1120px;--card-pad:1.25em;
--amber-bg:#fdf0da;--amber-ink:#8a5a13;
--shadow-sm:0 1px 2px rgba(20,26,51,.05),0 6px 16px rgba(20,26,51,.06);
--shadow-md:0 4px 10px rgba(20,26,51,.08),0 14px 30px rgba(20,26,51,.10);
--header-h:64px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
color:var(--ink);background:#fff;line-height:1.55;}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em;}
h2{font-size:clamp(1.5rem,1.15rem + 1.6vw,2rem);}
h3{font-size:1.12rem;}
p{margin:0 0 1em;}
a{color:var(--cyan-ink);}
img{max-width:100%;display:block;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}
/* Sticky fejlec alatt a horgony-ugras (menu/idővonal-link) ne takarja el a
cimsort. */
h1[id],h2[id],section[id],[id="hero"]{scroll-margin-top:calc(var(--header-h) + 12px);}


.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);}
.site-header-inner{max-width:var(--max);margin:0 auto;padding:.6em 1em;display:flex;
align-items:center;justify-content:space-between;gap:1em;}
.brand{display:flex;align-items:center;gap:.6em;font-weight:700;text-decoration:none;color:var(--ink);}
.site-logo{width:36px;height:auto;}

.btn{display:inline-block;border-radius:999px;padding:.75em 1.4em;font-weight:700;
text-decoration:none;background:var(--cyan-hover);color:#fff;border:2px solid transparent;
transition:background-color .15s ease,box-shadow .15s ease;}
.btn:hover{background:var(--cyan-ink);}
@media (hover:hover) and (pointer:fine){
  .btn:hover{box-shadow:0 3px 10px rgba(0,101,168,.28);}
}
.btn-sm{padding:.5em 1em;font-size:.9rem;white-space:nowrap;}
.btn-md{padding:.65em 1.3em;}
.btn-lg{padding:.9em 1.8em;font-size:1.05rem;}
.btn-block{display:block;text-align:center;width:100%;}

main{max-width:var(--max);margin:0 auto;padding:0 1em;}
section{padding:clamp(2.2em,1.6em + 2.5vw,3.6em) 0;}
.section-kicker{color:var(--cyan-ink);font-weight:700;text-transform:uppercase;
letter-spacing:.06em;font-size:.85rem;margin:0 0 .3em;}
.section-intro{color:var(--muted);max-width:60ch;}
.section-format{color:var(--muted);font-size:.85rem;font-style:italic;margin:.2em 0;}
.tag{display:inline-block;background:var(--bg-soft);color:var(--cyan-ink);border-radius:999px;
padding:.2em .7em;font-size:.8rem;font-weight:600;margin:0 .3em .3em 0;}
.tag-row{margin:.4em 0;}
.muted-note{color:var(--muted);font-style:italic;font-size:.92rem;}

.hero{display:flex;flex-direction:column;gap:1.5em;padding-top:2em;}
.eyebrow{color:var(--cyan-ink);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
font-size:.85rem;margin:0 0 .3em;}
.hero h1{font-size:clamp(1.8rem,5vw,2.7rem);margin-bottom:.35em;}
.subline{font-size:1.1rem;color:var(--muted);max-width:60ch;}
.date-line{font-weight:600;}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1em;}
.cta-note{color:var(--muted);font-size:.9rem;}
.hero-media img{border-radius:var(--radius);width:100%;height:auto;object-fit:cover;
max-height:420px;box-shadow:var(--shadow-md);}
/* Deskten a szoveg es a kepe egymas mellett all (a forras-sorrend valtozatlan:
hero-text a DOM-ban is elso), keskeny/mobil nezetben marad az eddigi, egymas
alatti elrendezes. Flexbox, nem grid - WeasyPrint-biztos. */
@media (min-width:860px){
  .hero{flex-direction:row;align-items:center;gap:2.8em;padding-top:2.6em;}
  .hero-text{flex:1 1 54%;min-width:0;}
  .hero-media{flex:1 1 46%;min-width:0;}
  .hero-media img{max-height:none;aspect-ratio:4/3;}
}

.hero-abstract{max-width:68ch;margin:0 0 .4em;}
.hero-abstract p{font-size:1.15rem;line-height:1.75;color:var(--ink);opacity:.86;margin:0 0 .8em;}
.hero-abstract p:last-child{margin-bottom:0;}

.why-grid{list-style:none;margin:0;padding:0;display:grid;gap:1em;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.why-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
padding:var(--card-pad);box-shadow:var(--shadow-sm);}
.why-card h3{color:var(--cyan-ink);font-size:1.05rem;}

.image-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 -1em;}
.image-strip img{width:100%;height:220px;object-fit:cover;}
@media (max-width:640px){.image-strip{grid-template-columns:1fr;}
.image-strip img{height:auto;}}

.speaker-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.4em;
grid-template-columns:repeat(3,1fr);align-items:start;}
@media (max-width:900px){.speaker-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.speaker-grid{grid-template-columns:1fr;}}
.speaker-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
padding:var(--card-pad);display:flex;flex-direction:column;gap:.9em;box-shadow:var(--shadow-sm);}
.card-photo{width:104px;height:104px;border-radius:50%;flex:none;display:block;overflow:hidden;}
.card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.card-photo.monogram{display:flex;align-items:center;justify-content:center;
background:var(--cyan-ink);color:#fff;font-weight:700;font-size:1.6rem;}
.speaker-body{width:100%;min-width:0;overflow-wrap:anywhere;}
.speaker-body h3{font-size:1.05rem;margin-bottom:.15em;overflow-wrap:anywhere;}
.card-workplace{color:var(--muted);font-size:.9rem;margin:0 0 .3em;overflow-wrap:anywhere;}
.card-bio{font-size:.92rem;margin:.4em 0 0;overflow-wrap:anywhere;}

.mid-cta{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
padding:1.6em;box-shadow:var(--shadow-sm);
display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1em;}
.mid-cta p{margin:0;font-weight:700;font-size:1.05rem;}

.timeline{list-style:none;margin:0;padding:0;display:block;}
.timeline > li + li{margin-top:.6em;}
.tl-item,.tl-break{break-inside:avoid;page-break-inside:avoid;}
.program h2,.program .section-kicker,.program .section-intro,.exhibitors h2,.exhibitors .section-kicker{break-after:avoid;page-break-after:avoid;}
.tl-item{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
box-shadow:var(--shadow-sm);}
.tl-row{display:flex;align-items:center;gap:1em;padding:.9em 1.1em;cursor:pointer;
list-style:none;color:inherit;text-decoration:none;}
.tl-row::-webkit-details-marker{display:none;}
.tl-row-static{cursor:default;}
.tl-row-link{background:var(--bg-soft);}
/* Idopontok szamjegy-igazitasa: fix-szelessegu szamjegyek, igy a program
minden sora ugyanott tori a cimre, es a percek is egy vonalba esnek. */
.tl-time,.tl-break-time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}
.tl-time{font-weight:700;color:var(--cyan-ink);min-width:5.5em;}
.tl-title{font-weight:600;flex:1;}
.tl-speakers{color:var(--muted);font-size:.9rem;}
.tl-chevron,.tl-arrow{flex:none;color:var(--muted);transition:transform .15s ease;}
details[open] .tl-chevron{transform:rotate(180deg);}
@media (hover:hover) and (pointer:fine){
  .tl-row-link,.tl-talk > summary.tl-row,.faq-item summary{transition:background-color .15s ease;}
  .tl-row-link:hover{background:var(--bg-soft-hover);}
  .tl-talk > summary.tl-row:hover,.faq-item summary:hover{background:var(--bg-soft);}
}
.tl-abstract{padding:0 1.1em 1.1em 6.6em;color:var(--muted);}
.tl-soon{padding:0 1.1em .8em 6.6em;margin:0;}
@media (max-width:600px){
  .tl-row{flex-wrap:wrap;row-gap:.35em;column-gap:.7em;}
  .tl-time{order:1;min-width:auto;}
  .tl-chevron,.tl-arrow{order:2;margin-left:auto;}
  .tl-title{order:3;flex:1 1 100%;overflow-wrap:anywhere;}
  .tl-speakers{order:4;flex:1 1 100%;overflow-wrap:anywhere;}
  .tl-abstract,.tl-soon{padding-left:1.1em;}
}
/* Szunet-sor (regisztracio, kave, ebed, atallas, puffer): EGYERTELMUEN el kell
utnie az eloadas-kartyaktol, es mindenhol ugyanolyan. Teljes szelesseg, meleg
(borostyan) toltott hatter,
kartya-keret es arnyek nelkul, nagybetus-betukozes cimke, nagyobb
inline kavescsesze-ikon - igy ranezesre azonnal masnak latszik, mint a
tl-item eloadas-kartyak. */
.tl-break{display:flex;align-items:center;gap:.9em;padding:.9em 1.2em;
background:var(--amber-bg);border:none;box-shadow:none;border-radius:var(--radius);
font-style:normal;color:var(--amber-ink);font-size:.95rem;min-height:2.4em;}
.tl-break-icon{color:var(--amber-ink);flex:none;}
.tl-break-time{font-weight:700;min-width:5.5em;font-style:normal;color:var(--amber-ink);}
.tl-break-label{font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;}
.tl-break .tl-note{color:var(--amber-ink);opacity:.85;font-size:.85rem;font-style:italic;}
@media (max-width:600px){
  .tl-break{flex-wrap:wrap;row-gap:.3em;}
  .tl-break .tl-note{flex:1 1 100%;margin-left:0;}
}
@media print{
  .tl-break{display:block;}
  .tl-break > *{display:inline-block;vertical-align:middle;margin-right:.9em;}
  .tl-break .tl-break-icon svg{vertical-align:middle;}
}

.rt-intro{display:grid;gap:1.4em;align-items:center;grid-template-columns:1fr;}
@media (min-width:900px){.rt-intro{grid-template-columns:1fr 1fr;}}
.rt-intro-text .section-intro{margin-bottom:0;}
.rt-intro-figure{margin:0;}
.rt-intro-figure img{border-radius:var(--radius);width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;
box-shadow:var(--shadow-sm);}

.section-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.2em;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.section-card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--card-pad);
background:#fff;box-shadow:var(--shadow-sm);}
.section-card-highlight{background:linear-gradient(135deg,rgba(10,143,224,.08),rgba(137,192,67,.1));
border-color:var(--cyan);}
.section-no{color:var(--cyan-ink);font-weight:700;font-size:.8rem;text-transform:uppercase;
letter-spacing:.04em;}
.section-leader{font-weight:600;margin:.3em 0;}
.section-desc{font-size:.92rem;color:var(--muted);}
.section-meta{font-size:.85rem;color:var(--muted);margin:0;}

.gallery-grid{list-style:none;margin:0;padding:0;display:grid;gap:.8em;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.gallery-item img{border-radius:var(--radius);width:100%;height:180px;object-fit:cover;
box-shadow:var(--shadow-sm);}
.gallery-caption{font-size:.85rem;color:var(--muted);margin:.4em 0 0;}

.exhibitor-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1em;
align-items:center;}
.exhibitor-chip{background:var(--bg-soft);border-radius:999px;padding:.5em 1.1em;font-weight:600;}
.exhibitor-chip img{max-height:32px;width:auto;}
.exhibitor-grid-desc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
@media (max-width:640px){.exhibitor-grid-desc{grid-template-columns:minmax(0,1fr);}}
.exhibitor-chip-desc{display:block;border:1px solid var(--line);border-radius:var(--radius);
padding:.9em 1.1em;max-width:100%;min-width:0;box-shadow:var(--shadow-sm);
overflow-wrap:break-word;word-wrap:break-word;break-inside:avoid;page-break-inside:avoid;}
.exhibitor-chip-desc img{max-height:32px;width:auto;max-width:100%;}
.exhibitor-desc{font-weight:400;font-size:.88rem;color:var(--muted);margin:.4em 0 0;white-space:normal;
overflow-wrap:break-word;}

.faq-list{list-style:none;margin:0;padding:0;display:block;}
.faq-list > li + li{margin-top:.6em;}
.faq-item{break-inside:avoid;page-break-inside:avoid;}
.faq h2,.faq .section-kicker{break-after:avoid;page-break-after:avoid;}
.faq-item details{border:1px solid var(--line);border-radius:var(--radius);padding:.2em .2em;
box-shadow:var(--shadow-sm);}
.faq-item summary{cursor:pointer;padding:.8em 1em;font-weight:600;display:flex;
justify-content:space-between;gap:1em;list-style:none;border-radius:calc(var(--radius) - 4px);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item details[open] summary .tl-chevron{transform:rotate(180deg);}
.faq-item p{padding:0 1em 1em;color:var(--muted);margin:0;}

.final-cta{background:var(--ink);color:#fff;border-radius:var(--radius);padding:2.4em 1.6em;
text-align:center;}
.final-cta h2{color:#fff;}
.final-cta p{color:#c7cede;max-width:50ch;margin:0 auto 1.3em;}
.final-cta .final-cta-note{font-size:.9rem;margin:1em auto 0;}

.site-footer{background:var(--bg-soft);text-align:center;padding:2em 1em 5em;
display:flex;flex-direction:column;align-items:center;gap:.5em;color:var(--muted);
font-size:.9rem;}
.site-footer img{width:60px;}
.updated{font-size:.8rem;}

.sticky-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.6em .8em;
background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(20,26,51,.08);
display:none;}
@media (max-width:760px){.sticky-cta-bar{display:block;}
.site-header .btn-sm{display:none;}}
@media (min-width:761px){.sticky-cta-bar{display:none !important;}}

/* Kartya-hover: csak eger/tracpad eszkozon (hover:hover, pointer:fine), hogy
erintos kijelzon ne ragadjon be a hover-allapot erintes utan. Kizarolag
arnyek+finom emeles, nincs benne tartalom-elrejtes, minden info alapertelmezetten
lathato marad. */
@media (hover:hover) and (pointer:fine){
  .why-card,.speaker-card,.section-card,.exhibitor-chip-desc{
    transition:box-shadow .18s ease,transform .18s ease;}
  .why-card:hover,.speaker-card:hover,.section-card:hover,.exhibitor-chip-desc:hover{
    box-shadow:var(--shadow-md);transform:translateY(-2px);}
}
@media (prefers-reduced-motion: reduce){
  .why-card,.speaker-card,.section-card,.exhibitor-chip-desc,.btn,
  .tl-row-link,.tl-talk > summary.tl-row,.faq-item summary{transition:none;}
  .why-card:hover,.speaker-card:hover,.section-card:hover,.exhibitor-chip-desc:hover{transform:none;}
}
