/* GoKart Foglalás – frontend (v1.2) */
.gkf-box{--gkf-red:#df202e;--gkf-red2:#ff2535;--gkf-bg:#1c1515;--gkf-panel:#241b1b;--gkf-field:#140d0d;
  --gkf-card:#251b1b;--gkf-bd:#3d2e2e;--gkf-fg:#f8f8f8;--gkf-mut:#bbacab;
  max-width:860px;margin:0 auto;background:var(--gkf-bg);border:1px solid var(--gkf-bd);
  color:var(--gkf-fg);font-family:inherit;position:relative;border-radius:3px;overflow:hidden}
.gkf-box *{box-sizing:border-box}

/* fejléc */
.gkf-head{background:linear-gradient(135deg,#2a1c1c,#1a1212);border-bottom:2px solid var(--gkf-red);
  padding:22px 28px;display:flex;flex-direction:column;gap:2px}
.gkf-head-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gkf-red);font-weight:700}
.gkf-head-title{margin:0;font-size:22px;letter-spacing:.02em;text-transform:uppercase;font-weight:800;color:#fff}

/* szekciók */
.gkf-body{padding:24px 28px 28px}
.gkf-section{border:1px solid var(--gkf-bd);background:var(--gkf-panel);border-radius:3px;
  padding:18px 18px 6px;margin-bottom:18px}
.gkf-section-h{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;font-weight:700;margin:-4px 0 14px}
.gkf-step-num{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--gkf-red);color:#fff;
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}

.gkf-step{margin-bottom:14px}
.gkf-row{display:flex;gap:14px;flex-wrap:wrap}
.gkf-row .gkf-col{flex:1 1 160px;margin-bottom:14px}
.gkf-label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gkf-mut);margin-bottom:6px}

.gkf-input{width:100%;background:var(--gkf-field);border:1px solid var(--gkf-bd);color:var(--gkf-fg);
  padding:12px 14px;font-size:15px;border-radius:2px;outline:none;font-family:inherit;line-height:1.3}
.gkf-box .gkf-input:focus{border-color:var(--gkf-red)!important;box-shadow:0 0 0 2px rgba(223,32,46,.25)!important}
select.gkf-input{appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--gkf-mut) 50%),linear-gradient(135deg,var(--gkf-mut) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}

/* időpont-rács – görgethető */
.gkf-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;
  max-height:264px;overflow-y:auto;padding:2px;align-content:start}
.gkf-slots::-webkit-scrollbar{width:8px}
.gkf-slots::-webkit-scrollbar-thumb{background:var(--gkf-bd);border-radius:4px}
.gkf-hint{grid-column:1/-1;color:var(--gkf-mut);font-size:14px;padding:10px 2px}

/* SLOT gomb – témafüggetlen, piros hover/aktív (!important az Elementor felülírása ellen) */
.gkf-box button.gkf-slot{appearance:none;-webkit-appearance:none;background:var(--gkf-field);
  border:1px solid var(--gkf-bd);color:var(--gkf-fg);padding:9px 6px;cursor:pointer;font:inherit;
  font-size:14px;line-height:1.2;border-radius:2px;text-align:center;transition:.12s;box-shadow:none}
