/* Palocsa Foglalás – vendégoldal */
.pfog{
  --pf-ink:#041A26;--pf-card:#0E2F42;--pf-panel:#10384E;--pf-panel2:#15455E;
  --pf-brand:#02709C;--pf-brandlt:#5CB4D6;--pf-sand:#E8B15C;--pf-free:#4FBF7B;--pf-booked:#6B8592;
  --pf-text:#EAF4F8;--pf-muted:#9EBAC8;--pf-line:rgba(255,255,255,.14);--pf-line2:rgba(255,255,255,.08);
  color:var(--pf-text);font-size:15px;line-height:1.62;max-width:1140px;margin:0 auto;
}
.pfog *{box-sizing:border-box}
.pfog h2{font-size:26px;line-height:1.15;margin:0 0 4px;letter-spacing:.02em;color:var(--pf-text)}
.pfog h3.pfog-blk{font-size:20px;margin:26px 0 10px;color:var(--pf-text)}
.pfog .pfog-lead{color:var(--pf-muted);font-size:13.5px;margin:0 0 18px;max-width:64ch}
.pfog .pfog-card{background:var(--pf-card);border:1px solid var(--pf-line2);padding:22px 22px 26px;margin-bottom:22px}

.pfog .pfog-steps{display:flex;margin:0 0 26px;padding:0;list-style:none;flex-wrap:wrap}
.pfog .pfog-steps li{display:flex;align-items:center;gap:10px;padding:9px 18px 9px 14px;background:rgba(255,255,255,.04);
  border:1px solid var(--pf-line2);border-right:0;font-size:13px;color:var(--pf-muted)}
.pfog .pfog-steps li:last-child{border-right:1px solid var(--pf-line2)}
.pfog .pfog-steps li.on{background:var(--pf-brand);border-color:var(--pf-brand);color:#fff}
.pfog .pfog-steps li.done{color:var(--pf-brandlt)}
.pfog .pfog-steps li span{font-weight:700;font-size:15px}

.pfog .pfog-weeks{display:flex;gap:26px;overflow-x:auto;padding-bottom:10px}
.pfog .pfog-week{flex:0 0 auto}
.pfog .pfog-week h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pf-muted);
  font-weight:600;margin:0 0 8px}
.pfog .pfog-row{display:flex;gap:8px}
.pfog .pfog-day{min-width:92px;padding:10px 12px;background:var(--pf-panel);border:1px solid var(--pf-line);
  color:var(--pf-text);font:inherit;cursor:pointer;text-align:left}
