
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
:root{
  --text:#111827;
  --muted:#6b7280;
  --bg:#ffffff;
  --brand:#e11d48; /* red-ish to match logo */
  --card:#ffffff;
  --stroke:#e5e7eb;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Montserrat,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--text);text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 22px}
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--stroke)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand img{width:36px;height:36px}
.menu{display:flex;gap:20px;align-items:center}
.menu a{font-weight:600;color:#111827;opacity:.8}
.menu a:hover, .menu a.active{opacity:1;border-bottom:2px solid var(--brand)}
.menu-toggle{display:none;border:1px solid var(--stroke);border-radius:10px;padding:8px 10px;background:white}
.hero{position:relative;color:#fff}
.hero .overlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hero img{width:100%;height:44vh;object-fit:cover;filter:blur(0.5px)}
.hero .title{position:absolute;left:0;right:0;bottom:16vh;text-align:center;font-size:54px;font-weight:600;text-shadow:0 8px 30px rgba(0,0,0,.5)}
.section{padding:40px 0}
.grid{display:grid;gap:24px}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;background:var(--card);border:1px solid var(--stroke);border-radius:14px;padding:16px}
.card .thumb{}
.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.footer{border-top:1px solid var(--stroke);background:#f8fafc;color:#374151}
.footer .wrap{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;padding:18px 0}
.small{font-size:14px;color:#6b7280}
.gallery{display:grid;grid-template-columns:1fr;gap:18px}
.kontakt{display:grid;grid-template-columns:540px 1fr;gap:28px;align-items:start}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:600;font-size:12px;margin-bottom:8px}
@media (max-width:980px){
  .cards{grid-template-columns:1fr}
  .columns{grid-template-columns:1fr}
  .kontakt{grid-template-columns:1fr}
}
@media (max-width:640px){
  .menu{display:none}
  .menu.open{display:flex;flex-direction:column;align-items:flex-start;padding:10px 0}
  .menu-toggle{display:inline-block}
  .hero img{height:36vh}
  .hero .title{font-size:40px;bottom:12vh}
}

/* === Tweaks per request === */
.brand{font-weight:700;letter-spacing:.2px}
.brand span{display:none} /* hide 'REMIRSYS s.r.o.' text near logo */
.brand img{height:40px;width:auto} /* keep aspect ratio to avoid deformation */

.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:700px){ .gallery{grid-template-columns:1fr} }

.button{display:inline-block;background:#111827;color:#fff;padding:10px 14px;border-radius:10px;font-weight:600;border:1px solid #111827}
.button:hover{opacity:.9}
.btn-outline{background:#fff;color:#111827;border-color:#e2e8f0}

.icon-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:8px 0}
.icon{width:28px;height:28px;display:grid;place-items:center}
.icon svg{width:20px;height:20px}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;place-items:center;z-index:100}
.lightbox.open{display:grid}
.lightbox img{max-width:92vw;max-height:92vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lightbox img { pointer-events: none; }
.lightbox .arrow { pointer-events: auto; }
.lightbox .close{position:absolute;top:16px;right:16px;background:#fff;border-radius:999px;padding:6px 10px;font-weight:700;border:1px solid #e2e8f0;cursor:pointer}

.lightbox .arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 48px;
  color: #fff;
  background: rgba(0,0,0,0.4);
  border: none;
  padding: 10px 16px;
  cursor: pointer;
  border-radius: 8px;
  user-select: none;
}
.lightbox .arrow.left { left: 20px; }
.lightbox .arrow.right { right: 20px; }
.lightbox .arrow:hover { background: rgba(0,0,0,0.7); }
.lightbox .arrow { z-index: 2; }
.lightbox img { z-index: 1; }

/* v3 tweaks */
.brand img{height:40px;width:auto} /* keep logo aspect ratio */
.card{grid-template-columns:72px 1fr}
.card .thumb{}
.card .thumb img{max-width:100%;max-height:100%;object-fit:cover} /* show full image */
.footer .wrap{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;padding:18px 0} /* center footer content */
.button.btn-outline{background:#f3f4f6;color:#111827;border-color:#d1d5db}
.button.btn-outline:hover{background:#e5e7eb}

/* v11: full responsive layout + centered footer */
.footer .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:18px 0;text-align:center}

@media (max-width:980px){
  .cards{grid-template-columns:1fr}
  .columns{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .kontakt{grid-template-columns:1fr}
  .hero img{height:36vh; object-fit:cover}
  .hero .title{font-size:40px}
}
@media (max-width:640px){
  .hero img{height:32vh}
  .hero .title{font-size:32px}
}

/* responsive OpenStreetMap */
.map-embed{position:relative;width:100%;aspect-ratio:16/10;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f8fafc}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

@media (max-width: 640px) {
  .nav { padding: 14px 22px; }
}

.header .nav {
  max-width: 1120px;
  margin: 0 auto;
  padding: 14px 22px;
}
#scrollToTop {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 65px;
  height: 65px;
  background-image: url('/assets/img/scrolltop.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
}

#scrollToTop.visible {
  opacity: 1;
  visibility: visible;
}

html {
  scroll-behavior: smooth;
}