/*
Theme Name: NOW Productions Theme
Theme URI: https://www.dyso.cz
Author: František Sedláček (dyso.cz)
Author URI: https://www.dyso.cz
Description: Wordpress Theme designed by DYSO.CZ
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theme-dyso
*/


@media (max-width: 1199px) {
	
	
	
	
}

html {
}

body {
	/*
	-webkit-font-smoothing: antialiased;
	font-family:'Play';
	background-color:#000;
	color:#fff;
	background-position:center top;
	background-repeat:no-repeat;
	*/
}



/*

HOMEPAGE

*/

:root { --overlay-opacity: .35; --header-h: 72px; --footer-h: 48px; }


/* Video vrstva přes celou stránku */
.video-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; }
.video-bg video {
position: absolute; inset: 0;
width: 100%; height: 100%;
object-fit: cover; object-position: center;
filter: none; /* případné efekty */
}
.video-bg {
position: absolute; inset: 0; pointer-events: none;
background: rgba(0,0,0,var(--overlay-opacity));
/* alternativní jemný přechod:
background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.5));
*/
}

.video-overlay {
	position:absolute;
	width: 100%; height: 100%;
	background-color:rgba(0, 0, 0, 0.4);
}

.video-bg-static {
	position:absolute;
	left:0;top:0;
	width:100%;
	height:100%;
	dbackground-image:url('assets/img/back.jpg');
	background-size:cover;
}


body{ 
	margin:0; 
	color:#fff; 
	background:#000;
	/*font-family: "Sora", sans-serif;*/
	overflow-x:hidden; 
}

:root{
  --header-h: 72px;
  --ink: rgba(255,255,255,.85);
  --glass: rgba(0,0,0,.18);
  --blur: 8px;
  --radius: 16px;
  --ease: cubic-bezier(.22,1,.36,1); /* elegantní „back“ */
}

.site-header{
	z-index:100;
  text-transform:uppercase;
  position: fixed; inset: 0 0 auto 0; height: var(--header-h); z-index: 10;
  display:flex; align-items:center; gap:16px; padding: 0 24px;
  color:#fff; background: var(--glass); backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  animation: headerIn .5s var(--ease) both;
}
@keyframes headerIn{ from{ opacity:0; transform: translateY(-8px);} to{ opacity:1; transform:none;} }

.logo{ display:inline-flex; align-items:center; color:#fff}
.logo img{ display:block; height:22px; width:auto; filter: drop-shadow(0 0 0.25rem rgba(0,0,0,.4)); }

.nav{ margin-left:auto; }
.main-menu{ display:flex; gap:28px; margin:0; padding:0; list-style:none; }
.main-menu > li{ opacity:0; transform: translateY(6px); animation: itemIn .4s var(--ease) .1s both; }
.main-menu > li:nth-child(2){ animation-delay:.18s }
.main-menu > li:nth-child(3){ animation-delay:.26s }
.main-menu > li:nth-child(4){ animation-delay:.34s }

@keyframes itemIn{ to{ opacity:1; transform:none } }

.main-menu a{
  color:#fff; text-decoration:none; letter-spacing:.01em; position:relative;
  padding-block: 10px;
}
.main-menu a::after{
  content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; background: var(--ink);
  transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease), opacity .35s var(--ease);
  opacity:.9;
}
.main-menu a:hover::after, .main-menu a:focus-visible::after{ transform: scaleX(1); }

