/* ── UV BOOKING WIZARD ─────────────────────────────────────────────────────── */
.uv-hide-header #uv-nav { display: none !important; }
* { outline: none !important; }

/* Wizard footer + mobile summary bar are dark — match html bg so iOS Safari
   translucent top/bottom bars don't show a light seam against them */
html { background: #222010 !important; overscroll-behavior-y: none; }
body.uv-reservation-page { overscroll-behavior-y: none; }

/* Prevent iOS Safari double-tap-to-zoom gesture on repeatedly-tapped controls (qty steppers etc.) */
.uv-wiz-outer, .uv-wizard-main { touch-action: manipulation; }
.uv-wiz-outer button, .uv-wizard-main button,
.uv-wiz-outer a, .uv-wizard-main a { touch-action: manipulation; }

/* ── OUTER WRAPPER + EDGE LINES ── */
.uv-wiz-outer {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  padding-top: calc(20px + env(safe-area-inset-top));
  padding-bottom: calc(20px + env(safe-area-inset-bottom));
  min-height: 100vh;
  min-height: 100dvh;
}

.uv-wiz-outer::before,
.uv-wiz-outer::after {
  content: '';
  position: absolute;
  top: 20px;
  bottom: 20px;
  width: 1px;
  background: hsl(48deg 8% 46% / 40%);
  pointer-events: none;
  z-index: 1;
}
.uv-wiz-outer::before { left: 54px; }
.uv-wiz-outer::after  { right: 54px; }
@media (max-width: 860px) {
  .uv-wiz-outer::before { left: 8px; }
  .uv-wiz-outer::after  { right: 8px; }
}

/* ── WIZARD HEADER ── */
.uv-wiz-header {
  position: absolute;
  top: 20px;
  left: 62px;
  right: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  z-index: 10;
}
@media (max-width: 860px) {
  .uv-wiz-header {
    left: 16px;
    right: 16px;
  }
}
.uv-wiz-hdr-back,
.uv-wiz-hdr-close { pointer-events: auto; }
.uv-wiz-hdr-back,
.uv-wiz-hdr-close {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: #DED8C5;
  font-size: 20px;
  border: none;
  cursor: pointer;
  color: #222010;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s;
}
.uv-wiz-hdr-back:hover,
.uv-wiz-hdr-close:hover {
  background: #c9c3b0;
}

/* ── DESIGN TOKENS ── */
:root {
  --font-heading: "Khand", sans-serif;
  --font-body: var(--e-global-typography-text-font-family, 'Outfit', sans-serif);

  --uv-brand:        #ff5a1f;
  --uv-brand-bg:     #fdf0e4;
  --uv-brand-hover:  #e04a10;
  --uv-brand-range:  #4a4a4a;
  --uv-brand-subtle: rgba(255, 90, 31, 0.08);
  --uv-accent:       #ff5a1f;

  --uv-text:         #1a1209;
  --uv-text-2:       #4a3828;
  --uv-text-3:       #7a6860;
  --uv-text-4:       #9a8880;
  --uv-text-5:       #bab0a8;

  --uv-bg:           #ded8c5;
  --uv-bg-warm:      #f0e6d4;
  --uv-white:        #fff;

  --uv-border:       #e8e0d4;
  --uv-border-mid:   #d4ccc0;
  --uv-border-soft:  #e0d8cc;
  --uv-divider:      #e8e0d4;
  --uv-bw:           1.5px;

  --uv-r:            10px;
  --uv-r-sm:         6px;
  --uv-r-pill:       100px;

  --uv-fs-lg:        16px;
  --uv-fs:           15px;
  --uv-fs-sm:        14px;
  --uv-fs-xs:        14px;

  --uv-t:            0.15s;
  --uv-t-med:        0.2s;
}


/* ── PAGE WRAPPER ── */
.uv-page-rezervet {
  box-sizing: border-box;
  width: 100%;
}

.uv-page-container {
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* ── TWO-COLUMN LAYOUT ── */
.uv-wizard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 22px;
  align-items: start;
}

.uv-wizard-main {
  min-width: 0;
}

/* ── SIDEBAR ── */
.uv-wizard-sidebar {
  position: sticky;
  top: 20px;
  min-width: 0;
}

.uv-sidebar-card {
  background: #2a2210;
  border: none;
  border-radius: 8px;
  padding: 26px 22px;
  font-family: var(--font-body);
  font-size: var(--uv-fs);
  color: var(--uv-text);
}

.uv-sidebar-title {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--uv-text);
}

.uv-sidebar-route {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--uv-divider);
}

.uv-sidebar-route-img {
  width: 56px;
  height: 42px;
  object-fit: cover;
  border-radius: var(--uv-r-sm);
  flex-shrink: 0;
}

.uv-sidebar-route-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.uv-sidebar-route-name {
  font-weight: 600;
  font-size: var(--uv-fs);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.uv-sidebar-route-meta {
  font-size: var(--uv-fs-xs);
  color: var(--uv-text-4);
}

.uv-sidebar-empty {
  font-size: var(--uv-fs-sm);
  color: var(--uv-text-5);
  margin: 0 0 10px;
}

.uv-sidebar-trip {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--uv-divider);
}

.uv-sidebar-trip-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: var(--uv-fs-sm);
}

.uv-sidebar-trip-label { color: var(--uv-text-4); }

.uv-sidebar-trip-val {
  font-weight: 600;
  color: var(--uv-text);
  text-align: right;
}

.uv-sidebar-items {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 6px;
}

.uv-sidebar-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: var(--uv-fs-sm);
}

.uv-sidebar-line-name {
  color: var(--uv-text-2);
  flex: 1;
  min-width: 0;
}

.uv-sidebar-line-price {
  font-weight: 600;
  white-space: nowrap;
}

.uv-sidebar-included {
  font-size: 11px;
  font-weight: 400;
  color: var(--uv-text-4);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.uv-sidebar-delivery {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: var(--uv-fs-sm);
  color: var(--uv-text-3);
  margin-bottom: 4px;
}

.uv-sidebar-item-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-size: var(--uv-fs-sm);
}
.uv-sidebar-item-name {
  color: var(--uv-text-2);
  flex: 1;
  min-width: 0;
}
.uv-sidebar-item-price {
  font-weight: 600;
  white-space: nowrap;
}

.uv-sidebar-divider {
  height: 1px;
  background: var(--uv-divider);
  margin: 10px 0;
}

.uv-sidebar-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 14px;
}

.uv-sidebar-total-row strong {
  font-size: 18px;
  font-weight: 700;
}

/* ── WIZARD WRAPPER ── */
.uv-wizard {
  font-family: var(--font-body);
  color: var(--uv-text);
}

/* ── CAROUSEL INSIDE WIZARD ── */
.uv-wizard .uv-carousel-section {
  padding-left: 0;
  padding-right: 0;
}

/* Step 1 carousel matches homepage exactly — no height or nav overrides */


/* ── PROGRESS BAR ── */
.uv-wizard-progress {
  margin-bottom: 28px;
}

.uv-progress-track {
  display: flex;
  gap: 4px;
  margin-bottom: 10px;
}

.uv-progress-seg {
  flex: 1;
  height: 3px;
  background: var(--uv-border-soft);
  border-radius: 2px;
  transition: background 0.35s ease;
}

.uv-progress-seg.is-filled {
  background: var(--uv-accent);
}

.uv-progress-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.uv-progress-step-name {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--uv-text);
}

.uv-progress-step-count {
  font-size: 12px;
  color: var(--uv-text-4);
}

/* ── STEP PANELS ── */
.uv-wizard-panel { display: none; }

@keyframes uvPanelIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes uvPanelOut {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-8px); }
}

.uv-wizard-panel.uv-panel-enter {
  animation: uvPanelIn 0.28s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.uv-wizard-panel.uv-panel-leave {
  display: block !important;
  pointer-events: none;
  animation: uvPanelOut 0.18s ease forwards;
}

/* ── STEP HEADER ── */
.uv-step-header { margin-bottom: 22px; }

.uv-step-title {
  font-family: var(--font-heading); font-weight: 900;
  font-size: 22px;
  text-transform: uppercase;
  color: var(--uv-text);
  margin: 0 0 4px;
  line-height: 1.1;
}

.uv-step-sub {
  font-size: var(--uv-fs);
  color: var(--uv-text-3);
  margin: 0;
}

.uv-step-heading {
  margin-bottom: 20px;
}
.uv-step-heading .uv-step-title {
  font-size: 26px;
}
.uv-step-hint {
  font-size: 14px;
  color: #ded8c5;
  margin: 4px 0 20px;
}

/* ── SELECTED ROUTE BAR ── */
.uv-selected-route-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 10px 14px;
  background: var(--uv-bg-warm);
  border-radius: var(--uv-r-sm);
}

.uv-route-chip {
  font-weight: 600;
  font-size: var(--uv-fs);
  color: var(--uv-text);
}

.uv-link-btn {
  background: none;
  border: none;
  color: var(--uv-accent);
  font-size: var(--uv-fs-sm);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}

/* ── PEOPLE SPINNER ── */
.uv-people-widget { margin-bottom: 20px; margin-top: 20px; }

@keyframes uv-people-reveal {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.uv-people-reveal-in { animation: uv-people-reveal 0.3s ease forwards; }

.uv-people-widget > .uv-label {
  display: block;
  font-size: var(--uv-fs-lg);
  font-weight: 600;
  margin-bottom: 10px;
}

.uv-people-question {
  font-size: 14px;
  color: var(--uv-text-3);
  margin: 0 0 12px;
  line-height: 1.4;
}

.uv-people-spinner {
  background: var(--uv-white);
  border-radius: 16px;
  border: 1.5px solid var(--uv-border-soft);
  padding: 20px 20px;
}

.uv-people-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.uv-people-label-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.uv-people-sublabel {
  font-size: 15px;
  font-weight: 600;
  color: var(--uv-text);
  line-height: 1.2;
}

.uv-people-hint {
  font-size: 12px;
  color: var(--uv-text-4);
}

.uv-people-spinner.uv-unavailable {
  opacity: 0.45;
  pointer-events: none;
}
.uv-people-spinner.uv-unavailable #uv-people-minus {
  pointer-events: all;
  opacity: 1;
}

.uv-people-counter {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
  touch-action: manipulation;
}

.uv-people-btn { touch-action: manipulation; }

.uv-people-display {
  font-size: 18px;
  font-weight: 600;
  color: var(--uv-text);
  min-width: 24px;
  text-align: center;
  line-height: 1;
}

.uv-people-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--uv-border-mid);
  background: transparent;
  color: var(--uv-text);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--uv-t), background var(--uv-t);
  flex-shrink: 0;
}
.uv-people-btn:hover { border-color: var(--uv-text); background: var(--uv-bg-warm); }
.uv-people-btn:disabled { opacity: 0.25; cursor: not-allowed; }

.uv-people-display {
  font-size: 18px;
  font-weight: 600;
  font-family: var(--font-body);
  color: var(--uv-text);
  min-width: 24px;
  text-align: center;
  line-height: 1;
}



/* ── FORM ELEMENTS ── */
.uv-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.uv-dates-grid { grid-template-columns: 1fr 1fr; }

/* ── CUSTOM CALENDAR ── */
.uv-date-inputs {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 12px;
}

.uv-date-input-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.uv-date-sep {
  font-size: 18px;
  color: var(--uv-text-4);
  padding-bottom: 6px;
  flex-shrink: 0;
}

.uv-date-native {
  cursor: pointer;
}

.uv-cal-wrap { position: relative; }

.uv-cal-icon-badge {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ede5d8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--uv-text-3);
}

.uv-cal-icon-badge svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}


/* ── STEP 2 COMBINED CARD ── */
.uv-step2-card {
  background: var(--uv-white);
  border: none;
  border-radius: var(--uv-r);
  overflow: hidden;
  margin-bottom: 20px;
  display: flex;
  align-items: stretch;
}

