:root{
  --primary-green:#2e718b;
  --primary-green-light:#0c55c1;
  --primary-green-dark:#0095cd;
  --accent-gold:#DAA520;
  --accent-gold-light:#F4D03F;
  --primary-color: #002e27;
  --secondary-color: #004237;
  --accent-color: #c9a93f;
  --text-color: #fff;
  --bg-color: #002e27;
  --white:#fff;
  --gray-50:#F8F9FA;
  --gray-100:#E9ECEF;
  --gray-200:#DEE2E6;
  --gray-300:#CED4DA;
  --gray-400:#6C757D;
  --gray-500:#495057;
  --gray-600:#343A40;
  --gray-700:#212529;
  --gray-800:#1A1D20;
  --gray-900:#0D1117;
  --font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-size-xs:.75rem;
  --font-size-sm:.875rem;
  --font-size-base:1rem;
  --font-size-lg:1.125rem;
  --font-size-xl:1.25rem;
  --font-size-2xl:1.5rem;
  --font-size-3xl:1.875rem;
  --font-size-4xl:2.25rem;
  --spacing-xs:.25rem;
  --spacing-sm:.5rem;
  --spacing-md:1rem;
  --spacing-lg:1.5rem;
  --spacing-xl:2rem;
  --spacing-2xl:3rem;
  --spacing-3xl:4rem;
  --radius-sm:.375rem;
  --radius-md:.5rem;
  --radius-lg:.75rem;
  --radius-xl:1rem;
  --radius-2xl:1.5rem;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
  --shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);
  --transition-fast:150ms ease-in-out;
  --transition-normal:250ms ease-in-out;
  --transition-slow:350ms ease-in-out
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-family);
  font-size:var(--font-size-base);
  line-height:1.65;
  color:#fff;
  min-height:100vh;
  background:url('/assets/images/bg.jpg') no-repeat center center fixed;
  background-size:cover
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1
}
.container{max-width:100%;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.header{
  background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);
  color:var(--white);
  padding:var(--spacing-lg) var(--spacing-md);
  box-shadow:var(--shadow-lg);
  position:relative;
  overflow:hidden
}
.header::before{
  content:'';
  position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
  opacity:.1;z-index:0
}
.header-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-lg)}
.logo-container{align-items:center;gap:var(--spacing-md)}
.logo-image{width:60px;height:60px;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:var(--white);padding:var(--spacing-xs);object-fit:contain}
.logo-text{
  font-size:var(--font-size-2xl);font-weight:700;text-transform:lowercase;letter-spacing:.1em;
  background:linear-gradient(45deg,var(--accent-gold),var(--accent-gold-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}
.header-text h1{font-size:var(--font-size-xl);font-weight:600;line-height:1.2;margin-bottom:var(--spacing-xs)}
.subtitle{font-size:var(--font-size-sm);opacity:.9;font-weight:400}

/* === NOVÉ VLAJKOVÉ TLAČÍTKA === */
.lang_wp{
  display:flex;
  align-items:center;
  gap:8px;
  width:auto;
  max-width:none;
  position:relative;
}

.flag-selector{
  display:flex;
  gap:8px;
  align-items:center;
}

.flag-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:transparent;
  border:3px solid rgba(255,255,255,0.3);
  border-radius:8px;
  cursor:pointer;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  overflow:hidden;
  position:relative;
  width:48px;
  height:36px;
}

.flag-btn::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
  transition:left 0.5s;
}

.flag-btn:hover::before{
  left:100%;
}

.flag-btn:hover{
  border-color:rgba(255,255,255,0.6);
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 6px 20px rgba(0,0,0,0.3);
}

.flag-btn.active{
  border-color:rgba(255,255,255,0.8);
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
  transform:translateY(-1px);
}

.flag-btn.active::after{
  content:'';
  position:absolute;
  bottom:-3px;
  left:50%;
  transform:translateX(-50%);
  width:24px;
  height:4px;
  background:white;
  border-radius:2px;
  box-shadow:0 2px 4px rgba(0,0,0,0.3);
}

.flag-icon-full{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:5px;
  transition:all 0.3s ease;
}

