/*
Theme Name: Orvio 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: orvio
*/


:root {
  --primary-color: #2f5e56;
  --accent-color: #c7b27c;
  --bg-light: #f5f7f6;
  --footer-bg: #1e2f2d;
  --copy-footer-bg: #222222;
}

body {
  background-color: var(--bg-light);
  font-family: 'Inter';
}

a {
	color:#c7b27c;
}

.navbar {
	background-color:var(--primary-color);
	color:#fff;
}

.toppad {
	height:72px;
}

li p {
	margin-top:0;
	margin-bottom:0;
}

#orvio-form-section {
	padding-bottom:100px !important;
}

#orvio-form-section {
    scroll-margin-top: 120px; /* výška headeru */
}
#orvio-form-section .form-text {
	color:#fff;
	opacity:0.5;
	font-size:10pt;
}

.no-smooth-scroll {
    scroll-behavior: auto !important;
}


@media (max-width: 1199px) {
	
	
	
	
}


/* když je přihlášený admin a zobrazuje se WP admin bar */
.navbar.fixed-top.has-adminbar{
  top: var(--wp-admin--admin-bar--height, 32px);
}

/* aby i offcanvas nezačínal pod lištou (volitelné, ale doporučuju) */
.has-adminbar ~ .offcanvas{
  top: var(--wp-admin--admin-bar--height, 32px);
  height: calc(100% - var(--wp-admin--admin-bar--height, 32px));
}




.footer {
	background-color: var(--footer-bg);
	padding:20px 0 0 0;
}
.footer-main-content {
	padding-bottom:40px;
}
.copyright-footer {
	background-color: var(--copy-footer-bg);
	color:#8d8d8d;
	padding:18px 0;
}

.footer-header {
	font-family: 'Manrope';
	font-size:14pt;
	font-weight:600;
	color:#fff;
	border-bottom:#2f5e56 solid 2px;
	padding-bottom:7px;
	margin-bottom:10px;
}
.footer-links {
	color:#c7b27c;
	line-height:1rem;
}
.footer-links ul {
    list-style: none;
    padding: 0; 
    margin: 0;
}
.footer-links li {
	margin-bottom: 10px;
}
.footer-links a {
	color:#c7b27c;
	text-decoration:none;
}
.footer-links a:hover {
	text-decoration:underline;
}


.footer-social-links {
	font-size:22pt;
	margin-top:-5pt;
}
.footer-social-links a {
	display:inline-block;
	color:#c7b27c;
	margin-right:8px;
}

.footer a:hover {
	color:#fff;
}

span.footer-link-symbol {
	display:inline-block;
	width:20px;
	text-align:center;
	margin-right:10px;
}

/*

navbar

*/

/* sub-dropdown otevři doprava */
.dropdown-menu .dropdown-submenu {
  position: absolute;
  left: 100%;
  top: 0;
  margin-top: -0.25rem;
  display: none;
}

.dropdown-menu li:hover > .dropdown-submenu {
  display: block;
}

/* trochu poladit caret u nested toggle */
.dropdown-menu .dropdown-toggle::after {
  float: right;
  margin-top: .55rem;
}

.navbar {
  font-family: 'Manrope';
  font-weight:500;
}

.nav-link {
	color:#fff;
}
.nav-link:hover {
	color:#c7b27c;
}


.orv-top-gap-1 {margin-top:1rem !important;}
.orv-top-gap-2 {margin-top:2rem !important;}
.orv-top-gap-3 {margin-top:3rem !important;}
.orv-top-gap-4 {margin-top:4rem !important;}
.orv-top-gap-5 {margin-top:5rem !important;}
.orv-top-gap-6 {margin-top:6rem !important;}
.orv-bot-gap-1 {margin-bottom:1rem !important;}
.orv-bot-gap-2 {margin-bottom:2rem !important;}
.orv-bot-gap-3 {margin-bottom:3rem !important;}
.orv-bot-gap-4 {margin-bottom:4rem !important;}
.orv-bot-gap-5 {margin-bottom:5rem !important;}
.orv-bot-gap-6 {margin-bottom:6rem !important;}

/*

Tlacitka

*/

.orvio-btn {
	display:inline-block;
	background-color: #c7b27c;
	border-radius: 6px;
	text-decoration:none;
	padding:8px 16px;
	color:#fff;
	border:2px solid transparent;
	text-shadow:1px 1px 3px rgba(0, 0, 0, 0.5);
}
.orvio-btn-hh {
	text-transform:uppercase;
	font-size:15pt;
	font-weight:500;
	padding:10px 20px;
box-shadow: 7px 8px 20px -2px rgba(0,0,0,0.19);
-webkit-box-shadow: 7px 8px 20px -2px rgba(0,0,0,0.19);
-moz-box-shadow: 7px 8px 20px -2px rgba(0,0,0,0.19);	
}
.orvio-btn:hover {
	background-color: #fff;
	color:#333;
	border:2px solid #333;
	text-shadow:none;
}


