/*
Theme Name: Lux Lucens 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) {
	
	
	
	
}

@media (min-width: 768px) {
    .col-md-xx-3 {
        flex: 0 0 auto;
        width: 12.5%;
    }
}



body {
	-webkit-font-smoothing: antialiased;
	sline-height:1.7em;
	font-family:'Roboto';
	font-weight:300;
}

.page-generic-content {
	padding-top:1rem;
	padding-bottom:5rem;
}

#topgap {
	height:76px;
}

#main-wrap {
	min-height:500px;
}

.navbar {
	font-family: "Playfair Display", serif;
	color:#f3c958;
	text-transform:uppercase;
}
.navbar .nav-link {
	color:#f3c958;
}
.navbar .nav-link:hover {
	color:#fff;
}

/*
selector jazyku
*/

.navbar .dropdown-menu-dark {
  background-color: #06234b;
  border: none;
}
.navbar .dropdown-item {
  color: #cc9c4a;
}
.navbar .dropdown-item:hover {
  background-color: #cc9c4a;
  color: #06234b;
}
.navbar .langsel .dropdown-menu img {
	height:25px;
	width:auto;
}

.navbar .social-nav .nav-link {
  padding-left: 10px;
  padding-right: 10px;
  font-size: 18px;
  color: #f3c958;
}

.navbar .social-nav .nav-link:hover {
  color: #fff;
}

.navbar .navbar-social-icon {
  display: inline-block;
  width: 25px;
  height: 25px;
  background-color: #cc9c4a;
  color: #ffffff;
  border-color: #cc9c4a;
  text-align: center;
  line-height: 25px;
  border-radius: 0px;
  font-size: 15px;
  transition: all 0.3s ease;
}

.navbar .navbar-social-icon:hover {
  background-color: #fff;
  color: #cc9c4a;
  border-color: #fff;
}

.navbar .navbar-social-icon i {
  line-height: 25px;
}



/* Vystředění hlavního menu */
.navbar-nav.mainmenu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 991px) {
  .navbar-nav.mainmenu {
    position: static;
    transform: none;
    margin-left: 0;
    margin-right: auto;
  }
}



/* Výchozí styl pro jazykový přepínač a ikony */
.navbar-nav.langsel {
  flex-direction: row;
  gap: 10px;
}

@media (max-width: 991px) {

  /* Na mobilu: zobrazit svisle, centrovat */
  .navbar-nav.langsel {
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }

  .navbar-nav.langsel .nav-item.dropdown {
    margin-bottom: 10px;
  }

  .navbar-social-icon {
    font-size: 22px;
    color: #f3c958;
  }

  .navbar-social-icon:hover {
    color: #ffffff;
  }
}




@media (min-width: 576px) {
	.container-wide {
		max-width:540px;
	}
}
@media (min-width: 768px) {
	.container-wide {
		max-width:720px;
	}
	
	.col-md-5 {
		flex: 0 0 auto;
		width: 20%;
	}
	.offset-md-1-5 {
		margin-left: 12.5%;
	}
	
}
@media (min-width: 992px) {
	.container-wide {
		max-width:960px;
	}
}
@media (min-width: 1200px) {
	.container-wide {
		max-width:1140px;
	}
}

@media (min-width: 1600px) {
	.container-wide {
		max-width: 1520px;
		margin-left:auto;
		margin-right:auto;
	}
}


.container-wide {
	padding-left:calc(1.5rem * 0.5);
	padding-right:calc(1.5rem * 0.5);
	width: 100%;
	margin-left:auto;
	margin-right:auto;
}

.light-p {
	opacity:0.77;
}

a {
	ccolor:#8c4a3a;
	ccolor:#073471;
	color:#be8640;
}
a:hover {
	color:#07397d;
}





.map-ifr {
	margin-bottom:20px;
}
.map-ifr iframe {
	width:100% !important;
	aspect-ratio:16/9;
}



.hero-frame {
  position: relative;
  width: 100%;
  height: 65vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
}

.hero-frame video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(6, 35, 75, 0.25); /* tmavě modrý odstín */
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
  padding: 20px;
  max-width: 800px;
}

.hero-content h1 {
  font-family: "Playfair Display", serif;
  font-size: 32pt;
  margin-bottom: 10px;
  color: #ffffff;
  text-shadow:2px 1px 1px rgba(0, 0, 0, 0.25);
}