.flag-btn:hover .flag-icon-full{
  transform:scale(1.1);
}

/* Skrytí Google Translate */
#google_translate_element{
  display:none !important;
}

.goog-te-banner-frame{
  display:none !important;
}

body{
  top:0 !important;
}

.goog-te-gadget{
  display:none !important;
}

/* === PŮVODNÍ GOOGLE TRANSLATE STYLY (PRO KOMPATIBILITU) === */
.styled-select.lang-selector{
  background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-lg);padding:var(--spacing-xs);transition:all var(--transition-normal);overflow:hidden;
  display:none; /* Skryto, protože používáme vlajky */
}
.styled-select.lang-selector:hover{background:rgba(255,255,255,.25);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.goog-te-gadget{font-family:var(--font-family)!important;font-size:var(--font-size-sm)!important;color:#0095cd!important;line-height:1!important}
.goog-te-gadget-simple{background:transparent!important;border:none!important;padding:0!important;margin:0!important}
.goog-te-combo{
  background:transparent!important;border:none!important;color:var(--white)!important;font-family:var(--font-family)!important;
  font-size:var(--font-size-base)!important;font-weight:500!important;padding:var(--spacing-md) var(--spacing-lg)!important;border-radius:var(--radius-md)!important;width:100%!important;outline:none!important;cursor:pointer!important;
  appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3e%3cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3e%3c/svg%3e")!important;
  background-repeat:no-repeat!important;background-position:right var(--spacing-md) center!important;background-size:16px!important;
  padding-right:calc(var(--spacing-lg) + 24px)!important
}
.goog-te-combo:hover{background-color:rgba(255,255,255,.1)!important}
.goog-te-combo:focus{background-color:rgba(255,255,255,.15)!important;box-shadow:0 0 0 2px rgba(255,255,255,.3)!important}
.goog-te-combo option{background:var(--primary-green-dark)!important;color:var(--white)!important;padding:var(--spacing-sm) var(--spacing-md)!important;font-weight:500!important;border:none!important}
.manual-language-selector{
  background:transparent;border:none;color:var(--white);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:500;
  padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);width:100%;outline:none;cursor:pointer;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3e%3cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3e%3c/svg%3e");
  background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:16px;padding-right:calc(var(--spacing-lg) + 24px)
}
.styled-select.lang-selector::before{content:'🌐';position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);z-index:10;pointer-events:none;font-size:var(--font-size-base)}
.goog-te-gadget .goog-te-gadget-simple .goog-te-menu-value span:first-child{display:none!important}
.goog-te-gadget .goog-te-gadget-simple .goog-te-menu-value:before{content:'🌐 ';margin-right:var(--spacing-xs)}
.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate{display:none!important}
.VIpgJd-ZVi9od-l4eHX-hSRGPd{display:none!important}
.goog-te-gadget>span>a{display:none!important}
.goog-te-gadget .goog-te-gadget-simple .goog-te-menu-value>span:last-child{display:none!important}
.goog-te-gadget img{display:none!important}

.main{flex:1;padding:var(--spacing-xl) var(--spacing-md)}
.welcome{margin-bottom:var(--spacing-2xl)}
.welcome-content{
  position:relative;z-index:1;width:min(760px,96vw);
  padding:clamp(1.25rem,3vw,2rem) clamp(1.25rem,4vw,2.25rem);
  border-radius:1.25rem;background:rgba(17,24,39,.55);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  text-align:center;color:#fff;margin:0 auto
}
.welcome h2{
  color:#fff;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:700;letter-spacing:.2px;
  text-shadow:0 1px 3px rgba(0,0,0,.6);margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem
}
.welcome p{
  color:rgba(255,255,255,.95);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.75;
  margin:.5rem 0 1.5rem;text-shadow:0 1px 2px rgba(0,0,0,.5)
}