.uv-step2-left {
  flex: 0 0 auto;
  border-right: 1px solid var(--uv-divider);
}

.uv-step2-right {
  flex: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}

/* Pirts wizard — calendar + delivery side by side */
.uv-pirts-cal-row {
  margin-bottom: 16px;
}

.uv-pirts-delivery-right {
  display: flex;
  align-items: flex-start;
  padding: 28px 24px;
}

.uv-pirts-delivery-inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.uv-pirts-delivery-icon {
  width: 40px;
  height: 40px;
  background: var(--uv-bg-warm);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--uv-accent);
  flex-shrink: 0;
}

.uv-pirts-delivery-title {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  color: #ded8c5;
  margin: 0;
}

.uv-pirts-delivery-desc {
  font-size: 14px;
  color: var(--uv-text-3);
  margin: 0;
  line-height: 1.5;
}

.uv-step4-redirect {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 60px 24px;
  color: var(--uv-text-3);
  font-size: 14px;
}
.uv-step4-spinner {
  width: 28px;
  height: 28px;
  border: 2.5px solid var(--uv-border-soft);
  border-top-color: var(--uv-accent);
  border-radius: 50%;
  animation: uvSpin 0.7s linear infinite;
}
@keyframes uvSpin {
  to { transform: rotate(360deg); }
}

.uv-pirts-times {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--uv-divider);
}
.uv-pirts-time-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--uv-text-3);
}
.uv-pirts-time-item svg { flex-shrink: 0; color: var(--uv-accent); }
.uv-pirts-time-item strong { color: var(--uv-text); font-weight: 600; }

.uv-pirts-delivery-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.uv-pirts-delivery-title-row .uv-pirts-delivery-title { margin: 0; }

.uv-maps-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--uv-text-3);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  margin-top: 2px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.uv-maps-toggle:hover { color: var(--uv-accent); }

.uv-maps-url-wrap { margin-top: 6px; width: 100%; }

.uv-locate-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  color: var(--uv-accent);
  background: none;
  border: 1px solid var(--uv-accent);
  border-radius: 100px;
  padding: 4px 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--uv-t), color var(--uv-t);
  flex-shrink: 0;
}
.uv-locate-btn:hover {
  background: var(--uv-accent);
  color: #fff;
}
.uv-locate-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.uv-locate-btn svg {
  flex-shrink: 0;
}

.uv-delivery-coords-hint {
  font-size: 12px;
  color: var(--uv-text-4);
  margin: 4px 0 0;
  line-height: 1.4;
}

.uv-step2-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  color: var(--uv-text-4);
  padding: 32px 16px;
  flex: 1;
}

.uv-step2-hint svg {
  opacity: 0.4;
}

.uv-step2-hint p {
  font-size: var(--uv-fs-sm);
  line-height: 1.5;
  margin: 0;
  max-width: 180px;
}

.uv-cal-popup {
  position: static;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 20px 16px 20px;
  box-sizing: border-box;
  margin-bottom: 0;
}

/* avail result — outside card, between card and step header */
#uv-avail-result {
  margin-bottom: 12px;
  text-align: center;
}

.uv-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.uv-cal-nav {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 1.5px solid var(--uv-border-mid);
  cursor: pointer;
  font-size: 14px;
  color: var(--uv-text);
  border-radius: 6px;
  line-height: 1;
  transition: background var(--uv-t), border-color var(--uv-t);
}
.uv-cal-nav:hover { background: var(--uv-bg-warm); border-color: #888; }

.uv-cal-month-label {
  font-family: var(--font-body);
  font-size: var(--uv-fs-lg);
  font-weight: 600;
  color: var(--uv-text);
  letter-spacing: 0.01em;
}

.uv-cal-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 38px);
  justify-content: center;
  margin-bottom: 8px;
}
.uv-cal-weekdays > div {
  text-align: center;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  color: #bbb;
  padding: 3px 0 4px;
}

.uv-cal-row {
  display: grid;
  grid-template-columns: repeat(7, 38px);
  justify-content: center;
  column-gap: 6px;
  margin-bottom: 6px;
}

.uv-cal-cell {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 16px;
  border-radius: 50%;
  cursor: pointer;
  color: var(--uv-text);
  background: none;
  border: none;
  transition: background var(--uv-t), color var(--uv-t);
}

.uv-cal-day:not(.uv-cal-past):not(.uv-cal-blocked):not(.uv-cal-selected):not(.uv-cal-in-range):hover {
  background: var(--uv-bg-warm);
}
.uv-cal-past    { color: #ccc; cursor: not-allowed; }
.uv-cal-blocked { color: #ccc; cursor: not-allowed; text-decoration: line-through; }
.uv-cal-today   { box-shadow: inset 0 0 0 1.5px #c4b9ac; border-radius: 50%; }

/* Single selected or single-day range (incl. when start===end) */
.uv-cal-selected,
.uv-cal-range-single,
.uv-cal-range-start.uv-cal-range-end {
  background: #fc6b3e !important;
  color: #1a1209 !important;
  border-radius: 50% !important;
}

/* Range start / end: oranžs aplis */
.uv-cal-range-start,
.uv-cal-range-end {
  background: #fc6b3e !important;
  color: #1a1209 !important;
  border-radius: 50% !important;
}

/* In-range: plakans fons pilnā platumā */
.uv-cal-in-range {
  background: rgba(252,107,62,0.18) !important;
  color: #ded8c5;
  border-radius: 50% !important;
  border-color: transparent !important;
}

.uv-cal-days-info {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  background: var(--uv-bg-warm);
  border-radius: 100px;
  padding: 3px 10px;
  color: var(--uv-text-3);
}
.uv-cal-days-info.is-count {
  font-weight: 500;
  color: var(--uv-text-2);
}

.uv-cal-range-single { border-radius: 50% !important; }


/* ── DAYS STEPPER ── */
.uv-days-stepper {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border: var(--uv-bw) solid var(--uv-border-mid);
  border-radius: var(--uv-r-sm);
  background: var(--uv-white);
  height: 44px;
  box-sizing: border-box;
}

.uv-days-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: var(--uv-bw) solid var(--uv-border-mid);
  background: var(--uv-bg);
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: border-color var(--uv-t), background var(--uv-t);
}
.uv-days-btn:hover { border-color: var(--uv-text); background: var(--uv-bg-warm); }

.uv-days-display {
  font-size: 18px;
  font-weight: 700;
  font-family: var(--font-body);
  color: var(--uv-text);
  flex: 1;
  text-align: center;
}

/* ── FORM INPUTS ── */
.uv-form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 14px;
}

.uv-label {
  font-size: var(--uv-fs-sm);
  font-weight: 600;
  color: var(--uv-text-2);
  letter-spacing: 0.02em;
}

.uv-input {
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-bottom: var(--uv-bw) solid var(--uv-border-mid);
  border-radius: 0;
  font-family: var(--font-body);
  font-size: var(--uv-fs);
  color: var(--uv-text);
  background: transparent;
  box-sizing: border-box;
  transition: border-color var(--uv-t);
}

.uv-input:focus { outline: none; border-bottom-color: var(--uv-text); }
.uv-input.is-error { border-bottom-color: #dc2626; }
.uv-input.is-error:focus { border-bottom-color: #dc2626; }

.uv-field-error {
  display: block;
  font-size: var(--uv-fs-xs);
  color: #dc2626;
  margin-top: 5px;
}

/* ── NOTICES ── */
.uv-notice {
  padding: 10px 14px;
  border-radius: var(--uv-r-sm);
  font-size: var(--uv-fs);
  margin-bottom: 14px;
  line-height: 1.5;
}

.uv-notice-info  { background: #f0f6ff; border: 1px solid #bdd4f8; color: #1d4ed8; }
.uv-notice-ok    { background: #f0fdf4; border: 1px solid #86efac; color: #166534; }
.uv-notice-warn  { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; }

/* ── ALTERNATIVES ── */
.uv-alternatives-box {
  background: var(--uv-bg);
  border: 1px solid var(--uv-border-soft);
  border-radius: 10px;
  padding: 18px;
  margin-bottom: 20px;
}

.uv-alternatives-box p { font-size: var(--uv-fs); margin: 0 0 10px; }

.uv-alt-dates-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.uv-alt-btn {
  background: var(--uv-white);
  border: var(--uv-bw) solid var(--uv-text);
  border-radius: var(--uv-r-pill);
  padding: 6px 14px;
  font-family: var(--font-body);
  font-size: var(--uv-fs-sm);
  font-weight: 500;
  cursor: pointer;
  transition: background var(--uv-t), color var(--uv-t);
}
.uv-alt-btn:hover { background: var(--uv-text); color: var(--uv-white); }

.uv-cancel-row {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--uv-border-soft);
  display: flex;
  align-items: center;
  gap: 12px;
}

.uv-cancel-row p { margin: 0; font-size: var(--uv-fs-sm); color: var(--uv-text-3); }

/* ── WIZARD ACTIONS ── */
.uv-wizard-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding-top: 0;
}

/* ── BUTTONS — unified base ── */
.uv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  border-radius: 100px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  border: 1px solid #1a1a1a;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--uv-t), border-color var(--uv-t), color var(--uv-t), opacity var(--uv-t), transform var(--uv-t);
}

.uv-btn:active   { transform: scale(0.98); }
.uv-btn:disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }

.uv-btn-primary {
  background: #1a1a1a;
  color: #fff;
  border-color: #1a1a1a;
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  border-radius: 8px;
}
.uv-btn-primary:hover { background: #333; border-color: #333; color: #fff; }

.uv-btn-ghost {
  background: transparent;
  color: var(--uv-text);
  border: none;
  padding: 10px 4px;
  border-radius: 0;
}
.uv-btn-ghost:hover { color: #555; text-decoration: underline; }

.uv-btn-danger { background: #d63638; color: #fff; border-color: #d63638; }
.uv-btn-danger:hover { background: #b02a2c; border-color: #b02a2c; }

/* ── INVENTORY CARDS (Step 3) ── */
.uv-section-sm {
  font-family: var(--font-heading); font-weight: 900;
  font-size: var(--uv-fs-lg);
  text-transform: uppercase;
  color: var(--uv-text);
  margin: 20px 0 10px;
}

.uv-inv-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
}

.uv-inv-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 18px;
  background: var(--uv-white);
  border: none;
  border-radius: 7px;
  transition: background var(--uv-t-med);
}


.uv-inv-card-active {
  background: var(--uv-white);
}

.uv-inv-card:not(.uv-inv-card-active) > *:not(.uv-inv-card-ctrl) {
  opacity: 0.55;
}

.uv-inv-card-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.uv-inv-card-top-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  margin-bottom: 6px;
}

.uv-inv-card-price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
  text-align: right;
}

.uv-inv-card-name {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 900;
  color: var(--uv-text);
  line-height: 1.3;
  margin-bottom: 5px;
}

.uv-inv-card-badge-row {
  margin-bottom: 0;
}

.uv-inv-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #1a1209;
  background: var(--uv-accent);
  border-radius: 4px;
  padding: 2px 7px;
  margin-left: 0;
  vertical-align: middle;
  line-height: 1.5;
}

.uv-inv-card-seats { font-size: 14px; font-weight: 400; color: var(--uv-text-4); }
.uv-inv-card-desc  { font-size: 14px; color: var(--uv-text-3); margin-top: 3px; line-height: 1.45; }

.uv-inv-card-price {
  font-size: 14px;
  color: var(--uv-text);
}

.uv-inv-card-price strong { font-size: 14px; font-weight: 700; }
.uv-inv-card-price-label  { font-size: 14px; color: var(--uv-text-4); }

/* ── DAY SELECTOR (pirts / kubls multi-day) ── */
.uv-inv-card.uv-inv-card-col {
  flex-direction: column;
  align-items: stretch;
}