.hero-content p {
  font-size: 16pt;
  margin-bottom: 20px;
  text-shadow:2px 1px 1px rgba(0, 0, 0, 0.25);
}

.hero-btn {
  font-family: "Playfair Display", serif;  
  text-transform:uppercase;
  display: inline-block;
  padding: 12px 24px;
  background-color: transparent;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
  border:1px solid #fff;
}

.hero-btn:hover {
  color:#06234b;
  background-color: #e6b85d;
}



.sound-toggle {
  sdisplay: none; /* skryté, dokud nezjistíme, že má video audio */
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 4;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 8px 12px;
  font-size: 18px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}
.sound-toggle:hover {
  background: rgba(0, 0, 0, 0.8);
}

@media (max-width: 768px) {
	
	.hero-content h1 {
		font-size:24pt;
	}
	
}


h1, h2, h3, h4 {
	font-family: "Playfair Display", serif;
	color:#cc9c4a;
}

.section-blue {
	color:#fff;
	background-color:#06234b;
}

.section-white {
	color:#06234b;
	background-color:#fff;
}


.section-1 {
	padding:40px 0;
}
.section-2 {
	padding:40px 0;
}
.section-3 {
	padding:40px 0;
}
.section-4 {
	padding:40px 0 80px 0;
}
.section-5 {
	padding:40px 0;
}


.footer {
	color:#fff;
	background-color:#06234b;	
	padding:50px 0;
}
.footer a {
  color: #ffffff;
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

.footer ul {
	padding-left:1.5rem;
}

.footer ul li {
  margin-bottom: 5px;
}

.footer-social {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}

@media (max-width: 600px) {

	.footer .col-md-3 {
		padding-bottom:30px;
	}
	#footer_newsletter_box {
		width: 100%;
	}
	
	
}

.social-icon {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #cc9c4a;
  color: #ffffff;
  border-color: #cc9c4a;
  text-align: center;
  line-height: 40px;
  border-radius: 0px;
  font-size: 20px;
  transition: all 0.3s ease;
}

.social-icon:hover {
  background-color: #fff;
  color: #cc9c4a;
  border-color: #fff;
}

.social-icon i {
  line-height: 40px;
}

/*

HOMEPAGE

*/

.col-hp-pseud {
	padding-top:90px;
}

@media only screen and (max-width: 600px) {
	
	.col-hp-pseud {
		padding-top:10px;
		text-align:center;
	}
	
}




.chapter-scroller-wrapper {
  position: relative;
  width: 100%;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */  
}

.scroll-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background-color: rgba(255,255,255,0.8);
  border: none;
  padding: 10px 15px;
  font-size: 24px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.scroll-arrow:hover {
  background-color: rgba(204, 156, 74, 0.9); /* zlatá z tvé palety */
  color: #06234b;
}

.scroll-arrow.left {
  left: 0;
}

.scroll-arrow.right {
  right: 0;
}

.chapter-wrapper {
  display: flex;
  gap: 20px; /* mezera mezi boxy */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 20px;
  scroll-behavior: smooth;
}

.chapter-scroll-container {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  width: 100%;
  padding: 0;
  margin: 0;
  cursor: grab;
}
.chapter-scroll-container.dragging {
  cursor: grabbing;
  user-select: none;
}

.chapter-scroll-container {
  /* ... ostatní styly zůstávají */
  -ms-overflow-style: none;     /* pro IE a Edge */
  scrollbar-width: none;        /* Firefox */
}

.chapter-scroll-container::-webkit-scrollbar {
  display: none;                /* Chrome, Safari */
}

.chapter {
  flex: 0 0 25%; /* přesně 25 % šířky parentu */
  min-width: 25%; /* nutné pro správný scrolling */
  scroll-snap-align: start;
  height: auto; /* použije aspect-ratio */
  aspect-ratio: 3 / 4;
  background-size: cover;
  background-position: center;
  position: relative;
  filter: brightness(1.0);
  transition: filter 0.6s ease;
  margin: 0; /* důležité – bez mezery mezi boxy */
}

