
/* Matrix pouze pro index. Původní HTML a texty zůstávají beze změny. */
#matrixRain{
  position:fixed; inset:0; width:100%; height:100%;
  z-index:-10; background:#010403;
}
.matrix-intro{
  background:#020604; color:#fff; padding:105px 20px 24px; text-align:center;
}
.matrix-intro-shell{width:min(760px,100%);margin:auto}
.matrix-terminal{
  border:1px solid rgba(57,255,145,.38);
  background:rgba(0,10,4,.86);
  box-shadow:0 0 28px rgba(0,232,107,.14);
  overflow:hidden;
}
.matrix-terminal-top{
  height:24px;display:flex;gap:6px;align-items:center;padding:0 10px;
  border-bottom:1px solid rgba(57,255,145,.15)
}
.matrix-terminal-top span{
  width:7px;height:7px;border-radius:50%;background:#177a40
}
.matrix-terminal-line{
  height:92px;display:flex;align-items:center;justify-content:center;padding:16px;
  color:#39ff91;font:700 clamp(25px,5.5vw,50px)/1 "Courier New",monospace;
  text-shadow:0 0 12px rgba(57,255,145,.65)
}
.matrix-terminal .cursor{margin-left:.08em;animation:matrixBlink .7s steps(1) infinite}
@keyframes matrixBlink{50%{opacity:0}}

/* Jemný Matrix nádech pod původním indexem bez zásahu do jeho obsahu */
body{background-color:#020604}
body::before{
  content:"";position:fixed;inset:0;z-index:-9;pointer-events:none;
  background:
    radial-gradient(circle at 50% 12%,rgba(0,232,107,.10),transparent 28%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.20));
}

@media(max-width:760px){
  .matrix-intro{padding-top:86px}
  .matrix-terminal-line{
    height:58px;min-height:58px;padding:10px 7px;
    white-space:nowrap;overflow:hidden;
    font-size:clamp(11px,3.55vw,17px);letter-spacing:0
  }
}

