/* GALLATS cookie consent lišta */
.gcc-banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  z-index: 100000;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  border: 1px solid #e0e0e0;
  animation: gcc-slide-up 0.4s ease-out;
}
@keyframes gcc-slide-up {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.gcc-banner-obsah {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.gcc-banner-text {
  flex: 1;
  min-width: 280px;
}
.gcc-banner-text h4 {
  margin: 0 0 6px 0;
  color: #0a7c3a;
  font-size: 17px;
  font-weight: 700;
}
.gcc-banner-text p {
  margin: 0;
  color: #555;
  font-size: 13.5px;
  line-height: 1.45;
}
.gcc-banner-text a { color: #0a7c3a; text-decoration: underline; }

.gcc-banner-tlacitka {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.gcc-btn {
  padding: 11px 18px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  font-family: inherit;
  transition: all 0.15s;
  white-space: nowrap;
}
.gcc-btn-prijmout {
  background: #0a7c3a;
  color: #fff;
}
.gcc-btn-prijmout:hover { background: #086029; }
.gcc-btn-odmitnout {
  background: #fff;
  color: #666;
  border: 1.5px solid #ccc;
}
.gcc-btn-odmitnout:hover { background: #f5f5f5; }
.gcc-btn-nastavit {
  background: transparent;
  color: #0a7c3a;
  border: 1.5px solid #0a7c3a;
}
.gcc-btn-nastavit:hover { background: #e8f5e9; }

/* Modal pro detailní nastavení */
.gcc-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 25, 45, 0.65);
  backdrop-filter: blur(4px);
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: gcc-fade 0.3s ease-out;
}
@keyframes gcc-fade { from { opacity: 0; } to { opacity: 1; } }

.gcc-modal {
  background: #fff;
  border-radius: 14px;
  max-width: 640px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 32px;
  position: relative;
  box-shadow: 0 20px 80px rgba(0,0,0,0.4);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.gcc-modal-close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #999;
  padding: 4px 10px;
}
.gcc-modal h3 {
  margin: 0 0 8px 0;
  color: #0a7c3a;
  font-size: 22px;
}
.gcc-modal > p {
  color: #555;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 20px;
}

.gcc-kategorie {
  border: 1.5px solid #e0e0e0;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 12px;
}
.gcc-kategorie-hlavicka {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.gcc-kategorie-nadpis {
  font-weight: 700;
  color: #333;
  font-size: 15px;
}
.gcc-kategorie-popis {
  color: #666;
  font-size: 13px;
  line-height: 1.4;
  margin: 4px 0 0;
}
.gcc-vzdy {
  color: #999;
  font-size: 12px;
  font-weight: 600;
}

/* Přepínač */
.gcc-prepinac {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}
.gcc-prepinac input {
  opacity: 0;
  width: 0;
  height: 0;
}
.gcc-prepinac-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background: #ccc;
  border-radius: 24px;
  transition: 0.2s;
}
.gcc-prepinac-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background: #fff;
  border-radius: 50%;
  transition: 0.2s;
}
.gcc-prepinac input:checked + .gcc-prepinac-slider { background: #0a7c3a; }
.gcc-prepinac input:checked + .gcc-prepinac-slider:before { transform: translateX(20px); }
.gcc-prepinac input:disabled + .gcc-prepinac-slider { background: #b0b0b0; cursor: not-allowed; }

.gcc-modal-tlacitka {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.gcc-modal-tlacitka .gcc-btn { flex: 1; min-width: 120px; }

/* Mobil */
@media (max-width: 600px) {
  .gcc-banner { padding: 20px 18px; bottom: 10px; left: 10px; right: 10px; }
  .gcc-banner-obsah { flex-direction: column; align-items: stretch; }
  .gcc-banner-tlacitka { justify-content: stretch; }
  .gcc-banner-tlacitka .gcc-btn { flex: 1; }
  .gcc-modal { padding: 24px 20px; }
}

/* Skryté */
.gcc-hidden { display: none !important; }

/* Tlačítko pro znovuotevření nastavení (v patičce) */
.gcc-znovu-tlacitko {
  background: none;
  border: none;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  font-size: inherit;
  text-decoration: underline;
  padding: 0;
  font-family: inherit;
}
.gcc-znovu-tlacitko:hover { color: #fff; }
