/* Sportpálya-tervező: a cégcsoport-oldal váza (sötét bevezető, alatta a ragadós rajz és a lépések).
   Minden szabály az .ept alatt él, mert a sablon általános gomb-, cím- és űrlapstílusai különben ráfolynak. */
.ept{
  --ept-font:"Urbanist","Segoe UI",system-ui,sans-serif;
  --ink:#1b1e1c;--text:#4b4f4c;--soft:#6b706c;--line:#d9ddd6;--line-2:#e8ebe5;
  --bg:#f5f6f2;--card:#fff;--chip:#f1f3ed;--hero:#1D2327;
  --stage-a:#f7f8f4;--stage-b:#e3e8de;
  --a1:#6DA830;--a2:#717E4A;--a-soft:#eef5e5;--focus:#2b6cb0;--err:#b3261e;
  --ept-fej:0px;
  background:var(--bg);color:var(--text);font-family:var(--ept-font);font-size:16px;line-height:1.55;font-weight:500;
}
.ept[data-marka="eveto"]{--a1:#6DA830;--a2:#375C1E}
.ept[data-marka="rekortan"]{--a1:#F02025;--a2:#882525;--a-soft:#fdeeee}
.ept *,.ept *::before,.ept *::after{box-sizing:border-box}
.ept [hidden]{display:none!important}
.ept h1,.ept h2,.ept h3,.ept p,.ept ol{font-family:var(--ept-font)}
.ept button,.ept input,.ept select,.ept textarea{font:inherit;color:inherit;letter-spacing:normal;text-transform:none;margin:0}
.ept button{transition:background-color .15s,border-color .15s,color .15s}
.ept :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}
.ept .ept-wrap{max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ept .ept-grad{background:linear-gradient(120deg,var(--a1),var(--a2))}
.ept .ept-pill{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:99px;padding:12px 24px;font-weight:700;cursor:pointer;color:#fff;text-decoration:none;font-size:15px;transform:none;box-shadow:none;height:auto;width:auto;line-height:1.3}
.ept .ept-pill:hover{filter:brightness(1.06);color:#fff}
.ept .ept-pill svg{width:16px;height:16px;flex:none}
.ept .ept-pill[disabled]{opacity:.65;cursor:wait}

/* bevezető */
.ept .ept-hero{background:var(--hero);color:#fff;position:relative;overflow:hidden}
.ept .ept-hero::before{content:"";position:absolute;inset:0;opacity:.09;background:repeating-radial-gradient(circle at 85% 120%,transparent 0 34px,#fff 35px 36px,transparent 37px 70px)}
.ept .ept-hero .ept-wrap{position:relative;padding-top:64px;padding-bottom:64px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end}
.ept .ept-felirat{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--a1)}
.ept .ept-felirat img{width:22px;height:22px;display:block}
.ept .ept-hero h1{font-size:clamp(40px,6vw,72px);line-height:1;font-weight:900;letter-spacing:-.02em;margin:14px 0 18px;color:#fff;text-wrap:balance}
.ept .ept-hero p{max-width:56ch;color:#c9d1d6;font-size:18px;margin:0}
.ept .ept-lepesek{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ept .ept-lepesek li{display:flex;gap:14px;align-items:center;color:#dfe5e8;font-weight:600;margin:0}
.ept .ept-lepesek i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;flex:none}
.ept .ept-toltes{padding:64px 16px;text-align:center;color:var(--soft);font-weight:600}
.ept .ept-toltes a{color:var(--a2);font-weight:700}

/* munkaterület */
.ept .ept-munka{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;padding-top:32px;padding-bottom:64px}
.ept .ept-szinpad{position:sticky;top:calc(var(--ept-fej) + 16px);align-self:start;background:var(--card);border-radius:24px;box-shadow:0 10px 50px rgba(0,0,0,.06),0 5px 10px 1px rgba(0,0,0,.04);overflow:hidden}
.ept .ept-szp-fej{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.ept .ept-tabs{display:inline-flex;background:var(--chip);border-radius:99px;padding:4px}
.ept .ept-tabs button{border:0;background:transparent;padding:7px 16px;border-radius:99px;font-weight:700;cursor:pointer;color:var(--text);font-size:14px;line-height:1.4;height:auto}
.ept .ept-tabs button:hover{color:var(--ink);background:transparent}
.ept .ept-tabs button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.ept .ept-kapcs{display:inline-flex;align-items:center;gap:8px;margin:0 0 0 auto;font-weight:700;font-size:14px;color:var(--ink);cursor:pointer}
.ept .ept-kapcs input{appearance:none;-webkit-appearance:none;width:40px;height:24px;padding:0;border:0;border-radius:99px;background:var(--line);position:relative;cursor:pointer;transition:background .2s;flex:none}
.ept .ept-kapcs input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.ept .ept-kapcs input:checked{background:var(--a1)}
.ept .ept-kapcs input:checked::after{transform:translateX(16px)}
.ept .ept-kapcs input:disabled{opacity:.4;cursor:not-allowed}
.ept .ept-kapcs:has(input:disabled){color:var(--soft);cursor:not-allowed}
.ept .ept-vaszon{aspect-ratio:16/10;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:12px;background:radial-gradient(120% 90% at 50% 20%,var(--stage-a),var(--stage-b));transition:background .4s}
.ept .ept-vaszon.este{background:radial-gradient(120% 90% at 50% 10%,#21323f,#0b1218)}
.ept .ept-vaszon svg{width:100%;height:100%;display:block}
.ept .ept-osszeg{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;border-top:1px solid var(--line-2)}
.ept .ept-osszeg span{background:var(--chip);border-radius:99px;padding:5px 12px;font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}

.ept .ept-panel{display:grid;gap:18px;align-content:start;min-width:0}
.ept .ept-lepes{background:var(--card);border-radius:20px;padding:20px 20px 22px;box-shadow:0 5px 10px 1px rgba(0,0,0,.035);scroll-margin-top:calc(var(--ept-fej) + 16px)}
.ept .ept-lepes h2{margin:0 0 14px;font-size:20px;line-height:1.3;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:12px;letter-spacing:-.01em}
.ept .ept-lepes h2 i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;flex:none}
.ept .ept-lepes h3{font-size:13px;line-height:1.4;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 8px}
.ept .ept-tipusok{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ept .ept-tipus{border:2px solid var(--line-2);background:var(--card);border-radius:16px;padding:12px 4px 10px;display:grid;justify-items:center;gap:6px;cursor:pointer;font-weight:700;font-size:13px;line-height:1.25;color:var(--ink);height:auto;width:auto}
.ept .ept-tipus:hover{border-color:var(--a1);background:var(--card);color:var(--ink)}
.ept .ept-tipus svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ept .ept-tipus[aria-pressed="true"],.ept .ept-tipus[aria-pressed="true"]:hover{border-color:transparent;color:#fff;background:linear-gradient(140deg,var(--a1),var(--a2))}
.ept .ept-chips{display:flex;flex-wrap:wrap;gap:8px}
.ept .ept-chip{border:2px solid transparent;background:var(--chip);border-radius:14px;padding:8px 14px;cursor:pointer;font-weight:700;color:var(--ink);text-align:left;line-height:1.25;font-variant-numeric:tabular-nums;height:auto;width:auto;font-size:15px}
.ept .ept-chip:hover{background:var(--chip);border-color:var(--line);color:var(--ink)}
.ept .ept-chip small{display:block;font-weight:600;color:var(--soft);font-size:12px}
.ept .ept-chip[aria-pressed="true"],.ept .ept-chip[aria-pressed="true"]:hover{border-color:var(--a1);background:var(--a-soft)}
.ept .ept-egyedi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.ept label.ept-mezo{display:grid;gap:4px;font-size:13px;font-weight:700;color:var(--ink);margin:0}
.ept .ept-mezo select{appearance:none;-webkit-appearance:none;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%234b4f4c' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center/12px 8px;border:1.5px solid var(--line);border-radius:12px;padding:10px 34px 10px 12px;font-weight:600;width:100%;min-width:0;height:auto;font-size:16px;line-height:1.4;box-shadow:none;color:var(--ink);cursor:pointer}
.ept .ept-mezo select:focus{border-color:var(--a1);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--a1) 25%,transparent)}
.ept .ept-mezo input,.ept .ept-mezo textarea{border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;font-weight:600;width:100%;min-width:0;height:auto;font-size:16px;line-height:1.4;box-shadow:none;color:var(--ink)}
.ept .ept-mezo input::placeholder,.ept .ept-mezo textarea::placeholder{color:#8a8f8b;font-weight:500;opacity:1}
.ept .ept-mezo input:focus,.ept .ept-mezo textarea:focus{border-color:var(--a1);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--a1) 25%,transparent)}
.ept .ept-szakaszok{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ept .ept-szakaszok:empty{display:none}
.ept .ept-szakasz{display:flex;align-items:center;gap:8px;border:2px solid var(--line-2);background:var(--card);border-radius:99px;padding:5px 12px 5px 5px;cursor:pointer;font-weight:700;font-size:14px;line-height:1.3;color:var(--ink);height:auto;width:auto}
.ept .ept-szakasz:hover{background:var(--card);border-color:var(--line);color:var(--ink)}
.ept .ept-szakasz b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.ept .ept-szakasz[aria-pressed="true"],.ept .ept-szakasz[aria-pressed="true"]:hover{border-color:var(--a1)}
.ept .ept-szinek{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:8px}
.ept .ept-szinek:empty{display:none}
.ept .ept-szin,.ept .ept-szin:hover{aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);padding:0;height:auto;width:auto;min-width:0}
.ept .ept-szin[aria-pressed="true"]{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--a1)}
.ept .ept-szin[aria-pressed="true"]::after{content:"";position:absolute;inset:30% 26% 36%;border:solid #fff;border-width:0 0 3px 3px;transform:rotate(-45deg);filter:drop-shadow(0 0 1px rgba(0,0,0,.5))}
.ept .ept-szin-nev{margin-top:10px;font-size:14px;color:var(--ink);font-weight:700}
.ept .ept-szin-nev span{color:var(--soft);font-weight:600}
.ept .ept-kieg{display:grid;gap:8px}
.ept .ept-kapu-tipp{margin:6px 0 0;font-size:14px;line-height:1.4;font-weight:600;color:var(--a2)}
.ept .ept-ksor{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--chip)}
.ept .ept-ksor label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;font-weight:700;color:var(--ink);font-size:15px;line-height:1.3;min-width:0;margin:0}
.ept .ept-ksor input[type=checkbox],.ept .ept-ksor input[type=radio]{width:20px;height:20px;accent-color:var(--a1);flex:none;margin:0;padding:0;appearance:auto;-webkit-appearance:auto}
.ept .ept-lep{display:inline-flex;align-items:center;background:var(--card);border-radius:99px;border:1.5px solid var(--line);flex:none}
.ept .ept-lep button{border:0;background:transparent;width:32px;height:32px;padding:0;cursor:pointer;font-size:18px;line-height:1;font-weight:700;color:var(--ink)}
.ept .ept-lep button:hover{color:var(--a2);background:transparent}
.ept .ept-lep output{min-width:22px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}
.ept .ept-feltolt{margin-top:10px;padding:12px;border:1.5px dashed var(--line);border-radius:14px;font-size:14px;display:grid;gap:8px}
.ept .ept-feltolt input{font-size:13px;max-width:100%;padding:0;border:0;height:auto;background:transparent}
.ept .ept-urlap{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.ept .ept-teljes{grid-column:1/-1}
.ept .ept-rejtett{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ept .ept-gdpr{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;grid-column:1/-1;margin:0;font-weight:500;color:var(--text);cursor:pointer}
.ept .ept-gdpr input{width:20px;height:20px;accent-color:var(--a1);margin:2px 0 0;padding:0;flex:none;appearance:auto;-webkit-appearance:auto}
.ept .ept-gdpr a{color:var(--a2);text-decoration:underline}
.ept .ept-kuld{grid-column:1/-1;justify-content:center;font-size:17px;padding:16px 28px;width:100%}
.ept .ept-hiba{color:var(--err);font-weight:700;font-size:14px;grid-column:1/-1;margin:0}
.ept .ept-koszi{border-radius:20px;padding:22px;color:#fff;outline:none}
.ept .ept-koszi h2{margin:0 0 6px;font-size:24px;font-weight:900;color:#fff;display:block}
.ept .ept-koszi p{margin:0;color:#fff}
.ept .ept-koszi .ept-koszi-szam{margin:0 0 8px;font-size:18px}.ept .ept-koszi-szam b{font-weight:900;white-space:nowrap}

/* asztali gépen a lépésjelző és a lapozó nem kell: minden lépés látszik a rajz mellett */
.ept .ept-lepesjelzo,.ept .ept-lepesnav{display:none}

/* Telefon, tablet: lépésenkénti varázsló. Fent a rajz, alatta EGY lépés, alul Vissza / Tovább; a munkaterület kitölti a fejléc alatti részt. */
@media (max-width:1020px){
  .ept .ept-munka{display:flex;flex-direction:column;height:calc(100dvh - var(--ept-fej));min-height:520px;padding-top:0;padding-bottom:0;gap:0;padding-left:0;padding-right:0;scroll-margin-top:var(--ept-fej)}
  .ept .ept-szinpad{position:relative;top:0;flex:0 0 auto;align-self:stretch;width:100%;min-width:0;border-radius:0;box-shadow:0 6px 18px rgba(0,0,0,.08);z-index:2}
  .ept .ept-vaszon{aspect-ratio:auto;height:34dvh;min-height:190px;padding:4px}
  .ept .ept-munka[data-lepes="5"] .ept-vaszon{height:20dvh;min-height:130px}
  .ept .ept-szp-fej{padding:6px 12px;border-bottom:0}
  .ept .ept-osszeg{padding:6px 12px 8px;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-top:0}
  .ept .ept-osszeg span{white-space:nowrap;font-size:12px;padding:3px 10px}
  .ept .ept-lepesjelzo{display:flex;gap:6px;padding:10px max(16px,env(safe-area-inset-left,0px)) 6px;overflow-x:auto;scrollbar-width:none;flex:0 0 auto;background:var(--bg)}
  .ept .ept-lepesjelzo button{flex:1 0 auto;border:0;background:var(--chip);color:var(--soft);border-radius:99px;padding:7px 12px;font-weight:700;font-size:13px;line-height:1.4;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;height:auto;width:auto}
  .ept .ept-lepesjelzo button i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:var(--card);font-size:11px;font-weight:800}
  .ept .ept-lepesjelzo button.kesz{color:var(--ink)}
  .ept .ept-lepesjelzo button.kesz i{background:var(--a1)}
  .ept .ept-lepesjelzo button[aria-current="step"]{background:linear-gradient(120deg,var(--a1),var(--a2));color:#fff}
  .ept .ept-lepesjelzo button[aria-current="step"] i{background:#ffffff40;color:#fff}
  .ept .ept-panel{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;display:block;padding:6px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px))}
  .ept .ept-panel .ept-lepes{display:none;box-shadow:none;background:transparent;padding:4px 0 8px}
  .ept .ept-panel .ept-lepes.aktiv{display:block}
  .ept .ept-lepes h2 i{display:none}
  .ept .ept-lepesnav{display:flex;gap:10px;flex:0 0 auto;position:sticky;bottom:0;z-index:3;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--card);border-top:1px solid var(--line-2)}
  .ept .ept-lepesnav .ept-vissza{border:1.5px solid var(--line);background:var(--card);border-radius:99px;padding:12px 18px;font-weight:700;color:var(--ink);cursor:pointer;height:auto;width:auto;line-height:1.3}
  .ept .ept-lepesnav .ept-vissza:hover{background:var(--card);color:var(--ink)}
  .ept .ept-lepesnav .ept-vissza:disabled{opacity:.35;cursor:default}
  .ept .ept-lepesnav .ept-tovabb{flex:1;justify-content:center;font-size:16px}
  .ept .ept-munka[data-lepes="5"] .ept-lepesnav .ept-tovabb{display:none}
  .ept .ept-munka[data-lepes="5"] .ept-lepesnav .ept-vissza{flex:1}
  .ept .ept-hero .ept-wrap{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px}
  body:has(.ept) .progress-wrap{display:none!important} /* a Tovább gombra ülne */
}
@media (max-width:640px){
  .ept .ept-hero .ept-wrap{grid-template-columns:minmax(0,1fr);padding-top:18px;padding-bottom:20px;gap:0}
  .ept .ept-hero h1{font-size:30px;margin:6px 0}
  .ept .ept-hero p,.ept .ept-lepesek{display:none}
  .ept .ept-lepes h2{font-size:18px;margin-bottom:10px}
  .ept .ept-tipusok{gap:6px}
  .ept .ept-tipus{padding:10px 2px 8px;font-size:11px;border-radius:14px}
  .ept .ept-tipus svg{width:26px;height:26px}
  .ept .ept-chip{padding:8px 12px;font-size:15px}
  .ept .ept-szinek{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
  .ept .ept-ksor{flex-wrap:wrap;padding:10px}
  .ept .ept-ksor label{font-size:14px}
  .ept .ept-urlap{grid-template-columns:minmax(0,1fr)}
  .ept .ept-tabs button{padding:6px 12px;font-size:13px}
  .ept .ept-kapcs{font-size:13px}
}
@media (max-width:380px){.ept .ept-tipus span{font-size:10px}}
@media (max-width:340px){.ept .ept-szinek{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.ept *{transition:none!important;scroll-behavior:auto!important}}