.chapter-inner-info {
	ccursor:pointer;
	ccursor:hand;
	position:absolute;
	bottom:20px;
	left:calc(10%);
	width:80%;
	margin:0 auto;
	padding:20px;
	background-color:#fff;
	color:#06234b;
	background-color:rgba(255, 255, 255, 0.85);
	transition: all 0.6s ease;
}
.chapter-inner-info:hover {
	background-color:#c38f37;
	color:#06234b;
}
.chapter-title {
	font-family: "Playfair Display", serif;	
	color:#c38f37;
	font-size:17pt;
	text-transform:uppercase;
	text-shadow:1px 1px 1px rgba(255, 255, 255, 0.5);
	transition: all 0.6s ease;
}
.chapter:hover {
	filter:brightness(1.2);
}

.chapter-inner-info:hover .chapter-title {
	text-shadow:none;
	color:#fff;
}


.power-motto {
	font-family:'Libre+Bodoni', serif;
	font-style:italic;
	padding:100px 0 60px 0;
	font-style: italic;
	font-size:17pt;
	text-align:center;
}

@media (max-width: 767px) {
  .chapter {
    flex: 0 0 100.00%;
    min-width: 100.00%;
  }
}


/*
.buy-btn {
  font-family: "Playfair Display", serif;  
  text-transform:uppercase;
  display: inline-block;
  padding: 12px 24px;
  background-color: transparent;
  color: #06234b;
  text-decoration: none;
  transition: all 0.3s ease;
  border:1px solid #06234b;
  cursor:pointer;
  cursor:hand;
}
.buy-btn:hover {
  color:#ffffff;
  background-color: #06234b;
}
*/


/*
AIIIIIIIIIIIIIIIIII
*/

.buy-title {
  font-family: "Playfair Display", serif;
  font-size: 24pt;
  margin-bottom: 10px;
  color: #06234b;
}

.buy-description {
  font-size: 14pt;
  color: #333;
  margin-bottom: 15px;
}

.was-price {
  font-size: 16pt;
  font-weight: bold;
  color: #ccc;
  text-decoration: line-through;  
  margin-bottom: 0px;
}
.was-price span {
	opacity:0;
}
.buy-price {
  font-size: 16pt;
  font-weight: bold;
  color: #cc9c4a;
  margin-bottom: 5px;
}

.buy-stock {
  font-size: 12pt;
  color: #3a3a3a;
  margin-bottom: 20px;
}

.buy-btn {
	margin-top:1rem;
  font-family: "Playfair Display", serif;  
  text-transform: uppercase;
  display: inline-block;
  padding: 14px 28px;
  background-color: transparent;
  color: #06234b;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 2px solid #06234b;
  cursor: pointer;
  font-size: 13pt;
  text-align:center;
  min-width:242px;
}

.buy-btn:hover {
  color: #ffffff;
  background-color: #06234b;
}

.buy-btn-amzn {
	margin-top:1rem;
  font-family: "Playfair Display", serif;  
  text-transform: uppercase;
  display: inline-block;
  padding: 14px 28px;
  background-color: transparent;
  color: #06234b;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 2px solid #06234b;
  cursor: pointer;
  font-size: 10pt;
  text-align:center;
  min-width:242px;
}

.buy-btn-amzn:hover {
  color: #ffffff;
  background-color: #06234b;
}

/*
quantity
*/

.buy-quantity {
  margin: 20px 0;
}

.buy-quantity label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  color: #06234b;
}

.buy-controls {
  max-width: 210px; /* nebo stejné jako tlačítko */
  width: 100%;
}

.quantity-wrapper,
.buy-btn {
  width: 100%;
}

.quantity-wrapper {
  display: flex;
  align-items: center;
  border: 1px solid #06234b;
  border-radius: 0;
  overflow: hidden;
  padding: 0;
  margin-bottom: 20px;
}