.nav-toggle{
  margin-left:auto; display:none; width:42px; height:38px; border-radius:12px; border:0px solid rgba(255,255,255,.4);
  background: rgba(255,255,255,.06); color:#fff; align-items:center; justify-content:center; gap:5px;
}
.nav-toggle .bar{ display:block; width:20px; height:2px; background:#fff; border-radius:2px; transition: transform .25s var(--ease), opacity .2s var(--ease); }
.nav-toggle .bar:nth-child(2){ width:16px }
.nav-toggle .bar:nth-child(3){ width:12px }

.nav.open + .nav-toggle,
.nav-toggle[aria-expanded="true"] .bar:nth-child(2){ transform: scaleX(0.6) }


@media (max-width: 991px){
  .nav-toggle{ display:inline-flex; }
  .main-menu {display:none}
/*  .nav{ position: fixed; top: var(--header-h); left: 16px; right: 16px; z-index: 9; }
  .nav > .main-menu{
    display:grid; grid-template-rows: 0fr; overflow:hidden;
    background: rgba(0,0,0,.72); backdrop-filter: blur(var(--blur)); -webkit-backdrop-filter: blur(var(--blur));
    border-radius: var(--radius); padding: 0 12px; transition: grid-template-rows .35s var(--ease), opacity .35s var(--ease), transform .35s var(--ease);
    transform: translateY(-6px); opacity:0;
  }
  .nav.open > .main-menu{ grid-template-rows: 1fr; transform:none; opacity:1; }
  .main-menu::before{ content:""; }
  .main-menu > li{ margin: 10px 6px; opacity:1; transform:none; animation:none; }
  .main-menu a{ display:block; padding:10px 6px; }
  .main-menu a::after{ bottom:0; opacity:.7; }
  */
}


/* Přístupnost a reduced-motion */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
}



/*

HOMEPAGE SITE FOOTER

*/



.site-footer {
	position:fixed;
	left:0;
	bottom:0;
	text-align:center;
	width:100%;
	padding:20px 0;
}
.site-footer a {
	text-transform:uppercase;
	letter-spacing:2px;
	font-size:10pt;
	color:#fff;
	text-decoration:none;
	display:inline-block;
	margin-left:20px;
	margin-right:20px;
	opacity:0.7;
	dtransition:opacity 0.5s linear;
}
.site-footer a:hover {
	opacity:1 !important;
}

.site-footer {
  position: fixed; left: 0; right: 0; bottom: 0;
  display: flex; gap: 24px; justify-content: center; align-items: center;
  padding: 10px 16px; color:#fff;
}

.site-footer a {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity .5s cubic-bezier(.22,1,.36,1),
    transform .5s cubic-bezier(.22,1,.36,1);
  transition-delay: 0s;
}

/* po aktivaci třídy .is-in */
.site-footer.is-in a {
  opacity: 0.7;
  transform: translateY(0);
}

.site-footer.is-in a:nth-child(1) { transition-delay: .05s; }
.site-footer.is-in a:nth-child(2) { transition-delay: .18s; }
.site-footer.is-in a:nth-child(3) { transition-delay: .31s; }

@media (prefers-reduced-motion: reduce){
  .site-footer a { transition: none; transform: none; opacity: 0.7; }
}

.footer-link-is-ready {
	transition:opacity 0.5s linear !important;
}
.footer-link-is-ready:hover {
	opacity:1 !important;
}


@media (max-width: 991px){

	.site-footer a {
		font-size:9pt;
		margin-left:10px;
		margin-right:10px;	
	}

}



/*
------------------------------------------

HOMEPAGE ROTATOR

*/

:root{
--hr-duration: 4800ms; /* čas jednoho slidu */
--hr-ease: cubic-bezier(.22,1,.36,1);
--hr-ink: rgba(255,255,255,.92);
--hr-shade: rgba(0,0,0,.06);
--hr-maxw: min(100%, 980px);
}


.hero-rotator{
position: relative; z-index: 5; /* nad videem */
display: grid; place-items: center; text-align: center; padding: 24px; color:#fff;
min-height: clamp(320px, 48svh, 600px);
}

.hero-rotator{ align-content: center; }
.hero-rotator { place-items: start center; padding-top: calc(40svh - var(--header-h)); }


.hr-stage{ 
	position: relative; width: 100%; max-width: var(--hr-maxw); 
	/*background-color:rgba(255, 0, 0, 0.2);
	padding-top:40px;
	padding-bottom:40px;*/
}