/*

Hlavicka podstranek - Pruh

*/

@keyframes orvioSlideIn {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}



/* Full-width header */
.orvio-pagehead{
  font-family: 'Manrope';
  font-weight:400;
  position: relative;
  overflow: hidden;  
  background: #efebe6;         /* světle béžová */
  padding: 64px 0;             /* výška pruhu */
  margin-bottom:2rem;
}

/* Zelený nadpis */
.orvio-pagehead__title{
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-size: clamp(36px, 4vw, 56px);
  color: #2f5e56;
  position: relative;
  z-index: 2;
  animation: orvioSlideIn 0.9s ease-out forwards;
}

/* Velký text v pozadí */
.orvio-pagehead__bg{
  position: absolute;
  bottom: -20px;
  transform: none;
  left: var(--orvio-container-left);
  white-space: nowrap;
  font-weight: 800;
  font-size: clamp(96px, 12vw, 180px);
  line-height: 1;
  color: rgba(255,255,255,0.35); /* slabě bílá “vodotisk” */
  z-index: 1;
  pointer-events: none;
  user-select: none;
  
  opacity: 0;
  animation: orvioSlideIn 2.2s ease-out 0.25s forwards;  
  
}

/* --- Klíč: výpočet levého okraje containeru v čistém CSS --- */
/* Bootstrp container max-width: 540/720/960/1140/1320 + gutter */
.orvio-pagehead{
  --bs-gutter-x: 1.5rem;   /* BS default; když ho máš jinde, klidně smaž */
  --orvio-container-max: 100%;
  --orvio-container-left: var(--bs-gutter-x);
}

@media (min-width: 576px){
  .orvio-pagehead{ --orvio-container-max: 540px; }
}
@media (min-width: 768px){
  .orvio-pagehead{ --orvio-container-max: 720px; }
}
@media (min-width: 992px){
  .orvio-pagehead{ --orvio-container-max: 960px; }
}
@media (min-width: 1200px){
  .orvio-pagehead{ --orvio-container-max: 1140px; }
}
@media (min-width: 1400px){
  .orvio-pagehead{ --orvio-container-max: 1320px; }
}

/* skutečný levý okraj containeru = (viewport - maxWidth)/2 + gutter
   a zároveň nikdy méně než gutter (na úzkých displejích) */
@media (min-width: 0px){
  .orvio-pagehead{
    --orvio-container-left: max(
      var(--bs-gutter-x),
      calc((100vw - var(--orvio-container-max)) / 2 + var(--bs-gutter-x))
    );
  }
}



@media (prefers-reduced-motion: reduce) {
  .orvio-pagehead__title,
  .orvio-pagehead__bg {
    animation: none;
    opacity: 1;
    transform: none;
  }
}


@media (max-width: 767px){
	.orvio-pagehead{
		padding:32px 0;
	}
	
}


/*
 ***************************
 
 homepage

 ********/

.homepage-hero {
	background-color:#efebe6;
}
.homepage-hero .container {
	background-position:right center;
	background-repeat:no-repeat;
	padding-top:3rem;
	padding-bottom:4rem;
}
@media (max-width: 1199px){

	.homepage-hero .container {
		background:none !important;
	}

}
.homepage-hero .hh-main-text {
	swidth:50%;
	font-family: 'Manrope';
	font-weight: 700;
	font-size: 31pt;
	line-height: 38pt;
	color:#2f5e56;
	text-shadow:#efebe6 2px 2px 0px;
}
.homepage-hero .hh-sub-text {
	wsidth:30%;
	margin-top:1.5rem;
	margin-bottom:1.5rem;
	font-family: 'Inter';
	font-size: 16pt;
	line-height: 25pt;
	color:#333;
}


/* HP BOX TRIO */ 

.hp-box-trio-heading {
	font-family:'Manrope';
	font-weight:700;
	font-size:21pt;
	color:#333;
	padding:0;
	margin-top:3rem;
	margin-bottom:1rem;
}

.hp-box {
    border-radius:10px;
    overflow:hidden;
    background-color:#efebe6;
    display:flex;
    flex-direction:column;
    height:100%;
}



.hp-box .hp-box-header{
	font-family:'Manrope';
	font-weight:600;
	font-size:14pt;
	padding:10px;
	background-color:#2f5e56;
	color:#fff;

	position: relative;
	display: flex;
	align-items: center;
}

