/* ==========================================================================
   ELKOM Vedral – modernizace vzhledu (přidaná vrstva, načítá se jako poslední)
   Zachovává stávající rozložení, barvy a hero sekce; jen zjemňuje detaily.
   Návrat do původního stavu: odstranit <link ... modern.css> z hlaviček stránek.
   ========================================================================== */
:root {
  --m-accent: #1e6fe0;
  --m-accent-dark: #1457b8;
  --m-ink: #111827;
  --m-text: #3b4250;
  --m-muted: #7b8494;
  --m-line: #e8ebf0;
  --m-soft: #f5f7fa;
  --m-radius: 14px;
  --m-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px rgba(16, 24, 40, .07);
  --m-shadow-lg: 0 2px 4px rgba(16, 24, 40, .06), 0 18px 40px rgba(16, 24, 40, .12);
  --m-ease: cubic-bezier(.2, .7, .2, 1);
}

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--m-accent); color: #fff; }

/* ---- přístupnost: viditelné zaměření z klávesnice ---- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--m-accent); outline-offset: 3px;
}

/* ---- navigace ---- */
.main-header { box-shadow: 0 1px 0 rgba(17, 24, 39, .06), 0 8px 24px rgba(17, 24, 39, .04); }
.nav-holder nav li a, nav.scroll-init li a { transition: color .25s var(--m-ease), opacity .25s var(--m-ease); }
.nav-holder nav li a:hover { color: var(--m-accent) !important; }

/* ---- texty sekcí ---- */
section.pr-der-pad .bold-title { letter-spacing: -.01em; color: var(--m-ink); }
section.pr-der-pad p {
  font-size: 16px; line-height: 1.9; color: var(--m-text); max-width: 74ch;
}
.pr-tags { border-radius: 12px; overflow: hidden; background: var(--m-soft); border: 1px solid var(--m-line); }
.pr-tags span { color: var(--m-ink); }

/* ---- loga dodavatelů ---- */
.box-item { border-radius: 10px; }
.box-item img { transition: transform .35s var(--m-ease), opacity .35s var(--m-ease), filter .35s var(--m-ease) !important; opacity: .88; }
.box-item:hover img { transform: scale(1.04) !important; opacity: 1; }
.pr-title .box-item { padding: 6px 0; }

/* ---- fotky v posuvném pásu sekce ---- */
.slider-wrap .swiper-slide img { transition: transform .8s var(--m-ease); }
.slider-wrap .swiper-slide:hover img { transform: scale(1.015); }
.sw-button { border-radius: 10px; transition: background .2s, color .2s, transform .2s var(--m-ease); }
.sw-button:hover { transform: scale(1.06); }
.swiper-scrollbar-drag { border-radius: 99px; }

/* ---- reference: dva sloupce, jemné řádky ---- */
#reference .refer { list-style: none; padding: 0; margin: 0 10px; column-count: 2; column-gap: 48px; width: auto; max-width: 100%; box-sizing: border-box; }
#reference .refer li {
  break-inside: avoid; padding: 11px 14px 11px 16px; border-bottom: 1px solid var(--m-line);
  color: var(--m-text); font-size: 14.5px; line-height: 1.5; border-left: 3px solid transparent;
  transition: background .2s var(--m-ease), border-color .2s var(--m-ease), padding-left .2s var(--m-ease);
}
#reference .refer li:hover { background: var(--m-soft); border-left-color: var(--m-accent); padding-left: 20px; }
#reference .refer li .bold { color: var(--m-ink); font-weight: 700; }

/* ---- Google recenze ---- */
.google-rating-summary {
  margin: 8px auto 4px; text-align: center;
}
.google-rating-summary strong {
  display: inline-block; padding: 10px 22px; border-radius: 99px; background: var(--m-soft);
  border: 1px solid var(--m-line); font-size: 17px; color: var(--m-ink);
}
.google-review { border-radius: var(--m-radius) !important; box-shadow: var(--m-shadow); transition: transform .3s var(--m-ease), box-shadow .3s var(--m-ease); }
.google-review:hover { transform: translateY(-3px); box-shadow: var(--m-shadow-lg); }