.hr-slide{ 
	position: absolute; inset: 0; margin: 0 auto; padding: 0 16px;
	opacity: 0; transform: translateY(10px); filter: drop-shadow(0 2px 6px rgba(0,0,0,.3));
	transition: opacity 1.0s var(--hr-ease), transform 1.0s var(--hr-ease);
	will-change: opacity, transform;
}
.hr-slide.is-active{ opacity:1; transform:none; position:relative; }


.hr-title{ 
	ffont-size: clamp(28px, 6vw, 64px); 
	font-size: 30pt;
	line-height: 1.05; 
	margin: 0 0 12px; 
	font-weight:800; 
	letter-spacing:.01em; 
}
.hr-sub{ font-size: clamp(16px, 2.2vw, 22px); margin: 0 auto; opacity:.92; max-width: 48ch; }

.hr-title-text{ display:inline-block; } /* umožní změřit reálnou šířku textu */

/* Progresní linka dole (jemná) */
.hr-progress{
  position: relative;
  margin: 10px auto 12px;   /* mezi h1 a p */
  height: 2px;
  width: 0;                 /* šířku dosadí JS podle h1 */
  background: rgba(255,255,255,.28);
  border-radius: 2px;
  overflow: hidden;
  pointer-events: none;     /* žádná interakce myší */
}
.hr-progress > span{
  display: block;
  height: 100%;
  width: 0%;
  background: rgba(255,255,255,.85);
  border-radius: 2px;
  will-change: width;
}
.hr-progress.play > span{ animation: hrBar var(--hr-duration) linear 1 forwards; }
@keyframes hrBar{ from{ width:0% } to{ width:100% } }