.qty-btn {
  width: 40px;
  height: 40px;
  background-color: #06234b;
  color: #fff;
  border: none;
  font-size: 18pt;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.qty-btn:hover {
  background-color: #cc9c4a;
  color: #06234b;
}

.quantity-wrapper input[type=number] {
  width: 100%;
  max-width: none;
  height: 40px;
  border: none;
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 14pt;
  color: #06234b;
  appearance: textfield;
  outline: none;
  box-sizing: border-box;
}

.quantity-wrapper input::-webkit-outer-spin-button,
.quantity-wrapper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


.book-tag {
	color:#fff;
	background-color:#06234b;
	padding:8px 12px;
	display:inline-block;
	font-size:10.0pt;
	font-weight:bold;
	margin-bottom:0.5rem;
}


/*

SECTION 3 - CITACE

*/

.section-3 {
  padding: 100px 0;
  background-color: #06234b;
  color: white;
  position: relative;
  text-align:center;
}

.quote-line {
  position: relative;
  display: inline-block;
  padding: 20px 20px;
}

.quote-line::before,
.quote-line::after {
  font-family: Georgia, serif;
  font-size: 80px;
  color: #cc9c4a;
  position: absolute;
  opacity: 0.3;
  line-height: 1;
}

.quote-line::before {
  content: "“"; /* otevření vlevo nahoře */
  top: -5px;
  left: -30px;
}

.quote-line::after {
  content: "”"; /* uzavření vpravo nahoře */
  top: -5px;
  right: -30px;
}

@media only screen and (max-width: 600px) {

	.quote-line::before {
		display:none;
	}
	.quote-line::after {
		display:none;
	}

}


/*

NEWSLETTERY - PRIHLASENI K ODBERU - FOOTER

*/

#footer_newsletter_box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  wgap: 10px;
  margin-top: 0;
  padding-top: 0;
  max-width: 360px;
  color: #fff;
}

#footer_newsletter_box_message {
}

#footer_newsletter_email {
  width: 100%;
  padding: 10px 12px;
  font-size: 14px;
  border: none;
  outline: none;
  border-radius: 0px;
  box-sizing: border-box;
  background-color: #ffffff;
  color: #06234b;
}
#footer_newsletter_email::placeholder {
  color: #888;
  font-style: italic;
}

#footer_newsletter_box button {
  margin-top:10px;
  padding: 10px 18px;
  font-size: 13px;
  font-family: "Playfair Display", serif;
  text-transform: uppercase;
  background-color: transparent;
  border: 2px solid #cc9c4a;
  color: #cc9c4a;
  cursor: pointer;
  transition: all 0.3s ease;
}

#footer_newsletter_box button:hover {
  background-color: #cc9c4a;
  color: #06234b;
}

@media (max-width: 600px) {
	
	#footer_newsletter_box {
		width: 100%;
	}
  
}


/*

SECTION 5 - BLOG

*/

.section-5 {
  padding: 60px 0;
  background-color: #e9edf3;
}