.uv-inv-card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.uv-day-selector {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  padding: 0 4px;
  border-top: 0px solid var(--uv-border-soft);
  transition: max-height 0.38s ease, opacity 0.28s ease, margin-top 0.38s ease,
              padding-top 0.28s ease, padding-bottom 0.28s ease, border-top-width 0.2s ease;
}
.uv-day-selector.uv-day-sel-open {
  max-height: 280px;
  opacity: 1;
  margin-top: 10px;
  padding-top: 12px;
  padding-bottom: 2px;
  border-top-width: 1px;
}

.uv-day-sel-label {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #ded8c5;
  line-height: 1.45;
  margin-bottom: 10px;
}

.uv-day-sel-note {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 14px;
  color: var(--uv-text-4);
  line-height: 1.5;
  margin: 10px 0 0;
  padding: 0 4px;
}

.uv-note-icon {
  flex-shrink: 0;
  margin-top: 1px;
}

.uv-day-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.uv-day-chip {
  padding: 5px 12px;
  border-radius: 100px;
  border: 1.5px solid var(--uv-border-soft);
  background: var(--uv-white);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--uv-text-4);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.uv-day-chip.uv-day-chip-sel {
  border-color: var(--uv-text);
  background: var(--uv-text);
  color: var(--uv-white);
}
.uv-day-chip:hover:not(.uv-day-chip-sel) {
  border-color: #aaa;
  color: var(--uv-text);
}

.uv-inv-card-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  flex-shrink: 0;
}

.uv-inv-card-ctrl {
  display: none;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.uv-inv-card-selected .uv-inv-card-ctrl {
  display: flex;
}

.uv-qty-display {
  font-size: 20px;
  font-weight: 700;
  font-family: var(--font-body);
  color: var(--uv-text);
  min-width: 20px;
  text-align: center;
  line-height: 1;
}

/* ── AUTO-FILL NOTICE BAR ── */
.uv-inv-notice-bar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 12px;
  border-radius: 0;
  border: none;
  background: none;
}
.uv-notice-wand { flex-shrink: 0; opacity: 0.7; }

.uv-inv-notice-bar.uv-inv-notice-ok       { color: var(--uv-text); }
.uv-inv-notice-bar.uv-inv-notice-info      { color: var(--uv-text); }
.uv-inv-notice-bar.uv-inv-notice-warn      { color: var(--uv-text); }
.uv-inv-notice-bar.uv-inv-notice-thinking  { color: var(--uv-text); }

.uv-notice-caricature {
  height: 56px;
  width: auto;
  flex-shrink: 0;
  user-select: none;
  pointer-events: none;
}

.uv-inv-notice-icon { flex-shrink: 0; }

/* Levitating icon */
@keyframes uv-levitate {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-5px); }
}
.uv-inv-notice-levitate {
  animation: uv-levitate 2.6s ease-in-out infinite;
}

/* Thinking dots */
.uv-notice-dots {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 2px 0;
}
.uv-notice-dots span {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: uv-dot-bounce 1.1s ease-in-out infinite;
  opacity: 0.5;
}
.uv-notice-dots span:nth-child(2) { animation-delay: 0.18s; }
.uv-notice-dots span:nth-child(3) { animation-delay: 0.36s; }
@keyframes uv-dot-bounce {
  0%, 80%, 100% { transform: translateY(0);    opacity: 0.4; }
  40%            { transform: translateY(-6px); opacity: 1;   }
}

/* Blinking cursor */
@keyframes uv-word-up {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: translateY(0); }
}

.uv-notice-word {
  display: inline;
  opacity: 0;
  animation: uv-word-up 0.28s ease forwards;
}


/* ── AVAILABILITY ALTERNATIVES (Step 2) ── */
.uv-avail-alts { margin-bottom: 4px; }

.uv-avail-alts-label {
  font-size: var(--uv-fs-sm);
  color: var(--uv-text-3);
  margin: 0 0 10px;
}

.uv-avail-alt-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.uv-avail-alt-pill {
  padding: 6px 14px;
  border-radius: var(--uv-r-pill);
  border: var(--uv-bw) solid var(--uv-border-mid);
  background: var(--uv-white);
  font-family: var(--font-body);
  font-size: var(--uv-fs-sm);
  font-weight: 500;
  cursor: pointer;
  transition: background var(--uv-t), border-color var(--uv-t), color var(--uv-t);
}
.uv-avail-alt-pill:hover {
  background: var(--uv-text);
  border-color: var(--uv-text);
  color: var(--uv-white);
}

.uv-avail-cancel-link {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--uv-fs-sm);
  color: var(--uv-text-4);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.uv-avail-cancel-link:hover { color: #333; }

/* ── SUMMARY BOX ── */
.uv-summary-box {
  background: var(--uv-bg-warm);
  border-radius: 10px;
  padding: 16px;
  margin-top: 20px;
  font-size: var(--uv-fs);
}

.uv-summary-box h4 {
  font-size: var(--uv-fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--uv-text-3);
  margin: 0 0 8px;
}

.uv-summary-box ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.uv-summary-box li { font-size: var(--uv-fs); color: var(--uv-text); }

/* ── LOADING ── */
.uv-loading-row {
  padding: 20px;
  text-align: center;
  color: var(--uv-text-5);
  font-size: var(--uv-fs);
}

/* ── CANCEL CONFIRMATION ── */
.uv-cancel-confirmation {
  text-align: center;
  padding: 60px 24px;
}

.uv-cancel-confirmation h2 {
  font-family: var(--font-heading); font-weight: 900;
  font-size: 28px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.uv-cancel-confirmation p { color: var(--uv-text-3); margin-bottom: 24px; }

/* ── STEP 5 — Contact & payment ── */
.uv-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 14px;
}
.uv-form-row .uv-form-group {
  margin-bottom: 0;
}

.uv-required { color: #9a3412; }

.uv-contact-card {
  background: var(--uv-white);
  border: none;
  border-radius: 7px;
  padding: 28px;
  margin-bottom: 20px;
}

.uv-contact-card .uv-form-group { margin-bottom: 14px; }

/* ── LEGAL CONSENT ITEMS ── */
#uv-legal-blocks-wrap { margin-bottom: 20px; }

.uv-legal-section-title {
  font-size: var(--uv-fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--uv-text-4);
  margin: 0 0 10px;
}

.uv-legal-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.uv-legal-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 12px;
  border: 1.5px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  background: var(--uv-white);
  transition: border-color var(--uv-t), background var(--uv-t);
  user-select: none;
}

.uv-legal-item:hover { border-color: var(--uv-brand); }

.uv-legal-item.is-accepted {
  border-color: var(--uv-brand);
  background: var(--uv-brand-bg);
}

.uv-legal-item-status {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #ccc;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: border-color var(--uv-t), background var(--uv-t);
}

.uv-legal-item.is-accepted .uv-legal-item-status {
  border-color: var(--uv-brand);
  background: var(--uv-white);
}

.uv-legal-item.is-accepted .uv-legal-item-status::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--uv-brand);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.uv-legal-item-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.uv-legal-item-title { font-size: 15px; font-weight: 600; color: var(--uv-text); line-height: 1.3; }
.uv-legal-item-cta   { font-size: 14px; color: var(--uv-text-3); margin-top: 3px; }
.uv-legal-item.is-accepted .uv-legal-item-cta { color: var(--uv-text-4); }

/* ── LEGAL MODAL ── */

.uv-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.uv-modal-overlay.is-open { display: flex; }

.uv-modal {
  background: var(--uv-white);
  border-radius: 16px;
  width: 100%;
  max-width: 620px;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: none;
}

.uv-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--uv-border);
  flex-shrink: 0;
}

.uv-modal-title { font-weight: 700; font-size: 15px; color: var(--uv-text); }

.uv-modal-close {
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: var(--uv-text-5);
  padding: 0 0 2px;
  transition: color var(--uv-t);
}
.uv-modal-close:hover { color: #333; }

.uv-modal-body {
  flex: 1;
  overflow-y: scroll;
  padding: 20px 24px;
  font-size: var(--uv-fs-sm);
  line-height: 1.75;
  color: var(--uv-text-2);
  scroll-behavior: auto;
  max-height: 52vh;
}

.uv-modal-body h1,
.uv-modal-body h2,
.uv-modal-body h3,
.uv-modal-body h4,
.uv-modal-body h5,
.uv-modal-body h6 { font-family: "Outfit", sans-serif !important; }

.uv-modal-body h3,
.uv-modal-body h4 { color: var(--uv-text); margin: 16px 0 6px; }

.uv-modal-body ul,
.uv-modal-body ol { padding-left: 20px; }

.uv-modal-body li { margin-bottom: 4px; }
.uv-modal-body p  { margin: 0 0 10px; }

.uv-modal-footer {
  padding: 14px 24px 20px;
  border-top: 1px solid var(--uv-border);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.uv-modal-scroll-hint { font-size: var(--uv-fs-xs); color: var(--uv-text-5); margin: 0; }

#uv-modal-accept { width: 100%; }
#uv-modal-accept:disabled { opacity: 0.35; cursor: not-allowed; }

.uv-modal-pp-note { font-size: 14px; color: var(--uv-text-5); text-align: center; margin: 0; }

/* ── PAYMENT OPTIONS ── */
.uv-payment-section { margin-bottom: 24px; }

.uv-payment-option {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 12px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-bottom: 10px;
  transition: background var(--uv-t);
  background: var(--uv-white);
}

.uv-payment-option:hover                  { background: var(--uv-bg); }
.uv-payment-option:has(input:checked)     { border: 1.5px solid var(--uv-brand); background: var(--uv-brand-bg); }
.uv-payment-option-disabled               { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.uv-payment-option input[type="radio"]    { display: none; }

.uv-pay-status {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #ccc;
  flex-shrink: 0;
  margin-top: 2px;
  position: relative;
  transition: border-color var(--uv-t), background var(--uv-t);
}

.uv-payment-option:has(input:checked) .uv-pay-status {
  border-color: var(--uv-brand);
  background: var(--uv-white);
}

.uv-payment-option:has(input:checked) .uv-pay-status::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--uv-brand);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.uv-payment-option-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.uv-payment-option-title { font-size: 15px; font-weight: 600; color: var(--uv-text); line-height: 1.3; }
.uv-payment-option-desc  { font-size: 14px; color: var(--uv-text-3); margin-top: 3px; line-height: 1.45; }

/* inline warning inside the onsite card — replaces the desc line, same height */
.uv-onsite-disabled-notice {
  display: block;
  font-size: var(--uv-fs-xs);
  color: #1a1a18;
  margin-top: 2px;
}

.uv-onsite-disabled-notice::before {
  content: '!';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin-right: 5px;
  vertical-align: middle;
}

/* shown only when onsite is selected but within 14 days */
.uv-onsite-notice {
  display: block;
  font-size: var(--uv-fs-xs);
  color: #1a1a18;
  margin-top: 6px;
}

.uv-onsite-notice::before {
  content: '!';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin-right: 5px;
  vertical-align: middle;
}

/* ── BOOKING CONFIRMED ── */
.uv-booking-confirmed { text-align: center; padding: 48px 24px; }

.uv-confirmed-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--uv-brand);
  color: var(--uv-white);
  font-size: 28px;
  line-height: 60px;
  margin: 0 auto 28px;
}

.uv-confirmed-title {
  font-family: var(--font-heading); font-weight: 900;
  font-size: 26px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--uv-text);
  margin: 0 0 8px;
  line-height: 1.1;
}

.uv-confirmed-num  { font-size: var(--uv-fs-sm); color: var(--uv-text-4); margin: 0 0 4px; font-family: var(--font-body); }
.uv-confirmed-total {
  font-family: var(--font-body);
  font-size: 20px;
  font-weight: 600;
  color: var(--uv-brand);
  margin: 0 0 20px;
}

.uv-confirmed-sub {
  font-size: var(--uv-fs);
  color: var(--uv-text-3);
  max-width: 380px;
  margin: 0 auto 32px;
  line-height: 1.65;
  font-family: var(--font-body);
}