/* Ovládací šipky – ukážeme jen na menších šířkách */
.hr-controls{ display:none; gap:12px; position:absolute; inset:auto 0 -56px 0; justify-content:center; }
.hr-controls button{ background: var(--hr-shade); color:#fff; border:1px solid rgba(255,255,255,.4); border-radius:12px; padding:8px 12px; }


@media (max-width: 860px){ .hr-controls{ display:fflex; display:none } }


/* Reduced motion: žádná auto-rotace, pouze první slide viditelný */
@media (prefers-reduced-motion: reduce){
.hr-progress{ display:none }
}



/* ----------------------------------------------------- */

/* výchozí stav podtitulku */
.hr-slide .hr-sub{
  opacity: 0;
  transform: translateY(6px);
  filter: blur(4px);
  will-change: opacity, transform, filter;
}

/* při aktivním slidu se spustí animace */
.hr-slide.is-active .hr-sub{
  animation: hrSubIn 520ms var(--hr-ease) 120ms both;
}

@keyframes hrSubIn{
  0%   { opacity: 0; transform: translateY(6px); filter: blur(4px); letter-spacing: .01em; }
  60%  { opacity: .98; }
  100% { opacity: 1; transform: translateY(0); filter: blur(0); letter-spacing: 0; }
}

/* reduced motion: bez animací */
@media (prefers-reduced-motion: reduce){
  .hr-slide .hr-sub{ opacity:1; transform:none; filter:none; animation:none; }
}
/* XXX */

.hero-rotator.sub-wipe .hr-slide.is-active .hr-sub{
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;
  animation:
    hrSubIn 520ms var(--hr-ease) 120ms both,
    hrSubWipe 900ms var(--hr-ease) 120ms both;
}
@keyframes hrSubWipe{
  from { -webkit-mask-position: 100% 0; mask-position: 100% 0; }
  to   { -webkit-mask-position:   0% 0; mask-position:   0% 0; }
}




/*

MENU HAMBURG

*/

@media (max-width: 991px) {

.nav-toggle {
  --w: 28px;     
  --h: 18px;      
  --t: 2px;
  --g: 8px;     
  --dur: 220ms;
  --ease: cubic-bezier(.2,.7,.2,1);

  position: relative;
  width: var(--w);
  height: var(--h);
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  color: currentColor;
}

.nav-toggle .bars,
.nav-toggle .bars::before,
.nav-toggle .bars::after {
  position: absolute;
  left: 0; right: 0;
  height: var(--t);
  background: currentColor;
  content: "";
  transform-origin: 50% 50%;
  transition:
    transform var(--dur) var(--ease),
    top var(--dur) var(--ease),
    opacity var(--dur) var(--ease);
  will-change: transform, top;
  border-radius: 999px;
}

.nav-toggle .bars {
  top: 50%;
  transform: translateY(-50%);
}

.nav-toggle .bars::before { top: calc(50% - var(--g)); }
.nav-toggle .bars::after  { top: calc(50% + var(--g) - var(--t)); }

.nav-toggle[aria-expanded="true"] .bars {
  background: transparent;
}
.nav-toggle[aria-expanded="true"] .bars::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .bars::after {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .nav-toggle .bars,
  .nav-toggle .bars::before,
  .nav-toggle .bars::after { transition: none !important; }
}

.nav {
  position: fixed;
  top: 72px;      
  right: 0;
  bottom: 0;
  left: auto;
  width: min(85vw, 340px);
  transform: translateX(100%);
  
  padding: 24px;
}
body.menu-open .nav {
  transform: translateX(0%);
}


.backdrop {
  position: fixed;
  top: 72px;     
  right: 0;
  bottom: 0;
  left: 0;
}

body.menu-open .backdrop {
  opacity: 1;
  pointer-events: auto;
}

}

@media (prefers-reduced-motion: reduce) {
  .nav-toggle .bar,
  .nav,
  .backdrop {
    transition: none !important;
  }
}



/*
****************************************************
**
**
**
** O nas
**
**
**
****************************************************
*/

img.au-person {
	width:100%;
	height:auto;
	aspect-ratio:1/1;
	overflow:hidden;
}

h2.au-name {
	margin-top:1rem;
	font-size:15pt;
	text-transform:uppercase;
}

.col-person {
	padding-bottom:20px;
}

@media (min-width: 992px) {
	.col-page-name {
		padding-left:36px;
		font-size:13pt;
	}
}
@media (max-width: 991px) {
	
	.page-struct {
		margin-left:0;
		margin-right:0;
	}
	
	.col-page-name {
		padding-left:12px;
		font-size:13pt;
		padding-bottom:20px;
	}
	
	
}


/*

PROJEKTY

*/

  .gallery {
	  padding-left:24px;
	  padding-right:24px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
    dgap: 0px;
  }
  
/* Nad 1350 px: přesně 4 projekty na řádek */
@media (min-width: 1350px) {
  .gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}  
  
  @media (max-width: 991px) {
	  
	  .gallery {
		  padding-left:12px;
		  padding-right:12px;
	  }
  }

  
  .project-card {
    display: block;
    text-decoration: none;
    color: inherit;
  }
  .project-card .media {
    position: relative;
    aspect-ratio: 16 / 9;          /* klidně změň na 4/3 či 1/1 */
    overflow: hidden;
    sborder-radius: 12px;
    background: #111;
  }
  .project-card .media img,
  .project-card .media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .project-card .media video {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .2s ease;
    pointer-events: none;
  }
  .project-card .media img {
    transition: opacity .2s ease;
  }
  /* Hover i klávesový focus */
  .project-card:hover .media video,
  .project-card:focus-within .media video {
    opacity: 1;
  }
  .project-card:hover .media img,
  .project-card:focus-within .media img {
    opacity: 0;
  }
  .project-card .title {
    display: block;
    margin-top: 8px;
    font-size: 0.95rem;
    line-height: 1.3;
  }
  
  /* Překryvný titulek v levém horním rohu */
.project-card .media .label {
  position: absolute;
  left: 10px; bottom: 10px;
  z-index: 2;                 /* nad videem/obrázkem */
  max-width: 80%;
  padding: 8px 12px;
  font-size: 1.05rem; line-height: 1.2;
  color: #fff;
  background: rgba(0,0,0,.45); /* decentní podklad pro čitelnost */
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  dborder-radius: 10px;
  /* víceřádkové lámání bez přetékání */
  display: -webkit-box; -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; overflow: hidden;
}


.project-card .pc-dark-layer {
	width:100%;
	height:100%;
	background-color:rgba(0, 0, 0, 0.15);
	position:absolute;
	left:0;
	top:0;
}
.project-card:hover .pc-dark-layer {
	width:100%;
	height:100%;
	background-color:rgba(0, 0, 0, 0.0);
	position:absolute;
	left:0;
	top:0;
}

.project-card .label2 {
	text-transform:uppercase;
	font-size:10pt;
	font-weight:600;
	padding:8px 0;
}


/*
**************************************************
**
**
**
** FOOTER
**
**
**
**************************************************
*/

:root {
  --sbpf-bg: #0e0f12;
  --sbpf-bg-2: #13151a;
  --sbpf-text: #e9edf2;
  --sbpf-muted: #a6adb7;
  --sbpf-accent: #d6cab1; /* decentní zlatá */
  --sbpf-accent-2: #d6cab1;
  --sbpf-line: rgba(255,255,255,0.08);
  --sbpf-radius: 16px;
  --sbpf-maxw: 1200px;
}

/* Scope jen na footer, aby se nic nebilo */
.sbpf-footer,
.sbpf-footer * { box-sizing: border-box; }

/* ====== FOOTER ====== */
.sbpf-footer {
  background: linear-gradient(180deg, var(--sbpf-bg) 0%, var(--sbpf-bg-2) 100%);
  border-top: 1px solid var(--sbpf-line);
  padding: 48px 20px 28px;
  position: relative;
  isolation: isolate;
  color: var(--sbpf-text);
}

.sbpf-inner {
  max-width: var(--sbpf-maxw);
  margin: 0 auto;
  display: grid;
  gap: 28px;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  align-items: start;
}

@media (max-width: 1024px) { .sbpf-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  { .sbpf-inner { grid-template-columns: 1fr; } }

.sbpf-brand { display: grid; gap: 14px; }
.sbpf-brand .sbpf-logo {
  display: inline-flex; align-items: center; gap: 10px;
  text-decoration: none; color: var(--sbpf-text);
}
.sbpf-brand .sbpf-logo svg { width: 38px; height: 38px; }
.sbpf-brand p { margin: 0; color: var(--sbpf-muted); line-height: 1.5; }

.sbpf-block h4 {
  margin: 0 0 14px; font-size: 0.95rem;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--sbpf-muted);
}

.sbpf-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.sbpf-links a {
  color: var(--sbpf-text); text-decoration: none; opacity: 0.9;
  transition: opacity .2s ease, color .2s ease;
}
.sbpf-links a:hover { color: var(--sbpf-accent); opacity: 1; }

.sbpf-contact { display: grid; gap: 8px; }
.sbpf-contact a { color: var(--sbpf-text); text-decoration: none; }

.sbpf-socials { display: flex; gap: 12px; margin-top: 8px; }
.sbpf-socials a {
  display: inline-grid; place-items: center; width: 40px; height: 40px;
  border: 1px solid var(--sbpf-line); border-radius: 999px; text-decoration: none;
  color: var(--sbpf-text); opacity: 0.9;
  transition: transform .15s ease, background .2s ease, opacity .2s ease;
}
.sbpf-socials a:hover { transform: translateY(-2px); background: #151822; opacity: 1; }
.sbpf-socials svg { width: 18px; height: 18px; }

.sbpf-newsletter {
  background: rgba(255,255,255,0.03); padding: 14px;
  border-radius: var(--sbpf-radius); border: 1px solid var(--sbpf-line);
}
.sbpf-newsletter p { margin: 0 0 10px; color: var(--sbpf-muted); font-size: .95rem; }
.sbpf-newsletter form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.sbpf-newsletter input[type="email"] {
  background: #0f1218; border: 1px solid var(--sbpf-line); color: var(--sbpf-text);
  padding: 12px 12px; border-radius: 10px; outline: none;
}
.sbpf-newsletter button {
  border: 0; padding: 12px 14px; border-radius: 10px;
  background: var(--sbpf-accent); color: #191919; font-weight: 600; cursor: pointer;
}
.sbpf-newsletter small { display: block; margin-top: 8px; color: var(--sbpf-muted); opacity: .85; }

.sbpf-legal {
  max-width: var(--sbpf-maxw); margin: 28px auto 0; padding-top: 18px;
  border-top: 1px solid var(--sbpf-line); display: flex; gap: 16px;
  justify-content: space-between; align-items: center; font-size: 0.95rem; color: var(--sbpf-muted);
}
.sbpf-legal a { color: var(--sbpf-muted); text-decoration: none; }
.sbpf-legal a:hover { color: var(--sbpf-accent); }

.sbpf-backtop {
  position: absolute; right: 20px; top: -20px; background: var(--sbpf-accent); color: #111;
  border: none; border-radius: 999px; width: 44px; height: 44px; display: grid; place-items: center;
  cursor: pointer; box-shadow: 0 10px 30px rgba(215,177,92,0.35);
}

/* High-contrast focus */
.sbpf-footer a:focus, .sbpf-newsletter button:focus, .sbpf-backtop:focus {
  outline: 2px solid var(--sbpf-accent); outline-offset: 2px;
}


/*



KONTAKT



*/

.np-contact-form {
	color:#908677 !important;
	border-radius:0 !important;
}
.np-contact-form .border {
	bborder-color:#aaa291 !important;
	border:none !important;
	border-radius: 0 !important;
}
.np-contact-form input {
	border-radius: 0 !important;
}
.np-contact-form .btn {
	border-radius: 0 !important;
}




/*


SLUZBY


*/

.np-long-block {
	background-color:#e7dfce;
	padding-right:330px;
	padding-top:15px;
	padding-bottom:40px;
}
/*
.np-long-block-tv {
	background-image:url('assets/img/tv.png');
	background-position:right top;
	background-repeat:no-repeat;
}

.np-long-block-buildings {
	background-image:url('assets/img/buildings.png');
	background-position:right top;
	background-repeat:no-repeat;
}
.np-long-block-about-us {
	background-image:url('assets/img/camera2.png');
	background-position:right top;
	background-repeat:no-repeat;
}
*/
@media (max-width: 991px) {
	
	.np-long-block {
		padding-right:12px;;
	}

	.np-long-block-tv {background-image:none;}
	.np-long-block-buildings {background-image:none;}
	.np-long-block-about-us {background-image:none;}
	
}


.np-row {
	width:100%;
	position:relative;
	top:-30px;
	color:rgba(0, 0, 0, 0.75);
	font-size:90%;
}

.np-col-3 {
	float:left;
	width:31%;
	margin-right:2%;
	padding:15px;
	background:#f3eee5;
}

@media (max-width: 991px) {

	.np-col-3 {
		width:100%;		
		margin-bottom:15px;
	}

}

/*

MOBILNI MENU

*/

#np_mobile_menu {
	background-color:rgba(0, 0, 0, 0.85);
	color:#fff;
	position:fixed;
	top:0;
	left:100%;
	width:100%;
	height:100%;
	z-index:5;
	text-align:center;
	padding-top:150px;
}
#np_mobile_menu a {
	text-transform:uppercase;
	text-decoration:none;
	text-align:center;
	display:block;
	color:#fff;
	margin-bottom:30px;
}


