/*
Theme Name: Szikra Child
Template: kadence
Description: Szikra Kurzus egyedi kezdőlap-dizájn (Kadence gyermek téma). Csak a kezdőlapot érinti, a menü / lábléc / többi oldal a Kadence eredeti megjelenését használja.
Version: 2.1
Author: Szikra
*/

@font-face{
  font-family:"Bebas Neue";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/bebas-neue.ttf") format("truetype");
}
@font-face{
  font-family:"Fraunces Display";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/fraunces-display.ttf") format("truetype");
}

/* Minden alábbi szabály a #szikra-front konténerre van korlátozva,
   így a Kadence fejléc/menü/lábléc és a többi oldal változatlan marad. */
#szikra-front{
  --photo-base:#380513;
  --photo-base-rgb:56,5,19;
  --ink:#380513;
  --ink-2:#67152b;
  --ember:#c81e3a;
  --gold:#e8a33d;
  --teal:#009e9a;
  --blue:#2775d8;
  --violet:#8c45c9;
  --paper:#fff4ec;
  --paper-2:#fffdf8;
  --why-bg:#fff2ea;
  --teachers-bg:#fffdf8;
  --features-bg:#fff7df;
  --courses-bg:#f3fbff;
  --testi-bg:#fff0f5;
  --text-dark:#2c1116;
  --text-soft:#6b4a4f;
  --text-light:#ffffff;
  --text-light-soft:#f0d3c9;
  --line:#f0d9cf;
  --card-1:#ffe1e1;
  --card-2:#ffe8c8;
  --card-3:#e7f7f7;
  --card-4:#efe2ff;
  /* külön token a "piros felirat" színekhez, hogy sötét módban is olvasható maradjon */
  --accent-text:#c81e3a;

  background:linear-gradient(180deg,var(--paper),var(--paper-2) 52%,var(--paper));
  color:var(--text-dark);
  font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-color-scheme: dark){
  #szikra-front{
    color-scheme:light;
  }
}

#szikra-front *{box-sizing:border-box;}
#szikra-front img,#szikra-front svg{max-width:100%;display:block;}
#szikra-front a{color:inherit;}
#szikra-front .wrap{max-width:1080px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);}
#szikra-front .display{
  font-family:"Fraunces Display",Georgia,"Iowan Old Style",serif;
  font-weight:700; letter-spacing:0; text-wrap:balance;
  /* explicit szín kell, különben a Kadence saját cím-színe felülírja az öröklődést */
  color:inherit;
}
#szikra-front .mono{
  font-family:ui-monospace,"SF Mono",Consolas,"Liberation Mono",monospace;
  font-variant-numeric:tabular-nums;
}
#szikra-front .eyebrow{
  font-family:"Bebas Neue","Century Gothic",sans-serif;
  font-weight:400; font-size:1rem; letter-spacing:0; text-transform:uppercase;
  display:flex; align-items:center; gap:.4rem; justify-content:flex-start;
}
#szikra-front .eyebrow.accent{color:var(--accent-text);}
#szikra-front .eyebrow .spark-ico{width:14px; height:14px; flex:none;}
#szikra-front .wordmark{
  font-family:"Bebas Neue","Century Gothic",sans-serif;
  font-weight:400; letter-spacing:0; color:var(--gold);
}

/* hero */
#szikra-front .hero{
  position:relative;
  background:var(--photo-base);
  color:var(--text-light);
  overflow:hidden;
  padding:clamp(4rem,10vw,7rem) 0 clamp(3rem,8vw,5rem);
}
#szikra-front .hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(ellipse 28% 34% at 50% 48%, rgba(232,163,61,.16) 0%, rgba(200,30,58,.09) 34%, transparent 58%);
}
#szikra-front .glyphs{position:absolute; inset:0; pointer-events:none; z-index:0;}
#szikra-front .glyphs span{
  position:absolute; font-family:Georgia,serif; color:var(--gold); opacity:.35;
  animation:szikra-drift 9s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){ #szikra-front .glyphs span{animation:none;} }
@keyframes szikra-drift{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-14px) rotate(4deg); }
}

/* a 4 lebegő illusztráció - bal: pallasz+kemcso, jobb: agy+villam.
   minden képet egy "halo" burkol: mögötte egy elmosott, a kép saját (lemért)
   háttérszínével megegyező folt van, ez tünteti el a téglalap-szélet. */