.uv-conf-route-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #f9f8f6;
  border-radius: 10px;
  padding: 14px 16px;
  margin: 16px auto 0;
  max-width: 360px;
  text-align: left;
}

.uv-conf-route-img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: var(--uv-r-sm);
  flex-shrink: 0;
}

.uv-conf-route-info { display: flex; flex-direction: column; gap: 4px; }
.uv-conf-route-name { font-family: var(--font-body); font-size: 15px; font-weight: 600; color: var(--uv-text); }
.uv-conf-route-meta { font-family: var(--font-body); font-size: var(--uv-fs-xs); color: var(--uv-text-4); }

.uv-conf-summary {
  background: #f9f8f6;
  border-radius: 10px;
  padding: 14px 20px;
  margin: 8px auto 24px;
  max-width: 360px;
  font-family: var(--font-body);
  font-size: var(--uv-fs);
}

.uv-conf-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 5px 0;
}

.uv-conf-row > span  { color: var(--uv-text-4); flex-shrink: 0; min-width: 70px; }
.uv-conf-row > strong { color: var(--uv-text); font-weight: 600; text-align: right; }

.uv-conf-divider { border-top: 1px solid var(--uv-divider); margin: 8px 0; }
.uv-conf-total > span   { color: var(--uv-brand) !important; font-weight: 600; }
.uv-conf-total > strong { color: var(--uv-brand); font-size: 15px; }

/* ── RESPONSIVE ── */

/* Stack sidebar below main on narrow containers */
/* Mobile bar — hidden on desktop */
.uv-mobile-bar {
  display: none;
}

@media (max-width: 860px) {
  .uv-wizard-layout {
    grid-template-columns: 1fr;
    padding: 0 16px;
  }
  .uv-wizard-main {
    max-width: 100%;
  }
  .uv-wizard-sidebar {
    position: static;
    order: -1;
  }
  .uv-step2-card {
    flex-direction: column;
  }
  .uv-step2-left {
    border-right: none;
    border-bottom: 1px solid var(--uv-divider);
  }
  .uv-cal-popup {
    width: 100%;
    box-sizing: border-box;
  }

  /* Hide full sidebar card, show compact bar instead */
  .uv-wizard-sidebar .uv-sidebar-card {
    display: none;
  }
  .uv-mobile-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    background: #222010;
    border-radius: 8px;
    padding: 10px 14px;
  }
}

.uv-mbar-item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--uv-text-3);
  white-space: nowrap;
}
.uv-mbar-item svg {
  flex-shrink: 0;
  opacity: 0.7;
}
.uv-mbar-item-total {
  margin-left: auto;
  font-weight: 700;
  color: var(--uv-brand);
  font-size: 13px;
}
.uv-mbar-empty {
  font-size: 12px;
  color: var(--uv-text-4);
}

/* Tablet tweaks */
@media (max-width: 720px) {
  .uv-page-rezervet {
    padding: 20px 16px 48px;
  }
  .uv-wizard-layout {
    gap: 20px;
  }
}

/* Mobile */
@media (max-width: 560px) {
  .uv-page-rezervet {
    padding: 16px 12px 40px;
  }
  .uv-form-grid,
  .uv-form-row {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 0;
  }
  .uv-form-row .uv-form-group {
    margin-bottom: 14px;
  }
  .uv-wizard-actions {
    flex-direction: column-reverse;
    gap: 8px;
  }
  .uv-btn {
    width: 100%;
    justify-content: center;
  }
  .uv-btn-ghost {
    width: auto;
    text-align: center;
  }
  .uv-step-title {
    font-size: 20px;
  }
  .uv-people-display {
    font-size: 36px;
  }
  .uv-sidebar-card {
    padding: 16px 14px;
  }
}

/* ── CUSTOMER TYPE TOGGLE ── */
.uv-customer-type-wrap {
  display: flex;
  gap: 10px;
  margin-top: 6px;
}

.uv-type-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border: none;
  border-radius: 8px;
  background: var(--uv-white);
  cursor: pointer;
  font-size: var(--uv-fs);
  color: var(--uv-text-2);
  transition: background .18s;
  user-select: none;
}

.uv-type-option input[type="radio"] { display: none; }

.uv-type-option:has(input:checked) {
  border: 1.5px solid var(--uv-brand);
  background: var(--uv-brand-bg);
  color: var(--uv-text);
  font-weight: 600;
}

.uv-type-option.is-active {
  border: 1.5px solid var(--uv-brand);
  background: var(--uv-brand-bg);
  color: var(--uv-text);
  font-weight: 600;
}

.uv-type-option.is-disabled {
  opacity: 0.4;
  pointer-events: none;
  cursor: not-allowed;
}

#uv-s6-gateways {
  padding: 6px 0 4px 16px;
  border-left: 2px solid #e4dfd7;
  margin: 4px 0 8px;
}

#uv-s6-gateways .uv-type-option { margin-bottom: 6px; }
#uv-s6-gateways .uv-type-option img { max-height: 20px; width: auto; }

/* Company fields container */
#uv-company-fields {
  border-top: 1px solid var(--uv-divider);
  margin-top: 18px;
  padding-top: 18px;
  animation: uv-word-up 0.22s ease forwards;
}

/* Textarea in form */
.uv-input[rows] {
  resize: vertical;
  min-height: 64px;
  font-family: inherit;
  line-height: 1.5;
}

/* ── GDPR CONSENT CHECKBOX ── */
.uv-gdpr-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  margin: 20px 0 4px;
  background: var(--uv-white);
  border: 1.5px solid transparent;
  border-radius: 8px;
  transition: border-color var(--uv-t);
  cursor: pointer;
  font-size: 14px;
  color: var(--uv-text-2);
  line-height: 1.55;
}

.uv-gdpr-consent:hover { border-color: var(--uv-brand); }

.uv-gdpr-consent:has(input[type="checkbox"]:checked) {
  border-color: var(--uv-brand);
  background: var(--uv-brand-bg);
}

.uv-gdpr-consent input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #ccc;
  margin-top: 2px;
  cursor: pointer;
  position: relative;
  transition: border-color var(--uv-t);
}

.uv-gdpr-consent input[type="checkbox"]:checked {
  border-color: var(--uv-brand);
}

.uv-gdpr-consent input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--uv-brand);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.uv-gdpr-consent a {
  color: var(--uv-brand);
  text-decoration: underline;
}

/* ── STEP 6: Payment summary ─────────────────────────────────────────────── */