/*

HOMEPAGE PARTNERI

*/

#np-partners {
	position:absolute;
	left:0;
	bottom:140px;
	color:#fff;
	display: flex;
	justify-content: center;  /* vodorovné centrování */
	align-items: center;       /* svislé centrování */
	gap: 16px;                 /* mezery mezi boxy */
	flex-wrap: wrap;           /* lámání na další řádky, pokud je málo místa */
	min-height: 100px;         /* výška pro svislé centrování (uprav dle potřeby) */	
	width:100%;
}

#np-p {
	opacity:0;
}


.np-partner {
	padding: 10px 16px;
	border-radius: 6px;
	font-weight: 600;	
	opacity:0.0;
	transition:opacity 0.4s linear;
}
.np-partner:hover {
	opacity:1!important;
}


@media (max-width: 991px) {
	
	#np-partners {
		position:absolute;
		left:0;
		bottom:110px;
	}
	
}


/*
**********************************
**
**
**
** EFEKTY SLUZBY A O NAS
**
**
**
**********************************
*/


/* Nastav barvy podle potřeby */
.sweep-bg {
  --final-bg: #e7dfce;   /* výsledná plná barva po animaci */
  --g1: #f3eee5;         /* barvy přechodu */
  --xxg2: #dfc694;
  --g2: #fff;
  --sweep-delay: 0s; 
  position: relative;
  background-color: var(--final-bg);
  overflow: hidden;      /* skryje rozmazaný přesah efektu */
}