body.matrix-home{font-family:Arial,Helvetica,sans-serif;color:#fff;overflow-x:hidden}.home-shell{width:min(1180px,calc(100% - 34px));margin:auto}
.home-topbar{position:sticky;top:0;z-index:1000;background:rgba(1,5,3,.96);border-bottom:1px solid rgba(57,255,145,.14);backdrop-filter:blur(8px)}.home-nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}.home-brand{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#001b0c;text-decoration:none;font:900 13px/1 "Courier New",monospace}.home-desktop-nav{display:flex;align-items:center;gap:17px}.home-desktop-nav>a,.home-nav-group>button{border:0;background:none;color:#d9ebe0;text-decoration:none;font:700 11px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:8px 0;cursor:pointer}.home-nav-group{position:relative}.home-dropdown{display:none;position:absolute;top:100%;left:0;min-width:235px;padding:8px;background:#020604;border:1px solid rgba(57,255,145,.24);box-shadow:0 16px 40px rgba(0,0,0,.4)}.home-nav-group:hover .home-dropdown,.home-nav-group:focus-within .home-dropdown{display:block}.home-dropdown-right{left:auto;right:0}.home-dropdown a{display:block;padding:10px 12px;color:#d7eadf;text-decoration:none;font-size:13px;border-bottom:1px solid rgba(57,255,145,.10)}.home-menu-button{display:none;width:42px;height:42px;border:1px solid rgba(57,255,145,.32);border-radius:9px;background:#041009;color:#39ff91;font-size:22px}.home-mobile-menu{position:fixed;right:13px;top:68px;z-index:1200;width:min(310px,calc(100vw - 26px));max-height:calc(100vh - 82px);overflow:auto;padding:7px;background:#f5f7f5;border:1px solid #dfe5e1;border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.3);color:#111}.home-mobile-menu>a,.home-mobile-submenu>summary{display:block;padding:11px 12px;text-decoration:none;color:#142018;border-bottom:1px solid #dde4df;font-size:15px;cursor:pointer}.home-mobile-submenu>div{margin:4px 0 7px 12px;padding:5px;background:#020604;border-left:3px solid #39ff91;border-radius:6px}.home-mobile-submenu>div a{display:block;padding:9px 10px 9px 21px;color:#d2e7da;text-decoration:none;font-size:13px}
.home-services{padding:58px 0;background:rgba(2,6,4,.82)}.home-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-service-card{overflow:hidden;border:1px solid rgba(57,255,145,.18);background:#f8faf9;color:#142018;border-radius:18px}.home-service-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.home-service-body{padding:22px}.home-service-title{margin:0 0 9px;font:700 18px/1.2 Georgia,serif;color:#123b27}.home-service-body p{line-height:1.6}.home-service-body a{color:#08783e;font-weight:800}
.home-original-content{background:#f3f6f4;padding:55px 0 80px;color:#142018}.home-content-card{background:#fff;border-radius:22px;border:1px solid #dbe4de;box-shadow:0 18px 55px rgba(0,0,0,.14);padding:clamp(24px,5vw,58px);overflow:hidden}.home-content-card h1,.home-content-card h2,.home-content-card h3,.home-content-card h4{font-family:Georgia,"Times New Roman",serif;color:#123b27;line-height:1.12}.home-content-card h1{font-size:clamp(42px,6vw,70px)}.home-content-card h2{font-size:clamp(28px,4vw,42px);margin:38px 0 14px}.home-content-card h3{font-size:25px;margin:30px 0 12px}.home-content-card h4{font-size:21px;margin:26px 0 10px}.home-content-card p,.home-content-card li{font-size:17px;line-height:1.72;color:#3e4d45}.home-content-card a{color:#08783e;font-weight:700}.home-content-card img{max-width:100%;height:auto;border-radius:16px;display:block;margin:18px auto}.home-content-card blockquote{margin:25px 0;padding:20px;border-left:4px solid #0ab65b;background:#edf8f1}.home-content-card ul{padding-left:24px}#next-stays{padding:18px;border:1px solid #cfe0d5;background:#f4faf6;border-radius:12px;margin-bottom:28px}
.home-footer{padding:38px 0;background:#010302;border-top:1px solid rgba(57,255,145,.13)}.home-footer-grid{display:flex;justify-content:space-between;gap:25px;align-items:center}.home-footer-links{display:flex;gap:16px;flex-wrap:wrap}.home-footer a{color:#cfe0d5;text-decoration:none;font-size:13px}
@media(max-width:900px){.home-desktop-nav{display:none}.home-menu-button{display:block}.home-service-grid{grid-template-columns:1fr}}@media(max-width:760px){.home-shell{width:min(1180px,calc(100% - 26px))}.home-original-content{padding:30px 0 52px}.home-content-card{padding:22px 18px}.home-content-card p,.home-content-card li{font-size:16px}.home-footer-grid{display:block}.home-footer-links{margin-top:18px}}


/* =========================================================
   v4 MENU
   Desktop: klasické horizontální menu jako dříve.
   Mobil: hamburger + samostatné tmavé "glass" menu.
   ========================================================= */

/* Desktop */
@media (min-width:761px){
  .home-desktop-nav{
    display:flex !important;
    align-items:center;
    gap:17px;
  }

  .home-menu-button{
    display:none !important;
  }

  .home-mobile-menu{
    display:none !important;
  }
}

/* Mobil */
@media (max-width:760px){
  .home-desktop-nav{
    display:none !important;
  }

  .home-menu-button{
    display:grid !important;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid rgba(57,255,145,.40);
    border-radius:11px;
    background:
      linear-gradient(180deg,rgba(5,26,14,.92),rgba(1,10,5,.98));
    color:#39ff91;
    font-size:24px;
    box-shadow:
      0 0 18px rgba(57,255,145,.10),
      inset 0 0 18px rgba(57,255,145,.035);
  }

  .home-mobile-menu{
    position:fixed;
    top:70px;
    right:13px;
    z-index:1200;

    width:min(325px,calc(100vw - 26px));
    max-height:calc(100vh - 84px);
    overflow:auto;

    padding:9px;
    border:1px solid rgba(57,255,145,.30);
    border-radius:14px;

    background:
      radial-gradient(circle at 85% 0%,rgba(57,255,145,.14),transparent 34%),
      linear-gradient(145deg,rgba(3,22,12,.98),rgba(0,6,3,.985) 56%,rgba(4,17,10,.985));

    box-shadow:
      0 24px 60px rgba(0,0,0,.58),
      0 0 28px rgba(0,232,107,.10),
      inset 0 0 36px rgba(57,255,145,.025);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .home-mobile-menu::before{
    content:"MENU / TMA SEMILY";
    display:block;
    padding:8px 10px 10px;
    margin-bottom:5px;
    color:rgba(114,255,174,.72);
    border-bottom:1px solid rgba(57,255,145,.16);
    font:700 9px/1 "Courier New",monospace;
    letter-spacing:.18em;
  }

  .home-mobile-menu > a,
  .home-mobile-submenu > summary{
    display:block;
    margin:4px 0;
    padding:12px 13px;

    color:#ecf7f0;
    background:
      linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
    border:1px solid rgba(255,255,255,.045);
    border-left:2px solid rgba(57,255,145,.24);
    border-radius:8px;

    text-decoration:none;
    font-size:14px;
    font-weight:700;
    line-height:1.2;

    transition:
      background .18s ease,
      border-color .18s ease,
      transform .18s ease;
  }

  .home-mobile-menu > a:hover,
  .home-mobile-menu > a:focus,
  .home-mobile-submenu > summary:hover,
  .home-mobile-submenu > summary:focus{
    background:rgba(57,255,145,.095);
    border-left-color:#39ff91;
    color:#fff;
    transform:translateX(2px);
  }

  .home-mobile-submenu{
    margin:4px 0;
  }

  .home-mobile-submenu > summary{
    list-style:none;
    cursor:pointer;
  }

  .home-mobile-submenu > summary::-webkit-details-marker{
    display:none;
  }

  .home-mobile-submenu > summary::after{
    content:"+";
    float:right;
    color:#39ff91;
    font:700 16px/1 "Courier New",monospace;
  }

  .home-mobile-submenu[open] > summary::after{
    content:"−";
  }

  .home-mobile-submenu > div{
    margin:5px 3px 8px 14px;
    padding:6px;
    border:1px solid rgba(57,255,145,.16);
    border-left:3px solid rgba(57,255,145,.58);
    border-radius:8px;

    background:
      linear-gradient(180deg,#010503,#040b07);
  }

  .home-mobile-submenu > div a{
    position:relative;
    display:block;
    padding:9px 9px 9px 21px;

    color:#cfe4d6;
    background:transparent;
    border:0;
    border-bottom:1px solid rgba(57,255,145,.10);

    text-decoration:none;
    font-size:13px;
    line-height:1.25;
  }

  .home-mobile-submenu > div a:last-child{
    border-bottom:0;
  }

  .home-mobile-submenu > div a::before{
    content:">";
    position:absolute;
    left:7px;
    color:#39ff91;
    font-family:"Courier New",monospace;
  }

  .home-mobile-submenu > div a:hover,
  .home-mobile-submenu > div a:focus{
    color:#fff;
    background:rgba(57,255,145,.055);
  }
}


/* v6 – texty v kartách musí být vždy viditelné i přes původní Sitely CSS */
.home-service-body{
  padding:22px !important;
  font-size:16px !important;
}

.home-service-body .home-service-title{
  display:block !important;
  margin:0 0 10px !important;
  color:#123b27 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:21px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}

.home-service-body > p:not(.home-service-title){
  display:block !important;
  margin:0 0 14px !important;
  color:#3e4d45 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.55 !important;
}

.home-service-body > a{
  display:inline-block !important;
  margin-top:2px !important;
  padding:8px 11px !important;
  border:1px solid #bddbc9 !important;
  border-radius:8px !important;
  background:#edf8f1 !important;
  color:#08783e !important;
  text-decoration:none !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

.home-service-body > a:hover,
.home-service-body > a:focus{
  background:#dff2e7 !important;
  border-color:#8bc9a4 !important;
}

.home-content-card ul{list-style:disc;padding-left:1.4em}.home-content-card ol{list-style:decimal;padding-left:1.4em}


/* =========================================================
   v8 – přehlednější typografie hlavní stránky + galerie setkání
   ========================================================= */

.home-content-card{
  max-width:1040px;
}

.home-content-card > p{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}

.home-content-card > h1,
.home-content-card > h2,
.home-content-card > h3,
.home-content-card > h4{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

.event-kicker{
  margin-top:12px !important;
  margin-bottom:12px !important;
  padding:8px 12px !important;
  width:max-content;
  max-width:100% !important;
  border:1px solid #b8dbc7;
  border-radius:999px;
  background:#edf8f1;
  color:#08783e !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.event-description{
  margin-top:18px !important;
  margin-bottom:26px !important;
  font-size:18px !important;
  line-height:1.72 !important;
}

.event-gallery{
  display:grid;
  grid-template-columns:1.35fr .82fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
  max-width:920px;
  margin:26px auto 44px;
}

.event-gallery-item{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:16px;
  background:#07110b;
  box-shadow:0 12px 30px rgba(0,0,0,.15);
}

.event-gallery-item-1{
  grid-row:1 / 3;
}

.event-gallery picture,
.event-gallery img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
}

.event-gallery img{
  min-height:220px;
  object-fit:cover !important;
  border-radius:0 !important;
  transition:transform .35s ease;
}

.event-gallery-item:hover img{
  transform:scale(1.025);
}

.home-text-subhead{
  max-width:860px !important;
  margin:30px auto 12px !important;
  color:#143a27 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

.home-text-panel{
  max-width:920px;
  margin:42px auto;
  padding:28px clamp(20px,4vw,38px);
  border:1px solid #d6e5dc;
  border-radius:18px;
  background:
    linear-gradient(145deg,#f8fbf9,#edf6f0);
  box-shadow:0 12px 30px rgba(20,58,39,.07);
}

.home-text-panel h2{
  margin-top:0 !important;
}

.home-text-panel p{
  max-width:none !important;
}

.home-bullet-line{
  position:relative;
  max-width:860px !important;
  margin:8px auto !important;
  padding:11px 14px 11px 18px !important;
  border-left:3px solid #7bc398;
  background:#f7faf8;
  border-radius:0 9px 9px 0;
}

.home-content-card h2{
  position:relative;
  padding-top:13px;
}

.home-content-card h2::before{
  content:"";
  display:block;
  width:44px;
  height:3px;
  margin-bottom:13px;
  border-radius:99px;
  background:#0ab65b;
}

@media(max-width:760px){
  .event-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:8px;
    margin:20px auto 34px;
  }

  .event-gallery-item-1{
    grid-column:1 / 3;
    grid-row:auto;
  }

  .event-gallery-item-1 img{
    aspect-ratio:16/10;
  }

  .event-gallery-item-2 img,
  .event-gallery-item-3 img{
    aspect-ratio:1/1;
    min-height:0;
  }

  .event-description{
    font-size:16px !important;
  }

  .home-text-subhead{
    font-size:18px !important;
  }

  .home-text-panel{
    margin:30px 0;
    padding:20px 17px;
  }
}


/* =========================================================
   v9 – spodní fotky jako jednotná galerie
   ========================================================= */
.home-bottom-gallery{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr;
  grid-template-rows:235px 235px;
  gap:12px;
  max-width:940px;
  margin:52px auto 8px;
}

.home-bottom-gallery-item{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:16px;
  background:#07110b;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.home-bottom-gallery-item-1{
  grid-row:1 / 3;
}

.home-bottom-gallery-item a,
.home-bottom-gallery-item picture{
  display:block;
  width:100%;
  height:100%;
}

.home-bottom-gallery-item img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  object-fit:cover !important;
  transition:transform .35s ease, filter .35s ease;
}

.home-bottom-gallery-item:hover img{
  transform:scale(1.025);
  filter:brightness(1.035);
}

/* portrétní fotografie – víc prostoru na postavy */
.home-bottom-gallery-item-3 img{
  object-position:center 38% !important;
}

@media(max-width:760px){
  .home-bottom-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    gap:8px;
    margin:36px auto 4px;
  }

  .home-bottom-gallery-item{
    aspect-ratio:1/1;
  }

  .home-bottom-gallery-item-1{
    grid-column:1 / 3;
    grid-row:auto;
    aspect-ratio:16/10;
  }

  .home-bottom-gallery-item-5{
    grid-column:1 / 3;
    aspect-ratio:16/9;
  }
}


/* v15 – plná navigace ve footeru */
.site-footer-rich{padding:44px 0 18px!important}
.footer-rich-grid{
  display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:28px;
  align-items:start;
}
.footer-rich-brand strong,.footer-rich-col>strong{
  display:block;margin-bottom:12px;color:#fff;font-size:14px;letter-spacing:.04em
}
.footer-rich-brand p{max-width:230px;margin:10px 0 0;color:rgba(255,255,255,.65);font-size:13px;line-height:1.55}
.footer-rich-logo{
  display:grid;width:42px;height:42px;place-items:center;margin-bottom:14px;border:1px solid rgba(118,255,165,.45);
  border-radius:10px;color:#83f5ac!important;text-decoration:none!important;font-weight:900
}
.footer-rich-col{display:flex;flex-direction:column;gap:8px}
.footer-rich-col a{color:rgba(255,255,255,.72)!important;text-decoration:none!important;font-size:13px}
.footer-rich-col a:hover{color:#9ef6bc!important}
.footer-rich-action .footer-button{
  display:inline-flex!important;width:max-content;padding:9px 12px;border-radius:9px;
  background:#1b6b3b;color:#fff!important;font-weight:800
}
.footer-rich-bottom{
  display:flex;gap:16px;align-items:center;margin-top:30px;padding-top:15px;
  border-top:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.48);font-size:12px
}
.footer-rich-bottom a{color:rgba(255,255,255,.55)!important;text-decoration:none!important}
@media(max-width:980px){.footer-rich-grid{grid-template-columns:1fr 1fr 1fr}.footer-rich-brand{grid-column:1/-1}}
@media(max-width:620px){.footer-rich-grid{grid-template-columns:1fr 1fr;gap:24px 18px}.footer-rich-brand{grid-column:1/-1}.footer-rich-bottom{flex-wrap:wrap}}


/* v25 – úvod homepage: 2 sekundy pouze terminál uprostřed */
html.home-intro-active body.matrix-home{
  overflow:hidden;
  background:#020603;
}

html.home-intro-active:not(.home-intro-done) body.matrix-home > *:not(.matrix-intro):not(script){
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-intro{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  width:100%!important;
  min-height:100%!important;
  height:100%!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#020603!important;
}

html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-intro .home-shell{
  width:min(760px,92vw)!important;
  margin:0 auto!important;
}

html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-terminal{
  width:100%!important;
  margin:0!important;
  box-shadow:0 0 58px rgba(0,255,102,.12)!important;
}

html.home-intro-active.home-intro-done body.matrix-home > *:not(script){
  animation:v25HomeReveal .60s ease both;
}

@keyframes v25HomeReveal{
  from{opacity:0}
  to{opacity:1}
}

@media(prefers-reduced-motion:reduce){
  html.home-intro-active.home-intro-done body.matrix-home > *:not(script){
    animation:none!important;
  }
}


/* v26 – intro 3 sekundy, Matrix rain zůstává viditelný */
html.home-intro-active:not(.home-intro-done) body.matrix-home #matrixRain{
  visibility:visible!important;
  opacity:1!important;
  z-index:99990!important;
}
html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-intro{
  background:transparent!important;
  z-index:99999!important;
}


/* v27 – menší terminál během 3s intra, aby byl Matrix rain lépe vidět */
html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-intro .home-shell{
  width:min(560px,82vw)!important;
}

html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-terminal{
  width:100%!important;
  max-width:560px!important;
  min-height:0!important;
  padding:18px 20px!important;
  margin:0 auto!important;
}

@media(max-width:620px){
  html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-intro .home-shell{
    width:min(88vw,500px)!important;
  }
  html.home-intro-active:not(.home-intro-done) body.matrix-home .matrix-terminal{
    max-width:500px!important;
    padding:16px 16px!important;
  }
}


/* v28 – po intru terminál ustoupí do pozadí a není dominantní */
html:not(.home-intro-active) body.matrix-home .matrix-intro-shell{
  width:min(480px,82vw)!important;
}

html:not(.home-intro-active) body.matrix-home .matrix-terminal{
  max-width:480px!important;
  margin:0 auto!important;
  box-shadow:0 0 18px rgba(0,232,107,.09)!important;
}

html:not(.home-intro-active) body.matrix-home .matrix-terminal-top{
  height:20px!important;
  padding:0 8px!important;
}

html:not(.home-intro-active) body.matrix-home .matrix-terminal-top span{
  width:6px!important;
  height:6px!important;
}

html:not(.home-intro-active) body.matrix-home .matrix-terminal-line{
  height:58px!important;
  min-height:58px!important;
  padding:10px 14px!important;
  font-size:clamp(21px,3.2vw,31px)!important;
  text-shadow:0 0 8px rgba(57,255,145,.42)!important;
}

html:not(.home-intro-active) body.matrix-home .matrix-intro{
  padding-top:82px!important;
  padding-bottom:18px!important;
}

@media(max-width:620px){
  html:not(.home-intro-active) body.matrix-home .matrix-intro-shell{
    width:min(430px,86vw)!important;
  }
  html:not(.home-intro-active) body.matrix-home .matrix-terminal{
    max-width:430px!important;
  }
  html:not(.home-intro-active) body.matrix-home .matrix-terminal-line{
    height:52px!important;
    min-height:52px!important;
    font-size:clamp(19px,6vw,27px)!important;
  }
}


/* v29 – po intru je Matrix rain vidět i kolem terminálu a menu */
html:not(.home-intro-active) body.matrix-home .matrix-intro{
  background:rgba(2,6,4,.34)!important;
  padding-top:46px!important;
  padding-bottom:14px!important;
}

html:not(.home-intro-active) body.matrix-home .home-topbar{
  background:rgba(1,5,3,.70)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}

/* Horní část má jen jemný tmavý závoj, ne plnou černou plochu. */
html:not(.home-intro-active) body.matrix-home .matrix-intro::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 45%,rgba(0,232,107,.055),transparent 42%),
    linear-gradient(180deg,rgba(0,5,2,.10),rgba(0,5,2,.24));
}

html:not(.home-intro-active) body.matrix-home .matrix-intro{
  position:relative;
  isolation:isolate;
}

/* Samotný terminál zůstává dobře čitelný, ale jeho okolí je průhlednější. */
html:not(.home-intro-active) body.matrix-home .matrix-terminal{
  background:rgba(0,10,4,.78)!important;
}

@media(max-width:620px){
  html:not(.home-intro-active) body.matrix-home .matrix-intro{
    padding-top:34px!important;
    padding-bottom:12px!important;
  }
  html:not(.home-intro-active) body.matrix-home .home-topbar{
    background:rgba(1,5,3,.76)!important;
  }
}


/* v35 – malá dlaždice Nejbližší volné termíny */
.next-terms-strip{
  position:relative;
  z-index:8;
  background:transparent;
  padding:18px 0 4px;
}
.next-terms-tile{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  width:min(480px,100%);
  margin:0 auto;
  padding:13px 15px;
  border:1px solid rgba(57,255,145,.27);
  border-radius:16px;
  background:rgba(3,18,10,.78);
  box-shadow:0 12px 28px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.015);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  color:#ecfff3!important;
  text-decoration:none!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.next-terms-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(57,255,145,.55);
  background:rgba(4,26,14,.88);
}
.next-terms-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#dff7e8;
  color:#0b3b24;
  font-weight:900;
  font-size:18px;
}
.next-terms-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.next-terms-copy small{
  color:#62e897;
  font:800 10px/1.2 "Courier New",monospace;
  letter-spacing:.16em;
}
.next-terms-copy strong{
  color:#fff;
  font:700 17px/1.2 Georgia,"Times New Roman",serif;
}
.next-terms-copy span{
  color:rgba(235,255,243,.68);
  font:600 12px/1.3 Arial,Helvetica,sans-serif;
}
.next-terms-arrow{
  color:#64ef9a;
  font-size:22px;
  transition:transform .18s ease;
}
.next-terms-tile:hover .next-terms-arrow{transform:translateX(3px)}

@media(max-width:620px){
  .next-terms-strip{padding:12px 0 2px}
  .next-terms-tile{
    width:min(92vw,440px);
    padding:11px 12px;
  }
  .next-terms-copy strong{font-size:15px}
  .next-terms-copy span{font-size:11px}
}


/* v36 – skutečné logo místo kolečka 01 na indexu */
.home-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  padding:4px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid rgba(57,255,145,.18)!important;
  overflow:hidden!important;
  box-shadow:0 0 18px rgba(57,255,145,.08)!important;
}
.home-brand img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:8px!important;
}
.home-nav{
  min-height:70px!important;
}
@media(max-width:760px){
  .home-brand{
    width:52px!important;
    height:52px!important;
    flex-basis:52px!important;
  }
  .home-nav{min-height:64px!important}
}


/* v37 – TMA SEMILY FENG SHUI přesně uprostřed headeru */
.home-nav{
  position:relative!important;
}
.home-nav .header-center-title{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:8;
  pointer-events:none;
  white-space:nowrap;
  color:#f3fff7;
  font:800 13px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-shadow:0 0 10px rgba(57,255,145,.18);
}
@media(max-width:760px){
  .home-nav .header-center-title{
    font-size:11px;
    letter-spacing:.11em;
  }
}
@media(max-width:420px){
  .home-nav .header-center-title{
    font-size:10px;
    letter-spacing:.08em;
  }
}

.home-topbar .home-shell,
.home-topbar .matrix-shell,
.home-topbar > div{
  position:relative;
}
.header-center-title-home-fallback{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:8;
  pointer-events:none;
  white-space:nowrap;
  color:#f3fff7;
  font:800 13px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .header-center-title-home-fallback{
    font-size:11px;
    letter-spacing:.11em;
  }
}


/* v38 – živá dlaždice nejbližších volných termínů */
.next-terms-strip-live{
  position:relative;
  z-index:8;
  padding:22px 0 8px;
  background:transparent;
}
.next-terms-card{
  width:min(520px,100%);
  margin:0 auto;
  padding:22px;
  border-radius:24px;
  border:1px solid rgba(57,255,145,.34);
  background:rgba(246,252,248,.96);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.next-terms-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:14px;
}
.next-terms-status{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:#0d6e4f;
  font:800 11px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.14em;
}
.next-terms-status span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#2bb77e;
  box-shadow:0 0 0 5px rgba(43,183,126,.12);
}
.next-terms-card h2{
  margin:0!important;
  color:#1b221e!important;
  font:400 31px/1.05 Georgia,"Times New Roman",serif!important;
}
.next-terms-live{
  display:grid;
  gap:9px;
  margin:0 0 16px;
  color:#203029;
}
.next-terms-loading,
.next-terms-error{
  padding:14px 15px;
  border:1px solid #cfe5da;
  border-radius:15px;
  background:#f2f8f5;
  color:#476056;
  font:700 13px/1.45 Arial,Helvetica,sans-serif;
}