.actions{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}
.btn{
  position:relative;padding:1rem 2rem;border:none;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;
  text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-width:160px;box-shadow:0 4px 15px rgba(0,0,0,.1)
}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}
.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}
.btn:hover::before{left:100%}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}
.btn:active{transform:translateY(0)}
.btn-primary{background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-dark) 100%);color:#fff}
.btn-secondary{background:linear-gradient(135deg,var(--gray-600) 0%,var(--gray-700) 100%);color:#fff}
.btn-info{background:linear-gradient(135deg,var(--accent-gold) 0%,#B8860B 100%);color:#fff}
.btn-admin{background:linear-gradient(135deg,#6366F1 0%,#4F46E5 100%);color:#fff;font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}
.btn-debug{background:linear-gradient(135deg,#EF4444 0%,#DC2626 100%);color:#fff;font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}
.btn-qr{background:linear-gradient(135deg,#f1c40f,#f39c12);color:#fff;font-weight:700;border:none;box-shadow:0 4px 15px rgba(241,196,15,.4)}
.btn-qr:hover{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 8px 25px rgba(241,196,15,.6)}

.quick-access{margin-top:var(--spacing-2xl)}
.quick-access h3{text-align:center;font-size:var(--font-size-xl);color:var(--primary-green);margin-bottom:var(--spacing-lg)}
.exhibit-cards{display:grid;gap:var(--spacing-md)}
.exhibit-card{
  background:var(--secondary-color);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-normal);
  border:1px solid var(--gray-200);display:flex;align-items:center;gap:var(--spacing-md)
}
.exhibit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-green)}
.exhibit-icon{font-size:var(--font-size-2xl);width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-green) 0%,var(--primary-green-light) 100%);border-radius:var(--radius-lg);flex-shrink:0}
.exhibit-info h4{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-xs);line-height:1.3}
.exhibit-code{font-family:Monaco,Menlo,monospace;font-size:var(--font-size-sm);color:var(--primary-green);background:var(--gray-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:500;display:inline-block;margin-bottom:var(--spacing-xs)}
.exhibit-year{font-size:var(--font-size-xs);color:var(--gray-500);font-style:italic;display:block}

.gallery-info{background:var(--white);border-radius:var(--radius-2xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--spacing-2xl)}
.gallery-info h3{font-size:var(--font-size-xl);color:var(--primary-green);margin-bottom:var(--spacing-lg);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}
.info-grid{display:grid;gap:var(--spacing-lg)}
.info-item{display:flex;gap:var(--spacing-md);align-items:flex-start}
.info-icon{font-size:var(--font-size-xl);width:40px;flex-shrink:0;text-align:center}
.info-content strong{display:block;font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-xs);font-size:var(--font-size-base)}
.info-content span{color:var(--gray-600);line-height:1.6}
.info-content small{display:block;color:var(--gray-500);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}
.info-content a{color:var(--primary-green);text-decoration:none;font-weight:500}
.info-content a:hover{text-decoration:underline}

.admin-section{text-align:center;margin-bottom:var(--spacing-xl)}
.admin-links{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}

.debug-info{
  background:#f8f9fa;
  padding:1rem;
  margin:1rem 0;
  border-radius:6px;
  text-align:left;
  font-family:monospace;
  font-size:0.9rem;
  border-left:4px solid #2E8B57;
}

.debug-info h4, .debug-info h5{
  color:#2E8B57;
  margin-bottom:0.5rem;
}

.debug-info a{
  color:#2E8B57;
  text-decoration:none;
}

.debug-info a:hover{
  text-decoration:underline;
}

.footer{background:var(--gray-800);color:var(--gray-300);padding:var(--spacing-xl) var(--spacing-md);text-align:center;margin-top:auto}
.footer-content p{margin-bottom:var(--spacing-sm)}
.footer-tech a{color:var(--primary-green-light);text-decoration:none}
.footer-tech a:hover{text-decoration:underline}

/* === OPRAVENÝ QR SCANNER MODAL === */
/* === FULLSCREEN QR SCANNER PRO MOBIL === */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.modal-content {
  background: var(--white);
  border-radius: 12px;
  width: 95vw;
  max-width: 500px;
  max-height: 90vh;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  margin: auto;
  display: flex;
  flex-direction: column;
}

.modal-header {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-green-dark) 100%);
  color: white;
  flex-shrink: 0;
}

.modal-header h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
}