/* ---- Naše realizace (galerie) ---- */
.container.py-5 > h2 { font-weight: 700; letter-spacing: -.01em; color: var(--m-ink); position: relative; padding-bottom: 18px; margin-bottom: 28px !important; }
.container.py-5 > h2::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 3px; margin-left: -28px; border-radius: 3px; background: var(--m-accent); }
.mySwiper .swiper-slide { padding: 6px 4px 26px; }
.mySwiper .swiper-slide img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--m-radius); cursor: zoom-in;
  box-shadow: var(--m-shadow); transition: transform .4s var(--m-ease), box-shadow .4s var(--m-ease);
}
.mySwiper .swiper-slide:hover img { transform: translateY(-4px); box-shadow: var(--m-shadow-lg); }
#lightboxModal .modal-content { border-radius: var(--m-radius); overflow: hidden; border: 0; box-shadow: var(--m-shadow-lg); }

/* ---- kontakt ---- */
.contact-details ul li a { transition: color .2s; }
.contact-details ul li a:hover { color: var(--m-accent); }
.contact-details h4 { letter-spacing: .01em; }
.map-box iframe { border-radius: var(--m-radius); filter: saturate(.9); }
.mapouter, .gmap_canvas { border-radius: var(--m-radius); overflow: hidden; }

/* ---- kontaktní formulář ---- */
#contact-form input[type="text"], #contact-form input[type="email"], #contact-form input[type="tel"], #contact-form textarea {
  float: left; width: 100%; background: var(--m-soft); border: 1px solid transparent; border-radius: 12px;
  font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 500; color: var(--m-ink);
  height: 54px; padding: 0 22px; margin-bottom: 16px; -webkit-appearance: none; appearance: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
#contact-form textarea { height: 170px; padding: 16px 22px; resize: vertical; margin: 0 0 16px; display: block; }
#contact-form input::placeholder, #contact-form textarea::placeholder { color: var(--m-muted); font-weight: 500; opacity: 1; }
#contact-form input:focus, #contact-form textarea:focus {
  background: #fff; border-color: var(--m-accent); box-shadow: 0 0 0 4px rgba(30, 111, 224, .14); outline: none;
}
#contactform label[for="gdpr"] { font-size: 14px !important; color: var(--m-text); }
#contactform label[for="gdpr"] a { color: var(--m-accent); }
#contactform input[type="checkbox"] { accent-color: var(--m-accent); width: 17px; height: 17px; }
#submit[disabled] { opacity: .65; cursor: progress; transform: none; }

/* ---- sociální sítě a patička ---- */
.social-wrap li a { transition: background .25s var(--m-ease), color .25s var(--m-ease); }
.footer-social li a, .to-top { transition: transform .2s var(--m-ease), color .2s; }
.footer-social li a:hover { transform: translateY(-2px); }

