/* =========================================================================
   ABSOLEM — rezervacie.css  (linkuj PO base.css)
   ========================================================================= */

/* ---- Hlavička stránky -------------------------------------------------- */
.page-hero {
  position: relative;
  padding: calc(var(--nav-h) + 60px) 20px 60px;
  text-align: center;
  background: radial-gradient(120% 140% at 50% 0%, rgba(20,73,59,.6), rgba(7,24,19,.9));
  border-bottom: 1px solid var(--line-soft);
}
.page-hero .container { max-width: 760px; }
.page-hero .lead { margin: 16px auto 0; }

/* ---- Rozloženie -------------------------------------------------------- */
.rez__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: start; }

/* ---- Formulár ---------------------------------------------------------- */
.rez__form {
  background: rgba(15,61,50,.5);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  padding: 36px;
  box-shadow: var(--shadow);
}
.field { display: flex; flex-direction: column; margin-bottom: 18px; }
.field label { font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--gold-2); margin-bottom: 8px; }
.field input, .field textarea {
  font-family: var(--ff-body); font-size: 1rem; color: var(--cream);
  background: rgba(7,24,19,.55); border: 1px solid var(--line-soft); border-radius: 10px;
  padding: 13px 15px; transition: border-color .2s ease, box-shadow .2s ease;
}
.field input::placeholder, .field textarea::placeholder { color: rgba(159,179,167,.6); }
.field input:focus, .field textarea:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft);
}
.field textarea { resize: vertical; }
/* svetlé ikony date/time pickerov */
.field input[type="date"]::-webkit-calendar-picker-indicator,
.field input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(.8) sepia(.4) saturate(3) hue-rotate(5deg); cursor: pointer; }

.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-row:has(.field--sm) { grid-template-columns: 1fr 1fr .8fr; }

.check { display: flex; align-items: center; gap: 12px; margin: 4px 0 20px; cursor: pointer; color: var(--cream-dim); font-size: .95rem; }
.check input { width: 20px; height: 20px; accent-color: var(--gold); flex-shrink: 0; }

.btn--block { width: 100%; }

.rez__or { display: flex; align-items: center; gap: 14px; margin: 22px 0; color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .16em; }
.rez__or::before, .rez__or::after { content: ""; height: 1px; flex: 1; background: var(--line-soft); }

.rez__hint { text-align: center; color: var(--muted); font-size: .82rem; margin-top: 12px; }

/* ---- Stav odoslania ---------------------------------------------------- */
.form-status { margin-top: 16px; padding: 0; font-size: .92rem; border-radius: 10px; text-align: center; }
.form-status:not(:empty) { padding: 12px 16px; }
.form-status.is-info { background: rgba(159,179,167,.12); color: var(--cream-dim); }
.form-status.is-ok { background: rgba(37,211,102,.14); color: #7ff0a6; border: 1px solid rgba(37,211,102,.35); }
.form-status.is-err { background: rgba(224,90,90,.14); color: #f0a3a3; border: 1px solid rgba(224,90,90,.35); }

/* ---- Bočný panel ------------------------------------------------------- */
.rez__aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: calc(var(--nav-h) + 20px); }
.rez__card { background: rgba(7,24,19,.5); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 26px; }
.rez__card h3 { font-family: var(--ff-display); font-size: 1.15rem; letter-spacing: .06em; color: var(--gold-2); margin-bottom: 12px; }
.rez__card p { color: var(--cream-dim); font-size: .95rem; }
.rez__phone { display: block; font-family: var(--ff-display); font-size: 1.3rem; color: var(--cream); margin-top: 8px; }
.rez__phone:hover { color: var(--gold-2); }
.rez__hours { display: grid; gap: 8px; margin-top: 4px; }
.rez__hours li { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; border-bottom: 1px dashed var(--line-soft); }
.rez__hours li:last-child { border-bottom: 0; }
.rez__hours span { color: var(--cream-dim); }
.rez__hours b { color: var(--gold-2); font-family: var(--ff-display); }
.rez__maplink { display: inline-block; margin-top: 12px; color: var(--gold-2); font-weight: 600; font-size: .92rem; }
.rez__maplink:hover { color: var(--gold); }

/* ---- Responzívne ------------------------------------------------------- */
@media (max-width: 900px) {
  .rez__grid { grid-template-columns: 1fr; }
  .rez__aside { position: static; }
}
@media (max-width: 560px) {
  .rez__form { padding: 24px; }
  .field-row, .field-row:has(.field--sm) { grid-template-columns: 1fr; }
}