.gkf-box button.gkf-slot:hover,.gkf-box button.gkf-slot:focus{background:#2a1414!important;
  border-color:var(--gkf-red)!important;color:#fff!important;box-shadow:none!important;outline:none!important}
.gkf-box button.gkf-slot.is-active,.gkf-box button.gkf-slot.is-active:hover,.gkf-box button.gkf-slot.is-active:focus{
  background:var(--gkf-red)!important;border-color:var(--gkf-red)!important;color:#fff!important;font-weight:700}
.gkf-slot small{display:block;font-size:10px;opacity:.7;letter-spacing:.04em;margin-top:2px}

.gkf-gdpr{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--gkf-mut);margin:4px 0 0}
.gkf-gdpr input{margin-top:2px}

/* ár-összegző kiemelve */
.gkf-summary{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:linear-gradient(135deg,#2a1c1c,#1a1212);border:1px solid var(--gkf-red);
  padding:14px 18px;margin:18px 0;border-radius:3px;font-size:14px;color:var(--gkf-fg)}
.gkf-summary.show{display:flex}
.gkf-summary .gkf-sum-price{font-size:20px;font-weight:800;color:#fff;white-space:nowrap}
.gkf-summary b{color:#fff}

/* fő gomb – témafüggetlen, piros hover */
.gkf-box button.gkf-btn{appearance:none;-webkit-appearance:none;background:var(--gkf-red);color:#fff;border:0;
  padding:16px 28px;font:inherit;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  cursor:pointer;width:100%;border-radius:2px;transition:.12s}
.gkf-box button.gkf-btn:hover{background:var(--gkf-red2)!important;color:#fff!important}
.gkf-box button.gkf-btn:disabled{opacity:.55;cursor:not-allowed}

.gkf-msg{margin-top:14px;font-size:14px}
.gkf-msg.err{color:#ff8a8a}
.gkf-msg.ok{padding:16px;background:#13301a;border:1px solid #1e7d3c;color:#cdeed5;border-radius:2px}
.gkf-disabled{padding:22px;text-align:center}
@media(max-width:560px){.gkf-head,.gkf-body{padding-left:18px;padding-right:18px}}

/* saját dátumválasztó */
.gkf-datewrap{position:relative}
.gkf-date-trigger{display:flex!important;align-items:center;justify-content:space-between;gap:8px;
  text-align:left;cursor:pointer;width:100%}
.gkf-date-trigger:not(.has-val) #gkf-date-label{color:var(--gkf-mut)}
.gkf-date-trigger.open{border-color:var(--gkf-red)!important}
.gkf-date-ico{flex:0 0 auto;font-size:16px;line-height:1;filter:saturate(0) brightness(1.6);opacity:.85}
.gkf-datecal{position:absolute;z-index:60;top:100%;left:0;margin-top:6px;width:min(330px,100%);
  background:#241b1b;border:1px solid var(--gkf-bd);border-radius:4px;padding:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.55)}
.gkf-cal-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.gkf-cal-mtitle{font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--gkf-fg)}
.gkf-box button.gkf-cal-nav{appearance:none;-webkit-appearance:none;width:30px;height:30px;flex:0 0 auto;
  background:var(--gkf-field);border:1px solid var(--gkf-bd);color:var(--gkf-fg);border-radius:50%;
  font:inherit;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s}
.gkf-box button.gkf-cal-nav:hover{background:var(--gkf-red)!important;border-color:var(--gkf-red)!important;color:#fff!important}
.gkf-box button.gkf-cal-nav:disabled{opacity:.3;cursor:default;background:var(--gkf-field)!important;border-color:var(--gkf-bd)!important;color:var(--gkf-mut)!important}
.gkf-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.gkf-cal-dow{text-align:center;font-size:11px;font-weight:700;color:var(--gkf-mut);padding:2px 0;text-transform:uppercase}
.gkf-cal-dow.wknd{color:var(--gkf-red)}
.gkf-box button.gkf-cal-d{appearance:none;-webkit-appearance:none;aspect-ratio:1/1;width:100%;
  background:var(--gkf-field);border:1px solid transparent;color:var(--gkf-fg);border-radius:3px;
  font:inherit;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.1s;padding:0}
.gkf-box button.gkf-cal-d:hover{border-color:var(--gkf-red)!important;background:#2a1414!important;color:#fff!important}
.gkf-cal-d.today{box-shadow:inset 0 0 0 1px var(--gkf-red)}
.gkf-box button.gkf-cal-d.sel,.gkf-box button.gkf-cal-d.sel:hover{background:var(--gkf-red)!important;border-color:var(--gkf-red)!important;color:#fff!important;font-weight:700}
.gkf-box button.gkf-cal-d.dis{background:transparent!important;color:var(--gkf-mut)!important;opacity:.3;cursor:default;border-color:transparent!important}
.gkf-cal-d.empty{background:transparent;border:0;pointer-events:none}

/* Köszönő oldal */
.gkf-thanks{text-align:center;padding:32px 28px}
.gkf-thanks-check{width:64px;height:64px;border-radius:50%;background:var(--gkf-red);color:#fff;
  font-size:34px;line-height:64px;margin:0 auto 16px}
.gkf-thanks-h{margin:0 0 8px;font-size:26px;color:var(--gkf-fg)}
.gkf-thanks-lead{color:var(--gkf-mut);margin:0 auto 22px;max-width:540px}
.gkf-thanks-card{background:var(--gkf-field);border:1px solid var(--gkf-bd);padding:18px;text-align:left;max-width:480px;margin:0 auto 18px}
.gkf-thanks-card pre{white-space:pre-wrap;margin:0 0 10px;font-family:inherit;font-size:14px;color:var(--gkf-fg)}
.gkf-thanks-status{margin:0;font-size:14px;color:var(--gkf-mut)}
.gkf-thanks-actions{font-size:14px;color:var(--gkf-mut)}
.gkf-btn-link{display:inline-block;background:var(--gkf-red);color:#fff;text-decoration:none;
  padding:12px 22px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:2px}
.gkf-thanks-cancel{color:var(--gkf-mut);margin-left:14px;text-decoration:underline}