#szikra-front .hero-orbit{position:absolute; inset:0; pointer-events:none; z-index:0;}
#szikra-front .photo-halo{
  position:absolute;
  width:clamp(130px,14vw,205px);
  display:block;
  isolation:isolate;
  opacity:1;
}
#szikra-front .photo-halo::before{
  content:"";
  position:absolute;
  inset:-4px;
  z-index:0;
  background:var(--photo-base);
}
#szikra-front .photo-halo img{
  position:relative;
  z-index:1;
  width:100%;
  height:auto;
}

#szikra-front .halo-pallasz{ left:-1%; top:5%; width:clamp(150px,16vw,245px); animation:szikra-float 8s ease-in-out infinite; animation-delay:0s; }
#szikra-front .halo-kemcso{  left:4%;  top:55%; width:clamp(145px,15vw,230px); animation:szikra-float 7s ease-in-out infinite; animation-delay:3.4s; }
#szikra-front .halo-agy{     right:0;  top:6%; width:clamp(145px,15vw,225px); animation:szikra-float 7s ease-in-out infinite; animation-delay:1.1s; }
#szikra-front .halo-villam{  right:5%; top:53%; width:clamp(135px,14vw,215px); animation:szikra-float 8s ease-in-out infinite; animation-delay:4.8s; }
@keyframes szikra-float{
  0%,100%{ transform:translateY(-7.5px); }
  50%{ transform:translateY(7.5px); }
}
@media (prefers-reduced-motion: reduce){ #szikra-front .photo-halo{animation:none;} }
@media (max-width:1000px){ #szikra-front .hero-orbit{display:none;} }

#szikra-front .hero-inner{position:relative; z-index:1; text-align:center;}
#szikra-front .spark-mark{width:104px; height:104px; margin:0 auto 1.1rem;}
#szikra-front .hero .wordmark{display:block; margin-bottom:1.6rem; font-size:clamp(1.6rem,3vw,2rem);}
#szikra-front .hero h1{font-size:clamp(2.4rem,6vw,4.4rem); line-height:1.04; margin:0 0 1.1rem;}
#szikra-front .hero h1 em{
  font-style:normal;
  background:linear-gradient(100deg,var(--gold),var(--ember) 60%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
#szikra-front .hero p.lede{max-width:44ch; margin:0 auto 2.2rem; color:var(--text-light-soft); font-size:1.15rem;}
#szikra-front .hero-ctas{display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap;}
#szikra-front .btn{
  font-family:"Century Gothic","Avenir Next",sans-serif; font-weight:700; font-size:.95rem;
  padding:.85rem 1.6rem; border-radius:999px; text-decoration:none; display:inline-block; border:2px solid transparent;
}
#szikra-front .btn-primary{background:linear-gradient(100deg,var(--ember),var(--gold)); color:var(--ink);}
#szikra-front .btn-ghost{border-color:rgba(246,241,255,.35); color:var(--text-light);}

/* generic section */
#szikra-front .section{padding:clamp(3.5rem,9vw,6rem) 0; position:relative;}
#szikra-front .section .wrap{position:relative; z-index:1;}
#szikra-front .section-head{max-width:60ch; margin-bottom:2.6rem;}
#szikra-front .section h2{font-size:clamp(1.7rem,3.6vw,2.5rem); margin:.4rem 0 0;}
#szikra-front .section-head p.lead{color:var(--text-soft); margin:.9rem 0 0; max-width:58ch;}

/* szekció-átmenetek: valódi, önálló elemek (nem pszeudo-elem trükk), hogy
   a Kadence semmit se tudjon felülírni belőle. Mindegyik egy sima,
   folyamatos színátmenet a fölötte és alatta lévő szekció színe között. */
#szikra-front .seam{ height:110px; }
#szikra-front .seam-hero-why{ background:linear-gradient(to bottom, var(--photo-base), var(--why-bg)); }
#szikra-front .seam-why-teachers{ height:70px; background:linear-gradient(to bottom, var(--why-bg), var(--teachers-bg)); }
#szikra-front .seam-teachers-features{ height:70px; background:linear-gradient(to bottom, var(--teachers-bg), var(--features-bg)); }
#szikra-front .seam-features-courses{ height:70px; background:linear-gradient(to bottom, var(--features-bg), var(--courses-bg)); }
#szikra-front .seam-courses-testi{ height:70px; background:linear-gradient(to bottom, var(--courses-bg), var(--testi-bg)); }
#szikra-front .seam-testi-payment{ background:linear-gradient(to bottom, var(--testi-bg), var(--ink)); }

#szikra-front .why,
#szikra-front .features,
#szikra-front .courses,
#szikra-front .testimonials{
  overflow:hidden;
}
#szikra-front .why{background:linear-gradient(135deg,var(--why-bg) 0%, #fff6dd 52%, #fff0f3 100%);}
#szikra-front .features{background:linear-gradient(135deg,var(--features-bg) 0%, #f2fbf9 55%, #fff0f6 100%);}
#szikra-front .courses{background:linear-gradient(135deg,var(--courses-bg) 0%, #fff8e5 58%, #f7f0ff 100%);}
#szikra-front .testimonials{background:linear-gradient(135deg,var(--testi-bg) 0%, #fffdf7 58%, #eefbff 100%);}
#szikra-front .why::before,
#szikra-front .features::before,
#szikra-front .courses::before,
#szikra-front .testimonials::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.72;
  background:
    radial-gradient(circle at 9% 22%, rgba(200,30,58,.1) 0 7px, transparent 8px),
    radial-gradient(circle at 90% 18%, rgba(0,158,154,.1) 0 8px, transparent 9px),
    radial-gradient(circle at 78% 83%, rgba(232,163,61,.16) 0 10px, transparent 11px),
    linear-gradient(115deg, transparent 0 68%, rgba(140,69,201,.07) 68% 68.35%, transparent 68.35% 100%);
  background-size:auto, auto, auto, 140px 140px;
}

