/* -------------------*
 *       GLOBAL       
 *------------------- */
html,
body { font-size: 18px; font-weight: 400; color: #000; background: #fff; font-family:'mundial', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
input, select, textarea, button { font-size: 18px; font-family:'mundial', Helvetica, Arial, sans-serif; }
ol, ul, p { margin-bottom: 1.5rem; line-height: 1.5em; }
a { color:#000; text-decoration: underline; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
a:hover, a:focus { color:#000; text-decoration: none; } 
.nowrap { white-space:nowrap; }
img { max-width:100%; height:auto; }
button { width:auto; padding:0; overflow:visible; cursor: pointer; line-height:normal !important; }
button::-moz-focus-inner { border:0; padding:0;  margin:-1px 0 0 0; }
button:active { box-shadow:inset 1px 1px 2px rgba(0,0,0,0.3); }
.align-middle { display:flex; align-items:center; }
.lead { font-size: 24px; line-height: 1.3em; font-weight: 400; font-family:'mundial', Helvetica, Arial, sans-serif; }
.caps { text-transform:uppercase; }
hr { margin-top:30px; margin-bottom:30px; }
strong { font-weight: 800; }
.mb-0 { margin-bottom: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
[data-href] { cursor: pointer; }

.overflow { overflow: hidden; }

.grayscale { opacity: 0.5; filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url('../images/layout/grayscale.svg#greyscale'); filter: gray; -webkit-filter: grayscale(1); -webkit-transition:0.4s; -moz-transition:0.4s; -ms-transition:0.4s; -o-transition:0.4s; transition:0.4s; }
.grayscale:hover { opacity: 1; -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -ms-filter: grayscale(0%); -o-filter: grayscale(0%); filter: none; }

/* headlines
----------------------------------------- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4 { font-weight: 400; font-style: normal; font-family:'mundial', Helvetica, Arial, sans-serif; }
h1, .h1 { font-size: 56px; line-height: 1em; margin-bottom: 2rem; } 
h2, .h2 { font-size: 52px; line-height: 1em; margin-bottom: 2rem; text-transform: uppercase; }
h3, .h3 { font-size: 38px; line-height: 1.2em; margin-bottom: 1.5rem; text-transform: uppercase; }
h4, .h4 { font-size: 32px; margin-bottom: 1rem; }
h5, .h5 { font-size: 20px; margin-bottom: 1rem; font-weight: 700; line-height: 1.3em; }

/* clear 
----------------------------------------- */
.clear { clear:both; }

/* -------------------*
 *       LAYOUT       *
 *------------------- */

/* header
---------------------------------------- */
header { border: 0; z-index: 50; position: sticky; top: 0; left: 0; right: 0; background: #ffd043; }
.admin-bar header { top: 32px; }
header .navbar { padding: 30px 40px; display: block; z-index: 51; color: #232220; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar a { color: #232220; }
header .navbar .navbar-brand { line-height: 1em; margin: 0; padding: 0; text-decoration: none !important; }
header .navbar .navbar-brand svg { width: 150px; }

header .navbar .navbar-nav { list-style: none; padding: 0; align-items: center; flex-direction: row; }
header .navbar .navbar-nav li { position: relative; padding: 0 20px; line-height: 1em; }
header .navbar .navbar-nav li:first-child { padding-left: 0; }
header .navbar .navbar-nav li:last-child { padding-right: 0; }
header .navbar .navbar-nav li > a { font-size: 15px; letter-spacing: 1px; font-weight: 600; text-transform: uppercase; line-height: 1em; display: block; padding: 10px 0; text-decoration: none; position: relative; }
header .navbar .navbar-nav li:not(.highlight) > a:after { content: ''; display: block; position: absolute; bottom: 3px; left: 50%; width: 0; height: 2px; background: #000; transform: translateX(-50%); }
header .navbar .navbar-nav li:not(.highlight) > a:hover:after,
header .navbar .navbar-nav li:not(.highlight).current-menu-item > a:after { width: 100% !important; }
header .navbar .navbar-nav li.highlight > a { font-weight: 600; letter-spacing: -0.1px; border: 1px solid #1c9666; color: #000; background: #fff; padding: 10px 20px 12px 55px; position: relative; }
header .navbar .navbar-nav li.highlight > a:hover { background: #1c9666; color: #fff; }
header .navbar .navbar-nav li.highlight > a i { display: flex; justify-content: center; align-items: center; color: #fff; width: 37px; font-size: 10px; background: #1c9666; position: absolute; left: 0; top: 0; bottom: 0; }

header .navbar-toggler { padding: 0; margin:  0 -5px 0 0; border: 0; width: 50px; height: 50px; outline: none !important; box-shadow: none !important; background: transparent; border-radius: 50%; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .navbar-toggler-text { display: inline-block; vertical-align: middle; text-transform: uppercase; font-weight: 500; }
header .navbar-toggler .burger { display:inline-block; vertical-align: middle; margin: -3px 0 0 0; }
header .navbar-toggler .burger span { width: 35px; height: 2px; border-radius: 2px; background: #000; display:block; margin: 7px 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .burger span.line-top { margin-top: 1px; -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); }
header .navbar-toggler .burger span.line-bottom { margin-top: -18px; -ms-transform: rotate(-135deg); -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
header .navbar-toggler .burger span.line-middle { opacity: 0; }
header .navbar-toggler.collapsed .burger span.line-top { margin-top: 4px; transform: none; }
header .navbar-toggler.collapsed .burger span.line-middle { opacity: 1; }
header .navbar-toggler.collapsed .burger span.line-bottom { width: 25px; margin-top: 4px; transform: none; }

header .navbar-toggler:hover .burger span.line-bottom { width: 35px; }

.scroll header .navbar { padding-top: 20px; padding-bottom: 20px; /*box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);*/ }

/* modal
---------------------------------------- */
.modal-open main { position: static; }
.modal { text-align: left; }
.modal-content { border-radius: 30px; border: 0; }
.modal-header { border: 0; padding: 40px 40px 5px 50px; }
.modal-body { padding: 60px; }
.modal { -webkit-backdrop-filter: blur(10px); -moz-backdrop-filter: blur(10px); -ms-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

/* headline
---------------------------------------- */
.headline { background: #ffd043; }
.headline-home { padding: 0 5px 100px; position: relative; }
.headline-home .headline-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.headline-home .headline-banner { display: block !important; aspect-ratio: 1922 / 897; }
.headline-home .headline-logo { position: absolute; bottom: 53px; left: 50%; transform: translateX(-50%); }
.headline-home .headline-logo img { min-width: 800px; width: 800px; height: auto; }

/* section
---------------------------------------- */
.section { padding: 80px 20px; position: relative; }

.bg-yellow { background: #ffd043; }
.bg-blue { background: #b4c3f5; }
.bg-green { background: #1c9666; }

/* split sections
---------------------------------------- */
.split { display: flex; flex-wrap: wrap; align-items: stretch; }
.split-col { width: 50%; position: relative; overflow: hidden; }
.split-text { display: flex; flex-direction: column; }
.split-body { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; padding: 50px; max-width: 855px; }
/* text vpravo (obrázok vľavo): väčší vnútorný padding od obrázka, rastie so šírkou okna */
.split-media + .split-text .split-body { padding-left: clamp(55px, 6vw, 130px); }
.split-body p,
.split-body ul { max-width: 500px; margin-top: 0; }
.split-body > *:last-child { margin-bottom: 0; }
.split-media { align-self: center; aspect-ratio: 1 / 1; }
.split-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

.band { display: flex; align-items: stretch; min-height: 70px; margin-bottom: 0; text-decoration: none; }
.band-green { background: #1c9666; }
.band-label { flex: 1 1 auto; display: flex; align-items: center; padding: 30px 20px 30px 50px; text-transform: uppercase; color: #fff; }
.split-text-left .band-label { padding-left: var(--edge); }
.band-label span { color: #b4c3f5; padding-left: 0.35em; }
.band-icon { flex: 0 0 70px; aspect-ratio: 1 / 1; display: flex; align-items: center; text-decoration: none; justify-content: center; background: #fff; font-size: 55px; color: #b4c3f5; }
a.band:hover .band-icon { color: #1c9666; }

.plus-list { list-style: none; padding-left: 0; }
.plus-list li { position: relative; padding-left: 26px; margin-bottom: 12px; }
.plus-list li:before { content: "+"; position: absolute; left: 0; top: 0; font-weight: 700; }

.split-slider { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.split-slider, .split-slider .slick-list, .split-slider .slick-track { height: 100% !important; }
.split-slider .slick-slide { height: 100%; }
.split-slider .slick-slide > div { height: 100%; line-height: 0; }
.split-slider .slick-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.split-slider .slick-slide .split-slider-item { display: block !important; height: 100%; }
.split-slider .slick-prev, .split-slider .slick-next { width: 50px; height: 50px; z-index: 10; }
.split-slider .slick-prev { left: 20px; }
.split-slider .slick-next { right: 20px; }
.split-slider .slick-prev:before, .split-slider .slick-next:before { display: none; }
.split-slider .slick-prev i, .split-slider .slick-next i { font-size: 50px; color: #fff; }
.split-slider .slick-arrow { outline: none !important; box-shadow: none !important; }
.split-slider .slick-arrow:hover i { color: #ffd043; }
.split-slider .slick-dots { left: 0; right: 0; bottom: 40px; text-align: center; }

/* decorative logo
---------------------------------------- */
.decorative-logo img { width: 100%; height: auto; }

/* inquiry form
---------------------------------------- */
.section-form { position: relative; }
.section-form:after { content: ''; display: block; height: 160px; background: #fff; position: absolute; bottom: 0; left: 0; right: 0; z-index: 1; }
.section-form > div { position: relative; z-index: 2; }
.inquiry { position: relative; overflow: hidden; background: #1c9666; color: #fff; padding: 70px clamp(40px, 5vw, 80px); }
.inquiry-row { display: flex; flex-wrap: wrap; gap: 50px 70px; padding-right: clamp(0px, 5vw, 120px); }
.inquiry-intro { flex: 1 1 320px; }
.inquiry-intro h2 { color: #fff; }
.inquiry-intro p { max-width: 420px; }
.inquiry-intro > *:last-child { margin-bottom: 0; }
.inquiry-form { flex: 0 1 460px; }

.form-row { margin-bottom: 26px; }
.form-row > label { display: block; margin-bottom: 12px; }

.inquiry input[type="text"],
.inquiry input[type="email"],
.inquiry input[type="tel"],
.inquiry textarea { width: 100%; border: 0; border-bottom: 1px solid #b4c3f5; background: rgba(255, 255, 255, 0.18); color: #fff; padding: 10px 20px; }
.inquiry textarea { display: block; min-height: 90px; resize: vertical; }
.inquiry ::placeholder { color: rgba(255, 255, 255, 0.6); }
.inquiry input:focus, .inquiry textarea:focus { outline: 2px solid #ffd043; outline-offset: 1px; }
.inquiry .wpcf7-form-control-wrap { display: block; }

.inquiry .wpcf7-checkbox { display: flex; flex-wrap: wrap; }
.inquiry .wpcf7-checkbox .wpcf7-list-item { width: 50%; display: block; margin: 0 0 14px; }
.inquiry .wpcf7-checkbox .wpcf7-list-item:last-child { margin-bottom: 0; }
.inquiry .wpcf7-checkbox label { display: flex; align-items: center; cursor: pointer; margin: 0; }
.inquiry .wpcf7-checkbox input { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; flex: 0 0 auto; margin: 0 14px 0 0; background: rgba(255, 255, 255, 0.18); cursor: pointer; }
.inquiry .wpcf7-checkbox input:checked { background: #b4c3f5; }

.form-disclaimer { font-size: 15px; line-height: 1.3em; margin-bottom: 1.5rem; }

.form-submit { display: inline-flex; align-items: stretch; margin-top: 6px; }
.form-submit-icon { display: flex; align-items: center; justify-content: center; width: 56px; background: #fff; color: #000; }
.form-submit-icon i { font-size: 20px; }
.form-submit input[type="submit"] { font-size: 18px; border: 0; background: #b4c3f5; color: #000; text-transform: uppercase; font-weight: 500; letter-spacing: 1px; padding: 16px 28px; cursor: pointer; -webkit-transition: 0.3s; transition: 0.3s; }
.form-submit input[type="submit"]:hover { background: #fff; }

.inquiry .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: #fff; }
/*.inquiry .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border-color: #fff; color: #fff; }*/

.inquiry-deco { position: absolute; top: 0; right: 0; bottom: 0; width: 80px; display: flex; flex-direction: column; }
.inquiry-deco span { display: block; width: 100%; }
.inquiry-deco .deco-yellow { flex: 1 1 auto; background: #ffd043; }
.inquiry-deco .deco-white { height: 80px; background: #fff; }
.inquiry-deco .deco-red { height: 80px; background: #9e2b2b; }

/* decorative logo (image clipped to H+ART shape)
---------------------------------------- */
.section-logo { padding-top: 60px; padding-bottom: 60px; }
.decorative-logo { width: 100%; aspect-ratio: 867.11 / 198.75; background: url(../images/content/bg-hart-logo.webp) center / cover no-repeat; -webkit-mask: url(../images/layout/logo-hart.svg) center / contain no-repeat; mask: url(../images/layout/logo-hart.svg) center / contain no-repeat; }

/* gallery (full width slider)
---------------------------------------- */
.section-gallery { padding-left: 0; padding-right: 0; }
.gallery-wrap { position: relative; }
.gallery { display: flex; gap: 12px; padding: 0 20px; scroll-padding-inline: 20px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; cursor: grab; -webkit-user-select: none; user-select: none; scrollbar-width: none; }
.gallery.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.gallery::-webkit-scrollbar { height: 0; width: 0; }
.gallery-item { flex: 0 0 auto; scroll-snap-align: start; }
.gallery-nav { opacity: 0; position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 60px; height: 60px; border: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: transparent; cursor: pointer; -webkit-transition: 0.3s; transition: 0.3s; }
.gallery-wrap:hover .gallery-nav { opacity: 1; }
.gallery-nav:hover { color: #ffd043; }
.gallery-nav i { font-size: 40px; }
.gallery-prev { left: 50px; }
.gallery-next { right: 50px; }
.gallery-nav[disabled] { opacity: 0; visibility: hidden; pointer-events: none; }
.gallery-item img { display: block; height: clamp(220px, 40vw, 680px); width: auto; max-width: none; object-fit: cover; object-position: center; border-bottom: 6px solid #b4c3f5; -webkit-user-drag: none; user-select: none; pointer-events: none; }
.gallery-item--wide img { aspect-ratio: 5 / 4; }
.gallery-item--narrow img { aspect-ratio: 3 / 5; }
.gallery-item--blue img { border-bottom-color: #b4c3f5; }
.gallery-item--green img { border-bottom-color: #1c9666; }
.gallery-item--red img { border-bottom-color: #9e2b2b; }
.gallery-item--yellow img { border-bottom-color: #ffd043; }

/* highlights (marquee – nekonečná slučka)
---------------------------------------- */
.section.highlights { --gap: clamp(40px, 5vw, 90px); padding-left: 0; padding-right: 0; }
.marquee { display: flex; gap: var(--gap); overflow: hidden; }
.marquee:hover .highlight-group { animation-play-state: paused; }
.highlight-group { flex-shrink: 0; display: flex; align-items: center; justify-content: space-around; gap: var(--gap); min-width: 100%; animation: marquee-scroll 28s linear infinite; }
@keyframes marquee-scroll { to { transform: translateX(calc(-100% - var(--gap))); } }
.highlight-item { display: flex; align-items: center; gap: 0.2em; white-space: nowrap; text-transform: uppercase; font-weight: 400; line-height: 1; font-size: 100px; }
.highlight-plus { font-size: 0.5em; margin-top: 15px; }
.highlight-plus--blue { color: #b4c3f5; }
.highlight-plus--green { color: #1c9666; }
.highlight-plus--red { color: #9e2b2b; }
.highlight-plus--yellow { color: #ffd043; }
@media (prefers-reduced-motion: reduce) { .highlight-group { animation: none; } }

/* text page
---------------------------------------- */
.section.text-page { padding-left: 40px; padding-right: 40px; }
.text-page blockquote { font-size: 38px; font-style: italic; text-transform: uppercase; font-family: 'mundial', Helvetica, Arial, sans-serif; }
.text-page blockquote p { line-height: 1.2em; letter-spacing: -1px; }
.text-page ul,
.text-page ol { list-style: none; padding-left: 0; }
.text-page ul li { padding-left: 10px; padding-top: 0; padding-bottom: 0; position: relative; }
.text-page ul li:before { content: ''; display: block; width: 4px; height: 4px; background: #ce2613; border-radius: 50%; position: absolute; top: 11px; left: 0; }
.text-page ol li { counter-increment: step-counter; position: relative; padding-left: 30px;  }
.text-page ol li:before { font-weight: 400; width: 20px; text-align: left; position: absolute; top: 0; left: 0; content: counter(step-counter)'.'; }
.text-page h2,
.text-page h3,
.text-page h4,
.text-page .h4 { padding-top: 1rem; padding-bottom: 0.6rem; }
.text-page img.alignnone { border-radius: 20px; margin: 0 0 2rem 0; }

.text-page h1 { text-transform: uppercase; margin-bottom: 3rem; }
.text-page h2 { font-size: 20px; font-weight: 800; line-height: 1.3em; text-transform: none; margin: 3rem 0 1.2rem; }
.text-page h3 { font-size: 18px; font-weight: 800; font-style: italic; line-height: 1.3em; text-transform: none; margin: 1.6rem 0 1rem; }

.text-page.bg-green { color: #fff; }

/* thank page
---------------------------------------- */
.page-template-thank header { background: #1c9666; }
.page-template-thank header .navbar .navbar-brand svg path { fill: #fff; }
.page-template-thank header .navbar a { color: #fff; }
.page-template-thank header .navbar a:after { background-color: #fff !important; }
.thank-img { position: relative; font-size: 0; }
.thank-img i { display: block; position: absolute; top: -90px; left: -90px; font-size: 110px; }

/* slick slider
---------------------------------------- */
.slick-dotted.slick-slider { margin-bottom: 0 !important; }
.slick-list * { outline: none !important; box-shadow: none !important; }
.slick-list .slick-slide { transform: translateZ(0) !important; }
/*.slick-list .slick-slide > div,
.slick-list .slick-slide > div > div { min-height: 100%; height: 100%; }*/

.slick-dots { bottom: 60px; right: 50px; left: auto; text-align: right; z-index: 50; }
.slick-dots li { width: auto; height: auto; margin: 0 5px; }
.slick-dots li button { width: 10px; height: 10px; padding: 0; background: #fff; }
.slick-dots li.slick-active button { width: 30px; }
.slick-dots li button:hover { background: #ffd043; }
.slick-dots li button:before { display: none; }

/* footer
---------------------------------------- */
footer { font-size: 18px; padding: 80px 40px 50px; color: #000; background: #b4c3f5; }
footer a { text-decoration: none; }
footer a:hover { text-decoration: underline; }

.footer-brand { margin-bottom: 80px; }
.footer-socials { display: flex; }
.footer-socials a { width: 40px; height: 40px; font-size: 25px; margin-left: 20px; background: #fff; display: flex; justify-content: center; align-items: center; text-decoration: none; }
.footer-socials a:hover { text-decoration: none; background: #000; color: #fff; }

.section .footer-socials a { margin: 0 20px 0 0; }
.footer-copy { padding-top: 0.5rem; }
.footer-copy-links a { margin-right: 20px; }

/* buttons
---------------------------------------- */
.btn { font-size: 16px; font-weight: 700; font-style: normal; letter-spacing: 2px; text-transform: uppercase; padding: 10px 20px; white-space: nowrap; border-radius: 0; text-decoration: none !important; position: relative; -webkit-transition: linear 0.2s; -moz-transition: linear 0.2s; transition: linear 0.2s; }
.btn i { font-size: 14px; margin-left: 10px; margin-top: -2px; display: inline-block; vertical-align: middle; }
.btn.btn-lg { font-size: 20px; font-weight: 500; padding: 15px 30px; }
.btn.btn-md { font-size: 15px; text-transform: initial; padding: 10px 20px; }
.btn.btn-sm { font-size: 13px; text-transform: initial; padding: 8px 15px; }

.btn.btn-primary { color: #fff; background: #d4916c !important; border-color: #d4916c; }
.btn.btn-primary:hover { color: #fff; background-color: #000 !important; border-color: #000; }

.btn.btn-dark { background: #000; border-color: #000; }
.btn.btn-dark:hover { background: #d4916c; border-color: #d4916c; }

.btn.btn-link { font-size: 18px; text-transform: initial; font-weight: 400; letter-spacing: 0; color: #d4916c; padding: 0; outline: none; box-shadow: none !important; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.btn.btn-link:hover { color: #d4916c; text-decoration: underline !important; }
.btn.btn-more i { font-size: 12px; margin-left: 5px; transform: rotate(90deg) }

.buttons-group .btn { margin: 0 20px 15px 0; }


/* forms
---------------------------------------- */
.form-group { margin-bottom: 20px; }
form label { font-size: 18px; font-weight: 400; margin-bottom: 10px; }
form label em { font-weight: 400; }
.form-group:not(.form-group-checkbox) label { font-size: 18px; font-weight: 400; }
.form-group label input { margin-right: 5px; }
.form-group label a { color: #000; }
.form-group-checkbox { color: #000; }
.form-control { font-size: 20px; color: #000 !important; padding: 10px 15px; border: 1px solid #fff !important; background: #fff !important; border-radius: 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
.form-control:focus { box-shadow: none !important; border-color: #fff !important; }
.btn-block { width: 100%; }
.req { color: #ff0000; }
form p { margin-bottom: 0; }
.section p small { line-height: 1.5em; display: block; }
.wpcf7-turnstile { margin-bottom: 1rem; }

/* -------------------*
 *         IE         *
 *------------------- */
.clearfix { zoom:1\9; }

/* rotujúce slovo v páse "Home for ..." */
.band-word { display: inline-block; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; }
.band-word.is-out { opacity: 0; transform: translateY(-0.25em); }
@media (prefers-reduced-motion: reduce) { .band-word { transition: none; } }

/* slová rotátora sú v HTML (editovateľné vo WP) */
.band-words { display: inline-block; }
.band-word { display: none; }
.band-word.is-active { display: inline-block; }
.band-label .band-word { padding-left: 0; }

/* parallax – pozadie v logu prilepené k viewportu */
.decorative-logo { background-attachment: fixed; }
@media (max-width: 991px) { .decorative-logo { background-attachment: scroll; } }

/* before/after compare slider */
.compare { position: absolute; inset: 0; overflow: hidden; --pos: 50%; -webkit-user-select: none; user-select: none; }
.compare-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; -webkit-user-drag: none; }
.compare-top { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.compare-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: #fff; transform: translateX(-50%); cursor: ew-resize; touch-action: none; z-index: 3; }
.compare-grip { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 54px; height: 54px; border-radius: 50%; background: #fff; color: #000; display: flex; align-items: center; justify-content: center; gap: 2px; box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.25); }
.compare-grip i { font-size: 15px; line-height: 1; }

/* viac before/after prípadov (prepínateľná galéria) */
.compare-cases { position: absolute; inset: 0; }
.compare { opacity: 0; pointer-events: none; -webkit-transition: opacity 0.4s; transition: opacity 0.4s; }
.compare.is-active { opacity: 1; pointer-events: auto; }
.compare-nav { position: absolute; bottom: 16px; z-index: 5; width: 44px; height: 44px; border: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.55); color: #fff; cursor: pointer; -webkit-transition: 0.3s; transition: 0.3s; }
.compare-nav:hover { background: #000; }
.compare-nav i { font-size: 18px; }
.compare-prev { left: 16px; }
.compare-next { right: 16px; }
.compare-dots { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; gap: 8px; }
.compare-dot { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.5); cursor: pointer; -webkit-transition: 0.3s; transition: 0.3s; }
.compare-dot.is-active { background: #fff; }

/* navigácia before/after = pôvodný dizajn slidera (biele šípky + čiarky) */
.compare-nav { width: 50px; height: 50px; z-index: 10; background: transparent; }
.compare-nav:hover { background: transparent; }
.compare-nav i { font-size: 40px; color: #fff; }
.compare-prev { left: 20px; }
.compare-next { left: 100px; }
.compare-dots { right: 30px; bottom: 36px; transform: none; justify-content: flex-end; gap: 10px; z-index: 10; }
.compare-dot { width: 10px; height: 10px; border-radius: 0; background: #fff; }
.compare-dot:hover { background: #ffd043; }
.compare-dot.is-active { width: 30px; background: #fff; }

.compare-stage { position: absolute; inset: 0; }
.compare-controls { position: absolute; inset: 0; z-index: 10; pointer-events: none; }
.compare-controls > * { pointer-events: auto; }

/* -------------------*
 *     RESPONSIVE     *
 *------------------- */

@media all and (max-width:1499px) {
    html, body,
    form label, input, select, textarea, button { font-size: 16px; }

    h1, .h1 { font-size: 52px; } 
    h2, .h2 { font-size: 40px; }
    h3, .h3 { font-size: 32px; }
    h4, .h4 { font-size: 26px; }

    .band.h3 { font-size: 30px; } 
    .band-icon { font-size: 35px; }
    .band-label { padding-top: 20px; padding-bottom: 20px; padding-right: 20px; }

    .split-body { padding-top: 40px; padding-bottom: 40px; }

    .plus-list li { margin-bottom: 5px; }

    .highlight-item { font-size: 80px; }

    .form-submit input[type="submit"] { font-size: 16px; }

    footer { font-size: 15px; }
}
@media all and (max-width:1199px) {
    h1, .h1 { font-size: 45px; }        
    h2, .h2 { font-size: 36px; }
    h3, .h3 { font-size: 30px; margin-bottom: 1rem; }
    h4, .h4 { font-size: 22px; }
    h5, .h5 { font-size: 18px; margin-bottom: 0.5rem; }
    ol, ul, p { margin-bottom: 1rem; }

    header .navbar { padding: 20px 20px; }

    .section { padding-top: 40px; padding-bottom: 40px; }

    .section.text-page { padding-left: 15px; padding-right: 15px; }

    .band.h3 { font-size: 22px; } 
    .band-icon { font-size: 25px; }
    .band-label { padding-left: 30px; }

    .plus-list li { margin-bottom: 0; }

    .split-media + .split-text .split-body,
    .split-body { padding: 25px 30px; }

    .inquiry { padding: 40px; }
    .inquiry-form { flex: 0 1 350px; }
    .inquiry-deco { width: 40px; }
    .inquiry-deco .deco-white,
    .inquiry-deco .deco-red { height: 40px; }
    .section-form:after { height: 80px; }

    footer { padding: 60px 20px 50px }
}
@media all and (max-width:991px) {        
    header .navbar .navbar-nav li { padding: 0 15px; }
    /*.show-navigation { overflow: hidden; }
    .show-navigation header { position: fixed; bottom: 0; }
    .show-navigation header .navbar { height: 100vh; background: #fff5e4 !important; align-items: flex-start; overflow-y: auto; webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; -o-transition:0s; transition:0s; -webkit-backdrop-filter: blur(15px); -moz-backdrop-filter: blur(15px); -ms-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
    .show-navigation header .navbar-collapse { min-height: calc(100vh - 100px); display: flex; flex-wrap: wrap; align-content: flex-start; justify-items: center; }
    .show-navigation header .navbar-collapse:not(.show) { height: auto !important; }
    .show-navigation header .navbar-collapse .navbar-nav { width: 100%; text-align: center; padding-top: 20px; }*/

    .headline-home { padding-top: 4rem; }
    .headline-home .headline-logo { bottom: 75px; }
    .headline-home .headline-logo img { min-width: 380px; width: 380px; }

    .split-col { width: 100%; }
    .split-body p, .split-body ul { max-width: 100%; }
    .split-media + .split-text .split-body, .split-body { padding-bottom: 40px; padding-top: 40px; }
    .split .split-media { order: 1; }
    .split .split-text { order: 2; }

    .inquiry-form { flex: 0 1 100%; }

    .highlight-item { font-size: 60px; }

    .section.section-form { padding-top: 0; }

    .thank-img i { display: none; }

    .gallery-wrap { padding-bottom: 24px; }
    .gallery-nav { position: static; transform: none; width: auto; height: auto; background: transparent; color: #000; display: inline-flex; margin-top: 22px; opacity: 1; }
    .gallery-nav:hover { background: transparent; }
    .gallery-nav i { font-size: 34px; color: #000; }
    .gallery-prev { margin-left: 20px; margin-right: 22px; }
    .gallery-nav[disabled] { opacity: 0.3 !important; visibility: visible; pointer-events: none; }

    .split-media:has(.compare-cases) { aspect-ratio: auto; }
    .compare-cases { position: relative; inset: auto; }
    .compare-stage { position: relative; inset: auto; aspect-ratio: 1 / 1; }
    .compare-controls { display: flex; align-items: center; position: absolute; top: auto; bottom: 15px; left: 0; right: 0; padding: 0 35px; }
    .compare-nav { position: static; top: auto; left: auto; right: auto; bottom: auto; transform: none; width: auto; height: auto; background: transparent; }
    .compare-nav:hover { background: transparent; }
    .compare-nav i { color: #fff; font-size: 34px; }
    .compare-next { margin-left: 22px; }
    .compare-dots { position: static; left: auto; right: auto; bottom: auto; transform: none; margin-left: auto; gap: 10px; }
    .compare-dot { background: rgba(255, 255, 255, 0.5); }
    .compare-dot.is-active { background: #FFF; }
}
@media all and (max-width:767px) {
    .form-submit-icon { width: 47px; }
    .form-submit input[type="submit"] { font-size: 14px; padding: 12px 20px 14px; }   
    .form-submit-icon i { font-size: 16px; }

    .highlight-item { font-size: 50px; }

    .footer-brand { margin-bottom: 60px; }
    .footer-socials { padding-top: 4rem; padding-bottom: 1.5rem; }
    .footer-socials a { margin: 0 10px 0 0; }
}
@media all and (max-width:575px) {
    header .navbar { padding: 15px 5px !important; }  
    
    .headline-home .headline-banner { aspect-ratio: 15 / 10; }

    .split-media + .split-text .split-body, .split-body { padding-left: 50px; padding-right: 50px; }

    .band-label { padding-left: 50px; }

    .section { padding-left: 5px; padding-right: 5px; }
    .compare-controls { padding: 0 20px; }

    .section.section-logo { padding: 0 40px; }

    .section.text-page { padding-left: 20px; padding-right: 20px; }

    .section.section-gallery { padding-left: 0; padding-right: 0; }

    .inquiry { padding: 35px; }

    .section.text-page { overflow: hidden; }
    .thank-img { margin-left: -35px; margin-right: -35px; }

}
@media all and (max-width:475px) {
    h1, .h1 { font-size: 45px; }
    h2, .h2 { font-size: 29px; }
    .split-media + .split-text .split-body, .split-body { padding-left: 40px; padding-right: 40px; }

    header .navbar .navbar-brand img,
    header .navbar .navbar-brand svg { width: 140px; }
    header .navbar .navbar-nav li.highlight > a { font-size: 13px; padding:  8px 10px 10px 45px; }
    header .navbar .navbar-nav li.highlight > a i { width: 31px; font-size: 9px; }

    .headline-home { padding-bottom: 60px; }
    .headline-home .headline-logo { bottom: 40px; }
    .headline-home .headline-logo img { min-width: 290px; }

    .band { min-height: 50px; }
    .band-label { padding: 15px 10px 15px 40px; }
    .band.h3 { font-size: 18px; }
    .band-icon { flex: 0 0 60px; }

    .inquiry { padding: 50px 40px 100px; }
    .inquiry-row { display: block; padding: 0; }
    .inquiry-deco { top: auto; height: 40px; width: 100%; left: 0;  flex-direction: row; }
    .inquiry-deco .deco-white, .inquiry-deco .deco-red { min-width: 40px; width: 40px; }

    .section.section-form { padding-left: 0; padding-right: 0; overflow: hidden; }
    .section.section-form .inquiry { margin: 0 -15px; }

    .section.section-logo { padding-top: 20px; padding-bottom: 20px; }

    .compare-nav i,
    .gallery-nav i { font-size: 25px; }

    .footer-socials { padding-top: 2rem; padding-bottom: 1rem; }
}   
@media all and (max-width:370px) {
	header .navbar .navbar-brand img,
    header .navbar .navbar-brand svg { width: 110px; }
    header .navbar .navbar-nav li.highlight > a { font-size: 12px; padding: 8px 10px 10px 40px; }

    .col-cxs-12 { min-width: 100%; }
    .band.h3 { font-size: 16px; min-height: 30px; }
    .band-label { padding: 10px 5px 10px 15px; }
    .band-icon { flex: 0 0 40px; font-size: 15px; }
}

/* galéria – fancybox odkaz */
.gallery-item a { display: block; line-height: 0; }

/* jemné efekty: parallax obrázka + hover zoom galérie */
.js-img-parallax { overflow: hidden; }
.js-img-parallax img { position: relative; top: -9%; width: 100%; height: 118%; object-fit: cover; will-change: transform; }

.gallery-item a { overflow: hidden; }
.gallery-item img { border-bottom: 0; -webkit-transition: transform 0.6s ease; transition: transform 0.6s ease; }
.gallery-item a { border-bottom: 6px solid #b4c3f5; }
.gallery-item--blue a { border-bottom-color: #b4c3f5; }
.gallery-item--green a { border-bottom-color: #1c9666; }
.gallery-item--red a { border-bottom-color: #9e2b2b; }
.gallery-item--yellow a { border-bottom-color: #ffd043; }
.gallery-item a:hover img { transform: scale(1.06); }
.gallery.is-dragging .gallery-item a:hover img { transform: none; }
@media (prefers-reduced-motion: reduce) {
	.gallery-item a:hover img { transform: none; }
	.js-img-parallax img { top: 0; height: 100%; transform: none !important; }
}

/* inquiry checkbox – ikona check (e902) po zaškrtnutí */
.inquiry .wpcf7-checkbox input { display: inline-flex; align-items: center; justify-content: center; }
.inquiry .wpcf7-checkbox input::before { content: "\e902"; font-family: 'icomoon'; font-size: 15px; line-height: 1; color: #fff; opacity: 0; -webkit-transition: opacity 0.15s; transition: opacity 0.15s; }
.inquiry .wpcf7-checkbox input:checked::before { opacity: 1; }

/* hero banner – výška podľa viewportu (celý banner aj na notebookoch) */
.headline-home .headline-banner { max-height: calc(100vh - 150px); max-height: calc(100svh - 150px); }

/* galéria – pevná výška, šírka podľa pomeru fotky (bez orezania) */
.gallery-item img, .gallery-item--wide img, .gallery-item--narrow img { aspect-ratio: auto; object-fit: contain; }

/* offset kotiev kvôli fixnej hlavičke */
html { scroll-padding-top: 75px; }
@media (max-width: 575px) { html { scroll-padding-top: 65px; } }

/* CF7 validačné hlášky (error = červená) */
.inquiry .wpcf7-form .wpcf7-response-output { margin: 0 0 26px !important; padding: 14px 18px !important; border: 0 !important; border-radius: 0 !important; background: #ce2613 !important; color: #fff; font-size: 15px; line-height: 1.45; }
.inquiry .wpcf7-form.sent .wpcf7-response-output { background: #b4c3f5 !important; color: #000 !important; }
.inquiry .wpcf7-response-output:empty { display: none; }
.inquiry .wpcf7-not-valid-tip { display: inline-block; margin-top: -3px; margin-left: -2px; padding: 5px 12px; background: #ce2613; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.3; }
.inquiry .wpcf7-form .wpcf7-not-valid { outline: 2px solid #ce2613; outline-offset: 0; }
.inquiry .wpcf7-form .wpcf7-checkbox.wpcf7-not-valid { outline: 0; }