.blog-box {
  background: #fff;
  border: 1px solid #ddd;
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.blog-box:hover {
  box-shadow: 0 8px 16px rgba(0,0,0,0.1);
  border-color: #cc9c4a;
}

.blog-thumb {
  height: 180px;
  background-size: cover;
  background-position: center;
}

.blog-content {
  padding: 20px;
  flex-grow: 1;
}
.blog-box .blog-content {
	min-height:175px;
}

.blog-title {
  font-family: "Playfair Display", serif;
  font-size: 18px;
  color: #06234b;
  margin-bottom: 10px;
}

.blog-title a {
  text-decoration: none;
  color: inherit;
}

.blog-excerpt {
  font-size: 14px;
  color: #444;
  margin-bottom: 15px;
}

@media (max-width: 900px) {
	
	.blog-box {
		margin-bottom:20px;
	}	
	
}


.blog-read-more-btn {
  display: inline-block;
  font-family: "Playfair Display", serif;
  text-transform: uppercase;
  font-size: 13px;
  padding: 10px 16px;
  border: 2px solid #06234b;
  background-color: transparent;
  color: #06234b;
  text-decoration: none;
  transition: all 0.3s ease;
}

.blog-read-more-btn:hover {
  background-color: #cc9c4a;
  color: #ffffff;
  border-color: #cc9c4a;
}


.blog-more-btn {
  font-family: "Playfair Display", serif;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 24px;
  background-color: transparent;
  color: #06234b;
  border: 2px solid #06234b;
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 14px;
}

.blog-more-btn:hover {
  background-color: #cc9c4a;
  color: #ffffff;
  border-color: #cc9c4a;
}


/*
.blog-more-btn2 {
  display: inline-block;
  font-family: "Playfair Display", serif;
  text-transform: uppercase;
  font-size: 13px;
  padding: 10px 16px;
  border: 2px solid #06234b;
  background-color: #06234b;
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
}

.blog-more-btn2:hover {
  background-color: #cc9c4a;
  color: #ffffff;
  border-color: #cc9c4a;
}
*/


.blog-more-btn2 {
  display: inline-block;
  font-family: "Playfair Display", serif;
  text-transform: uppercase;
  font-size: 13px;
  padding: 10px 16px;
  border: 2px solid #06234b;
  background-color: transparent;
  color: #06234b;
  text-decoration: none;
  transition: all 0.3s ease;
}

.blog-more-btn2:hover {
  background-color: #cc9c4a;
  color: #ffffff;
  border-color: #cc9c4a;
}


/*

ROZBALOVACI BOX

*/

.expandable-box {
  margin-bottom: 20px;
  max-width: 640px;
}

.expandable-content {
  overflow: hidden;
  transition: height 0.4s ease;
  height: 100px; /* výchozí výška */
}

.expandable-box.expanded .expandable-content {
  height: auto; /* bude přepsáno JS při kliknutí */
}

.expand-toggle {
  font-family: "Playfair Display", serif;
  background: none;
  border: none;
  color: #cc9c4a;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 13px;
  padding: 6px 0;
  transition: color 0.3s ease;
}

.expand-toggle:hover {
  color: #06234b;
}



.subpage-h1 {
	margin-top:2rem;
	margin-bottom:2rem;
}



/*

KONTAKT

*/

.contact-container {
  display: flex;
  smax-width: 1200px;
  margin: 60px auto;
  padding: 30px;
  background-color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  gap: 40px;
}

.contact-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.contact-image {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.contact-info {
	
}
.contact-info ul {
	margin-top:1rem;
}

.contact-info h2 {
  margin-top: 0;
  scolor: #222;
}
.contact-info h2:not(:first-of-type) {
  margin-top: 1em;
}
.contact-info h3 {
  margin-top: 1em;
}

.contact-info p {
  margin: 5px 0;
  line-height: 1.6;
}

.contact-right {
  flex: 1;
}

.contact-form {
 transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
}

.contact-form label {
  margin: 10px 0 5px;
  font-weight: bold;
}

.contact-form input,
.contact-form textarea {
  padding: 10px;
  border: 1px solid #ccc;
  font-size: 1rem;
  background-color: #fefefe;
  border-radius: 0;
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: #cc9c4a;
  box-shadow: 0 0 4px #cc9c4a55;
}

.contact-form button {
  margin-top: 20px;
  padding: 12px;
  background-color: #cc9c4a;
  color: #fff;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
  border-radius: 0;
}

.contact-form button:hover {
  background-color: #b88a3c;
}

/* Responsivita */
@media (max-width: 900px) {
  .contact-container {
    flex-direction: column;
    padding: 20px;
  }
}

/*

BLOGPOST CONTENT

*/

.blogpost-content {
	
	
}



.blogpost-content .entry-content img,
.blogpost-content .wp-block-image img,
.blogpost-content .wp-caption img {
  max-width: 100%;
  height: auto;
  display: block;
}

.blogpost-content .alignleft {
  float: left;
  margin-right: 1.5em;
}
.blogpost-content .alignright {
  float: right;
  margin-left: 1.5em;
}
.blogpost-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.blogpost-content .wp-caption {
  max-width: 100%;
  text-align: center;
  font-size: 0.9em;
  color: #666;
}
.blogpost-content .wp-caption img {
  margin-bottom: 0.5em;
}


/* ------------------------------------------------- */


.form-message {
  margin-top: 20px;
  padding: 16px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 1.1em;
  color: #fff;
  text-align: center;
}

.form-message.success {
  background-color: #28a745; /* zelená */
}

.form-message.error {
  background-color: #dc3545; /* červená */
}





.cart .product-quantity input.qty {
    display: none !important;
}
.cart .product-quantity {
    pointer-events: none;
}


table.shop_table td.product-quantity {
    display: none !important;
}
table.shop_table th.product-quantity {
    display: none !important;
}

.checkout-button {
	background-color: #cc9c4a !important;
	color:#fff !important;
}
.checkout-button:hover {
	background-color: #cc9c4a !important;
	color:#fff !important;
	opacity:0.8 !important;
}

.woocommerce-checkout-payment .button {
	background-color: #cc9c4a !important;
	color:#fff !important;
}

.woocommerce-checkout-payment .button:hover {
	background-color: #cc9c4a !important;
	color:#fff !important;
	opacity:0.8 !important;
}

#order_review_heading {
	margin-top:1rem !important;
}

div.woocommerce {
	margin-top:2rem;
}