/* Ikona vlevo */
.hp-box .hp-box-header img{
	height:70px;
	width:auto;
	flex: 0 0 auto;
	z-index: 2;
}

/* Nadpis přesně na střed celé šířky headeru */
.hp-box .hp-box-header h2,
.hp-box .hp-box-header h3{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0;

	display: block; 
	font-size:15pt;
	line-height: 1.1;
}




@media (max-width: 1399px) {
	.hp-box .hp-box-header img {
		font-size:10pt;
		height:35px;
		width:auto;
	}
	.hp-box .hp-box-header h2, .hp-box .hp-box-header h3 {
		display:inline-block;
		font-size:13pt;
	}
}


.hp-box .hp-box-content {
    padding:1rem;
    display:flex;
    flex-direction:column;
    flex-grow:1;
}



.hp-box .hp-box-button-row {
    margin-top:auto; /* TLAČÍTKO DOLE */
    text-align:center;
    padding-top:1.5rem;
}



/* SEKCE REFERENCE NA HOMEPAGE */

.hpr-section {
	background-color:#2f5e56;
	color:#fff;
}
.hpr-section .row {
	margin-right:0;
}

.hpr-header {
	font-family:'Manrope';
	font-size:20pt;
	font-weight:800;
	color:#fff;
	padding:30px 0 15px 0;
	text-align:center;
}
.hpr-subheader {
	font-family:'Manrope';
	font-size:15pt;
	font-weight:800;
	color:#78a49d;
	padding:0px 0;
	text-align:center;
}
.hpr-line {
	border-radius:2px;
	background-color:#78a49d;
	width:64px;
	height:3px;
	margin-top:30px;
	margin-bottom:50px;
	margin-left:auto;
	margin-right:auto;
}

.ref-quotes-left {
	background-repeat:no-repeat;
	background-position: left 20px bottom -40px;
	background-image:url('assets/img/quotes-left.png');
}
.ref-quotes-right {
	background-repeat:no-repeat;
	background-position: right 20px top -40px;
	background-image:url('assets/img/quotes-right.png');
}

@media (max-width: 1199px){

	.ref-quotes-left, .ref-quotes-right {
		background:none;
	}

}

.hpr-ref-item { opacity: 0; transition: opacity .25s ease; }
.hpr-ref-item.is-active { display: block; opacity: 1; }
.hpr-ref-item.is-active{ opacity:1; visibility:visible; }
.hpr-ref-item.is-leaving{ opacity:0; visibility:visible; } /* pořád viditelné během odchodu */

.hpr-dots { margin-top: 16px; margin-bottom: 30px; display: flex; gap: 10px; justify-content: center; }
.hpr-dot {
  width: 10px; height: 10px; border-radius: 999px; border: 0;
  opacity: .35; cursor: pointer;
}
.hpr-dot.is-active { opacity: 1; }


.hpr-ref-stage{
  position: relative;
  min-height: 180px; /* nebo si to nech řídit JS výškou */
}

.hpr-ref-item{
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 900ms ease, transform 900ms ease;
  pointer-events: none;
  visibility: hidden;              /* aby to nebylo “klikatelné” */
}