.uv-step6-summary {
  background: var(--uv-surface-2, #f7f5f0);
  border: 1px solid var(--uv-border, #e8e2d9);
  border-radius: var(--uv-r-md, 12px);
  padding: 20px 24px;
  margin-bottom: 28px;
}

.uv-s6-header {
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--uv-border, #e8e2d9);
}

.uv-s6-route-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--uv-text-1, #1a1a18);
  margin-bottom: 4px;
}

.uv-s6-meta {
  font-size: 14px;
  color: var(--uv-text-2, #6b6860);
}

.uv-s6-items {
  margin-bottom: 14px;
}

.uv-s6-item {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: var(--uv-text-1, #1a1a18);
  padding: 5px 0;
  border-bottom: 1px solid var(--uv-border, #e8e2d9);
}

.uv-s6-item:last-child {
  border-bottom: none;
}

.uv-s6-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 14px;
  border-top: 2px solid var(--uv-text-1, #1a1a18);
  margin-top: 4px;
}

.uv-s6-total-row span {
  font-size: 15px;
  font-weight: 600;
  color: var(--uv-text-1, #1a1a18);
}

.uv-s6-total-row strong {
  font-size: 24px;
  font-weight: 800;
  color: var(--uv-brand, #4a8c5c);
}

/* ══════════════════════════════════════════════════════════════════════════
   DARK WIZARD THEME — revert: delete from here to end of file (restore uv-wizard-v1.css)
   ══════════════════════════════════════════════════════════════════════════ */

.uv-page-rezervet {
  background: #222010;
  min-height: 100vh;
}

/* body itself must be dark too — nav is hidden here, so any layout gap
   (flex rounding, safe-area padding, etc.) would otherwise reveal the
   light base body background from uv-home.css */
body.uv-reservation-page {
  background: #222010 !important;
}

/* Nav: in document flow (not fixed) on wizard pages */
.uv-reservation-page #uv-nav {
  display: none !important;
}

/* Single column — sidebar sticky above main */
.uv-wizard-layout {
  grid-template-columns: 1fr !important;
  max-width: 740px;
  margin: 0 auto;
}
.uv-wizard-sidebar {
  position: sticky !important;
  top: 20px !important;
  order: -1 !important;
  z-index: 100;
}
.uv-wizard-sidebar .uv-sidebar-card { display: none !important; }
.uv-mobile-bar {
  display: flex !important;
  background: #222010 !important;
  border: 1px solid rgba(222,216,197,0.15) !important;
  border-radius: 8px !important;
}
.uv-mbar-item { color: #ded8c5 !important; }
.uv-mbar-item-total { color: #F36844 !important; }
.uv-mbar-empty { color: rgba(222,216,197,0.4) !important; }

/* Desktop: sticky bottom summary strip */
@media (min-width: 700px) {
  .uv-wizard-sidebar {
    position: sticky !important;
    top: 20px;
    order: -1;
    z-index: 50;
  }
  .uv-mobile-bar {
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 16px 28px !important;
    border-radius: 8px !important;
    background: #222010 !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(222,216,197,0.14) !important;
    box-shadow: none !important;
    align-items: center !important;
  }
  .uv-mbar-item {
    padding: 0 24px !important;
    border-right: 1px solid rgba(222,216,197,0.1) !important;
    font-size: 13px !important;
    gap: 7px !important;
    flex-shrink: 0;
  }
  .uv-mbar-item:first-child { padding-left: 0 !important; }
  .uv-mbar-item-total {
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 24px !important;
    border-right: none !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--uv-brand) !important;
  }
  .uv-mbar-empty {
    font-size: 13px !important;
    padding: 0 !important;
  }
}

/* Mobile + tablet: sidebar summary bar goes below the wizard steps, not above */
@media (max-width: 860px) {
  .uv-wizard-sidebar {
    position: static !important;
    order: 1 !important;
  }
}

/* Mobile + tablet: more breathing room under the step count, smaller header buttons */
@media (max-width: 860px) {
  .uv-progress-step-name {
    margin-top: 32px !important;
  }
  .uv-wiz-hdr-back,
  .uv-wiz-hdr-close {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
  }
}

/* Mobile + tablet: "Turpināt" shouldn't stretch full width */
@media (max-width: 860px) {
  .uv-wizard-actions {
    align-items: center;
  }
  .uv-btn-primary,
  .uv-btn-ghost {
    width: auto !important;
  }
}

/* Base text */
.uv-wizard { color: #ded8c5; }
.uv-step-title { color: #ded8c5; }
.uv-step-sub { color: rgba(222,216,197,0.6); }
.uv-label { color: #ded8c5; }
.uv-required { color: #fc6b3e; }

/* Progress: count centered top, step name left-aligned heading below */
.uv-progress-info {
  flex-direction: column-reverse;
  align-items: center;
  margin-top: 16px;
}
.uv-wizard-progress { margin-bottom: 10px; }
.uv-wizard .uv-progress-track { display: none; }
.uv-progress-step-count {
  width: 100%;
  text-align: center;
  color: rgba(222,216,197,0.75);
}
.uv-progress-step-name {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(52px, 9vw, 72px);
  text-transform: none;
  text-align: center;
  color: #ded8c5;
  line-height: 1;
  letter-spacing: -1px;
  margin-top: 20px;
  margin-bottom: 20px;
}
#uv-panel-1 #uv-step1-notice { display: none !important; }

/* Progress */
.uv-progress-seg { background: rgba(222,216,197,0.12); }

/* Sidebar */
.uv-sidebar-card {
  background: #2a2210;
  border: 1px solid rgba(222,216,197,0.1);
  border-radius: 8px;
  color: #ded8c5;
}
.uv-sidebar-title { color: #ded8c5; }
.uv-sidebar-route-name { color: #ded8c5; }
.uv-sidebar-route-meta,
.uv-sidebar-empty { color: rgba(222,216,197,0.45); }
.uv-sidebar-trip-label { color: rgba(222,216,197,0.45); }
.uv-sidebar-trip-val,
.uv-sidebar-line-price,
.uv-sidebar-total-row { color: #ded8c5; }
.uv-sidebar-line-name { color: rgba(222,216,197,0.75); }
.uv-sidebar-divider { background: rgba(222,216,197,0.1); }

/* Step 2 card — no bg */
.uv-step2-card {
  background: none;
  border: 1px solid #ded8c5 !important;
}
.uv-step2-left { border-right-color: #ded8c5; }
.uv-step2-hint { color: rgba(222,216,197,0.35); }

/* Pirts/delivery times */
.uv-pirts-times { border-top-color: rgba(222,216,197,0.15); }
.uv-pirts-time-item { color: rgba(222,216,197,0.75); }
.uv-pirts-time-item svg { color: #F36844 !important; }
.uv-pirts-time-item strong { color: #ded8c5; }

/* Calendar */
.uv-cal-month-label { color: #ded8c5; }
.uv-cal-cell { background: none; border: none; }
.uv-cal-weekdays > div { color: rgba(222,216,197,0.55); }
.uv-cal-cell { color: #ded8c5; }
.uv-cal-past,
.uv-cal-past,
.uv-cal-blocked { color: #9e9788; }
.uv-cal-today { box-shadow: inset 0 0 0 1.5px rgba(222,216,197,0.7) !important; }
.uv-cal-nav {
  border-color: rgba(222,216,197,0.2);
  color: #ded8c5;
}
.uv-cal-nav:hover {
  background: rgba(222,216,197,0.08);
  border-color: rgba(222,216,197,0.4);
}
.uv-cal-day:not(.uv-cal-past):not(.uv-cal-blocked):not(.uv-cal-selected):not(.uv-cal-in-range):hover {
  background: rgba(222,216,197,0.1);
  border-color: rgba(222,216,197,0.5);
}

/* People widget */
.uv-people-question { color: #ded8c5 !important; }
.uv-no-avail-notice { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.uv-no-avail-text { color: rgba(222,216,197,0.7); font-size: 14px; margin: 0; }
.uv-people-spinner {
  background: none;
  border-color: rgba(222,216,197,0.12);
}
.uv-people-sublabel,
.uv-people-display { color: #ded8c5; }
.uv-people-hint { color: rgba(222,216,197,0.45); }
.uv-people-btn {
  border-color: #ded8c5;
  color: #ded8c5;
}
.uv-people-btn:hover {
  border-color: #ded8c5;
  background: rgba(222,216,197,0.08);
}

/* Inventory */
.uv-section-sm { color: #ded8c5; text-transform: none; }
.uv-inv-card {
  background: none;
  border: 1px solid rgba(222,216,197,0.35) !important;
  align-items: center;
  padding: 20px 24px !important;
  transition: background 0.45s ease, border-color 0.45s ease;
  cursor: pointer;
}
.uv-inv-card:hover:not(.uv-inv-card-selected) {
  border-color: #F36844 !important;
}
.uv-inv-card.uv-inv-card-selected {
  background: #F36844 !important;
  border-color: #F36844 !important;
}
.uv-inv-card.uv-inv-card-selected .uv-inv-card-name,
.uv-inv-card.uv-inv-card-selected .uv-inv-card-meta,
.uv-inv-card.uv-inv-card-selected .uv-inv-card-desc,
.uv-inv-card.uv-inv-card-selected .uv-inv-meta-price,
.uv-inv-card.uv-inv-card-selected .uv-inv-card-price-label,
.uv-inv-card.uv-inv-card-selected .uv-inv-badge,
.uv-inv-card.uv-inv-card-selected .uv-qty-display { color: #000 !important; }
.uv-inv-card.uv-inv-card-selected .uv-day-chip {
  background: transparent !important;
  border-color: rgba(0,0,0,0.3) !important;
  color: #000 !important;
}
.uv-inv-card.uv-inv-card-selected .uv-day-chip:hover:not(.uv-day-chip-sel) {
  background: rgba(0,0,0,0.08) !important;
  border-color: rgba(0,0,0,0.5) !important;
}
.uv-inv-card.uv-inv-card-selected .uv-day-chip.uv-day-chip-sel {
  background: #F36844 !important;
  border-color: #F36844 !important;
  color: #1a1209 !important;
}
.uv-inv-card.uv-inv-card-selected .uv-day-selector {
  margin: 10px 0 0 !important;
  border-top-color: rgba(0,0,0,0.3) !important;
}
.uv-inv-card.uv-inv-card-selected .uv-day-sel-label,
.uv-inv-card.uv-inv-card-selected .uv-day-sel-note {
  color: #000 !important;
}
.uv-inv-card.uv-inv-card-selected .uv-day-sel-note svg {
  color: #000 !important;
}
.uv-inv-card.uv-inv-card-selected .uv-day-selector .uv-day-chip.uv-day-chip-sel {
  background: #fc6b3e !important;
  border-color: #fc6b3e !important;
  color: #1a1209 !important;
}
.uv-inv-card .uv-inv-card-name,
.uv-inv-card .uv-inv-card-meta,
.uv-inv-card .uv-inv-meta-price,
.uv-inv-card .uv-inv-card-price-label,
.uv-inv-card .uv-qty-display,
.uv-inv-card .uv-qty-btn {
  transition: color 0.45s ease, border-color 0.45s ease;
}
.uv-inv-card .uv-inv-icon-raw svg,
.uv-inv-card .uv-inv-icon-raw img { transition: filter 0.45s ease; }
.uv-inv-card.uv-inv-card-selected .uv-inv-icon-raw svg,
.uv-inv-card.uv-inv-card-selected .uv-inv-icon-raw img { filter: brightness(0) !important; opacity: 1 !important; }
.uv-inv-card.uv-inv-card-selected .uv-qty-btn {
  border-color: rgba(0,0,0,0.3) !important;
  color: #000 !important;
}
.uv-inv-card.uv-inv-card-selected .uv-inv-badge {
  background: #000 !important;
  color: #F36844 !important;
}
.uv-inv-card-body { align-items: flex-start !important; gap: 0 !important; }
.uv-inv-card-text { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.uv-inv-card-name-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
}
.uv-inv-icon-raw { display: flex; align-items: center; flex-shrink: 0; }
.uv-inv-icon-raw svg,
.uv-inv-icon-raw img { width: 20px; height: 20px; opacity: 1; display: block; }
.uv-inv-card-name { font-size: 22px !important; margin-bottom: 0 !important; color: #ded8c5; }
.uv-inv-card-meta {
  font-size: 13px;
  color: rgba(222,216,197,0.5);
  line-height: 1.5;
}
.uv-inv-meta-price { color: #ded8c5; font-size: 13px; font-weight: 700; }
.uv-inv-card-price-label { color: rgba(222,216,197,0.45); font-size: 13px; }
.uv-inv-card-desc { font-size: 13px; color: rgba(222,216,197,0.5); margin-top: 4px; line-height: 1.4; }
.uv-qty-display { color: #ded8c5; }
.uv-cal-month-label { font-size: 20px !important; }
.uv-people-sublabel { font-size: 24px !important; font-weight: 600; }

/* Days stepper */
.uv-days-stepper {
  background: rgba(222,216,197,0.05);
  border-color: rgba(222,216,197,0.14);
}
.uv-days-display { color: #ded8c5; }
.uv-days-btn {
  background: rgba(222,216,197,0.05);
  border-color: rgba(222,216,197,0.18);
  color: #ded8c5;
}
.uv-days-btn:hover {
  background: rgba(222,216,197,0.1);
  border-color: rgba(222,216,197,0.45);
}

/* Form inputs */
.uv-input {
  color: #ded8c5;
  border-bottom-color: #ded8c5;
}
.uv-input:focus { border-bottom-color: #ded8c5; }
.uv-input::placeholder { color: rgba(222,216,197,0.35); }

/* Contact card */
.uv-contact-card {
  background: none;
  border: 1px solid rgba(222,216,197,0.35) !important;
}

/* Legal & payment */
.uv-legal-section-title { color: rgba(222,216,197,0.5); }
.uv-legal-item {
  background: none;
  border: 1px solid rgba(222,216,197,0.35) !important;
}
.uv-legal-item:hover { border-color: rgba(222,216,197,0.35) !important; }
.uv-legal-item-title { color: #ded8c5; }
.uv-legal-item-cta { color: rgba(222,216,197,0.5); }
.uv-legal-item-status { border-color: rgba(222,216,197,0.35) !important; background: none !important; }
.uv-legal-item.is-accepted { border-color: rgba(222,216,197,0.35) !important; background: none !important; }
.uv-legal-item.is-accepted .uv-legal-item-status { border-color: #fc6b3e !important; background: none !important; }
.uv-legal-item.is-accepted .uv-legal-item-status::after { background: #fc6b3e !important; }
.uv-payment-option {
  background: rgba(222,216,197,0.05);
}
.uv-payment-option:hover { background: rgba(222,216,197,0.09); }
.uv-payment-option-title { color: #ded8c5; }
.uv-payment-option-desc { color: rgba(222,216,197,0.5); }

/* GDPR */
.uv-gdpr-consent {
  background: none;
  border: 1px solid rgba(222,216,197,0.35) !important;
  color: #ded8c5;
}
.uv-gdpr-consent:hover { border-color: rgba(222,216,197,0.35) !important; }
.uv-gdpr-consent input[type="checkbox"] { border-color: rgba(222,216,197,0.35) !important; background: none !important; }
.uv-gdpr-consent:has(input:checked) { border-color: rgba(222,216,197,0.35) !important; background: none !important; }
.uv-gdpr-consent input[type="checkbox"]:checked { border-color: #fc6b3e !important; }
.uv-gdpr-consent input[type="checkbox"]:checked::after { background: #fc6b3e !important; }

/* Buttons */
.uv-btn-primary {
  background: #F36844 !important;
  border-color: #F36844 !important;
  color: #1a1209 !important;
  font-family: "Outfit", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  border-radius: 8px !important;
  padding: 15px 14px 15px 22px !important;
  gap: 10px !important;
}
.uv-btn-primary svg { width: 16px; height: 16px; flex-shrink: 0; }
.uv-btn-primary:hover {
  background: #e05a36 !important;
  border-color: #e05a36 !important;
  color: #1a1209 !important;
}
.uv-btn-ghost { color: rgba(222,216,197,0.65); }
.uv-btn-ghost:hover { color: #ded8c5; }

/* Notices */
.uv-notice-info { background: rgba(29,78,216,0.15); border-color: rgba(29,78,216,0.4); }
.uv-notice-ok   { background: rgba(22,101,52,0.15);  border-color: rgba(134,239,172,0.3); }
.uv-notice-warn { background: rgba(154,52,18,0.15);  border-color: rgba(254,215,170,0.3); }

/* Alt pills */
.uv-alt-btn {
  background: transparent;
  border-color: rgba(222,216,197,0.25);
  color: rgba(222,216,197,0.75);
}
.uv-alt-btn:hover {
  background: rgba(222,216,197,0.1);
  color: #ded8c5;
}
/* Avail result notice (mascot message) */
.uv-inv-notice-bar { color: #ded8c5 !important; border: none !important; background: none !important; }
.uv-inv-notice-bar .uv-notice-text { color: #ded8c5 !important; }
.uv-inv-notice-bar strong { color: #ded8c5 !important; }
.uv-inv-notice-bar.uv-inv-notice-warn { color: #F36844 !important; }

/* Alternatives */
.uv-avail-alts { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; margin-top: 16px; }
.uv-avail-alts-label { color: #ded8c5; font-size: 14px; margin: 0; }
.uv-avail-cancel-link { color: rgba(222,216,197,0.65); text-decoration: underline; cursor: pointer; background: none; border: none; font-size: 14px; padding: 0; }
.uv-avail-alt-pill {
  background: transparent;
  border-color: rgba(222,216,197,0.25);
  color: rgba(222,216,197,0.75);
}
.uv-avail-alt-pill:hover {
  background: rgba(222,216,197,0.1);
  border-color: rgba(222,216,197,0.4);
  color: #ded8c5;
}

/* Step 6 summary */
.uv-step6-summary {
  background: rgba(222,216,197,0.06);
  border-color: rgba(222,216,197,0.1);
}
.uv-s6-route-name { color: #ded8c5; }
.uv-s6-meta { color: rgba(222,216,197,0.5); }
.uv-s6-item { color: #ded8c5; border-bottom-color: rgba(222,216,197,0.1); }
.uv-s6-total-row { border-top-color: rgba(222,216,197,0.25); }
.uv-s6-total-row span { color: #ded8c5; }

/* Confirmed screen */
.uv-confirmed-title { color: #ded8c5; }
.uv-confirmed-sub,
.uv-confirmed-num { color: rgba(222,216,197,0.6); }
.uv-conf-route-card,
.uv-conf-summary { background: rgba(222,216,197,0.07); }
.uv-conf-route-name { color: #ded8c5; }
.uv-conf-route-meta { color: rgba(222,216,197,0.45); }
.uv-conf-row > span { color: rgba(222,216,197,0.45); }
.uv-conf-row > strong { color: #ded8c5; }
.uv-conf-divider { border-top-color: rgba(222,216,197,0.1); }

/* Cancel */
.uv-cancel-row p { color: rgba(222,216,197,0.5); }
.uv-cancel-confirmation h2 { color: #ded8c5; }
.uv-cancel-confirmation p { color: rgba(222,216,197,0.55); }

/* Type options (customer type) */
.uv-type-option {
  background: rgba(222,216,197,0.06);
  border: 1px solid rgba(222,216,197,0.2) !important;
  color: rgba(222,216,197,0.75);
}
.uv-type-option:has(input:checked),
.uv-type-option.is-active {
  background: rgba(252,107,62,0.12) !important;
  border-color: #fc6b3e !important;
  color: #ded8c5 !important;
}
#uv-company-fields { border-top-color: rgba(222,216,197,0.15) !important; }

/* Selected route bar */
.uv-selected-route-bar { background: rgba(222,216,197,0.08); }
.uv-route-chip { color: #ded8c5; }

.uv-day-sel-note { color: #ded8c5 !important; }
.uv-day-sel-note svg { color: #ded8c5; }

/* Legal modal */
.uv-modal-overlay { background: rgba(0,0,0,0.75); }
.uv-modal {
  background: #1e1609;
  border: 1px solid rgba(222,216,197,0.2);
  box-shadow: none;
}
.uv-modal-header { border-bottom-color: rgba(222,216,197,0.15); }
.uv-modal-title { color: #ded8c5; }
.uv-modal-close { color: rgba(222,216,197,0.5); }
.uv-modal-close:hover { color: #ded8c5; }
.uv-modal-body { color: rgba(222,216,197,0.8); }
.uv-modal-body h3,
.uv-modal-body h4 { color: #ded8c5; }
.uv-modal-footer { border-top-color: rgba(222,216,197,0.15); }
.uv-modal-scroll-hint,
.uv-modal-pp-note { color: rgba(222,216,197,0.4); }
.uv-modal-pp-note a { color: #fc6b3e !important; }
.uv-modal-body a { color: #fc6b3e; }

/* Day chips */
.uv-day-chip {
  background: rgba(222,216,197,0.06);
  border-color: rgba(222,216,197,0.14);
  color: rgba(222,216,197,0.55);
}
.uv-day-chip:hover:not(.uv-day-chip-sel) {
  border-color: rgba(222,216,197,0.4);
  color: #ded8c5;
}

/* Step 1 carousel — full viewport width, capped at 1300px with 54px side padding */
.uv-wizard #uv-panel-1 .uv-carousel-section {
  padding-top: 20px;
  position: relative;
  width: 100vw;
  max-width: 1300px;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  padding-left: 54px;
  padding-right: 54px;
}
.uv-wizard #uv-panel-1 .uv-carousel-nav.uv-prev { left: 32px; z-index: 20; }
.uv-wizard #uv-panel-1 .uv-carousel-nav.uv-next { right: 32px; z-index: 20; }

/* Wizard route cards */
.uv-wizard .uv-route-card {
  border: 1px solid rgba(222,216,197,.15);
}
.uv-wizard .uv-route-card .uv-route-name {
  font-family: "Khand", sans-serif !important;
  font-weight: 900 !important;
}
.uv-wizard .uv-route-card:hover {
  border-color: #F36844 !important;
}
.uv-wizard .uv-route-card.uv-custom:hover { background: #1a1a1a !important; }
.uv-wizard .uv-route-card.is-selected {
  border-color: #F36844 !important;
  border-width: 1px !important;
  box-shadow: none;
  background: #F36844 !important;
}
.uv-wizard .uv-route-card.is-selected .uv-route-card-bg { opacity: 0 !important; }
.uv-wizard .uv-route-card.is-selected .uv-route-card-overlay-bottom,
.uv-wizard .uv-route-card.is-selected .uv-route-card-overlay-top { display: none !important; }
.uv-wizard .uv-route-card.is-selected .uv-route-name,
.uv-wizard .uv-route-card.is-selected .uv-route-chip,
.uv-wizard .uv-route-card.is-selected .uv-route-meta-top,
.uv-wizard .uv-route-card.is-selected .uv-route-bottom-section { color: #000 !important; }
.uv-wizard .uv-route-card:hover .uv-route-arrow {
  background: #F36844;
  backdrop-filter: none;
  color: #1a1209;
}

/* Step 2 mobile stack */
@media (max-width: 860px) {
  .uv-step2-left { border-bottom-color: #ded8c5; }
}

@media (max-width: 560px) {
  .uv-inv-card {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  /* Col cards (pirts/kubls) use margin-top on day-selector — gap causes phantom space when closed */
  .uv-inv-card.uv-inv-card-col { gap: 0 !important; }
  .uv-inv-card-body { flex-direction: row !important; align-items: center !important; gap: 10px !important; }
  .uv-inv-card-text { flex: 1; min-width: 0; }
  .uv-inv-card-ctrl { align-self: flex-end; }
  .uv-inv-card-name { font-size: 18px !important; }
  .uv-inv-card-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .uv-inv-card-row .uv-inv-card-ctrl { align-self: flex-end; }
}

/* ── Mobile cards-row: list layout (Go RVing style) ── */
@media (max-width: 860px) {
  .uv-inv-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }
  .uv-cards-row {
    position: static !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .uv-cards-row .uv-inv-card {
    max-width: 100% !important;
    min-height: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 14px 16px !important;
    gap: 0 !important;
    overflow: hidden !important;
  }
  .uv-cards-row .uv-pkg-card {
    max-width: 100% !important;
    min-height: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 14px 16px !important;
    gap: 0 !important;
  }
  /* Pirts/kubls cards: keep the icon/name/ctrl row, but stack the day-selector below it as a full-width row */
  .uv-cards-row .uv-inv-card.uv-inv-card-col {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .uv-cards-row .uv-inv-card-row {
    flex-direction: row !important;
    align-items: center !important;
    flex: 1 !important;
    gap: 0 !important;
  }
  .uv-cards-row .uv-inv-card-body {
    display: grid !important;
    grid-template-columns: 32px 1fr !important;
    column-gap: 14px !important;
    row-gap: 3px !important;
    align-items: center !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  /* top-row wrapper dissolves so icon + price-wrap become direct grid items of card-body */
  .uv-cards-row .uv-inv-card-top-row {
    display: contents !important;
  }
  .uv-cards-row .uv-inv-icon-raw {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
  }
  .uv-cards-row .uv-inv-card-badge-row { display: none !important; }
  /* Name-line: heading row, icon sits to its left via the grid */
  .uv-cards-row .uv-inv-card-name-line {
    grid-column: 2;
    grid-row: 1;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
  }
  .uv-cards-row .uv-inv-card-name {
    font-size: 18px !important;
  }
  /* Price + seat count: compact line under the heading */
  .uv-cards-row .uv-inv-card-price-wrap {
    display: flex !important;
    grid-column: 2;
    grid-row: 2;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    text-align: left !important;
    flex-shrink: 0 !important;
  }
  .uv-cards-row .uv-inv-card-price-line,
  .uv-cards-row .uv-inv-card-meta,
  .uv-cards-row .uv-inv-meta-price,
  .uv-cards-row .uv-inv-card-price-label {
    font-size: 10px !important;
  }
  .uv-cards-row .uv-inv-card-meta {
    margin-top: 0 !important;
  }
  .uv-cards-row .uv-inv-card-meta::before {
    content: '\00b7';
    margin-right: 4px;
  }
  .uv-cards-row .uv-inv-icon-raw svg,
  .uv-cards-row .uv-inv-icon-raw img { width: 32px !important; height: 32px !important; color: #ded8c5; }
  .uv-cards-row .uv-inv-icon-raw svg,
  .uv-cards-row .uv-inv-icon-raw svg * { fill: #ded8c5 !important; }
  .uv-cards-row .uv-inv-card-desc { display: none !important; }
  .uv-cards-row .uv-inv-card-selected .uv-inv-card-ctrl {
    display: flex !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-left: 12px !important;
    justify-content: flex-end !important;
    flex-shrink: 0;
  }
  /* Package card mobile: icon | name | price + button */
  .uv-cards-row .uv-pkg-card-left {
    flex: 1 !important;
    gap: 0 !important;
    min-width: 0 !important;
  }
  .uv-cards-row .uv-pkg-card-name-line {
    align-items: center !important;
    gap: 14px !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  .uv-cards-row .uv-pkg-icon svg,
  .uv-cards-row .uv-pkg-icon img {
    width: 32px !important;
    height: 32px !important;
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
  }
  .uv-cards-row .uv-pkg-card-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    min-width: 0 !important;
  }
  .uv-cards-row .uv-pkg-card-desc {
    display: none !important;
  }
  .uv-cards-row .uv-pkg-card-comps {
    margin-top: 4px !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .uv-cards-row .uv-pkg-card-price {
    margin-top: 4px !important;
    font-size: 15px !important;
  }
  .uv-cards-row .uv-pkg-card-right {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 8px !important;
    padding-left: 0 !important;
    flex-shrink: 0 !important;
    width: 100% !important;
  }
  .uv-cards-row .uv-pkg-btn {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1.5px solid #ded8c5 !important;
    color: #ded8c5 !important;
    background: transparent !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    font-family: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected .uv-pkg-btn {
    border-color: rgba(0,0,0,0.3) !important;
    color: #000 !important;
    background: transparent !important;
  }
  .uv-cards-row .uv-pkg-btn-text { display: none !important; }
  .uv-cards-row .uv-pkg-btn-icon { display: flex !important; }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected {
    background: #F36844 !important;
    border-color: #F36844 !important;
  }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected * {
    color: #000 !important;
    border-color: rgba(0,0,0,0.3) !important;
  }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected svg {
    filter: brightness(0) !important;
  }
}

/* ── STEP LOC — Custom adventure location step ─────────────────────────── */

.uv-step-loc-wrap {
  padding: 0;
}
.uv-step-loc-wrap .uv-step-title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 700;
  color: #ded8c5;
  margin: 0 0 8px;
}
.uv-step-loc-desc {
  font-size: 15px;
  color: #a09880;
  margin: 0 0 28px;
  line-height: 1.5;
}

/* Form groups */
.uv-step-loc-wrap .uv-form-group {
  margin-bottom: 22px;
}
.uv-step-loc-wrap .uv-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #ded8c5;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.uv-req {
  color: #F36844;
}
.uv-field-note {
  font-size: 12px;
  color: #7a7060;
  margin: 5px 0 0;
}

/* Autocomplete wrapper */
.uv-ac-wrap {
  position: relative;
}
.uv-ac-wrap .uv-input {
  width: 100%;
  box-sizing: border-box;
}

/* Autocomplete dropdown */
.uv-ac-list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #2c2918;
  border: 1px solid #3d3820;
  border-radius: 8px;
  max-height: 220px;
  overflow-y: auto;
  z-index: 200;
  margin: 0;
  padding: 4px 0;
  list-style: none;
  box-shadow: none;
}
.uv-ac-item {
  padding: 10px 14px;
  font-size: 14px;
  color: #ded8c5;
  cursor: pointer;
  line-height: 1.4;
  transition: background .12s;
}
.uv-ac-item:hover,
.uv-ac-item:focus {
  background: #3a3420;
  outline: none;
}

/* Delivery fee box */
.uv-delivery-fee-box {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #1e1d0f;
  border: 1px solid #3d3820;
  border-radius: 10px;
  padding: 14px 18px;
  margin: 8px 0 24px;
}
.uv-delivery-fee-icon {
  color: #F36844;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.uv-delivery-fee-info {
  flex: 1;
  min-width: 0;
}
.uv-delivery-fee-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #7a7060;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 2px;
}
.uv-delivery-fee-calc {
  font-size: 13px;
  color: #a09880;
}
.uv-delivery-fee-total {
  font-size: 22px;
  font-weight: 700;
  color: #ded8c5;
  white-space: nowrap;
}

/* Loading spinner in fee box */
.uv-delivery-fee-calc.is-loading::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 2px solid #7a7060;
  border-top-color: #F36844;
  border-radius: 50%;
  animation: uv-spin .6s linear infinite;
  vertical-align: middle;
  margin-left: 6px;
}
@keyframes uv-spin {
  to { transform: rotate(360deg); }
}

/* Multi-line delivery fee breakdown */
.uv-fee-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 13px;
  color: #a09880;
  line-height: 1.6;
}
.uv-fee-line + .uv-fee-line {
  border-top: 1px solid #2c2918;
  padding-top: 4px;
  margin-top: 4px;
}
.uv-fee-line strong {
  color: #ded8c5;
  font-weight: 600;
}

.uv-fee-km {
  display: block;
  font-size: 13px;
  color: #7a7060;
  margin-bottom: 6px;
}

/* ── Receipt card (shared between pay page & confirmation screen) ── */
.uv-receipt {
  max-width: 360px;
  margin: 0 auto 20px;
  position: relative;
}
.uv-receipt::before,
.uv-receipt::after {
  content: "";
  display: block;
  height: 14px;
  background-size: 22px 14px;
  background-repeat: repeat-x;
}
.uv-receipt::before {
  background-image: radial-gradient(circle at 50% 0%, #aeb7a8 7px, #fff 7px);
  background-position: 0 0;
}
.uv-receipt::after {
  background-image: radial-gradient(circle at 50% 100%, #aeb7a8 7px, #fff 7px);
  background-position: 0 100%;
}
.uv-receipt-body {
  background: #fff;
  padding: 4px 26px 20px;
  box-shadow: none;
}
.uv-receipt-brand-row {
  text-align: center;
  padding: 16px 0 12px;
}
.uv-receipt-logo {
  display: block;
  height: 42px;
  max-width: 160px;
  width: auto;
  margin: 6px auto 6px;
  object-fit: contain;
  filter: brightness(0);
}
.uv-receipt-brand-name {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #fc6b3e;
  display: block;
  margin-bottom: 4px;
}
.uv-receipt-ref,
.uv-receipt-date {
  font-size: 11px;
  color: rgba(26,18,9,0.4);
  display: block;
  line-height: 1.6;
}
.uv-receipt-sep-dash {
  border: none;
  border-top: 1.5px dashed rgba(26,18,9,0.18);
  margin: 12px 0;
}
.uv-receipt-sep-double {
  border: none;
  border-top: 1.5px solid rgba(26,18,9,0.2);
  margin: 12px 0 0;
  position: relative;
}
.uv-receipt-sep-double::after {
  content: "";
  display: block;
  border-top: 1.5px solid rgba(26,18,9,0.2);
  margin-top: 3px;
}
.uv-receipt-meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.uv-receipt-items {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.uv-receipt-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
}
.uv-receipt-item-name {
  color: #1a1209;
  font-weight: 400;
  flex: 1;
  line-height: 1.4;
}
.uv-receipt-item-price {
  color: #1a1209;
  font-weight: 500;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.uv-receipt-item.is-muted .uv-receipt-item-name,
.uv-receipt-item.is-muted .uv-receipt-item-price {
  color: rgba(26,18,9,0.4);
}
.uv-receipt-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 10px;
}
.uv-receipt-total-lbl {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1a1209;
}
.uv-receipt-total-amt {
  font-size: 22px;
  font-weight: 700;
  color: #fc6b3e;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.uv-receipt-thankyou {
  text-align: center;
  font-size: 11px;
  color: rgba(26,18,9,0.35);
  margin-top: 16px;
  letter-spacing: 0.03em;
}

@media (max-width: 560px) {
  .uv-wizard #uv-panel-1 .uv-carousel-section {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
  }
  .uv-wizard #uv-panel-1 .uv-route-card {
    width: 84vw !important;
    scroll-snap-align: center !important;
  }
  .uv-wizard #uv-panel-1 .uv-carousel-sep {
    width: 8px !important;
  }
  .uv-wizard #uv-panel-1 .uv-carousel-track {
    scroll-snap-type: x mandatory;
    padding-left: 8vw;
    padding-right: 8vw;
  }
}

/* ── KOMPLEKSIE PIEDĀVĀJUMI (paketes) ─────────────────────────────────────── */

.uv-pkg-section-title {
  font-size: 13px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(222,216,197,0.45);
  font-weight: 600;
  margin: 0 0 10px;
}

.uv-pkg-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  background: rgba(222,216,197,0.04);
  border: 1px solid rgba(222,216,197,0.18);
  border-radius: 10px;
  margin-bottom: 10px;
  transition: border-color 0.2s, background 0.2s;
}

#uv-packages-section {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(222,216,197,0.18);
  margin-bottom: 8px;
}

.uv-pkg-card:last-child { margin-bottom: 0; }

.uv-pkg-card:hover {
  background: rgba(222,216,197,0.07);
  border-color: rgba(222,216,197,0.3);
}

.uv-pkg-card.uv-pkg-selected {
  background: rgba(243,104,68,0.1);
  border: 1px solid rgba(243,104,68,0.35);
  border-left: 4px solid #F36844;
}

.uv-pkg-card.uv-pkg-unavailable {
  opacity: 0.45;
  pointer-events: none;
}

.uv-pkg-card-left {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0;
}

.uv-pkg-card-name-line {
  display: flex;
  align-items: center;
  gap: 9px;
}

.uv-pkg-icon svg,
.uv-pkg-icon img {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: rgba(222,216,197,0.6);
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-icon svg,
.uv-pkg-card.uv-pkg-selected .uv-pkg-icon img { color: #F36844; filter: none; opacity: 1; }

.uv-pkg-card-name {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 900;
  color: #ded8c5;
  line-height: 1.15;
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-card-name { color: #ded8c5; }

.uv-pkg-card-desc {
  font-size: 13px;
  color: rgba(222,216,197,0.45);
  line-height: 1.45;
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-card-desc { color: rgba(222,216,197,0.6); }

.uv-pkg-card-comps {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.uv-pkg-comp {
  font-size: 12px;
  font-weight: 500;
  color: rgba(222,216,197,0.65);
  background: none;
  border: none;
  padding: 0;
  white-space: nowrap;
}

.uv-pkg-comp + .uv-pkg-comp::before {
  content: '·';
  margin-right: 5px;
  opacity: 0.4;
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-comp { color: rgba(222,216,197,0.8); }

.uv-pkg-card-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  flex-shrink: 0;
  padding-top: 2px;
}

.uv-pkg-card-price {
  font-size: 22px;
  font-weight: 700;
  color: #ded8c5;
  white-space: nowrap;
  line-height: 1;
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-card-price { color: #F36844; }

.uv-pkg-price-label {
  font-size: 13px;
  font-weight: 400;
  color: rgba(222,216,197,0.4);
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-price-label { color: rgba(243,104,68,0.65); }

.uv-pkg-btn-icon { display: none; }

.uv-pkg-btn {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 6px;
  border: 1.5px solid rgba(222,216,197,0.3);
  background: transparent;
  color: rgba(222,216,197,0.75);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}

.uv-pkg-btn:hover {
  background: rgba(222,216,197,0.1);
  border-color: rgba(222,216,197,0.5);
  color: #ded8c5;
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-btn {
  background: #F36844;
  border-color: #F36844;
  color: #1a1209;
}

.uv-pkg-card.uv-pkg-selected .uv-pkg-btn:hover {
  background: #e05a36;
  border-color: #e05a36;
}

.uv-pkg-btn.uv-pkg-btn-remove {
  background: rgba(243,104,68,0.15);
  border-color: rgba(243,104,68,0.35);
  color: #F36844;
}

.uv-pkg-btn.uv-pkg-btn-remove:hover {
  background: rgba(243,104,68,0.25);
}

@media (max-width: 560px) {
  .uv-pkg-card {
    flex-direction: column;
    align-items: stretch;
  }
  .uv-pkg-card-right {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

/* ── PACKAGE-LOCKED INVENTORY ITEMS ── */

.uv-inv-pkg-incl-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(0,0,0,0.15);
  color: #1a1209;
  white-space: nowrap;
  margin-left: 4px;
}

.uv-inv-card.uv-inv-card-pkg-locked .uv-qty-btn {
  opacity: 0.35;
  cursor: not-allowed;
}


@media (max-width: 560px) {
  .uv-cal-row {
    grid-template-columns: repeat(7, 38px);
    column-gap: 10px;
    margin-bottom: 10px;
  }
  .uv-cal-cell {
    font-size: 16px;
  }
}

.uv-map-tip {
  background: #1a1209;
  color: #ded8c5;
  border: none;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 2px 8px;
  box-shadow: none;
}
.uv-map-tip::before { display: none; }

/* ── Card info overlay ── */
.uv-wiz-card.is-exp { border-color: #F36844 !important; overflow: hidden !important; }

/* Bottom section moved to card root via JS — just needs z-index above overlay */
.uv-wiz-card.is-exp .uv-route-bottom-section { z-index: 11; }
.uv-wiz-card.is-exp .uv-route-arrow {
  background: #F36844 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #000 !important;
}
.uv-wiz-card.is-exp .uv-route-name { color: #000 !important; }
.uv-wiz-card.is-exp .uv-card-info { cursor: pointer; }
.uv-card-info {
  position: absolute;
  inset: 0;
  background: #F36844;
  color: #000;
  z-index: 10;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  transition: opacity .22s ease;
}
.uv-card-info.is-open { opacity: 1; }

/* close button — absolute so it doesn't eat vertical space */
.uv-ci-close {
  position: absolute;
  top: 8px; right: 8px;
  z-index: 1;
  background: rgba(0,0,0,.15);
  border: none;
  color: rgba(0,0,0,.7);
  width: 24px; height: 24px;
  border-radius: 50%;
  font-size: 11px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.uv-ci-close:hover { background: rgba(0,0,0,.25); color: #000; }

/* scrollable body */
.uv-ci-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px 16px 4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
/* Vertical route points */
.uv-ci-route { display: flex; flex-direction: column; gap: 0; }
.uv-ci-stop { display: flex; align-items: center; gap: 10px; }
.uv-ci-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.uv-ci-stop-a .uv-ci-dot { background: #000; }
.uv-ci-stop-b .uv-ci-dot { background: rgba(0,0,0,.4); }
.uv-ci-sname { font-size: 13px; font-weight: 600; color: #000; }
.uv-ci-stop-a .uv-ci-sname { color: #000; }
.uv-ci-conn {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 3px;
  min-height: 22px;
}
.uv-ci-conn::before {
  content: '';
  width: 1px;
  align-self: stretch;
  background: rgba(0,0,0,.2);
  flex-shrink: 0;
}
.uv-ci-conn-stats {
  font-size: 11px;
  color: rgba(0,0,0,.5);
  white-space: nowrap;
}

/* strip pill styling from badge when inside info panel */
.uv-card-info .uv-route-badge {
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 0;
  border-radius: 0;
}
.uv-card-info .uv-route-badge-dot { display: inline-block; }

.uv-ci-toprow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.uv-ci-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.uv-ci-tag {
  display: inline-block;
  background: rgba(0,0,0,.12);
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 20px;
  font-size: 11px;
  padding: 3px 10px;
  color: rgba(0,0,0,.7);
}
.uv-ci-desc {
  font-size: 12px;
  line-height: 1.65;
  color: rgba(0,0,0,.55);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Steps 3 & 4: card row, desktop only ── */
@media (min-width: 861px) {
  /* Wrapper breaks out of the 740px layout, spans up to 1200px */
  .uv-cards-row {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    max-width: 1200px;
    box-sizing: border-box;
    padding: 0 8px;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    margin-bottom: 24px;
  }
  /* Transparent section/list wrappers — cards become direct flex children */
  .uv-cards-row > section { display: contents; }
  #uv-packages-list,
  #uv-boats-list,
  #uv-extras-list,
  #uv-pirts-items-list { display: contents !important; }
  #uv-panel-3 .uv-inv-list,
  #uv-panel-4 .uv-inv-list,
  #uv-pirts-panel-1 .uv-inv-list { display: contents !important; }
  /* Hide the packages section title — not needed in row layout */
  .uv-cards-row .uv-inv-section-title,
  .uv-cards-row .uv-pkg-section-title { display: none !important; }
  /* Equal padding for all cards in row */
  .uv-cards-row .uv-inv-card,
  .uv-cards-row .uv-pkg-card { padding: 20px !important; }

  /* All cards share space equally */
  .uv-cards-row .uv-pkg-card,
  .uv-cards-row .uv-inv-card,
  .uv-cards-row .uv-boat-type-card {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: 0 !important;
    max-width: 250px !important;
    min-height: 300px !important;
    box-sizing: border-box !important;
  }
  .uv-cards-row .uv-pkg-card { margin-bottom: 0 !important; }
  .uv-cards-row .uv-inv-card { flex-direction: column !important; }
  .uv-cards-row .uv-boat-type-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 20px !important;
  }
  .uv-cards-row .uv-inv-card-ctrl {
    margin-top: auto !important;
    padding-top: 12px !important;
    flex-shrink: 0;
    justify-content: flex-end !important;
  }


  /* ── Card interior: icon on top, large text below ── */
  /* Inventory cards — explicit override of all inherited flex values */
  .uv-cards-row .uv-inv-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .uv-cards-row .uv-inv-card-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    flex: 1 !important;
  }
  .uv-cards-row .uv-inv-card-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    flex: 1 !important;
    width: 100% !important;
  }
  /* Top row: icon left, price+seats right — same as step 2 package card */
  .uv-cards-row .uv-inv-card-top-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin-bottom: 14px !important;
    flex-shrink: 0 !important;
  }
  .uv-cards-row .uv-inv-card-price-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
    text-align: right !important;
  }
  .uv-cards-row .uv-inv-card-meta {
    margin-top: 0 !important;
    text-align: right !important;
  }
  .uv-cards-row .uv-inv-card-name-line {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 0px !important;
    margin-top: auto !important;
  }
  .uv-cards-row .uv-inv-card-name-line .uv-inv-badge {
    margin-left: 0 !important;
    background: #F36844 !important;
    color: #000 !important;
  }
  .uv-cards-row .uv-inv-card-desc {
    display: block !important;
    font-size: 13px !important;
    color: rgba(222,216,197,0.5) !important;
    line-height: 1.4 !important;
    margin-top: 0 !important;
  }
  .uv-cards-row .uv-inv-card-name {
    font-size: 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.1 !important;
  }
  .uv-cards-row .uv-inv-icon-raw svg,
  .uv-cards-row .uv-inv-icon-raw img {
    width: 42px !important;
    height: 42px !important;
    color: #ded8c5;
  }
  .uv-cards-row .uv-inv-icon-raw svg,
  .uv-cards-row .uv-inv-icon-raw svg * { fill: #ded8c5 !important; }
  /* Active card badge: black bg, orange text */
  .uv-cards-row .uv-inv-card.uv-inv-card-selected .uv-inv-badge {
    background: #000 !important;
    color: #F36844 !important;
  }
  /* Package cards — vertical layout matching inv cards */
  .uv-cards-row .uv-pkg-card {
    flex-direction: column !important;
    justify-content: space-between !important;
  }
  .uv-cards-row .uv-pkg-card-left {
    flex: 1 !important;
  }
  .uv-cards-row .uv-pkg-card-right {
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
    margin-top: auto !important;
    padding-top: 16px !important;
    width: 100% !important;
    flex-shrink: 0 !important;
  }
  .uv-cards-row .uv-pkg-card-name-line {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 10px;
  }
  .uv-cards-row .uv-pkg-icon svg,
  .uv-cards-row .uv-pkg-icon img {
    width: 42px !important;
    height: 42px !important;
  }
  .uv-cards-row .uv-pkg-card-name {
    font-size: 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }

  /* Active/selected card — solid orange bg, black content, fixed 1px border */
  .uv-cards-row .uv-inv-card.uv-inv-card-selected {
    background: #F36844 !important;
    border: 1px solid #F36844 !important;
  }
  .uv-cards-row .uv-inv-card.uv-inv-card-selected * {
    color: #000 !important;
    border-color: rgba(0,0,0,0.3) !important;
  }
  .uv-cards-row .uv-inv-card.uv-inv-card-selected svg { filter: brightness(0) !important; }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected {
    background: #F36844 !important;
    border-color: #F36844 !important;
  }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected * {
    color: #000 !important;
    border-color: rgba(0,0,0,0.3) !important;
  }
  .uv-cards-row .uv-pkg-card.uv-pkg-selected svg { filter: brightness(0) !important; }
}

/* Centre the seat-notice bar on steps 3, 4 & 5 */
#uv-inv-notice,
#uv-step1-notice,
#uv-step-boat-notice,
#uv-step-people-notice,
#uv-step2-notice,
#uv-step3-notice,
#uv-step4-notice,
#uv-step5-notice,
#uv-step6-notice { text-align: center; }

/* ── BOAT TYPE CHOICE STEP ─────────────────────────────────────── */

.uv-boat-type-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.uv-boat-step-title {
  font-family: var(--font-head, 'Khand', sans-serif);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-text, #ded8c5);
  margin: 0;
  text-align: center;
}

.uv-boat-type-cards {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.uv-boat-type-card {
  flex: 1 1 0;
  min-width: 0;
  max-width: 250px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px;
  min-height: 300px;
  background: transparent;
  border: 1.5px solid rgba(222,216,197,0.2);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.18s;
  color: #ded8c5;
  font-family: inherit;
  text-align: left;
}

.uv-boat-type-card:hover { border-color: #F36844; }

.uv-boat-type-card.is-selected {
  background: #F36844;
  border-color: #F36844;
  color: #000;
}

.uv-boat-type-icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0.85;
  width: 52px;
  height: 52px;
  overflow: hidden;
  flex-shrink: 0;
}

.uv-boat-type-icon svg,
.uv-boat-type-icon img {
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  display: block;
  color: #ded8c5;
}

.uv-boat-type-icon svg,
.uv-boat-type-icon svg * { fill: #ded8c5 !important; }

.uv-boat-type-card.is-selected .uv-boat-type-icon { opacity: 1; }
.uv-boat-type-card.is-selected .uv-boat-type-icon svg,
.uv-boat-type-card.is-selected .uv-boat-type-icon svg * { fill: #000 !important; }

.uv-boat-pkg-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}

/* Collapsed by default — icon + heading only, like the plain kanoe/kajaks cards.
   Full price/capacity/components reveal once the offer is selected. */
.uv-boat-pkg-card .uv-boat-pkg-price-wrap,
.uv-boat-pkg-card .uv-boat-pkg-comps {
  display: none;
}
.uv-boat-pkg-card.is-selected .uv-boat-pkg-price-wrap {
  display: flex;
}
.uv-boat-pkg-card.is-selected .uv-boat-pkg-comps {
  display: flex;
}

.uv-boat-pkg-comps {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.uv-boat-pkg-comp {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  opacity: 0.75;
  line-height: 1.4;
}

.uv-boat-pkg-card.is-selected .uv-boat-pkg-comp {
  font-size: 14px;
}

.uv-boat-pkg-comp-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.uv-boat-pkg-comp-icon svg,
.uv-boat-pkg-comp-icon img {
  width: 14px !important;
  height: 14px !important;
  display: block;
}

.uv-boat-pkg-comp-icon svg,
.uv-boat-pkg-comp-icon svg * {
  fill: currentColor !important;
}

.uv-boat-pkg-comp::before {
  content: '+ ';
}

.uv-boat-type-card.is-selected .uv-boat-pkg-comp {
  opacity: 1;
}

.uv-boat-pkg-price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}

.uv-boat-pkg-price {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}

.uv-boat-pkg-price-label {
  font-size: 12px;
  font-weight: 400;
  opacity: 0.7;
}

.uv-boat-pkg-capacity {
  font-size: 12px;
  opacity: 0.6;
  text-align: right;
}

.uv-boat-pkg-footer {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.uv-boat-type-name {
  font-family: var(--font-head, 'Khand', sans-serif);
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
}

@media (max-width: 860px) {
  .uv-boat-type-cards { flex-direction: column; gap: 12px; }
  .uv-boat-type-card {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    min-height: auto;
    padding: 14px 16px;
    gap: 16px;
    max-width: 100%;
  }
  .uv-boat-type-icon { width: 32px; height: 32px; }
  .uv-boat-type-icon svg,
  .uv-boat-type-icon img {
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }
  .uv-boat-type-name { font-size: 22px; }

  .uv-boat-pkg-card {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon name";
    column-gap: 12px;
    row-gap: 0;
    min-height: auto !important;
  }
  .uv-boat-pkg-card.is-selected {
    grid-template-areas:
      "icon name"
      "comps comps"
      "price price";
    row-gap: 8px;
  }
  .uv-boat-pkg-top,
  .uv-boat-pkg-footer    { display: contents; }
  .uv-boat-type-icon     { grid-area: icon; align-self: center; }
  .uv-boat-type-name     { grid-area: name; align-self: center; }
  .uv-boat-pkg-comps     { grid-area: comps; }
  .uv-boat-pkg-price-wrap { grid-area: price; align-self: end; justify-self: end; }
}

/* ── PEOPLE STEP ─────────────────────────────────────────────── */

.uv-people-step-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Calendar-only step 2 layout */
.uv-step2-card--cal-only.uv-step2-card {
  display: block;
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
}

.uv-step2-card--cal-only .uv-step2-left {
  width: 100%;
  border-right: none;
}

/* Pirts wizard — delivery-location-only step: plain, centered field */
.uv-pirts-loc-only {
  max-width: 480px;
  margin: 0 auto;
  min-height: 45vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.uv-input--plain {
  border-bottom: 1.5px solid #ded8c5 !important;
  text-align: center;
  font-size: 28px;
  font-weight: 600;
}

@media (max-width: 860px) {
  .uv-input--plain {
    font-size: 22px;
  }
}

.uv-input--plain:focus {
  border-bottom-color: #F36844 !important;
}

/* All wizards: hide the "Atpakaļ" back button, center the primary action */
.uv-wizard-actions {
  justify-content: center;
}
.uv-wizard-actions > *:first-child {
  display: none;
}
