/* ============================================================
   site.css — sdílené komponenty napříč všemi stránkami
   (nav, patička, tlačítka, kostra podstránky)
   Načítá se po main.css, před loader.css.
   ============================================================ */

/* Atribut `hidden` musí vyhrát nad našimi třídami. Prohlížeč ho nastavuje
   jen jako `[hidden]{display:none}` v UA stylu, takže ho každé naše
   `display:flex` / `display:block` přebilo a "skryté" prvky byly vidět. */
[hidden]{display:none !important;}

/* ---------- přepínání desktop / mobil na podstránkách ----------
   (na rozdíl od [data-desktop]/[data-mobile] na homepage nepřepisuje display,
   takže prvek si drží vlastní flex/grid) */
@media (max-width:860px){ .mg-only-d{display:none !important;} }
@media (min-width:861px){ .mg-only-m{display:none !important;} }

/* ---------- tlačítka se skewem ---------- */
/* background:transparent ruší světlou výplň, kterou <button> dostává od prohlížeče;
   modifikátory níž si ji přepíšou na svou barvu */
.mg-btn{display:inline-block;background:transparent;border:0;font:italic 700 19px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px;padding:12px 24px;transform:skewX(-8deg);transition:background .25s ease,transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.mg-btn>span{display:inline-block;transform:skewX(8deg);white-space:nowrap;}
.mg-btn--dark{background:#101113;color:#fff;}
.mg-btn--dark:hover{background:#D2232E;color:#fff;}
.mg-btn--red{background:#D2232E;color:#fff;box-shadow:0 12px 30px rgba(210,35,46,.3);}
.mg-btn--red:hover{background:#b81c26;color:#fff;transform:skewX(-8deg) translateY(-3px);box-shadow:0 16px 38px rgba(210,35,46,.4);}
/* výplň musí být na základní třídě, ne na `button.mg-btn` — ten má vyšší
   specificitu a přebil by ji i modifikátorům --red / --dark */
button.mg-btn{cursor:pointer;font-family:inherit;}
.mg-btn--ghost{border:2px solid #fff;color:#fff;}
.mg-btn--ghost:hover{background:#D2232E;border-color:#D2232E;color:#fff;transform:skewX(-8deg) translateY(-3px);}
.mg-btn--md{font-size:21px;padding:15px 32px;}
.mg-btn--lg{font-size:23px;padding:15px 34px;}
.mg-btn--block{display:flex;align-items:center;justify-content:center;height:50px;font-size:20px;padding:0;}

/* ---------- nav desktop ---------- */
.mg-nav{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #E4E4E1;padding:0 48px;height:88px;position:sticky;top:0;z-index:5;}
.mg-nav__brand{display:flex;flex-direction:column;justify-content:center;line-height:1;}
.mg-nav__logo{height:170px;width:auto;object-fit:contain;margin-bottom:-26px;}
/* prázdný řádek pod logem — drží logo ve stejné výšce na všech stránkách;
   bez něj se ve flex-column vycentruje a sedí o pár px níž */
.mg-nav__sub{font:500 11px 'Barlow',sans-serif;color:#8a8d90;letter-spacing:.4px;position:relative;top:-14px;padding-left:6px;}
.mg-nav__links{display:flex;align-items:center;gap:32px;}
.mg-nav__link{color:#101113;font:600 15px 'Barlow',sans-serif;letter-spacing:.5px;white-space:nowrap;}
/* mezi mobilním breakpointem (860) a ~1180 px se do lišty nevejde 6 položek
   plus telefon — text se lámal do dvou řádků, tak se tu všechno stáhne */
@media (max-width:1180px){
  .mg-nav{padding:0 24px;}
  .mg-nav__logo{height:132px;margin-bottom:-20px;}
  .mg-nav__links{gap:17px;}
  .mg-nav__link{font-size:13.5px;letter-spacing:.2px;}
  .mg-nav .mg-btn{font-size:17px;padding:10px 16px;}
}
.mg-nav__link[aria-current="page"]{color:#D2232E;}
/* logo v navu nemá dostávat červené podtržení jako ostatní odkazy */
nav a.mg-nav__brand::after,nav a.mg-navm__brand::after{display:none;}
/* odkaz zpět na rozcestník služeb — vizuálně odlišený od kotev na této stránce */
.mg-nav__link--up{color:#8a8d90;}
.mg-nav__link--up:hover{color:#D2232E;}

/* Záložní odsazení kotev pro případ, že neběží JS. Při zapnutém JS si main.js
   nastavuje scroll-margin-top inline podle skutečné výšky lišty (ta se scrollem
   mění z 88 na 60 px, takže jedna pevná hodnota nikdy nesedí přesně). */
section[id],header[id],div[id]{scroll-margin-top:84px;}
@media (max-width:860px){ section[id],header[id],div[id]{scroll-margin-top:88px;} }

/* ---------- nav mobil ---------- */
.mg-navm{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #E4E4E1;padding:0 16px;height:64px;position:sticky;top:0;z-index:6;}
.mg-navm__brand{display:flex;align-items:center;min-width:0;}
.mg-navm__logo{height:110px;width:auto;object-fit:contain;margin-left:-8px;}
.mg-navm__link--up{color:#8a8d90;}
.mg-navm__actions{display:flex;align-items:center;gap:10px;}
.mg-navm__call{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#D2232E;color:#fff;transform:skewX(-8deg);}
.mg-navm__call svg{transform:skewX(8deg);}
.mg-navm__burger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid #E4E4E1;}
.mg-navm__burger span{width:20px;height:2px;background:#101113;}
.mg-navm__panel{position:fixed;left:0;right:0;top:64px;bottom:0;background:#fff;border-bottom:1px solid #E4E4E1;box-shadow:0 24px 40px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow-y:auto;z-index:7;}
.mg-navm__link{display:flex;align-items:center;min-height:50px;padding:0 20px;border-bottom:1px solid #F0F0EE;color:#101113;font:600 16px 'Barlow',sans-serif;}
.mg-navm__link[aria-current="page"]{color:#D2232E;}
.mg-navm__cta{padding:14px 20px 18px;}

/* ---------- patička desktop ---------- */
.mg-footer{background:#0b0c0d;color:#9a9da1;padding:48px 48px 28px;}
.mg-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;align-items:start;max-width:1600px;margin:0 auto;}
.mg-footer__col{display:flex;flex-direction:column;gap:9px;}
.mg-footer__logo{height:150px;width:150px;object-fit:contain;margin:-40px 0 -34px -14px;}
.mg-footer__tag{font:400 14.5px/1.55 'Barlow',sans-serif;}
.mg-footer__h{font:600 15px 'Barlow',sans-serif;color:#fff;}
.mg-footer__link{color:#9a9da1;font:400 14.5px 'Barlow',sans-serif;}
.mg-footer__link--strong{color:#fff;font:600 14.5px 'Barlow',sans-serif;}
.mg-footer__txt{font:400 14.5px 'Barlow',sans-serif;}
.mg-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid #1d1f22;margin-top:30px;padding-top:16px;font:400 13px 'Barlow',sans-serif;color:#5a5d61;}
.mg-footer__bottom a{color:#5a5d61;}

/* ---------- patička mobil ---------- */
.mg-footerm{background:#0b0c0d;color:#9a9da1;padding:36px 20px 24px;}
.mg-footerm__wrap{display:flex;flex-direction:column;gap:22px;}
.mg-footerm__logo{height:110px;width:110px;object-fit:contain;margin:-28px 0 -24px -10px;}
.mg-footerm__tag{font:400 13.5px/1.55 'Barlow',sans-serif;}
.mg-footerm__cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.mg-footerm__col{display:flex;flex-direction:column;gap:8px;}
.mg-footerm__h{font:600 14px 'Barlow',sans-serif;color:#fff;}
.mg-footerm__link{color:#9a9da1;font:400 13.5px 'Barlow',sans-serif;}
.mg-footerm__link--strong{color:#fff;font:600 13.5px 'Barlow',sans-serif;}
.mg-footerm__txt{font:400 13.5px 'Barlow',sans-serif;}
.mg-footerm__bottom{display:flex;flex-direction:column;gap:6px;border-top:1px solid #1d1f22;padding-top:14px;font:400 12px/1.5 'Barlow',sans-serif;color:#5a5d61;}
.mg-footerm__bottom a{color:#5a5d61;}

/* ---------- sociální ikony (sdílené) ---------- */
.mg-soc{display:flex;gap:10px;}
.mg-soc a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #2a2c2f;color:#c3c6c9;transition:border-color .25s ease,color .25s ease,transform .25s ease;}
.mg-soc a:hover{border-color:#D2232E;color:#fff;transform:translateY(-3px);}
.mg-soc--lg{gap:11px;}
.mg-soc--lg a{width:46px;height:46px;}
.mg-soc--m a{width:44px;height:44px;}

/* ============================================================
   KOSTRA PODSTRÁNKY
   ============================================================ */

/* Obsah podstránky stojí v JEDNOM sloupci, který je vycentrovaný na obrazovce.
   Dřív měl každý blok (text 820, tabulka 980, before/after 1100…) vlastní max-width
   uvnitř wrapu širokého 1600 — všechno se pak lepilo k levému okraji a stránka
   vypadala rozházeně. Teď má sloupec jednu šířku a bloky ho vyplňují celý. */
.mg-wrap{max-width:1200px;margin:0 auto;}
.mg-wrap--wide{max-width:1600px;margin:0 auto;}

/* drobečková navigace */
.mg-crumbs{display:flex;align-items:center;gap:9px;font:500 13px 'Barlow',sans-serif;color:#8a8d90;letter-spacing:.4px;}
.mg-crumbs a{color:#8a8d90;}
.mg-crumbs a:hover{color:#D2232E;}
.mg-crumbs span{color:#c9cbce;}

/* hero podstránky — tmavý pruh s fotkou na pozadí */
.mg-phero{position:relative;overflow:hidden;background:#101113;color:#fff;padding:64px 48px 72px;}
/* Diagonální textura tmavých ploch — jeden zdroj pro celou podstránku.
   Vychází ze vzoru z homepage (115°, bílé linky na tmavém), jen je zvětšená:
   silnější linka a výrazně větší rozestup, aby plocha nebyla tak rozčeřená.
   Homepage má zatím původní hustou variantu (2px / 26px). */
.mg-tex{position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.030) 0 3px,transparent 3px 68px);}
.mg-phero__in{position:relative;z-index:2;}
.mg-phero__kicker{display:inline-block;font:600 13px 'Barlow',sans-serif;letter-spacing:3px;color:#D2232E;margin-bottom:14px;}
.mg-phero__h1{font:italic 900 84px/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-1px;margin:0 0 18px;}
.mg-phero__lead{font:400 21px/1.6 'Barlow',sans-serif;color:#d7d9db;max-width:820px;margin:0 0 30px;}
.mg-phero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
/* plný červený klín vpravo — bez průhlednosti */
.mg-phero__accent{position:absolute;top:0;right:0;bottom:0;width:340px;background:linear-gradient(#D2232E,#8f141c);transform:skewX(-18deg) translateX(110px);pointer-events:none;}

/* nadpis sekce (červená patka jako na homepage) */
/* position:relative je nutné — bez něj se .mg-tex uvnitř sekce neukotví k sekci,
   ale k celé stránce, a textura se objeví jen v horním pruhu */
.mg-sec{position:relative;overflow:hidden;padding:78px 48px;}
.mg-sec--alt{background:#F7F7F5;}
.mg-sec--dark{background:#101113;color:#fff;}
.mg-sec__label{display:block;font:600 13px 'Barlow',sans-serif;letter-spacing:3px;color:#D2232E;margin-bottom:10px;}
.mg-sec__h2{font:italic 900 56px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.5px;margin:0 0 34px;}
.mg-sec--dark .mg-sec__h2{color:#fff;}

/* běžný text */
.mg-prose p{font:400 17.5px/1.75 'Barlow',sans-serif;color:#3d4045;margin:0 0 18px;}
.mg-sec--dark .mg-prose p{color:#c3c6c9;}
.mg-prose strong{color:#101113;font-weight:600;}
.mg-sec--dark .mg-prose strong{color:#fff;}

/* ============================================================
   SLIDESHOW POSTUPU ("jak to u nás probíhá")
   Překlikávací kroky; autoplay se rozjede až když sekce doscrolluje
   do záběru (řídí main.js přes IntersectionObserver).
   ============================================================ */
.mg-slides{position:relative;}

/* --- jeviště --- */
.mg-slides__stage{position:relative;min-height:620px;border:1px solid #26292c;background:#0e1012;overflow:hidden;}
.mg-slides__slide{position:absolute;inset:0;display:grid;grid-template-columns:1.18fr .82fr;
  opacity:0;pointer-events:none;transition:opacity .5s ease;}
.mg-slides__slide.is-active{opacity:1;pointer-events:auto;}

/* obrazová část — zatím bez fotek, drží ji přechod s obřím duchem čísla kroku */
.mg-slides__media{position:relative;overflow:hidden;background:linear-gradient(150deg,#34383d,#1b1e21);}
.mg-slides__media img{width:100%;height:100%;object-fit:cover;display:block;}
/* číslo přetéká přes horní hranu obrazu */
.mg-slides__ph{position:absolute;left:-.05em;top:-.14em;
  font:italic 900 clamp(150px,19vw,330px)/.8 'Barlow Condensed',sans-serif;color:rgba(255,255,255,.055);
  pointer-events:none;user-select:none;}
/* mřížka přes obraz, ať plocha nevypadá prázdně */
.mg-slides__media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 3px,transparent 3px 68px);}

/* textová část — její tmavý panel se šikmo zakusuje do obrazu (stejný sklon jako tlačítka) */
.mg-slides__body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;
  background:#141618;margin-left:-78px;padding:52px 54px 52px 116px;
  clip-path:polygon(78px 0,100% 0,100% 100%,0 100%);}
.mg-slides__kicker{display:block;font:600 13px 'Barlow',sans-serif;letter-spacing:3px;color:#D2232E;}
.mg-slides__h{font:italic 900 52px/.98 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:-.5px;
  color:#fff;margin:16px 0 0;}
.mg-slides__rule{display:block;height:3px;width:64px;background:#D2232E;transform-origin:left;margin:20px 0 22px;}
.mg-slides__t{font:400 18px/1.8 'Barlow',sans-serif;color:#9a9da1;margin:0;}

/* --- nábeh obsahu --- */
.mg-slides__slide.is-active .mg-slides__media{animation:mgSlideWipe .75s cubic-bezier(.65,0,.35,1) both;}
.mg-slides__slide.is-active .mg-slides__media img,
.mg-slides__slide.is-active .mg-slides__ph{animation:mgSlideZoom 8s cubic-bezier(.2,.7,.3,1) both;}
.mg-slides__slide.is-active .mg-slides__kicker{animation:mgSlideIn .55s .10s both;}
.mg-slides__slide.is-active .mg-slides__h{animation:mgSlideIn .55s .17s both;}
.mg-slides__slide.is-active .mg-slides__rule{animation:mgSlideRule .5s .30s both;}
.mg-slides__slide.is-active .mg-slides__t{animation:mgSlideIn .55s .36s both;}
@keyframes mgSlideWipe{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes mgSlideZoom{from{transform:scale(1.09);}to{transform:scale(1);}}
@keyframes mgSlideIn{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes mgSlideRule{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* --- ovládací pruh pod jevištěm --- */
.mg-slides__tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#26292c;margin-top:2px;}
.mg-slides__tab{position:relative;overflow:hidden;display:block;width:100%;text-align:left;cursor:pointer;
  background:#101113;color:#8a8d90;border:0;padding:20px 20px 24px;font:inherit;
  transition:background .3s ease,color .3s ease;}
.mg-slides__tab::before{content:"";position:absolute;inset:0;background:#17191b;
  transform:scaleY(0);transform-origin:bottom;transition:transform .3s cubic-bezier(.65,0,.35,1);}
.mg-slides__tab>*{position:relative;}
.mg-slides__tab:hover{color:#fff;}
.mg-slides__tab:hover::before{transform:scaleY(1);}
.mg-slides__tab:focus-visible{outline:2px solid #D2232E;outline-offset:-2px;}
.mg-slides__tab[aria-selected="true"]{background:#17191b;color:#fff;}
.mg-slides__tabn{display:block;font:italic 900 28px/1 'Barlow Condensed',sans-serif;color:#3a3d41;transition:color .3s ease;}
.mg-slides__tab[aria-selected="true"] .mg-slides__tabn{color:#D2232E;}
.mg-slides__tabh{display:block;font:600 14px/1.3 'Barlow',sans-serif;margin-top:7px;}
/* proužek pod aktivním krokem odměřuje čas do dalšího přepnutí */
.mg-slides__bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#D2232E;
  transform:scaleX(0);transform-origin:left;}
.mg-slides__tab[aria-selected="true"] .mg-slides__bar{transform:scaleX(1);}
.mg-slides.is-playing .mg-slides__tab[aria-selected="true"] .mg-slides__bar{
  animation:mgSlideBar var(--dur,6000ms) linear both;}
.mg-slides.is-paused .mg-slides__tab[aria-selected="true"] .mg-slides__bar{animation-play-state:paused;}
@keyframes mgSlideBar{from{transform:scaleX(0);}to{transform:scaleX(1);}}

@media (prefers-reduced-motion: reduce){
  .mg-slides__slide,.mg-slides__slide.is-active *{animation:none !important;transition:none !important;}
}

/* ---------- prázdný stav (data / fotky teprve přijdou) ---------- */
.mg-empty{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;text-align:center;padding:44px 30px;background:#17191b;border:1px solid #26292c;}
.mg-empty__tex{position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.02) 0 2px,transparent 2px 26px);pointer-events:none;}
.mg-empty__mark{position:relative;width:52px;height:52px;background:#D2232E;transform:skewX(-8deg);display:flex;align-items:center;justify-content:center;color:#fff;}
.mg-empty__mark svg{transform:skewX(8deg);}
.mg-empty__h{position:relative;font:italic 800 26px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px;color:#fff;}
.mg-empty__t{position:relative;font:400 15.5px/1.6 'Barlow',sans-serif;color:#8a8d90;max-width:460px;}
.mg-empty--light{background:#F2F2EF;border-color:#E4E4E1;}
.mg-empty--light .mg-empty__h{color:#101113;}
.mg-empty--light .mg-empty__t{color:#6b6e73;}

/* upozorňovací pruh (např. "ceník dokončujeme") */
.mg-notice{display:flex;align-items:flex-start;gap:16px;background:#F7F7F5;border-left:4px solid #D2232E;padding:18px 22px;margin-bottom:26px;}
.mg-sec--dark .mg-notice{background:#17191b;}
.mg-notice__h{display:block;font:600 13px 'Barlow',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#D2232E;margin-bottom:5px;}
.mg-notice__t{font:400 15.5px/1.6 'Barlow',sans-serif;color:#3d4045;}
.mg-sec--dark .mg-notice__t{color:#9a9da1;}

/* ceníková tabulka */
.mg-price{width:100%;border-collapse:collapse;}
/* dvě krátké ceníkové tabulky vedle sebe — jinak z nich na šířku vzniká
   nekonečný sloupec. Na mobilu jdou zase pod sebe. */
.mg-price-duo{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start;}
@media (max-width:860px){ .mg-price-duo{grid-template-columns:1fr;gap:30px;} }
/* Široká tabulka se na telefon nevejde a .mg-sec má overflow:hidden — bez
   vlastního posuvníku by se poslední sloupec (a tím i cena) uřízl. */
.mg-price-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.mg-price-scroll>table{min-width:520px;}
.mg-price-hint{display:none;}
@media (max-width:860px){
  .mg-price-hint{display:block;font:500 12.5px 'Barlow',sans-serif;color:#8a8d90;margin:0 0 8px;}
}
.mg-price caption{text-align:left;font:600 13px 'Barlow',sans-serif;letter-spacing:2.5px;color:#8a8d90;padding-bottom:12px;}
.mg-price th{text-align:left;font:600 13px 'Barlow',sans-serif;letter-spacing:2px;color:#8a8d90;text-transform:uppercase;padding:0 0 12px;border-bottom:2px solid #101113;}
.mg-price th:last-child,.mg-price td:last-child{text-align:right;}
.mg-price td{font:400 16.5px 'Barlow',sans-serif;color:#3d4045;padding:15px 0;border-bottom:1px solid #E4E4E1;}
.mg-price tr:hover td{background:#F7F7F5;}
.mg-price td:first-child{font-weight:600;color:#101113;}
.mg-price .mg-price__val{font:italic 800 22px 'Barlow Condensed',sans-serif;color:#101113;white-space:nowrap;}
.mg-price .mg-price__val--ask{color:#8a8d90;font-weight:700;}
.mg-price .mg-price__val--free{color:#D2232E;}
.mg-price tr:hover .mg-price__val--ask{color:#D2232E;}
.mg-price__note{font:400 14px/1.6 'Barlow',sans-serif;color:#8a8d90;margin-top:14px;}

/* FAQ (obecné, mimo #faq-g / #faq-m) */
.mg-faq{max-width:none;}
.mg-faq details{border-bottom:1px solid #E4E4E1;interpolate-size:allow-keywords;}
.mg-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font:600 19px 'Barlow',sans-serif;color:#101113;transition:color .25s ease;}
.mg-faq summary:hover,.mg-faq details[open] summary{color:#D2232E;}
.mg-faq summary span{display:inline-block;font:300 26px 'Barlow',sans-serif;color:#D2232E;transition:transform .35s ease;}
.mg-faq details[open] summary span{transform:rotate(45deg);}
.mg-faq details::details-content{opacity:0;block-size:0;transform:translateY(-8px);overflow:hidden;transition:opacity .38s cubic-bezier(.22,1,.36,1),block-size .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),content-visibility .42s allow-discrete;}
.mg-faq details[open]::details-content{opacity:1;block-size:auto;transform:none;}
.mg-faq__a{font:400 16.5px/1.7 'Barlow',sans-serif;color:#6b6e73;padding:0 0 24px;}

/* CTA blok na konci podstránky */
.mg-cta{position:relative;overflow:hidden;background:#101113;color:#fff;padding:64px 48px;}
.mg-cta__accent{position:absolute;top:0;right:0;bottom:0;width:320px;background:linear-gradient(#D2232E,#8f141c);transform:skewX(-18deg) translateX(90px);opacity:.16;pointer-events:none;}
.mg-cta__tex{position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 26px);pointer-events:none;}
.mg-cta__in{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;}
.mg-cta__h{font:italic 900 48px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 10px;}
.mg-cta__t{font:400 17px/1.6 'Barlow',sans-serif;color:#9a9da1;max-width:560px;margin:0;}
.mg-cta__btns{display:flex;flex-wrap:wrap;gap:14px;}

/* formulář poptávky */
.mg-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mg-form__row--full{grid-column:1/-1;}
.mg-field{display:flex;flex-direction:column;gap:7px;}
.mg-field label{font:600 13px 'Barlow',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#8a8d90;}
.mg-field input,.mg-field select,.mg-field textarea{font:400 16px 'Barlow',sans-serif;color:#101113;background:#fff;border:1px solid #D8D8D4;padding:13px 14px;transition:border-color .2s ease,box-shadow .2s ease;}
.mg-field input:focus,.mg-field select:focus,.mg-field textarea:focus{outline:none;border-color:#D2232E;box-shadow:0 0 0 3px rgba(210,35,46,.14);}
.mg-field textarea{min-height:130px;resize:vertical;}
.mg-check{display:flex;align-items:flex-start;gap:10px;font:400 14.5px/1.55 'Barlow',sans-serif;color:#6b6e73;}
.mg-check input{margin-top:3px;accent-color:#D2232E;width:17px;height:17px;flex:0 0 auto;}
.mg-form__note{grid-column:1/-1;font:400 13.5px/1.6 'Barlow',sans-serif;color:#8a8d90;}

/* ---------- before / after posuvník ---------- */
/* žádné max-height — při zastropované výšce prohlížeč kvůli aspect-ratio
   zúžil i šířku a blok pak nelícoval s galerijním pruhem pod ním */
.mg-ba{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;background:#101113;cursor:ew-resize;}
.mg-ba__layer{position:absolute;inset:0;}
.mg-ba__layer img{width:100%;height:100%;object-fit:cover;}
.mg-ba__after{clip-path:inset(0 0 0 var(--pos,50%));}
/* panel pro stav bez fotek — místo šrafovaného placeholderu plocha, která vypadá záměrně */
.mg-ba__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start;
  padding:0 6%;box-sizing:border-box;background:linear-gradient(150deg,#33373c,#1e2124);}
/* pravá půlka je tmavá s červeným nádechem, ne plná červená —
   plná plocha #D2232E vypadá jako chybový stav, ne jako fotka */
.mg-ba__ph--after{justify-content:flex-end;background:linear-gradient(150deg,#4a1a1f,#1c1113);}
.mg-ba__ph span{font:italic 900 clamp(38px,6vw,74px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:2px;color:rgba(255,255,255,.09);white-space:nowrap;}
.mg-ba__ph--after span{color:rgba(210,35,46,.30);}
.mg-ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4;}
/* Popisky leží NAD dělicí čárou, jinak přes ně čára přejíždí a nejdou přečíst.
   pointer-events:none je nutné — jsou nad táhlem, tak by jinak blokovaly tažení. */
.mg-ba__tag,.mg-ba__note{z-index:5;pointer-events:none;}
.mg-ba__range:focus-visible+.mg-ba__handle::after{box-shadow:0 0 0 4px rgba(255,255,255,.55);}
.mg-ba__handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;background:#D2232E;pointer-events:none;z-index:3;}
.mg-ba__handle::after{content:"⟷";position:absolute;top:50%;left:50%;width:54px;height:54px;
  transform:skewX(-8deg) translate(-50%,-50%);background:#D2232E;box-shadow:0 10px 28px rgba(0,0,0,.45);
  display:flex;align-items:center;justify-content:center;font:700 22px 'Barlow',sans-serif;color:#fff;}
.mg-ba__tag{position:absolute;top:16px;font:italic 800 17px 'Barlow Condensed',sans-serif;letter-spacing:2.5px;
  color:#fff;background:rgba(11,12,13,.72);padding:7px 16px;transform:skewX(-8deg);}
.mg-ba__tag>span{display:inline-block;transform:skewX(8deg);}
.mg-ba__tag--l{left:16px;}
.mg-ba__tag--r{right:16px;}
/* vysvětlivka dole uprostřed, dokud nejsou reálné fotky */
.mg-ba__note{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  font:600 13px 'Barlow',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#c3c6c9;
  background:rgba(11,12,13,.72);padding:9px 18px;white-space:nowrap;}

/* ---------- pás "další služby" na konci podstránky ---------- */
/* všech šest služeb natvrdo v jednom řádku */
.mg-more{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;background:#26292c;}
.mg-more__i{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;
  min-height:150px;background:#101113;color:#fff;padding:20px 16px 18px;transition:background .3s ease;}
.mg-more__i::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#D2232E;
  transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.65,0,.35,1);}
.mg-more__i:hover{background:#17191b;}
.mg-more__i:hover::before{transform:scaleX(1);}
.mg-more__n{font:italic 900 30px/1 'Barlow Condensed',sans-serif;color:#3a3d41;transition:color .3s ease;}
.mg-more__i:hover .mg-more__n{color:#D2232E;}
.mg-more__h{font:italic 800 21px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#fff;}
.mg-more__a{font:600 11.5px 'Barlow',sans-serif;letter-spacing:1.2px;color:#8a8d90;transition:color .3s ease,transform .3s ease;}
.mg-more__i:hover .mg-more__a{color:#fff;transform:translateX(4px);}
.mg-more__i[aria-disabled="true"]{opacity:.45;pointer-events:none;}
/* dlaždice služby, na jejíž stránce právě jsme — musí být na první pohled
   poznat, že je vybraná, jinak působí divně, že v přehledu chybí */
.mg-more__i--current{background:#D2232E;pointer-events:none;}
.mg-more__i--current::before{transform:scaleX(1);background:#fff;}
.mg-more__i--current .mg-more__n{color:rgba(255,255,255,.45);}
.mg-more__i--current .mg-more__h{color:#fff;}
.mg-more__i--current .mg-more__a{display:inline-flex;align-items:center;gap:7px;color:#fff;}
.mg-more__i--current .mg-more__a::before{content:"";width:8px;height:8px;background:#fff;transform:skewX(-8deg);}

/* ---------- responsivita podstránek ---------- */
@media (max-width:1100px){
  /* ovládací pruh na dva řádky, jinak jsou popisky nečitelně úzké */
  .mg-slides__stage{min-height:520px;}
  .mg-slides__tabs{grid-template-columns:repeat(3,1fr);}
  .mg-slides__slide{grid-template-columns:1fr 1fr;}
  .mg-slides__body{padding:36px 32px 36px 92px;}
  .mg-slides__h{font-size:40px;}
  .mg-slides__t{font-size:16.5px;}
}
@media (max-width:860px){
  /* na mobilu obraz nahoře, text pod ním — šikmý zákus i šipky se ruší */
  .mg-slides__stage{min-height:0;}
  .mg-slides__slide{position:relative;grid-template-columns:1fr;display:none;}
  .mg-slides__slide.is-active{display:grid;}
  .mg-slides__media{aspect-ratio:16/9;max-height:34vh;}
  .mg-slides__ph{font-size:130px;}
  .mg-slides__body{margin-left:0;clip-path:none;padding:28px 20px 32px;}
  .mg-slides__h{font-size:32px;margin-top:12px;}
  .mg-slides__rule{margin:16px 0 16px;}
  .mg-slides__t{font-size:16px;}
  .mg-slides__tabs{grid-template-columns:repeat(2,1fr);}
  .mg-slides__tab{padding:13px 14px 17px;}
  .mg-slides__tabn{font-size:22px;}
  .mg-slides__tabh{font-size:12.5px;}
  .mg-ba{aspect-ratio:4/3;}
  .mg-ba__note{font-size:11px;padding:7px 12px;bottom:12px;}
  .mg-ba__handle::after{width:44px;height:44px;font-size:18px;}
  .mg-empty{padding:32px 20px;}
  .mg-more{grid-template-columns:repeat(2,1fr);}
  .mg-more__i{min-height:110px;padding:16px 14px 14px;}
}
@media (max-width:860px){
  .mg-phero{padding:38px 20px 44px;}
  .mg-phero__h1{font-size:46px;}
  .mg-phero__lead{font-size:17px;}
  .mg-phero__accent{display:none;}
  .mg-sec{padding:46px 20px;}
  .mg-sec__h2{font-size:36px;margin-bottom:24px;}
  .mg-prose p{font-size:16.5px;}
  .mg-cta{padding:44px 20px;}
  .mg-cta__h{font-size:34px;}
  .mg-form{grid-template-columns:1fr;}
  .mg-price td{font-size:15.5px;}
  .mg-faq summary{font-size:17px;}
  .mg-btn--lg,.mg-btn--md{font-size:19px;padding:13px 26px;}
}
/* ============================================================
   GALERIE
   Dlaždice generuje build z data/galerie.json; filtry běží
   v prohlížeči nad hotovým HTML (main.js, [data-gallery-grid]).
   ============================================================ */


/* --- mřížka --- */
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.g-item{position:relative;display:flex;flex-direction:column;background:#101113;box-shadow:0 0 0 1px #E4E4E1;overflow:hidden;}
.g-item[hidden]{display:none;}
.g-item__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;
  background:linear-gradient(150deg,#34383d,#1b1e21);}
.g-item__img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.22,.61,.36,1);}
.g-item:hover .g-item__img{transform:scale(1.06);}
.g-item__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font:italic 900 92px/1 'Barlow Condensed',sans-serif;color:rgba(255,255,255,.07);}
.g-item__demo{position:absolute;top:14px;left:14px;z-index:2;font:italic 800 13px 'Barlow Condensed',sans-serif;
  letter-spacing:2px;color:#fff;background:rgba(11,12,13,.78);padding:6px 12px;transform:skewX(-8deg);}
.g-item__info{position:relative;display:flex;flex-direction:column;gap:5px;padding:20px 22px 24px;color:#fff;}
.g-item__info::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#D2232E;
  transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.65,0,.35,1);}
.g-item:hover .g-item__info::before{transform:scaleX(1);}
.g-item__sluzba{font:600 12px 'Barlow',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#D2232E;}
.g-item__h{font:italic 800 26px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#fff;}
.g-item__meta{font:400 14px 'Barlow',sans-serif;color:#8a8d90;}

.g-more{display:flex;justify-content:center;margin-top:34px;}

/* --- detail realizace --- */
.mg-phero--slim{padding-top:48px;padding-bottom:52px;}
.g-detail__hlavni{aspect-ratio:16/9;width:100%;margin-bottom:2px;}
.g-detail__fotky{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:2px;}
.g-detail__fotky .img-slot{aspect-ratio:4/3;}
.g-detail__pod{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:start;margin-top:44px;}
.g-detail__fakta{margin:0;border-top:2px solid #101113;}
.g-detail__fakta div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #E4E4E1;}
.g-detail__fakta dt{font:600 13px 'Barlow',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#8a8d90;}
.g-detail__fakta dd{margin:0;font:600 15.5px 'Barlow',sans-serif;color:#101113;text-align:right;}
.g-detail__sousedi{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:52px;background:#E4E4E1;}
.g-detail__nav{display:flex;flex-direction:column;gap:5px;background:#F7F7F5;padding:22px 24px;transition:background .3s ease;}
.g-detail__nav:hover{background:#101113;}
.g-detail__nav span{font:600 12px 'Barlow',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#D2232E;}
.g-detail__nav strong{font:italic 800 22px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#101113;transition:color .3s ease;}
.g-detail__nav:hover strong{color:#fff;}
.g-detail__nav--next{text-align:right;}

@media (max-width:1100px){
  .g-grid{grid-template-columns:repeat(2,1fr);}
  .g-detail__pod{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:860px){
  .g-item__h{font-size:15px;}
  .g-detail__hlavni{aspect-ratio:4/3;}
  .g-detail__fotky{grid-template-columns:1fr;}
  .g-detail__sousedi{grid-template-columns:1fr;}
  .g-detail__nav--next{text-align:left;}
}

.g-item__fotky{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;gap:6px;
  font:600 12px 'Barlow',sans-serif;letter-spacing:1px;color:#fff;background:rgba(11,12,13,.78);padding:6px 11px;}
.g-item__fotky::before{content:"";width:9px;height:9px;border:2px solid currentColor;flex:0 0 auto;}

/* ============================================================
   GALERIE — postranní panel s filtry + obsah vpravo
   ============================================================ */
.g-layout{display:grid;grid-template-columns:268px 1fr;gap:48px;align-items:start;}

/* --- panel --- */
.g-side{position:sticky;top:112px;}
.g-side__body{display:flex;flex-direction:column;gap:30px;}
.g-side__blok{display:flex;flex-direction:column;gap:12px;}
.g-side__h{font:600 12px 'Barlow',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#8a8d90;
  margin:0;padding-bottom:10px;border-bottom:2px solid #101113;}

/* hledání */
.g-search{display:flex;align-items:center;gap:10px;border:1px solid #D8D8D4;background:#fff;padding:0 12px;
  transition:border-color .2s ease,box-shadow .2s ease;}
.g-search:focus-within{border-color:#D2232E;box-shadow:0 0 0 3px rgba(210,35,46,.14);}
.g-search__ico{flex:0 0 auto;color:#8a8d90;}
.g-search__in{flex:1 1 auto;min-width:0;border:0;background:none;padding:13px 0;
  font:400 15.5px 'Barlow',sans-serif;color:#101113;}
.g-search__in:focus{outline:none;}
.g-search__in::-webkit-search-cancel-button{display:none;}
.g-search__x{flex:0 0 auto;background:none;border:0;cursor:pointer;color:#8a8d90;
  font:400 22px/1 'Barlow',sans-serif;padding:0 2px;}
.g-search__x:hover{color:#D2232E;}

/* výběr služby — svislý seznam s červenou značkou u aktivního */
.g-opts{display:flex;flex-direction:column;}
.g-opt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;text-align:left;cursor:pointer;background:none;border:0;border-bottom:1px solid #ECECE9;
  padding:11px 2px 11px 18px;font:600 15px 'Barlow',sans-serif;color:#3d4045;
  transition:color .22s ease,padding-left .22s ease;}
.g-opt::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;background:#D8D8D4;
  transform:translateY(-50%) skewX(-8deg);transition:background .22s ease,height .22s ease;}
.g-opt:hover{color:#101113;padding-left:22px;}
.g-opt:hover::before{background:#8a8d90;}
.g-opt:focus-visible{outline:2px solid #D2232E;outline-offset:2px;}
.g-opt.is-on{color:#101113;}
.g-opt.is-on::before{background:#D2232E;height:22px;}
.g-opt__n{font:600 13px 'Barlow',sans-serif;color:#8a8d90;font-variant-numeric:tabular-nums;}
.g-opt.is-on .g-opt__n{color:#D2232E;}
.g-opt.is-empty{opacity:.42;}

/* nabídky v panelu i nad mřížkou */
.g-field{display:flex;flex-direction:column;gap:6px;}
.g-field>span{font:600 12px 'Barlow',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#8a8d90;}
.g-field select{appearance:none;-webkit-appearance:none;cursor:pointer;width:100%;
  background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%238a8d90' stroke-width='2'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  border:1px solid #D8D8D4;color:#101113;font:600 15px 'Barlow',sans-serif;padding:12px 38px 12px 13px;
  transition:border-color .2s ease,box-shadow .2s ease;}
.g-field select:focus{outline:none;border-color:#D2232E;box-shadow:0 0 0 3px rgba(210,35,46,.14);}

.g-reset{background:none;border:0;cursor:pointer;padding:0;text-align:left;
  font:600 13px 'Barlow',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:#D2232E;}
.g-reset>span{border-bottom:1px solid rgba(210,35,46,.45);padding-bottom:2px;}
.g-reset:hover{color:#101113;}
.g-reset:hover>span{border-color:#101113;}

/* rozbalovací tlačítko panelu — jen na úzkých obrazovkách */
.g-side__toggle{display:none;align-items:center;justify-content:space-between;gap:12px;width:100%;
  cursor:pointer;background:#101113;border:0;color:#fff;padding:15px 18px;margin-bottom:18px;
  font:italic 700 19px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px;}
.g-side__badge{background:#D2232E;color:#fff;font:600 13px 'Barlow',sans-serif;letter-spacing:0;
  padding:3px 10px;transform:skewX(-8deg);}

/* --- hlavička nad mřížkou --- */
.g-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;
  padding-bottom:16px;margin-bottom:22px;border-bottom:2px solid #101113;}
.g-head__count{margin:0;font:600 12.5px 'Barlow',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#8a8d90;}
.g-field--sort{flex:0 0 auto;}
.g-field--sort select{min-width:200px;}

@media (max-width:1100px){
  .g-layout{grid-template-columns:230px 1fr;gap:32px;}
}
@media (max-width:900px){
  /* panel se sbalí pod tlačítko a mřížka dostane celou šířku */
  .g-layout{grid-template-columns:1fr;gap:0;}
  .g-side{position:static;}
  .g-side__toggle{display:flex;}
  .g-side__body{display:none;padding-bottom:28px;}
  .g-side.is-open .g-side__body{display:flex;}
  .g-head{margin-bottom:18px;}
  .g-field--sort{flex:1 1 100%;}
  .g-field--sort select{width:100%;}
}