/* ---- mobil ---- */
@media (max-width: 991px) {
  #reference .refer { column-count: 1; }
  section.pr-der-pad p { font-size: 15.5px; line-height: 1.8; }
}
@media (max-width: 575px) {
  #contact-form input[type="text"], #contact-form input[type="email"], #contact-form input[type="tel"] { height: 50px; }
  #submit { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---- stav odeslání formuláře ---- */
#form-status { clear: both; text-align: left; padding-top: 18px; font-size: 14px; font-weight: 600; color: var(--m-muted); min-height: 24px; }
#form-status.is-ok { color: #178a52; }
#form-status.is-err { color: #d1344a; }


/* ==========================================================================
   Verze 2 – výraznější modernizace
   ========================================================================== */

/* ---- hlavička jako "sklo" ---- */
header.main-header {
  background: rgba(255, 255, 255, .86) !important;
  -webkit-backdrop-filter: saturate(170%) blur(14px); backdrop-filter: saturate(170%) blur(14px);
}

/* ---- nadpisy sekcí s modrým akcentem ---- */
.small-sec-title h3 { letter-spacing: -.01em; color: var(--m-ink); }
.small-sec-title h3::before {
  content: ""; display: block; width: 38px; height: 4px; border-radius: 4px; margin-bottom: 14px;
  background: linear-gradient(90deg, var(--m-accent), #5aa2ff);
}

/* ---- loga: dlaždice ---- */
.partners .col-md-3, .partners .col-xs-6 { margin-bottom: 22px; }
.partners .box-item, .pr-title .box-item {
  display: flex; align-items: center; justify-content: center; min-height: 104px; padding: 18px 22px;
  background: #fff; border: 1px solid var(--m-line); border-radius: 16px; box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
  transition: transform .3s var(--m-ease), box-shadow .3s var(--m-ease), border-color .3s var(--m-ease);
}
.partners .box-item:hover, .pr-title .box-item:hover { transform: translateY(-4px); box-shadow: var(--m-shadow); border-color: #d6dbe5; }
.partners .box-item img, .pr-title .box-item img {
  width: auto !important; max-width: 100%; max-height: 66px; height: auto; margin: 0 auto; object-fit: contain; display: block;
}
.partners .box-item a, .pr-title .box-item a { display: flex; align-items: center; justify-content: center; width: 100%; }
.partners .box-item:hover img, .pr-title .box-item:hover img { transform: scale(1.05) !important; }

/* ---- kontakt: tři karty ---- */
.contact-details .row.border-dec {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; border: 0;
}
.contact-details .row.border-dec::before, .contact-details .row.border-dec::after { display: none; }
.contact-details .row.border-dec > [class*="col-"] {
  float: none; width: auto; max-width: none; padding: 26px 26px 22px; margin: 0;
  background: #fff; border: 1px solid var(--m-line); border-radius: 18px; box-shadow: var(--m-shadow);
  transition: transform .3s var(--m-ease), box-shadow .3s var(--m-ease);
}
.contact-details .row.border-dec > [class*="col-"]:hover { transform: translateY(-4px); box-shadow: var(--m-shadow-lg); }
.contact-details ul li { padding: 7px 0; border-bottom: 1px dashed var(--m-line); }
.contact-details ul li:last-child { border-bottom: 0; }
.contact-details ul li span { color: var(--m-muted); }
.contact-details ul li a { color: var(--m-ink); word-break: break-word; }

/* ---- sociální pruh ---- */
.social-wrap ul li a:hover { background: var(--m-accent) !important; color: #fff !important; }
.social-wrap ul li a:hover i { color: #fff !important; }

/* ---- odhalení při rolování (zapíná js/modern.js) ---- */
.m-reveal-on .m-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--m-ease), transform .7s var(--m-ease); }
.m-reveal-on .m-reveal.is-in { opacity: 1; transform: none; }

@media (max-width: 991px) {
  .contact-details .row.border-dec { grid-template-columns: 1fr; }
  .contact-details .row.border-dec > [class*="col-"] { padding: 22px 20px; }
}


/* ==========================================================================
   Úvodní video: místo čistě černé plochy plynulý přechod
   - pozadí je tmavý přechod (a náhledový snímek img/intro-poster.jpg, pokud existuje)
   - video se přes něj zprůhlední, jakmile má první snímek
   ========================================================================== */
.hero-content {
  background:
    url("../img/intro-poster.jpg") center / cover no-repeat,
    radial-gradient(120% 90% at 20% 15%, #16223a 0%, #0b1220 55%, #05080f 100%) !important;
}
.hero-video { transition: opacity 1s ease !important; }
.hero-video.loaded { opacity: 1; }

/* jemné "dýchání" světla, aby tmavá plocha během načítání nepůsobila prázdně */
.hero-content::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(60% 50% at 70% 60%, rgba(30, 111, 224, .18), transparent 70%);
  animation: m-hero-glow 4s ease-in-out infinite alternate;
}
@keyframes m-hero-glow { from { opacity: .35; } to { opacity: 1; } }
.hero-media { z-index: 0; }
@media (prefers-reduced-motion: reduce) { .hero-content::before { animation: none; } }


/* ==========================================================================
   Verze 3 – tlačítko, posuvníky, kontakt bez linek, patička, mobilní menu
   ========================================================================== */

/* ---- tlačítko "Odeslat zprávu": černé, ostřejší, s výplní a šipkou (sedí k černobílému designu) ---- */
#submit {
  position: relative; overflow: hidden; z-index: 0; display: inline-flex; align-items: center; gap: 16px;
  padding: 19px 36px !important; border: 0 !important; border-radius: 12px !important;
  background: #111 !important; color: #fff !important; box-shadow: none !important;
  font-size: 11px !important; font-weight: 700 !important; letter-spacing: .18em !important; text-transform: uppercase;
  transition: transform .25s var(--m-ease) !important;
}
#submit::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--m-accent);
  transform: translateX(-101%); transition: transform .5s var(--m-ease);
}
#submit::after { content: "\2192"; font-size: 17px; line-height: 1; letter-spacing: 0; transition: transform .35s var(--m-ease); }
#submit:hover::before, #submit:focus-visible::before { transform: none; }
#submit:hover::after { transform: translateX(6px); }
#submit:hover { color: #fff !important; transform: none !important; }
#submit:active { transform: scale(.985) !important; }

/* ---- posuvníky fotek: plynulejší pohyb ---- */
.slider-wrap .swiper-wrapper, .mySwiper .swiper-wrapper {
  transition-timing-function: cubic-bezier(.22, .8, .2, 1) !important; will-change: transform;
}
.slider-wrap .swiper-slide { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.slider-wrap .swiper-slide img, .mySwiper .swiper-slide img { -webkit-user-drag: none; user-select: none; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.slider-wrap .swiper-slide:hover img { transform: none; }          /* žádné cukání při tažení */
.mySwiper .swiper-slide img { transition: box-shadow .4s var(--m-ease); will-change: transform; }
.mySwiper .swiper-slide:hover img { transform: none; box-shadow: var(--m-shadow-lg); }
.slider-wrap .swiper-container, .mySwiper { cursor: grab; }
.slider-wrap .swiper-container:active, .mySwiper:active { cursor: grabbing; }

/* ---- kontakt: bez podtržení a linek ---- */
.border-dec { border-bottom: 0 !important; padding-bottom: 20px !important; }
.contact-details h4::before, .contact-details h4 span::after { display: none !important; }
.contact-details ul li { border-bottom: 0 !important; padding: 5px 0; }
.contact-details a, .contact-details a:hover, .contact-details a:focus { text-decoration: none !important; }
.map-box, .contact-details-wrap { border: 0 !important; }

/* ---- patička: sociální ikony zarovnané na střed, kulaté ---- */
.social-wrap { border: 0 !important; background: transparent; }
.social-wrap ul { display: flex; justify-content: center; align-items: center; gap: 18px; padding: 44px 0 52px; margin: 0 auto; }
.social-wrap ul li {
  float: none !important; width: auto !important; padding: 0 !important; border: 0 !important; margin: 0 !important; text-align: center;
}
.social-wrap ul li:last-child { border: 0 !important; }
.social-wrap ul li a {
  display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; font-size: 20px; line-height: 1;
  color: var(--m-ink); background: #fff; border: 1px solid var(--m-line); box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  transition: transform .3s var(--m-ease), background .3s var(--m-ease), color .3s var(--m-ease), box-shadow .3s var(--m-ease), border-color .3s;
}
.social-wrap ul li a i { display: block; line-height: 1; margin: 0; }
.social-wrap ul li a:hover { transform: translateY(-4px); background: var(--m-ink) !important; color: #fff !important; border-color: var(--m-ink); box-shadow: var(--m-shadow); }
.footer-social ul { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.footer-social li { float: none; display: block; text-align: center; margin: 0; }
.footer-social li a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; }

/* ---- mobilní menu ---- */
@media (max-width: 1064px) {
  .nav-button-wrap { border-left: 0 !important; transition: background .25s; }
  .nav-button-wrap:hover { background: var(--m-soft); }
  .nav-button span { transform-origin: center; background: #111 !important;
    transition: transform .4s var(--m-ease), opacity .25s ease, width .4s var(--m-ease) !important; }
  .nav-button span:first-child { width: 60% !important; margin-left: 40%; }
  .nav-button span:nth-child(2) { width: 100%; }
  .nav-button span:nth-child(3) { width: 80%; }
  .m-nav-open .nav-button span:first-child { width: 100% !important; margin-left: 0; transform: translateY(6px) rotate(45deg); }
  .m-nav-open .nav-button span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
  .m-nav-open .nav-button span:nth-child(3) { width: 100%; transform: translateY(-6px) rotate(-45deg); }

  html.m-nav-open { overflow: hidden; }
  .nav-holder {
    display: block !important; position: absolute !important; top: 70px !important; left: 0 !important; right: 0 !important;
    width: auto !important; height: calc(100vh - 70px) !important; height: calc(100dvh - 70px) !important;
    margin: 0 !important; padding: 22px 30px 48px !important; overflow-y: auto; box-shadow: none !important;
    background: #fff !important;
    opacity: 0; visibility: hidden; transform: translateY(-12px);
    transition: opacity .35s var(--m-ease), transform .5s var(--m-ease), visibility 0s linear .5s;
  }
  .m-nav-open .nav-holder { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
  .nav-holder nav { float: none !important; width: 100% !important; }
  .nav-holder nav ul { margin: 0; padding: 0; list-style: none; }
  .nav-holder nav ul li {
    float: none !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important;
    opacity: 0; transform: translateY(18px); transition: opacity .5s var(--m-ease), transform .6s var(--m-ease);
  }
  .m-nav-open .nav-holder nav ul li { opacity: 1; transform: none; transition-delay: calc(var(--i, 0) * 55ms + 120ms); }
  .nav-holder nav ul li:nth-child(1) { --i: 0; } .nav-holder nav ul li:nth-child(2) { --i: 1; }
  .nav-holder nav ul li:nth-child(3) { --i: 2; } .nav-holder nav ul li:nth-child(4) { --i: 3; }
  .nav-holder nav ul li:nth-child(5) { --i: 4; } .nav-holder nav ul li:nth-child(6) { --i: 5; }
  .nav-holder nav ul li:nth-child(7) { --i: 6; }
  .nav-holder nav ul li a {
    display: flex !important; align-items: center; justify-content: space-between; float: none !important; width: 100%;
    padding: 15px 0 !important; font-size: 24px !important; line-height: 1.2 !important; letter-spacing: -.01em;
    font-weight: 700; text-transform: none !important; text-align: left; color: #111 !important; transition: color .25s, padding-left .3s var(--m-ease);
  }
  .nav-holder nav ul li a::after { content: "\2192"; font-weight: 400; opacity: 0; transform: translateX(-8px); transition: opacity .25s, transform .3s var(--m-ease); }
  .nav-holder nav ul li a:hover, .nav-holder nav ul li a:active, .nav-holder nav ul li a.act-scrlink { color: var(--m-accent) !important; padding-left: 6px !important; }
  .nav-holder nav ul li a:hover::after, .nav-holder nav ul li a.act-scrlink::after { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nav-holder, .nav-holder nav ul li { transition: none !important; }
}

/* ===== Verze 4 ===== */
/* Kontakt: popisek nad hodnotou, e-mail vždy na jednom řádku */
.contact-details ul li { display: flex; flex-direction: column; gap: 3px; padding: 8px 0 !important; }
.contact-details ul li span { float: none !important; display: block; margin: 0 !important; font-size: 11px; }
.contact-details ul li a { float: none !important; display: block; margin: 0 !important; padding: 0 !important; word-break: normal !important; overflow-wrap: anywhere; letter-spacing: .06em; font-size: 13px; }
.contact-details ul li a[href^="mailto:"] { white-space: nowrap; letter-spacing: .02em; font-size: 12.5px; overflow-wrap: normal; }
.contact-details .row.border-dec > [class*="col-"] { min-width: 0; }
/* Menu: bez podtržení / proužku u položek */
nav li a:before, nav li a.act-link:before, nav.asl li a.act-scrlink:before, .nav-holder nav li a:hover:before { display: none !important; content: none !important; }
nav li a, nav li a:hover, nav li a.act-scrlink { text-decoration: none !important; border-bottom: 0 !important; }

/* ===== Verze 5: lightbox ===== */
.m-lb { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; visibility: hidden; opacity: 0; transition: opacity .3s ease, visibility 0s linear .3s; }
.m-lb.is-open { visibility: visible; opacity: 1; transition: opacity .3s ease; }
.m-lb-bg { position: absolute; inset: 0; background: rgba(8, 10, 16, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.m-lb-stage { position: relative; margin: 0; max-width: 92vw; max-height: 86vh; display: flex; align-items: center; justify-content: center; }
.m-lb-img { max-width: 92vw; max-height: 86vh; object-fit: contain; border-radius: 10px; box-shadow: 0 30px 80px rgba(0,0,0,.55); opacity: 0; transform: translateX(var(--dx, 0)) scale(.96); user-select: none; -webkit-user-drag: none; }
.m-lb.is-open .m-lb-img.is-in { opacity: 1; transform: none; transition: opacity .35s ease, transform .45s cubic-bezier(.22,.8,.2,1); }
.m-lb-spin { position: absolute; width: 38px; height: 38px; border: 3px solid rgba(255,255,255,.25); border-top-color: #fff; border-radius: 50%; opacity: 0; animation: m-lb-spin .8s linear infinite; pointer-events: none; }
.m-lb.is-loading .m-lb-spin { opacity: 1; }
@keyframes m-lb-spin { to { transform: rotate(360deg); } }
.m-lb-btn { position: absolute; z-index: 2; width: 52px; height: 52px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font: 300 34px/1 Arial, sans-serif; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 4px; transition: background .25s, transform .25s; -webkit-tap-highlight-color: transparent; }
.m-lb-btn:hover, .m-lb-btn:focus-visible { background: rgba(255,255,255,.24); outline: 0; }
.m-lb-close { top: 20px; right: 20px; font-size: 38px; }
.m-lb-close:hover { transform: rotate(90deg); }
.m-lb-prev { left: 20px; top: 50%; margin-top: -26px; }
.m-lb-next { right: 20px; top: 50%; margin-top: -26px; }
.m-lb-prev:hover { transform: translateX(-3px); } .m-lb-next:hover { transform: translateX(3px); }
.m-lb.is-single .m-lb-prev, .m-lb.is-single .m-lb-next { display: none; }
.m-lb-count { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.85); font: 600 12px/1 Montserrat, Arial, sans-serif; letter-spacing: .2em; padding: 8px 14px; background: rgba(255,255,255,.1); border-radius: 20px; }
.m-lb-count:empty { display: none; }
html.m-lb-lock { overflow: hidden; }
.mySwiper .swiper-slide img, .slider-wrap .swiper-slide img { cursor: zoom-in; }
@media (max-width: 767px) {
  .m-lb-btn { width: 44px; height: 44px; font-size: 28px; }
  .m-lb-prev { left: 8px; } .m-lb-next { right: 8px; } .m-lb-close { top: 12px; right: 12px; }
  .m-lb-img { max-width: 100vw; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { .m-lb, .m-lb-img { transition: none !important; } }

/* ===== Verze 6: mapa Mapy.com ===== */
.map-box { position: relative; }
.mapy-canvas { width: 100%; height: 480px; border-radius: 18px; overflow: hidden; background: #e9edf2; box-shadow: var(--m-shadow, 0 10px 30px rgba(0,0,0,.08)); z-index: 1; }
.mapy-nokey { display: flex; align-items: center; justify-content: center; color: #667; font-size: 14px; }
.mapy-link { position: absolute; right: 14px; top: 14px; z-index: 500; background: #111; color: #fff !important; padding: 10px 16px; border-radius: 999px; font: 600 11px/1 Montserrat, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; text-decoration: none !important; transition: background .25s; }
.mapy-link:hover { background: var(--m-accent, #1e6fe0); }
.mapy-logo { display: block; margin: 0 0 6px 8px; line-height: 0; }
.mapy-pin span { display: block; width: 34px; height: 34px; background: #111; border: 3px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 6px 14px rgba(0,0,0,.35); }
.mapy-pin span::after { content: ""; position: absolute; width: 10px; height: 10px; background: #fff; border-radius: 50%; top: 12px; left: 12px; }
@media (max-width: 767px) { .mapy-canvas { height: 360px; border-radius: 12px; } }