/* why cards / features cards (megosztott stílus) */
#szikra-front .grid-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.1rem;}
#szikra-front .card{border-radius:8px; padding:1.6rem 1.5rem; border:1px solid var(--line);}
#szikra-front .card .tag{
  font-family:"Century Gothic","Avenir Next",sans-serif; font-weight:700; font-size:.72rem;
  letter-spacing:0; text-transform:uppercase; color:var(--text-soft);
}
#szikra-front .card h3{margin:.5rem 0 .4rem; font-size:1.15rem;}
#szikra-front .card p{margin:0; color:var(--text-soft); font-size:.95rem;}
#szikra-front .card.c1{background:linear-gradient(135deg,var(--card-1),#fff9e5);}
#szikra-front .card.c2{background:linear-gradient(135deg,var(--card-2),#f1fbfb);}
#szikra-front .card.c3{background:linear-gradient(135deg,var(--card-3),#fff2f7);}
#szikra-front .card.c4{background:linear-gradient(135deg,var(--card-4),#fff9e3);}

/* teachers */
#szikra-front .teachers{background:linear-gradient(135deg,var(--teachers-bg) 0%, #fff5ec 48%, #f2fbfb 100%);}
#szikra-front .teacher-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.25rem;}
#szikra-front .teacher{border-radius:8px; padding:1.6rem 1.5rem; border:1px solid var(--line); background:rgba(255,253,248,.88);}
#szikra-front .teacher .avatar{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:"Fraunces Display",Georgia,serif; font-weight:700; font-size:1.3rem; color:#fff;
  background:linear-gradient(135deg,var(--ember),var(--gold)); margin-bottom:.9rem;
}
#szikra-front .teacher:nth-child(2) .avatar{background:linear-gradient(135deg,var(--teal),var(--gold));}
#szikra-front .teacher:nth-child(3) .avatar{background:linear-gradient(135deg,var(--violet),var(--ember));}
#szikra-front .teacher h3{margin:0 0 .1rem; font-size:1.1rem;}
#szikra-front .teacher .role{font-size:.82rem; color:var(--accent-text); font-family:"Century Gothic","Avenir Next",sans-serif; margin-bottom:.6rem;}
#szikra-front .teacher p.bio{margin:0; color:var(--text-soft); font-size:.9rem;}