.hpr-ref-item.is-active{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

.hpr-ref-item__text {
	font-weight:200;
	font-style:italic;
}
.hpr-ref-client {
	margin-top:1rem;
	text-align:center;
	font-weight:500;
}


@media (max-width: 991px){

	.hpr-ref-item {
		padding-left:10px;
		padding-right:10px;
		text-align:center;
		font-size:11pt;
	}
	
}



/* SEKCE BLOG NA HOMEPAGE */

.hpb-section {
	padding:50px 0;
}

.hpb-header {
	font-family:'Manrope';
	font-size:20pt;
	font-weight:800;
	color:#333;
	padding:30px 0 15px 0;
	text-align:center;
}
.hpb-subheader {
	font-family:'Manrope';
	font-size:15pt;
	font-weight:800;
	color:#9c9388;
	padding:0px 0;
	text-align:center;
}
.hpb-line {
	border-radius:2px;
	background-color:#9c9388;
	width:64px;
	height:3px;
	margin-top:30px;
	margin-bottom:50px;
	margin-left:auto;
	margin-right:auto;
}

.blog-item {
	overflow:hidden;
	border-radius:10px;
	background-color:#2f5e56;
	color:#fff;
}
.blog-item .img-link {
	display:block;
	width: 100%;
	aspect-ratio: 4 / 3;	
}
.blog-item .img-link:hover {
	filter:brightness(1.15);
}
.blog-item .img-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.blog-item .blog-text-info {
	padding:15px;
}
.blog-item .text-link {
	font-family:'Manrope';
	font-weight:500;
	color:#fff;
	text-decoration:underline;
	display:inline-block;
	font-size:14pt;
	margin-bottom:1rem;
}
.blog-item .text-link:hover {
	color:#c7b27c;
}
.blog-item .excerpt {
	font-size:11pt;
}

.undersection-button-row {
	padding:4rem 0;
	text-align:center;
}



/*
***************


*/

.bubble-info {
	background-color:#2f5e56;
	background-image:url('assets/img/info.png');
	background-size:33px 62px;
	background-position:15px 20px;
	background-repeat:no-repeat;
	color:#efebe6;
	border-radius:10px;
	padding:20px 50px 20px 70px;
}

.spacer {
	height:2rem;
}


/*

STRIDANI SEKCI

*/

.side-section{
  position: relative;
  overflow: hidden;
}

.side-section__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.side-section__text{
  padding: 80px 40px 80px calc(((100vw - 1320px) / 2) + 10px);
}

.side-section__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Reverse layout (prohození sloupců) */
.side-section--reverse .side-section__inner{
  direction: rtl;
}

.side-section--reverse .side-section__text,
.side-section--reverse .side-section__image{
  direction: ltr;
}

/* Reverse: doladění textového bloku vpravo */
.side-section--reverse .side-section__text{
  max-width: 620px;
  margin-left: 0;
  padding-left: 0;
  margin-right: calc((100vw / 2) - 650px);
}

/* <= 1399px */
@media (max-width: 1399px){

  .side-section__text{
    padding: 80px 40px 80px 20px;
  }

  .side-section--reverse .side-section__text{
    max-width: 520px;
    margin-right: calc((100vw / 2) - 550px);
  }
}

/* <= 991px */
@media (max-width: 991px){

  .side-section__inner{
    grid-template-columns: 1fr;
  }

  .side-section--reverse .side-section__text{
    max-width: 100%;
    margin-right: 0;
    padding: 0 20px; /* zachová ti pohodlný okraj na mobilu */
  }
}





.side-section .ss-header {
	font-family:'Manrope';
	font-size:20pt;
	font-weight:800;
	color:#333;
	padding:30px 0 15px 0;
	text-align:left;
}
.side-section .ss-subheader {
	font-family:'Manrope';
	font-size:15pt;
	font-weight:800;
	color:#9c9388;
	padding:0px 0;
	text-align:left;
}
.side-section .ss-line {
	border-radius:2px;
	background-color:#2f5e56;
	width:64px;
	height:3px;
	margin-top:30px;
	margin-bottom:50px;
}
.side-section .content {
	color:#333;
}



#pointing-person {
	position:absolute;
	top:-200px;
	left:-50px;
	max-width:100%;
	height:auto;
	z-index:111;
}

@media (max-width: 991px) {
	
	#pointing-person {
		display:none;
	}
	
	.spacer {
		display:none;
	}
}


/*

SEKCE AKCE 1 (Dluhove poradenstvi, Sluzby pro jednotlivce)

*/

.section-action1 {
	background-color:#efebe6;
	color:#333;
	padding-bottom:2rem;
}
#section-action1-img {
	margin-top:40px;
	position:relative;
	top:27px;
}

.sa1-header {
	font-family:'Manrope';
	font-size:19pt;
	font-weight:800;
	color:#333;
	padding:30px 0 20px 0;
	text-align:center;
}
.sa1-subheader {
	font-family:'Manrope';
	font-size:15pt;
	font-weight:800;
	color:#9c9388;
	padding:0px 0;
	text-align:center;
}
.sa1-line {
	border-radius:2px;
	background-color:#9c9388;
	width:64px;
	height:3px;
	margin:35px auto 50px auto;
}
.sa1-side-header {
	font-family:'Manrope';
	font-size:14pt;
	font-weight:700;
	color:#333;
	padding-bottom:0;
	margin-bottom:0.5rem;
}
.sa1-side-content {
	color:#333;
	padding-bottom:3rem;
}



/*

SEKCE FORM 1

*/

.section-form1 {
	background-color:#2f5e56;
	color:#fff;
	padding-bottom:2rem;
}


.sf1-header {
	font-family:'Manrope';
	font-size:19pt;
	font-weight:800;
	color:#fff;
	padding:0px 0 20px 0;
	text-align:center;
}
.sf1-subheader {
	font-family:'Manrope';
	font-size:15pt;
	font-weight:800;
	color:#7aa59e;
	padding:0px 0;
	text-align:center;
}
.sf1-line {
	border-radius:2px;
	background-color:#7aa59e;
	width:64px;
	height:3px;
	margin:35px auto 50px auto;
}