.close {
  background: none;
  border: none;
  font-size: 24px;
  color: white;
  cursor: pointer;
  padding: 8px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.3s ease;
  line-height: 1;
  font-weight: bold;
}

.close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.modal-body {
  padding: 24px;
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
}

#qr-reader {
  width: 100%;
  height: 400px;
  margin: 0 auto 20px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--gray-100);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-500);
}

.qr-instructions {
  margin-top: 15px;
  color: #666;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  line-height: 1.4;
}

/* === FULLSCREEN NA MOBILU === */
@media (max-width: 768px) {
  .modal {
    padding: 0;
    background: rgba(0, 0, 0, 0.95);
  }

  .modal-content {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    margin: 0;
  }

  .modal-header {
    padding: 20px;
    background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-green-dark) 100%);
  }

  .modal-header h3 {
    font-size: 1.3rem;
  }

  .close {
    width: 44px;
    height: 44px;
    font-size: 28px;
  }

  .modal-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #qr-reader {
    height: calc(100vh - 200px); /* Fullscreen mínus header a instructions */
    max-height: 500px;
    margin-bottom: 20px;
    border-radius: 16px;
  }

  .qr-instructions {
    font-size: 1.1rem;
    padding: 15px;
    background: rgba(46, 139, 87, 0.1);
    border-radius: 12px;
    margin-top: 20px;
    color: #333;
  }
}

@media (max-width: 480px) {
  .modal-header {
    padding: 16px;
  }

  .modal-header h3 {
    font-size: 1.2rem;
  }

  .close {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }

  .modal-body {
    padding: 16px;
  }

  #qr-reader {
    height: calc(100vh - 180px);
    max-height: 450px;
  }

  .qr-instructions {
    font-size: 1rem;
    padding: 12px;
  }
}

/* === LANDSCAPE MODE === */
@media (max-height: 500px) and (orientation: landscape) {
  .modal-header {
    padding: 12px 20px;
  }

  .modal-header h3 {
    font-size: 1.1rem;
  }

  .close {
    width: 36px;
    height: 36px;
    font-size: 20px;
  }

  .modal-body {
    padding: 12px 20px;
  }

  #qr-reader {
    height: calc(100vh - 120px);
    max-height: 300px;
  }

  .qr-instructions {
    font-size: 0.9rem;
    padding: 8px;
    margin-top: 10px;
  }
}
/* === FULLSCREEN QR SCANNER === */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.modal-content {
  background: var(--white);
  border-radius: 12px;
  width: 95vw;
  max-width: 600px; /* VĚTŠÍ - z 500px na 600px */
  max-height: 90vh;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  margin: auto;
  display: flex;
  flex-direction: column;
}

#qr-reader {
  width: 100%;
  height: 500px; /* VĚTŠÍ - z 400px na 500px */
  margin: 0 auto 20px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--gray-100);
}

/* === FULLSCREEN NA MOBILU === */
@media (max-width: 768px) {
  .modal-content {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    margin: 0;
  }

  #qr-reader {
    height: calc(100vh - 160px); /* VĚTŠÍ pro mobil */
    max-height: none;
    border-radius: 16px;
  }
}

@media (max-width: 480px) {
  #qr-reader {
    height: calc(100vh - 140px); /* VĚTŠÍ pro malé mobily */
  }
}

.form-group{margin-bottom:1.5rem;text-align:left}
.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}
.form-group input{
  width:100%;padding:1rem;border:2px solid #ddd;border-radius:10px;font-size:1.1rem;font-weight:600;text-align:center;font-family:monospace;
  background:var(--white);transition:border-color var(--transition-normal)
}
.form-group input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(46,139,87,.1)}
.form-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