.pfog .pfog-day .n{font-size:24px;font-weight:600;line-height:1.1;display:block}
.pfog .pfog-day .d{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-muted)}
.pfog .pfog-day .f{display:block;font-size:11.5px;color:var(--pf-free);margin-top:5px}
.pfog .pfog-day:hover{border-color:var(--pf-brandlt)}
.pfog .pfog-day[aria-pressed="true"]{background:var(--pf-brand);border-color:var(--pf-brandlt)}
.pfog .pfog-day[aria-pressed="true"] .d,.pfog .pfog-day[aria-pressed="true"] .f{color:#DCF1F8}
.pfog .pfog-day[disabled]{cursor:not-allowed;opacity:.5;background:transparent}
.pfog .pfog-day[disabled] .f{color:var(--pf-sand)}

.pfog .pfog-mapgrid{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:22px}
.pfog .pfog-mapgrid>*{min-width:0}
@media (max-width:900px){
  .pfog .pfog-mapgrid{display:flex;flex-direction:column}
  .pfog .pfog-side{order:-1}
}
.pfog .pfog-mapbox{background:#8FBF77;border:1px solid var(--pf-line2);overflow-x:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pfog .pfog-maphint{display:none;font-size:12px;color:var(--pf-muted);margin:8px 0 0}
@media (max-width:900px){.pfog .pfog-maphint{display:block}}
.pfog .pfog-mapbox svg{display:block;min-width:760px;width:100%;height:auto}
.pfog .pfog-stand{cursor:pointer}
.pfog .pfog-stand circle{stroke:#04202E;stroke-width:3;fill:var(--pf-free)}
.pfog .pfog-stand text{font-family:inherit;font-weight:600;fill:#04202E;text-anchor:middle;
  dominant-baseline:central;pointer-events:none;user-select:none}
.pfog .pfog-stand.booked{cursor:not-allowed}
.pfog .pfog-stand.booked circle{fill:var(--pf-booked)}
.pfog .pfog-stand.booked text{fill:#22333B}
.pfog .pfog-stand.off{cursor:not-allowed}
.pfog .pfog-stand.off circle{fill:#3E5661;stroke:#04202E}
.pfog .pfog-stand.off text{fill:#8FA6B0}
.pfog .pfog-stand.sel circle{fill:var(--pf-sand);stroke:#fff;stroke-width:5}
.pfog .pfog-stand:hover circle{stroke:#fff;stroke-width:5}
.pfog .pfog-stand:focus-visible circle{stroke:#fff;stroke-width:6}
.pfog .pfog-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--pf-muted);margin-top:12px}
.pfog .pfog-legend i{width:11px;height:11px;display:inline-block;margin-right:6px;vertical-align:-1px}
.pfog .pfog-i-free{background:#4FBF7B}.pfog .pfog-i-booked{background:#6B8592}.pfog .pfog-i-sel{background:#E8B15C}.pfog .pfog-i-off{background:#3E5661}
.pfog .pfog-sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pf-muted);
  margin:22px 0 0;font-weight:600}
.pfog .pfog-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin-top:12px}
.pfog .pfog-chip{padding:8px 0;text-align:center;font-size:13px;background:var(--pf-panel);
  border:1px solid var(--pf-line);color:var(--pf-text);cursor:pointer;font-variant-numeric:tabular-nums}
.pfog .pfog-chip.booked{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.pfog .pfog-chip.off{opacity:.3;cursor:not-allowed}
.pfog .pfog-chip.sel{background:var(--pf-sand);border-color:#fff;color:#04202E;font-weight:600}

.pfog .pfog-notice{background:rgba(232,177,92,.12);border:1px solid rgba(232,177,92,.45);
  padding:16px 18px;color:#F1E2C6;font-size:14px;line-height:1.6}
.pfog .pfog-side{display:flex;flex-direction:column;gap:14px}
.pfog .pfog-counter{background:var(--pf-panel2);border:1px solid var(--pf-line);padding:12px 16px;font-size:13px}
.pfog .pfog-counter b{font-size:22px;color:var(--pf-free);margin-right:6px}
.pfog .pfog-picked{background:var(--pf-panel);border:1px solid var(--pf-line);padding:16px}
.pfog .pfog-picked h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pf-brandlt);
  margin:0 0 10px;font-weight:600}
.pfog .pfog-picked p{font-size:13px;color:var(--pf-muted);margin:0}
.pfog .pfog-picklist{display:flex;flex-wrap:wrap;gap:8px}
.pfog .pfog-pickchip{display:flex;align-items:center;gap:8px;background:var(--pf-sand);color:#04202E;
  padding:5px 8px 5px 12px;font-weight:600;font-size:14px}
.pfog .pfog-pickchip button{background:none;border:0;color:#04202E;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
.pfog .pfog-picked p.small{margin-top:12px}

.pfog .pfog-srow{display:grid;grid-template-columns:110px 1fr auto;gap:12px 16px;align-items:center;
  background:var(--pf-panel);border:1px solid var(--pf-line);padding:14px 16px;margin-bottom:10px}
@media (max-width:760px){.pfog .pfog-srow{grid-template-columns:1fr;align-items:start}}
.pfog .pfog-srow .sn{font-size:24px;font-weight:600;line-height:1.1}
.pfog .pfog-srow .sn small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pf-muted);font-weight:400}
.pfog .pfog-seg{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pfog .pfog-seg button{background:transparent;border:1px solid var(--pf-line);color:var(--pf-text);
  padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}
.pfog .pfog-seg button.on{background:var(--pf-brand);border-color:var(--pf-brandlt)}
.pfog .pfog-seg label{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--pf-muted);
  margin:0;cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:400}
.pfog .pfog-seg label.off{opacity:.45;cursor:not-allowed}
.pfog .pfog-srow .sp{font-size:22px;font-weight:600;white-space:nowrap;justify-self:end;font-variant-numeric:tabular-nums}

.pfog .pfog-opt{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;
  background:var(--pf-panel);border:1px solid var(--pf-line);padding:14px 16px;margin-bottom:10px}
.pfog .pfog-opt.on{border-color:var(--pf-brandlt);background:var(--pf-panel2)}
.pfog .pfog-opt .ttl{font-weight:500}
.pfog .pfog-opt .desc,.pfog .pfog-opt .stock{grid-column:1;font-size:12.5px;color:var(--pf-muted)}
.pfog .pfog-opt .stock{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--pf-free)}
.pfog .pfog-opt .stock.out{color:var(--pf-sand)}
.pfog .pfog-opt .ctrl{grid-row:1/4;grid-column:2;display:flex;align-items:center;gap:12px}
.pfog .pfog-opt .price{font-size:22px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.pfog .pfog-opt .price small{display:block;font-size:11px;color:var(--pf-muted);text-align:right;
  letter-spacing:.06em;text-transform:uppercase;font-weight:400}
.pfog .pfog-stepper{display:flex;align-items:center;border:1px solid var(--pf-line)}
.pfog .pfog-stepper button{background:var(--pf-panel2);border:0;color:var(--pf-text);width:34px;height:34px;
  font-size:18px;cursor:pointer;line-height:1}
.pfog .pfog-stepper button[disabled]{opacity:.35;cursor:not-allowed}
.pfog .pfog-stepper span{min-width:36px;text-align:center;font-variant-numeric:tabular-nums}
.pfog .pfog-switch{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--pf-muted)}
.pfog .pfog-switch.off{opacity:.5}

.pfog form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
@media (max-width:700px){.pfog form{grid-template-columns:1fr}}
.pfog form label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-muted);
  margin-bottom:6px;font-weight:600}
.pfog input[type=text],.pfog input[type=email],.pfog input[type=tel],.pfog textarea{width:100%;padding:11px 12px;
  background:var(--pf-panel);border:1px solid var(--pf-line);color:var(--pf-text);font:inherit;font-size:14.5px}
.pfog textarea{min-height:86px;resize:vertical}
.pfog .pfog-col2{grid-column:1/-1}
.pfog .pfog-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pfog .pfog-gdpr{display:flex;gap:10px;align-items:flex-start}
.pfog .pfog-gdpr input{width:18px;height:18px;flex:0 0 18px;margin-top:3px}
.pfog .pfog-gdpr label{text-transform:none;letter-spacing:normal;font-size:13px;font-weight:400;
  color:var(--pf-muted);margin:0}
.pfog .pfog-gdpr a{color:var(--pf-brandlt)}
.pfog .pfog-total{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 30px;align-items:baseline;
  background:var(--pf-panel2);border:1px solid var(--pf-line);padding:14px 16px}
.pfog .pfog-total span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-muted);display:block}
.pfog .pfog-total b{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.pfog .pfog-total .grand b{color:var(--pf-sand);font-size:28px}
.pfog .pfog-cta{grid-column:1/-1;justify-self:start;background:var(--pf-brand);color:#fff;
  border:1px solid var(--pf-brandlt);padding:13px 30px;font:inherit;font-weight:600;font-size:14px;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.pfog .pfog-cta:hover{background:#0387BC}
.pfog .pfog-cta[disabled]{opacity:.45;cursor:not-allowed}
.pfog .pfog-err{grid-column:1/-1;color:#FFB4A8;font-size:13px;display:none;margin:0}

.pfog .pfog-done{display:none;border-left:4px solid var(--pf-free)}
.pfog .pfog-done h2{color:var(--pf-free)}
.pfog .pfog-pill{display:inline-block;background:rgba(79,191,123,.16);border:1px solid var(--pf-free);
  color:#BFEED2;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;margin-bottom:10px}
.pfog .pfog-ticket{margin:16px 0 20px;background:var(--pf-panel);border:1px solid var(--pf-line);
  padding:16px;max-width:520px}
.pfog .pfog-ticket dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}
.pfog .pfog-ticket dt{color:var(--pf-muted);font-size:12.5px}
.pfog .pfog-ticket dd{margin:0}
.pfog .pfog-kindly{background:rgba(79,191,123,.08);border:1px solid rgba(79,191,123,.35);padding:14px 16px;
  max-width:62ch;font-size:13.5px;color:#D6EFE0;margin:0 0 18px}
.pfog .pfog-mails{font-size:13px;color:var(--pf-muted);max-width:62ch;margin:0 0 20px}
.pfog .pfog-ghost{background:transparent;border:1px solid var(--pf-line);color:var(--pf-text);padding:11px 22px;
  font:inherit;font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.pfog .pfog-ghost:hover{border-color:var(--pf-brandlt)}


/* ---------- mobil ---------- */
@media (max-width:600px){
  .pfog{font-size:14.5px}
  .pfog .pfog-card{padding:16px 14px 20px;margin-bottom:16px}
  .pfog h2{font-size:21px}
  .pfog h3.pfog-blk{font-size:18px}
  .pfog .pfog-lead{font-size:13px}

  .pfog .pfog-steps{flex-wrap:nowrap;overflow-x:auto;margin-bottom:18px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pfog .pfog-steps::-webkit-scrollbar{display:none}
  .pfog .pfog-steps li{flex:0 0 auto;padding:8px 14px 8px 11px;gap:7px;font-size:12.5px}

  .pfog .pfog-weeks{gap:18px}
  .pfog .pfog-day{min-width:84px;padding:9px 10px}

  .pfog .pfog-chips{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:5px}
  .pfog .pfog-chip{padding:10px 0}

  .pfog .pfog-srow{padding:12px 14px;gap:10px}
  .pfog .pfog-srow .sn{font-size:21px}
  .pfog .pfog-seg{gap:6px}
  .pfog .pfog-seg button{flex:1 1 140px;padding:10px 10px;text-align:center}
  .pfog .pfog-seg label{flex:1 1 100%;padding-left:0}
  .pfog .pfog-srow .sp{justify-self:start;font-size:20px}

  .pfog .pfog-opt{grid-template-columns:1fr;gap:6px}
  .pfog .pfog-opt .ctrl{grid-row:auto;grid-column:1;justify-content:space-between;
    margin-top:10px;padding-top:10px;border-top:1px solid var(--pf-line2)}
  .pfog .pfog-opt .price small{text-align:left}

  .pfog .pfog-total{gap:10px 18px}
  .pfog .pfog-total>div{flex:1 1 42%}
  .pfog .pfog-total .grand{flex:1 1 100%}
  .pfog .pfog-total b{font-size:19px}
  .pfog .pfog-total .grand b{font-size:26px}

  .pfog .pfog-cta{width:100%;justify-self:stretch;text-align:center;padding:15px 20px}
  .pfog .pfog-ghost{width:100%}
  .pfog .pfog-ticket dl{grid-template-columns:1fr;gap:2px}
  .pfog .pfog-ticket dt{margin-top:8px}
}