/* Stylování HTML vráceného public-next-stays.php – funguje i když endpoint používá vlastní obal. */
.next-terms-live > *{
  max-width:100%!important;
}
.next-terms-live div,
.next-terms-live p{
  box-sizing:border-box;
}
.next-terms-live a{
  color:#0d6e4f;
  font-weight:800;
}

/* nejčastější struktury z endpointu */
.next-terms-live .stay,
.next-terms-live .next-stay,
.next-terms-live .cabin,
.next-terms-live .term,
.next-terms-live > div:not(.next-terms-loading):not(.next-terms-error){
  padding:12px 14px!important;
  border:1px solid #cfe5da!important;
  border-radius:15px!important;
  background:#f1f7f4!important;
  color:#1d2c25!important;
  box-shadow:none!important;
  margin:0!important;
}
.next-terms-live strong,
.next-terms-live b{
  color:#17251f!important;
}
.next-terms-reserve{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  width:100%;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:#218f77;
  color:#fff!important;
  text-decoration:none!important;
  font:800 13px/1 Arial,Helvetica,sans-serif;
  box-shadow:0 12px 24px rgba(33,143,119,.18);
  transition:transform .18s ease,background .18s ease;
}
.next-terms-reserve:hover{
  transform:translateY(-1px);
  background:#187761;
}

