/* =========================================================
   GV Glass UI v4.0
   Jeden spoločný vzhľad pre informačné okná GV
   - modálne okná sú mimo toku dokumentu, preto po zatvorení nezostane prázdne miesto
   - rovnaký rám, pozadie, typografia a texty pre index.html aj onas.php
   - ochrana pred dedením farieb/písma zo starších tried
   ========================================================= */



/* =========================================================
   GV Glass UI v4.1 – pozadie INFO stránok
   Informačné stránky v adresári INFO sa zobrazujú nad rovnakým
   obrazovým pozadím ako hlavná stránka. Pozadie je samostatná
   pevná vrstva, takže modálne okno zostáva mimo toku dokumentu.
   ========================================================= */
.gv-info-body {
  min-height: 100vh !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.gv-info-background {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  min-height: 100vh !important;
  background:
    linear-gradient(rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.10)),
    url('../IMAGES/gv-bg-base.jpg') center center / cover no-repeat fixed !important;
}

.gv-info-body .gv-glass-overlay {
  z-index: 2147483000 !important;
}

.gv-modal-layer,
.gv-glass-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: grid !important;
  place-items: center !important;
  min-height: 100vh !important;
  padding: clamp(16px, 3vw, 34px) !important;
  background: rgba(0, 0, 0, 0.18);
  box-sizing: border-box !important;
}

.gv-modal-layer[hidden],
.gv-glass-overlay[hidden] {
  display: none !important;
}

.gv-glass-window {
  position: relative !important;
  z-index: 1 !important;
  width: min(820px, 92vw) !important;
  max-height: min(88vh, 760px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: clamp(26px, 4vw, 42px) !important;
  border: 2px solid rgba(35, 35, 35, 0.55) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.44), rgba(255, 252, 245, 0.30)),
    rgba(255, 250, 242, 0.36) !important;
  color: #11140f !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -1px 0 rgba(255, 255, 255, 0.26),
    0 26px 70px rgba(0, 0, 0, 0.24) !important;
  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
  font-family: "Inter", "Segoe UI", Arial, Helvetica, sans-serif !important;
  transform: none !important;
}

.gv-glass-window::before {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,0) 38%),
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.30), transparent 36%);
}

/* Staršia trieda z predchádzajúcich verzií môže zostať v HTML,
   ale už nesmie posúvať okno do toku stránky. */
.gv-glass-window--modal,
.gv-welcome-notice,
#gvWelcomeNotice,
#gvAboutWindow {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 1 !important;
}

/* Obsah úvodnej stránky držíme pod modálnou vrstvou. */
.uvodny-obsah {
  position: relative;
  z-index: 1;
}

/* Tvrdé zjednotenie typografie a farieb v informačných oknách. */
.gv-glass-window,
.gv-glass-window *,
.gv-glass-window *::before,
.gv-glass-window *::after {
  font-family: "Inter", "Segoe UI", Arial, Helvetica, sans-serif !important;
  color: #11140f !important;
}

.gv-glass-close,
.gv-glass-window h1,
.gv-glass-window h2,
.gv-glass-text,
.gv-glass-action {
  position: relative;
  z-index: 1;
}

.gv-glass-window h1,
.gv-glass-window h2 {
  margin: 0 0 18px !important;
  font-size: clamp(1.45rem, 3vw, 2.25rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.44) !important;
}

/* Dvojdielny nadpis – na počítači v jednom riadku, na mobile možnosť zalomenia. */
.gv-title-break {
  display: inline !important;
}

.gv-title-separator {
  display: inline !important;
}

.gv-glass-text {
  max-width: 680px !important;
  font-size: clamp(1rem, 1.9vw, 1.08rem) !important;
  line-height: 1.72 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.32) !important;
}

.gv-glass-text p {
  margin: 0 0 14px !important;
}

.gv-glass-text strong,
.gv-glass-text b {
  font-weight: 800 !important;
}

.gv-glass-panel {
  position: relative;
  z-index: 1;
  margin: 0 0 18px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.10) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.30) !important;
}

.gv-glass-panel p:last-child {
  margin-bottom: 0 !important;
}