/* Přejezd gradientu */
.sweep-bg::before {
  content: "";
  position: absolute;
  inset: -20%; /* malý přesah, ať nejsou vidět okraje blur efektu */
  background: linear-gradient(90deg,
    transparent 0%,
    var(--g1) 30%,
    var(--g2) 50%,
    var(--g1) 70%,
    transparent 100%
  );
  ffilter: blur(20px);
  transform: translateX(-120%);
  animation: sweep-once 1.2s ease-out var(--sweep-delay) forwards;
  pointer-events: none;  /* čistě vizuální */
}

@keyframes sweep-once {
  60%   { transform: translateX(10%); }
  100%  { transform: translateX(120%); opacity: 0; }
}

/* Respektuje omezení animací v OS */
@media (prefers-reduced-motion: reduce) {
  .sweep-bg::before { animation: none; opacity: 0; }
}



/* Jednorázový sjezd + přebarvení textu (from → to) */
/* Jednorázový sjezd kontejneru + fade pouze pro <img> uvnitř */
.slide-down-once {
  /* pohyb */
  --slide-distance: 10px;
  --slide-duration: 1600ms;
  --slide-delay: 0s;
  --slide-ease: cubic-bezier(.22,1,.36,1);

  /* barvy textu (zůstává, pokud chceš i přebarvit text) */
  --color-from: #8aa0b2;
  --color-to:   #0b1020;

  translate: 0 calc(var(--slide-distance) * -1);
  opacity: 1;                 /* už neanimujeme opacity kontejneru */
  color: var(--color-from);
  animation: slideDownOnce var(--slide-duration) var(--slide-ease) var(--slide-delay) forwards;
  will-change: translate, color;
}