@media(max-width:620px){
  .next-terms-strip-live{padding:14px 0 4px}
  .next-terms-card{
    width:min(92vw,500px);
    padding:18px 16px;
    border-radius:20px;
  }
  .next-terms-card h2{font-size:27px!important}
  .next-terms-live .stay,
  .next-terms-live .next-stay,
  .next-terms-live .cabin,
  .next-terms-live .term,
  .next-terms-live > div:not(.next-terms-loading):not(.next-terms-error){
    padding:11px 12px!important;
  }
}


/* v39 – u nejbližších termínů zůstává jen samotný obsah dlaždice */
.next-terms-card{
  padding:14px!important;
}
.next-terms-live{
  margin:0!important;
}
.next-terms-heading,
.next-terms-reserve{
  display:none!important;
}
@media(max-width:620px){
  .next-terms-card{
    padding:10px!important;
  }
}


/* v40 – pevné omezení loga v headeru, hlavně Safari/iPhone */
.home-brand,
.matrix-brand{
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  flex:0 0 56px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.home-brand img,
.matrix-brand img{
  display:block!important;
  width:48px!important;
  height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .home-brand,
  .matrix-brand{
    width:50px!important;
    height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    flex-basis:50px!important;
  }
  .home-brand img,
  .matrix-brand img{
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
  }
}


/* v41 – TMA SEMILY FENG SHUI jen v mobilním headeru */
.header-center-title,
.header-center-title-home-fallback{
  display:none!important;
}

@media(max-width:760px){
  .header-center-title,
  .header-center-title-home-fallback{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    z-index:20!important;
  }
}