.gv-glass-list {
  position: relative;
  z-index: 1;
  margin: 0 0 18px !important;
  padding-left: 1.25rem !important;
}

.gv-glass-list li {
  margin: 0 0 8px !important;
}

.gv-glass-section {
  position: relative;
  z-index: 1;
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
}

.gv-glass-section h2 {
  margin: 0 0 12px !important;
  font-size: clamp(1.16rem, 2.1vw, 1.42rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

.gv-glass-quote {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
  font-size: 1.08em !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.gv-glass-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  margin-top: 18px !important;
  padding: 9px 22px !important;
  border: 1px solid rgba(35, 35, 35, 0.42) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  font: inherit !important;
  font-size: .92rem !important;
  font-weight: 750 !important;
  letter-spacing: .01em !important;
  cursor: pointer !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.45) !important;
  box-shadow:
    0 0 10px rgba(255, 255, 255, 0.16),
    inset 0 0 8px rgba(255, 255, 255, 0.12) !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.gv-glass-action:hover,
.gv-glass-action:focus-visible {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,0.28) !important;
  border-color: rgba(20, 20, 20, 0.52) !important;
  box-shadow:
    0 0 18px rgba(255, 255, 255, 0.22),
    inset 0 0 10px rgba(255, 255, 255, 0.16) !important;
  outline: none !important;
}

.gv-glass-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(22, 22, 20, 0.44) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.22) !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background .18s ease, transform .18s ease !important;
}

.gv-glass-close:hover,
.gv-glass-close:focus-visible {
  background: rgba(255,255,255,0.36) !important;
  transform: rotate(4deg) !important;
  outline: none !important;
}



/* Spoločné ukončenie všetkých GV informačných okien. */
.gv-glass-footer {
  position: sticky !important;
  bottom: -42px !important;
  z-index: 2 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 28px !important;
  padding: 18px 0 6px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
  background:
    linear-gradient(
      to top,
      rgba(255, 250, 242, 0.96),
      rgba(255, 250, 242, 0.78),
      rgba(255, 250, 242, 0)
    ) !important;
}

.gv-glass-footer .gv-glass-action {
  margin-top: 0 !important;
}

@media (max-width: 768px) {
  .gv-modal-layer,
  .gv-glass-overlay {
    align-items: start !important;
    padding: 16px !important;
  }

  .gv-glass-window {
    width: min(92vw, 820px) !important;
    max-height: calc(100vh - 32px) !important;
    padding: 24px 20px 28px !important;
    border-radius: 20px !important;
  }

  .gv-glass-window::before {
    border-radius: 18px !important;
  }

  /* Na mobile nechávame pri nadpise voľný priestor pre tlačidlo X. */
  .gv-glass-window h1,
  .gv-glass-window h2 {
    max-width: calc(100% - 56px) !important;
  }

  /* Nadpis „O stránke“ sa na mobile zalomí takto:
     Garážový výpredaj
     komunitný portál */
  .gv-title-separator {
    display: none !important;
  }

  .gv-title-break {
    display: block !important;
    margin-top: .12em !important;
  }

  .gv-glass-close {
    top: 12px !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
  }
}


/* =========================================================
   GV Glass UI v4.0 – dôležitý dokument
   Použitie: výrazné červené orámovanie pre GDPR a právne dokumenty.
   Text zostáva jednotne čierny podľa GV Glass UI.
   ========================================================= */
.gv-glass-window--important {
  border-color: rgba(178, 24, 24, 0.92) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -1px 0 rgba(255, 255, 255, 0.26),
    0 0 0 1px rgba(178, 24, 24, 0.24),
    0 26px 70px rgba(0, 0, 0, 0.24),
    0 0 26px rgba(178, 24, 24, 0.20) !important;
}

.gv-glass-window--important .gv-glass-close {
  border-color: rgba(178, 24, 24, 0.62) !important;
}

.gv-glass-window--important .gv-glass-action {
  border-color: rgba(178, 24, 24, 0.58) !important;
}

.gv-glass-window--important .gv-glass-action:hover,
.gv-glass-window--important .gv-glass-action:focus-visible {
  border-color: rgba(178, 24, 24, 0.82) !important;
}