/* kurzus órarend */
#szikra-front .group-title{
  display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap;
  font-size:1.6rem; margin:2.4rem 0 1.1rem;
}
#szikra-front .group-title:first-of-type{margin-top:0;}
#szikra-front .price-tag{font-size:.85rem; color:var(--accent-text); font-weight:700;}
#szikra-front .schedule-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem;}
#szikra-front .slot{
  border-radius:8px; padding:1.3rem 3.6rem 1.3rem 1.4rem; background:rgba(255,253,248,.88); border:1px solid var(--line);
  display:flex; flex-direction:column; gap:.5rem; position:relative; overflow:hidden;
}
#szikra-front .slot::before{content:""; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--ember),var(--gold));}
#szikra-front .slot:nth-child(2)::before{background:linear-gradient(90deg,var(--teal),var(--gold));}
#szikra-front .slot:nth-child(3)::before{background:linear-gradient(90deg,var(--violet),var(--ember));}
#szikra-front .slot:nth-child(4)::before{background:linear-gradient(90deg,var(--blue),var(--teal));}
#szikra-front .slot:nth-child(5)::before{background:linear-gradient(90deg,var(--gold),var(--violet));}
#szikra-front .slot-subject{font-weight:700; font-size:1.02rem;}
#szikra-front .slot-time{color:var(--text-soft); font-size:.9rem;}
#szikra-front .slot-links{display:flex; gap:.9rem; flex-wrap:wrap; margin-top:.3rem;}
#szikra-front .slot .cta,
#szikra-front .slot-links .cta{
  font-family:"Century Gothic","Avenir Next",sans-serif; font-weight:700; font-size:.85rem;
  color:var(--accent-text); text-decoration:none; margin-top:.3rem; display:inline-block;
}
/* hátralévő helyek - kör alakú jelvény a kártya jobb felső sarkában */
#szikra-front .seat-badge{
  position:absolute; top:10px; right:10px; z-index:1;
  width:50px; height:50px; border-radius:50%;
  background:linear-gradient(135deg,var(--ember),var(--gold));
  color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-family:"Century Gothic","Avenir Next",sans-serif; line-height:1.05;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}
#szikra-front .seat-badge .n{font-size:1.05rem; font-weight:700;}
#szikra-front .seat-badge .l{font-size:.48rem; letter-spacing:0; text-transform:uppercase; opacity:.9;}
#szikra-front .seat-badge.low{background:linear-gradient(135deg,#8a1230,#c81e3a);}
#szikra-front .seat-badge.full{background:#5c1626; font-size:.62rem; font-weight:700; padding:0 4px; text-align:center;}

#szikra-front .course-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem;}
#szikra-front .course{
  border-radius:8px; padding:1.9rem 1.7rem; background:rgba(255,253,248,.9); border:1px solid var(--line);
  display:flex; flex-direction:column; gap:.9rem; position:relative; overflow:hidden;
}
#szikra-front .course::before{content:""; position:absolute; inset:0 0 auto 0; height:6px; background:var(--accent,var(--ember));}
#szikra-front .course.c{--accent:linear-gradient(90deg,var(--gold),var(--ink-2));}
#szikra-front .course h3{margin:0; font-size:1.25rem;}
#szikra-front .course .desc{color:var(--text-soft); font-size:.92rem; margin:0;}
#szikra-front .course .price{margin-top:auto; display:flex; align-items:baseline; justify-content:space-between; padding-top:.9rem; border-top:1px dashed var(--line);}
#szikra-front .course .price .amount{font-size:1.3rem; font-weight:700;}
#szikra-front .course .cta{font-family:"Century Gothic","Avenir Next",sans-serif; font-weight:700; font-size:.82rem; color:var(--accent-text); text-decoration:none;}

/* testimonials */
#szikra-front .testi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.1rem;}
#szikra-front .testi{border-radius:8px; padding:1.6rem 1.5rem; border:1.5px dashed var(--line); background:rgba(255,253,248,.9);}
#szikra-front .testi .quote-mark{font-family:"Fraunces Display",Georgia,serif; font-size:2rem; color:var(--accent-text); line-height:1; margin-bottom:.3rem;}
#szikra-front .testi p{margin:0 0 1rem; color:var(--text-soft); font-style:italic;}
#szikra-front .testi .who{font-size:.82rem; color:var(--text-soft); font-family:"Century Gothic","Avenir Next",sans-serif;}

/* payment */
#szikra-front .payment{background:linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%); color:var(--text-light);}
#szikra-front .payment .section-head .eyebrow{color:var(--gold);}
#szikra-front .payment .section-head p{color:var(--text-light-soft); max-width:56ch;}
#szikra-front .pay-flow{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-bottom:2.2rem;}
#szikra-front .pay-step{background:rgba(246,241,255,.08); border:1px solid rgba(246,241,255,.18); border-radius:8px; padding:1.3rem 1.2rem;}
#szikra-front .pay-step .num{font-family:ui-monospace,monospace; color:var(--gold); font-size:.85rem;}
#szikra-front .pay-step h4{margin:.5rem 0 .3rem; font-size:1rem; font-family:"Century Gothic","Avenir Next",sans-serif; color:var(--text-light);}
#szikra-front .pay-step p{margin:0; font-size:.88rem; color:var(--text-light-soft);}

#szikra-front .szikra-foot{
  padding:2.5rem 0; text-align:center; color:var(--text-soft); font-size:.85rem;
  font-family:"Century Gothic","Avenir Next",sans-serif;
}
