/* tour upload view (feltoltes.html): logged-in user menu + 6-step "Kerekpartura feltoltes" form. Loaded after tura.css. Static prototype. */
.up-sec{padding-top:clamp(22px,3vw,40px);padding-bottom:clamp(44px,6vw,88px)}
.up-wrap{width:100%;padding-inline:var(--pad)}  /* full page width like the homepage (.wrap: no max-width, only the --pad side gutter) */
.up-h1{font-size:clamp(26px,3.2vw,40px);font-weight:800;text-align:center;color:var(--ink);line-height:1.15}
.up-lead{margin:10px auto 0;max-width:60ch;text-align:center;color:var(--ink-soft);font-size:16px}

/* logged-in user menu: six round icons (the active one is filled) */
.up-menu ul{list-style:none;margin:clamp(22px,3vw,34px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:900px;margin-inline:auto}
.up-mi{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--blue);font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.25;padding:4px 2px}
.up-mi-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid var(--blue);background:#fff;transition:background .15s,color .15s,transform .15s}
.up-mi-ic .ic{width:28px;height:28px}
.up-mi:hover .up-mi-ic{background:var(--blue-tint)}
.up-mi.is-active .up-mi-ic{background:var(--blue);color:#fff}
.up-mi.is-active{color:var(--ink)}

/* form card */
.up-form{margin-top:clamp(24px,3vw,38px);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(18px,3vw,40px)}
.up-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.up-steps a{display:flex;align-items:center;gap:9px;min-height:44px;padding:4px 6px;border-radius:12px;color:var(--ink-soft);font-weight:700;font-size:13.5px;line-height:1.2}
.up-steps a:hover{background:var(--paper);color:var(--ink)}
.up-sn{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue-tint);color:var(--blue);font:800 13px Poppins,sans-serif}
.up-steps li.is-done .up-sn{background:var(--blue);color:#fff}
.up-steps li.is-done .up-sn{font-size:0}
.up-steps li.is-done .up-sn::before{content:"";width:12px;height:7px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.up-steps li.is-done a{color:var(--ink)}

.up-step{padding-block:clamp(22px,2.6vw,34px);border-top:1px solid var(--line);scroll-margin-top:90px}
.up-steps + .up-sum + .up-step,.up-steps + .up-step{border-top:0}
.up-sh{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-bottom:20px}
.up-n{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--blue-tint);color:var(--blue);font:800 18px Poppins,sans-serif}
.up-sh h2{font-size:clamp(17px,1.7vw,21px);text-transform:uppercase;letter-spacing:.03em;color:var(--ink);font-weight:800}
.up-sh small{color:var(--ink-soft);font-size:13px;font-weight:500}
.up-req{display:inline-block;padding:2px 10px;border-radius:999px;background:#fde8ea;color:#b3202c;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

/* fields */
.up-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px clamp(20px,3vw,40px);margin-top:22px}
.up-step > .up-f:first-child,.up-g2:first-child{margin-top:0}
.up-f{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;padding:0;border:0}
.up-fs{min-inline-size:0}
.up-l{display:block;padding:0;font-weight:700;font-size:15px;color:var(--ink)}
.up-star{color:#b3202c}
.up-hint{color:var(--ink-soft);font-size:13px;line-height:1.45;margin:0}
.up-hint b{color:var(--ink)}
.up-err{color:#b3202c;font-size:13.5px;font-weight:600;line-height:1.4}
.up-f.has-err > input[type=text],.up-f.has-err .up-inp input,.up-f.has-err textarea{border-color:#b3202c}
.up-f.has-err .up-dz,.up-f.has-err .up-pickrow .up-pick{border-color:#b3202c}
.up-f input[type=text],.up-inp input,.up-f textarea{width:100%;min-height:48px;padding:0 16px;border:1.5px solid #cdd5e4;border-radius:14px;background:#fff;color:var(--ink);font-size:16px;transition:border-color .15s,box-shadow .15s}
.up-f textarea{font-family:inherit;min-height:170px;padding:14px 16px;resize:vertical;line-height:1.5}
.up-f input::placeholder,.up-f textarea::placeholder{color:#8a97b0}
.up-f input[type=text]:focus,.up-inp input:focus,.up-f textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(87,12,255,.16)}
.up-inp{position:relative}
.up-inp input{padding-right:58px;-moz-appearance:textfield}
.up-inp input::-webkit-outer-spin-button,.up-inp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.up-unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:13.5px;font-weight:700;pointer-events:none}
.up-count{text-align:right}

/* pill radios / checkboxes */
.up-chs{display:flex;flex-wrap:wrap;gap:10px}
.up-ch{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px 0 14px;border:1.5px solid #cdd5e4;border-radius:999px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);line-height:1.3;transition:background .15s,border-color .15s}
.up-ch input{flex:none;width:19px;height:19px;margin:0;accent-color:var(--blue);cursor:pointer}
.up-ch:hover{border-color:var(--blue)}
.up-ch:has(input:checked){background:var(--blue-tint);border-color:var(--blue)}
.up-ch:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.up-tags{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.up-ch.tag{border-radius:12px;padding:8px 12px;min-height:44px;font-weight:500;align-items:center}
.up-ch.tag span{min-width:0;overflow-wrap:anywhere}

/* open-point notes (things the reference screenshots leave unclear: marked, not invented) */
.up-op{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:14px 16px;border:1.5px dashed #b9d400;border-radius:14px;background:#fbffe0;color:#2b3300;font-size:14px;line-height:1.5}
.up-op > .ic{flex:none;width:22px;height:22px;margin-top:1px;color:#6c7d00}
.up-op ul{margin:8px 0 0;padding-left:18px}.up-op li{margin:4px 0}
.up-op-s{margin-top:18px}
.up-chip{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;cursor:help;vertical-align:1px}

/* photos + GPX */
.up-pickrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.up-pick{position:relative;gap:9px;height:46px;cursor:pointer}
.up-pick:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.up-pick-s{display:inline-flex;height:44px;padding:0 16px;margin-left:6px;font-size:14px;vertical-align:middle}
.up-fname{color:var(--ink-soft);font-size:14.5px;overflow-wrap:anywhere}
.up-cover-prev{margin-top:6px}
.up-cover-prev img{display:block;width:min(100%,340px);aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.up-step > .up-f + .up-f{margin-top:26px}
.up-dz{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:clamp(22px,3vw,36px) 16px;border:2px dashed #c3cde0;border-radius:16px;background:#fafbfe;text-align:center;color:var(--ink-soft);transition:background .15s,border-color .15s}
.up-dz > .ic{width:34px;height:34px;color:#8a97b0}
.up-dz p{margin:0;font-size:15.5px}
.up-dz.is-over{border-color:var(--blue);background:var(--blue-tint)}
.up-thumbs{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.up-thumbs:empty{display:none}
.up-thumbs li{position:relative;min-width:0}
.up-thumbs img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.up-tn{display:block;margin-top:5px;font-size:12.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up-rm{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(13,31,58,.78);color:#fff;font-size:19px;line-height:1;cursor:pointer;display:grid;place-items:center}
.up-rm:hover{background:#b3202c}
.up-rm:focus-visible{outline:3px solid #fff;outline-offset:1px;box-shadow:0 0 0 5px var(--blue)}
.up-files{grid-template-columns:minmax(0,1fr)}
.up-gfile{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.up-gfile .ic{flex:none;width:22px;height:22px;color:var(--blue)}
.up-gfile .up-tn{flex:1;margin:0;font-size:14.5px;color:var(--ink)}
.up-gfile .up-rm{position:static;flex:none}

/* submit */
.up-submit-row{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:clamp(22px,2.6vw,34px);border-top:1px solid var(--line)}
.up-terms{border:0;padding:0;min-height:44px;background:none;border-radius:0;font-weight:500}
.up-terms:has(input:checked){background:none}
.up-terms a{color:var(--blue);text-decoration:underline}
.up-submit{height:54px;padding:0 40px;font-size:16px;letter-spacing:.02em}
.up-sum{margin:18px 0 0;padding:14px 16px;border:1.5px solid #e8a0a8;border-radius:14px;background:#fdeef0;color:#7d1420;font-size:14.5px;line-height:1.55}
.up-sum a{color:#7d1420;font-weight:700;text-decoration:underline}
.up-ok{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px 20px;border:1.5px solid #9bd5b0;border-radius:14px;background:#eefaf2;color:#124a28}
.up-ok > .ic{flex:none;width:28px;height:28px;color:#1f8a4c}
.up-ok h2{font-size:18px;margin-bottom:4px}.up-ok p{margin:0 0 12px;font-size:14.5px}
.up-sum[hidden],.up-ok[hidden],.up-err[hidden],.up-cover-prev[hidden]{display:none}

/* wide screens: the form uses the whole width - step title/number in a left column, the fields in the right one */
@media(min-width:1100px){
  .up-step{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);column-gap:clamp(28px,3.5vw,72px);align-items:start}
  .up-step > :not(.up-sh){grid-column:2}
  .up-step > .up-sh{grid-column:1;grid-row:1 / span 12;position:sticky;top:104px;margin-bottom:0;flex-direction:column;align-items:flex-start;gap:12px}
  .up-step > .up-g2:first-of-type,.up-step > .up-f:first-of-type{margin-top:0}
  .up-nums{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));column-gap:clamp(14px,1.6vw,28px)}
  .up-g2:not(.up-nums){margin-top:26px}
}
@media(max-width:899px){
  .up-steps a .up-sl{display:none}.up-steps a{justify-content:center}
}
@media(max-width:699px){
  .up-menu ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px}
  .up-mi-ic{width:58px;height:58px}.up-mi{font-size:11.5px}
  .up-g2{grid-template-columns:minmax(0,1fr)}
  .up-submit{width:100%}
}
@media(max-width:599px){
  .up-tags{grid-template-columns:repeat(2,minmax(0,1fr))}
  .up-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .up-wrap{padding-inline:12px}
  .up-form{padding:16px 14px}
  .up-ch{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){.up-mi-ic,.up-ch,.up-dz{transition:none}}

/* region select (Tura regio): same look as the text inputs, custom arrow */
.up-sel{position:relative}
.up-sel::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.up-sel select{width:100%;min-height:48px;padding:0 48px 0 16px;border:1.5px solid #cdd5e4;border-radius:14px;background:#fff;color:var(--ink);font-size:16px;font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.up-sel select:invalid{color:#8a97b0}
.up-sel select option,.up-sel select optgroup{color:var(--ink)}
.up-sel select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(87,12,255,.16)}
.up-f.has-err .up-sel select{border-color:#b3202c}
.up-step > .up-g2 + .up-f{margin-top:26px}
@media(max-width:559px){.up-menu ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px;max-width:360px}}

/* profile view (profil.html): two columns like the screenshot, single column below 900 px */
.pf-form{margin-top:clamp(24px,3vw,38px)}
.pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px clamp(24px,4vw,64px);align-items:start}
.pf-col{display:flex;flex-direction:column;gap:22px;min-width:0}
.pf-f input{width:100%;min-height:48px;padding:0 16px;border:1.5px solid #cdd5e4;border-radius:14px;background:#fff;color:var(--ink);font-size:16px;transition:border-color .15s,box-shadow .15s}
.pf-f input::placeholder{color:#8a97b0}
.pf-f input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(87,12,255,.16)}
.pf-f input:disabled{background:#f1f3f8;color:var(--ink-soft);border-color:#dde3ef;cursor:not-allowed;-webkit-text-fill-color:var(--ink-soft)}
.pf-f.has-err input{border-color:#b3202c}
.pf-f .t-sample{margin-left:6px}
.pf-seg{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid #cdd5e4;border-radius:999px;overflow:hidden;background:#eef0f5}
.pf-seg label{display:grid;place-items:center;min-height:48px;cursor:pointer;font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);transition:background .15s,color .15s}
.pf-seg label:has(input:checked){background:var(--blue);color:#fff}
.pf-seg label:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:-3px;border-radius:999px}
.pf-seg input{position:absolute;opacity:0;width:1px;height:1px}
.pf-submit{width:100%;margin-top:8px}
@media(max-width:899px){.pf-grid{grid-template-columns:minmax(0,1fr)}}

.up-count-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px 16px;flex-wrap:wrap}
.up-count-row .up-count{margin-left:auto}
.pf-f:has(.pf-seg) .up-err{margin-top:2px}
.pf-f.has-err .pf-seg{border-color:#b3202c}

/* program upload view (program-feltoltes.html) */
.up-f input[type=date],.up-f input[type=email],.up-f input[type=url],.up-f input[type=tel]{width:100%;min-height:48px;padding:0 16px;border:1.5px solid #cdd5e4;border-radius:14px;background:#fff;color:var(--ink);font-size:16px;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.up-f input[type=date]:focus,.up-f input[type=email]:focus,.up-f input[type=url]:focus,.up-f input[type=tel]:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(87,12,255,.16)}
.up-f.has-err input[type=date],.up-f.has-err input[type=email],.up-f.has-err input[type=url],.up-f.has-err input[type=tel]{border-color:#b3202c}
.up-opt{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--blue-tint);color:var(--blue);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.up-map{position:relative;margin-top:14px;border-radius:16px;overflow:hidden;border:1.5px solid #cdd5e4;background:#e6f0ea}
.up-map svg{display:block;width:100%;height:auto;aspect-ratio:8/3}
.up-map-cap{position:absolute;left:12px;right:12px;bottom:10px;padding:6px 12px;border-radius:10px;background:rgba(255,255,255,.92);color:var(--ink-soft);font-size:13px;line-height:1.4}
.up-steps-7{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:899px){.up-steps-7{gap:4px}}
.up-form > section.up-step:first-of-type{border-top:0;padding-top:0}