.exhibit-detail {
  background: rgba(17, 24, 39, 0.55);
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,.35);
  overflow: hidden;
  margin-bottom: 2rem;
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.exhibit-content{padding:3rem}
.exhibit-title{font-size:2.5rem;color:var(--primary-green);font-weight:700;margin-bottom:2rem;line-height:1.2;text-align:center}
.exhibit-meta{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap;justify-content:center}
.meta-item{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:.75rem 1.5rem;border-radius:25px;font-size:.95rem;color:#495057;font-weight:500;border:1px solid rgba(46,139,87,.1);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.exhibit-description{font-size:1.2rem;line-height:1.8;color:#fff;margin-bottom:2.5rem;text-align:justify;max-width:100%}
.tts-controls{display:flex;gap:1rem;justify-content:center;margin:2.5rem 0;flex-wrap:wrap}

/* === TTS STATUS STYLY === */
.tts-status{
  background:rgba(46,139,87,0.1);
  border:1px solid rgba(46,139,87,0.3);
  border-radius:8px;
  padding:12px;
  margin:1rem 0;
  display:none;
  align-items:center;
  gap:8px;
  transition:all 0.3s ease;
}

.tts-status.active{
  display:flex;
  animation:pulse 2s infinite;
}

@keyframes pulse{
  0%{opacity:1;}
  50%{opacity:0.7;}
  100%{opacity:1;}
}

.tts-status i{
  color:#2E8B57;
  animation:volume-wave 1.5s infinite;
}

@keyframes volume-wave{
  0%, 100%{transform:scale(1);}
  50%{transform:scale(1.1);}
}

.navigation{display:flex;justify-content:center;margin-top:2rem}

.error-section{background:#fff;border-radius:20px;box-shadow:0 8px 32px rgba(0,0,0,.1);padding:3rem;text-align:center}
.error-message h2{color:#dc3545;font-size:1.8rem;margin-bottom:1rem}
.error-message p{color:#666;font-size:1.1rem;margin-bottom:2rem}

.loading{position:relative;overflow:hidden}
.loading::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:loading-shimmer 1.5s infinite}
@keyframes loading-shimmer{0%{left:-100%}100%{left:100%}}

/* === RESPONZIVNÍ ÚPRAVY PRO VLAJKY === */
@media (max-width:768px){
  .flag-btn{
    width:40px;
    height:30px;
  }

  .flag-selector{
    gap:6px;
  }

  .modal-content{
    width:95%;
    max-height:95%;
  }

  .modal-header{
    padding:15px;
  }

  .modal-body{
    padding:15px;
  }

  #qr-reader{
    max-width:100%;
    min-height:250px;
  }
}

@media (max-width:480px){
  .header{padding:var(--spacing-md) var(--spacing-sm)}
  .logo-image{width:50px;height:50px}
  .header-text h1{font-size:var(--font-size-lg)}
  .main{padding:var(--spacing-lg) var(--spacing-sm)}
  .btn{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm)}
  .exhibit-title{font-size:1.8rem}
  .exhibit-description{font-size:1.1rem}
  .modal-body{padding:1.5rem}
  #qr-reader{min-height:250px}
  .exhibit-card{flex-direction:column;text-align:center}
  .info-item{flex-direction:column;text-align:center}
  .form-actions{flex-direction:column}
  .admin-links{flex-direction:column;align-items:center}

  .flag-btn{
    width:36px;
    height:27px;
  }

  .flag-selector{
    gap:4px;
  }
}

@media (min-width:481px) and (max-width:768px){
  .actions{grid-template-columns:1fr 1fr}
  .exhibit-cards{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr 1fr}
  #qr-reader{min-height:300px}
}

@media (min-width:769px){
  .container{max-width:1200px}
  .header-content{flex-direction:row;justify-content:space-between;text-align:left}
  .lang_wp{max-width:auto}
  .actions{display:flex;flex-direction:column;gap:1rem;align-items:center}
  .exhibit-cards{grid-template-columns:repeat(2,1fr)}
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .main{padding:var(--spacing-2xl) var(--spacing-xl)}
  .welcome-content{text-align:left}
  .welcome h2{justify-content:flex-start}
}

@media (min-width:1024px){
  .info-grid{grid-template-columns:repeat(4,1fr)}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media (prefers-contrast:high){
  :root{--gray-200:#000;--gray-300:#000;--primary-green:#006400;--primary-green-dark:#004000}
}

@media print{
  .header,.footer,.admin-section,.debug-info,.modal{display:none!important}
  .main{padding:0}
  .btn{display:none}
  *{background:#fff!important;color:#000!important;box-shadow:none!important}
}

iframe.skiptranslate{display:none!important}