/* Fade-in pro obrázky uvnitř */
.slide-down-once img {
  opacity: 0;
  animation: imgFadeOnce var(--slide-duration) var(--slide-ease) var(--slide-delay) forwards;
  will-change: opacity;
}

@keyframes slideDownOnce {
  to {
    translate: 0 0;
    color: var(--color-to);
  }
}

@keyframes imgFadeOnce {
  to { opacity: 1; }
}

/* Respekt k preferencím */
@media (prefers-reduced-motion: reduce) {
  .slide-down-once {
    animation: none;
    translate: 0 0;
    color: var(--color-to);
  }
  .slide-down-once img {
    animation: none;
    opacity: 1;
  }
}












.paralax{
  background-repeat: no-repeat;
  sbackground-position: right bottom;
  will-change: background-position;
}
@media (prefers-reduced-motion: reduce){
  .paralax{ background-attachment: initial; } /* případně zcela bez posuvu */
}




.gal-img-link {
	transition: filter 0.5s linear;
}
.gal-img-link:hover {
	filter: brightness(1.15);
}




/* Přidáme překryvnou vrstvu */
.page-fade-overlay {
  position: fixed;
  inset: 0;
  background: black;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
  z-index: 9999;
}

/* Aktivní stav */
.page-fade-overlay.active {
  opacity: 1;
}



.secondary-font {}