/* Doplňky k původním Wix stylům – nahrazují to, co na Wixu dělal JavaScript runtime. */

/* ---- Menu: Wix JS dopočítával stejné šířky položek (data-same-width-buttons) ---- */
/* Wix JS menu dorovnával na výšku položek; bez něj by overflow-x:hidden vyrobil svislý posuvník */
#DrpDwnMn0 { overflow: visible !important; }
#DrpDwnMn0 .CkCpUo { display: flex; }
#DrpDwnMn0 .CkCpUo > li { flex: 1 1 0; min-width: 0; }
#DrpDwnMn0 .CkCpUo > li > a { display: block; }
#DrpDwnMn0dropWrapper, #DrpDwnMn0navContainer-hiddenA11ySubMenuIndication { display: none !important; }

/* ---- Galerie (Wix SlideShowGallery / SlideShowTextOverlay) ---- */
.cms-gallery .OSqXnG { position: absolute; inset: 0; }
.cms-gallery .cms-slide { visibility: hidden; opacity: 0; z-index: 0; }
.cms-gallery .cms-slide.is-active,
.cms-gallery .cms-slide.is-leaving { visibility: visible; opacity: 1; }
.cms-gallery .cms-slide.is-active { z-index: 2; }
.cms-gallery .cms-slide.is-leaving { z-index: 1; }
.cms-gallery[data-transition="fade"] .cms-slide.is-entering { animation: cms-fade-in var(--cms-dur, 1000ms) cubic-bezier(.37,0,.63,1) both; }
@keyframes cms-fade-in { from { opacity: 0; } to { opacity: 1; } }
.cms-gallery a.JmYZSh { display: block; color: inherit; text-decoration: none; }
.cms-gallery .t11NJx:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.cms-gallery .dfLxYI { z-index: 3; }
.cms-gallery .NqU03H { z-index: 3; }
.cms-gallery .Vf4Ttg { border: 0; padding: 0; width: 45px; height: 70px; }
.cms-gallery .LKogNC { background: none; border: 0; padding: 0; }
@media (hover: none) {
  .cms-gallery .dfLxYI, .cms-gallery .NqU03H { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .cms-gallery .cms-slide.is-entering { animation: none; }
}

/* ---- Lightbox (Wix "zoomMode" po kliknutí na obrázek galerie) ---- */
.cms-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(255,255,255,.96); display: flex; align-items: center; justify-content: center; flex-direction: column; opacity: 0; transition: opacity .25s; }
.cms-lightbox.is-open { opacity: 1; }
.cms-lightbox figure { margin: 0; display: flex; flex-direction: column; align-items: center; max-width: 90vw; }
.cms-lightbox img { max-width: 90vw; max-height: 80vh; object-fit: contain; box-shadow: 0 1px 6px rgba(0,0,0,.25); background: #fff; }
.cms-lightbox figcaption { margin-top: 14px; font: 13px/1.5 arial, helvetica, sans-serif; color: #2f2e2e; text-align: center; white-space: pre-line; max-width: 700px; }
.cms-lightbox figcaption strong { display: block; font-size: 15px; font-weight: normal; }
.cms-lightbox button { position: absolute; background: none; border: 0; cursor: pointer; color: #2f2e2e; font: 300 44px/1 arial, sans-serif; padding: 16px; opacity: .6; }
.cms-lightbox button:hover, .cms-lightbox button:focus-visible { opacity: 1; }
.cms-lightbox .cms-lb-close { top: 8px; right: 12px; font-size: 38px; }
.cms-lightbox .cms-lb-prev { left: 12px; top: 50%; transform: translateY(-50%); }
.cms-lightbox .cms-lb-next { right: 12px; top: 50%; transform: translateY(-50%); }
.cms-lightbox .cms-lb-count { position: absolute; bottom: 14px; font: 12px arial, sans-serif; color: #777; }

/* ---- Mapa (Wix GoogleMap) ---- */
#GglMp0 .cms-map { display: block; width: 100%; height: 100%; border: 0; }

/* ---- Kontaktní formulář ---- */
.cms-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
form.cms-form-sent #comp-kf4oa6jg { visibility: visible !important; }
.cms-form-error-msg { font: 13px/1.4 arial, helvetica, sans-serif; color: #c0392b; margin: 0 0 8px; }

/* ---- 404 ---- */
.cms-404 { width: 940px; max-width: calc(100% - 40px); margin: 40px auto 80px; font: 14px/1.6 arial, helvetica, sans-serif; color: #2f2e2e; }
.cms-404 h1 { font: 24px helvetica-w01-light, helvetica-w02-light, arial, sans-serif; margin: 0 0 12px; }

/* ---- Tlačítko "Upravit" pro přihlášeného správce ---- */
.cms-admin-fab { position: fixed; right: 16px; bottom: 16px; z-index: 99999; background: #111b2a; color: #fff !important; font: 600 13px/1 -apple-system, system-ui, sans-serif; padding: 11px 16px; border-radius: 22px; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,.3); }
.cms-admin-fab:hover { background: #c4802b; }

/* =====================================================================
   Mobilní rozložení (< 980 px). Wix měl pro mobil samostatnou verzi, která se nedochovala.
   Desktop zůstává 1:1, na menších displejích se Wix mřížka (mesh) přeskládá do jednoho sloupce.
   Pořadí prvků a poměry stran obrázků generuje _build/build.py do page-*.css a master.css.
   ===================================================================== */
@media (max-width: 979px) {
  :root { --site-width: 100vw; }
  html, body { overflow-x: hidden; }
  #SITE_CONTAINER, #main_MF, #site-root, #masterPage, .site-root, .SITE_PAGES, #SITE_PAGES, #PAGES_CONTAINER { min-width: 0 !important; width: 100% !important; }

  /* mřížka → sloupec */
  [data-mesh-id$="-gridContainer"] { display: flex !important; flex-flow: row wrap; align-items: flex-start; align-content: flex-start; min-height: 0 !important; height: auto !important; }
  [data-mesh-id$="-gridContainer"] > * { flex: 0 0 100%; position: relative !important; left: auto !important; top: auto !important; right: auto !important;
    margin: 0 0 14px !important; width: auto !important; min-width: 0 !important; max-width: 100%; grid-area: auto !important; justify-self: auto !important; align-self: auto !important; }
  [data-mesh-id*="-wedge-"] { display: none !important; }
  [data-mesh-id$="inlineContent"] { height: auto !important; min-height: 0 !important; width: auto !important; }
  .wixui-section, [data-block-level-container] { min-height: 0 !important; min-width: 0 !important; width: 100% !important; height: auto !important; }

  /* obsahové bloky se odsadí od okraje a na tabletu se vycentrují */
  .wixui-section > [data-mesh-id$="inlineContent"],
  #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent"],
  #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent"],
  #soapAfterPagesContainer > [data-mesh-id] { max-width: 720px; margin: 0 auto !important; padding: 0 16px; box-sizing: border-box; }
  .wixui-section > [data-mesh-id$="inlineContent"] { padding-top: 14px; }
  #PAGES_CONTAINER [data-mesh-id$="-gridContainer"] [data-mesh-id$="-gridContainer"] > * { margin-bottom: 10px !important; }
  .wixui-page { left: 0 !important; right: 0 !important; margin: 0 !important; transform: none !important; width: 100% !important; }

  /* obrázky, galerie, mapa: šířka jako originál, max. na celý displej, poměr stran zachován */
  /* (šířky a poměry stran jednotlivých obrázků generuje build do page-*.css) */
  .wixui-image img { width: 100% !important; height: 100% !important; }
  .wixui-image + * { flex-basis: 100%; }

  /* texty: pevné výšky z Wixu zrušit, ať se text nepřekrývá */
  .wixui-rich-text { height: auto !important; min-width: 0; overflow-wrap: anywhere; }
  .wixui-rich-text p, .wixui-rich-text h1, .wixui-rich-text h2, .wixui-rich-text h3, .wixui-rich-text h4, .wixui-rich-text h5, .wixui-rich-text h6 { max-width: 100% !important; }
  .wixui-horizontal-line { width: auto !important; }
  .wixui-box, [class*="wixui-box"] { min-height: 0; }

  /* skryté „SEO“ texty a průhledná tlačítka přes logo nemají na mobilu co dělat */
  #WRchTxt1-zo7, #StBttn0-a4c, .Vq4wYb[id^="StBttn"] { display: none !important; }

  /* hlavička a menu (6 položek ve 3 sloupcích) */
  #SITE_HEADER { height: auto !important; }
  #SITE_HEADER [data-mesh-id="SITE_HEADERinlineContent"] { padding-top: 18px; }
  #DrpDwnMn0 { height: auto !important; margin-bottom: 18px !important; overflow: visible !important; }
  #DrpDwnMn0 nav, #DrpDwnMn0 .CkCpUo { position: static !important; height: auto !important; width: 100% !important; }
  #DrpDwnMn0 .CkCpUo { flex-wrap: wrap; row-gap: 6px; white-space: normal; }
  #DrpDwnMn0 .CkCpUo > li { flex: 1 1 33.333% !important; }
  #DrpDwnMn0 .nzVyrk { padding: 0 4px; }
  #DrpDwnMn0 .xYGmQj { padding: 8px 2px 10px; font-size: 12px; }

  /* patička */
  #SITE_FOOTER { height: auto !important; }
  #SITE_FOOTER [data-mesh-id="SITE_FOOTERinlineContent"] { padding-top: 10px; padding-bottom: 20px; }
  #LnkBr1 { margin-left: auto !important; flex: 0 0 auto !important; }

  /* galerie: ovládání vždy viditelné (na dotyk nejde „najet myší“) */
  .cms-gallery .dfLxYI, .cms-gallery .NqU03H { opacity: 1; }
  .cms-gallery .FaaxtF { padding-right: 70px; }

  /* formulář */
  #comp-kf4oa6ha, #comp-kf4oa6ha .wixui-text-input, #comp-kf4oa6ha .wixui-text-box { width: 100% !important; }
  #comp-kf4oa6ha input, #comp-kf4oa6ha textarea { font-size: 16px !important; } /* iOS nezoomuje při psaní */

  .cms-lightbox button { font-size: 34px; padding: 10px; }
}
@media (max-width: 480px) {
  #DrpDwnMn0 .xYGmQj { font-size: 11px; }
}
