/*
Theme Name: Keystone Stay
Theme URI: https://keystonehotelconsulting.com
Author: Keystone Hotel Consulting
Author URI: https://keystonehotelconsulting.com
Description: Tema za sajtove hotela, motela, pansiona i apartmana. Sobe, ponude, kalendar raspoloživosti sa uvozom iz Booking.com-a i Airbnb-a, forma za upit, gotove sekcije i pravljenje celog sajta jednim klikom. Sav sadržaj se menja kroz admin.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: keystone-stay
*/

/* ---------------------------------------------------------------- osnova */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--ks-bg);color:var(--ks-text);font-family:var(--ks-f-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:color-mix(in srgb,var(--ks-accent) 55%,transparent);text-underline-offset:.18em}
a:hover{color:var(--ks-accent)}
:focus-visible{outline:2px solid var(--ks-accent);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--ks-f-head);font-weight:var(--ks-head-w);line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5vw,4.1rem)}
h2{font-size:clamp(1.85rem,3.3vw,2.7rem)}
h3{font-size:1.32rem;line-height:1.25}
p{margin:0 0 1.1em}
.ks-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ks-accent);color:var(--ks-on-accent);padding:10px 16px}
.ks-skip:focus{left:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.ks-ico{width:1.15em;height:1.15em;flex:none;color:var(--ks-accent)}

.ks-wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}

/* ---------------------------------------------------------------- dugmad */
.ks-btn,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:var(--ks-accent);color:var(--ks-on-accent);border:1px solid var(--ks-accent);padding:13px 26px;font:600 .92rem/1.2 var(--ks-f-body);letter-spacing:.04em;text-decoration:none;border-radius:2px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.ks-btn:hover{color:var(--ks-on-accent);background:color-mix(in srgb,var(--ks-accent) 86%,#000);transform:translateY(-1px)}
.ks-btn--ghost{background:transparent;color:var(--ks-accent)}
.ks-btn--ghost:hover{background:var(--ks-accent);color:var(--ks-on-accent)}
.ks-btn--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.ks-btn--light:hover{background:#fff;color:#141210;border-color:#fff}
.ks-btn--sm{padding:9px 18px;font-size:.84rem}
.ks-btn--lg{padding:16px 32px;font-size:.98rem}
.ks-btn--wide{width:100%}
.ks-btn-wrap{margin:1.6em 0 0}
.ks-link{display:inline-flex;align-items:center;gap:.4em;color:var(--ks-accent);font-weight:600;font-size:.92rem;text-decoration:none}
.ks-link .ks-ico{transition:transform .2s}
.ks-link:hover .ks-ico{transform:translateX(3px)}

/* ---------------------------------------------------------------- zaglavlje */
.ks-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ks-bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ks-line);transition:box-shadow .2s}
.ks-header.is-scrolled{box-shadow:0 6px 24px rgba(0,0,0,.07)}
.admin-bar .ks-header{top:32px}
@media (max-width:782px){.admin-bar .ks-header{top:46px}}
.ks-header__in{display:flex;align-items:center;gap:28px;min-height:78px}
.ks-brand{display:flex;flex-direction:column;text-decoration:none;margin-right:auto;line-height:1.1}
.ks-brand__logo{max-height:54px;width:auto}
.ks-brand__name{font-family:var(--ks-f-head);font-weight:var(--ks-head-w);font-size:1.42rem;letter-spacing:.01em}
.ks-brand__tag{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ks-muted);margin-top:5px}
.ks-nav{display:flex;align-items:center;gap:26px}
.ks-menu,.ks-langs{list-style:none;margin:0;padding:0;display:flex;gap:24px;align-items:center}
.ks-menu a{text-decoration:none;font-size:.94rem;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.ks-menu a:hover,.ks-menu .current-menu-item>a,.ks-menu .current_page_item>a,.ks-menu .current-menu-ancestor>a{border-bottom-color:var(--ks-accent);color:var(--ks-text)}
.ks-menu .sub-menu{display:none}
.ks-langs{gap:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.ks-langs a{text-decoration:none;color:var(--ks-muted)}
.ks-langs .current-lang a{color:var(--ks-accent);font-weight:600}
.ks-nav__cta{display:none}
.ks-burger{display:none;background:none;border:1px solid var(--ks-line);color:var(--ks-text);padding:9px 12px;gap:10px;align-items:center;font:600 .82rem var(--ks-f-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.ks-burger__lines,.ks-burger__lines::before,.ks-burger__lines::after{display:block;width:18px;height:1.5px;background:currentColor;position:relative;transition:transform .2s,opacity .2s}
.ks-burger__lines::before,.ks-burger__lines::after{content:"";position:absolute;left:0}
.ks-burger__lines::before{top:-6px}.ks-burger__lines::after{top:6px}
.ks-header.is-open .ks-burger__lines{background:transparent}
.ks-header.is-open .ks-burger__lines::before{transform:translateY(6px) rotate(45deg)}
.ks-header.is-open .ks-burger__lines::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1100px){
	.ks-burger{display:inline-flex}
	.ks-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--ks-bg);border-bottom:1px solid var(--ks-line);padding:8px clamp(20px,4vw,40px) 24px;max-height:calc(100vh - 78px);overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
	.ks-header.is-open .ks-nav{transform:none;opacity:1;visibility:visible}
	.ks-menu{flex-direction:column;align-items:stretch;gap:0}
	.ks-menu a{display:block;padding:15px 0;border-bottom:1px solid var(--ks-line);font-size:1.05rem}
	.ks-menu .current-menu-item>a{color:var(--ks-accent)}
	.ks-langs{padding:16px 0 0}
	.ks-nav__cta{display:block;padding-top:18px}
	.ks-nav__cta .ks-btn{width:100%}
}
@media (max-width:560px){.ks-header__cta{display:none}.ks-brand__tag{display:none}}

/* ---------------------------------------------------------------- providno zaglavlje preko fotografije */
.ks-brand__logo--light{display:none}
.ks-js .ks-overlay .ks-header{position:fixed;left:0;right:0;background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .35s,border-color .35s,box-shadow .35s,color .35s}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open){color:#fff}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-menu a,
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-menu .current-menu-item>a{color:#fff}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-menu a:hover,
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-menu .current-menu-item>a{border-bottom-color:rgba(255,255,255,.8)}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-brand__tag,
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-langs a{color:rgba(255,255,255,.78)}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-burger{border-color:rgba(255,255,255,.5);color:#fff}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-brand__logo--light{display:block}
.ks-js .ks-overlay .ks-header:not(.is-scrolled):not(.is-open) .ks-brand__logo--dark{display:none}
.ks-js .ks-overlay .ks-header.is-scrolled,.ks-js .ks-overlay .ks-header.is-open{background:color-mix(in srgb,var(--ks-bg) 95%,transparent);border-bottom-color:var(--ks-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ks-overlay .ks-hero__shade{background:linear-gradient(180deg,rgba(10,9,8,.52) 0%,rgba(10,9,8,.12) 26%,rgba(10,9,8,.22) 52%,rgba(10,9,8,.74) 100%)}
.ks-overlay .ks-page-head--img{min-height:min(62vh,560px)}

/* ---------------------------------------------------------------- pojavljivanje pri skrolu (samo uz JavaScript) */
.ks-motion .ks-rv{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--ks-d,0s)}
.ks-motion .ks-rv.is-in{opacity:1;transform:none}

/* ---------------------------------------------------------------- početna */
.ks-hero{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;overflow:hidden}
.ks-hero__media{position:absolute;inset:-2px 0 0;z-index:-2;overflow:hidden;will-change:transform}
.ks-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:ks-zoom 18s ease-out both}
.ks-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.ks-hero__video.is-playing{opacity:1}
.ks-anim .ks-hero__in>*{animation:ks-rise .95s cubic-bezier(.2,.7,.2,1) both}
.ks-anim .ks-hero__in>:nth-child(1){animation-delay:.15s}.ks-anim .ks-hero__in>:nth-child(2){animation-delay:.3s}
.ks-anim .ks-hero__in>:nth-child(3){animation-delay:.48s}.ks-anim .ks-hero__in>:nth-child(4){animation-delay:.64s}
@keyframes ks-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.ks-hero__cue{position:absolute;left:50%;bottom:24px;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.55);border-radius:14px;transform:translateX(-50%);opacity:.85;transition:opacity .2s}
.ks-hero__cue:hover{opacity:1}
.ks-hero__cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;background:#fff;border-radius:2px;animation:ks-cue 1.9s ease-in-out infinite}
@keyframes ks-cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(15px)}}
@media (max-width:760px),(max-height:620px){.ks-hero__cue{display:none}}
@keyframes ks-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.ks-hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,9,8,.15) 0%,rgba(10,9,8,.25) 45%,rgba(10,9,8,.72) 100%)}
.ks-hero__in{padding-block:120px clamp(56px,8vw,96px)}
.ks-hero__title{font-size:clamp(2.6rem,6.4vw,5.4rem);max-width:15ch;margin-bottom:.32em;color:#fff}
.ks-hero__text{font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:46ch;color:rgba(255,255,255,.9);margin-bottom:1.8em}
.ks-hero__acts{display:flex;gap:14px;flex-wrap:wrap}
.ks-eyebrow{font:600 .76rem/1.4 var(--ks-f-body);letter-spacing:.17em;text-transform:uppercase;color:var(--ks-accent);margin:0 0 1.1em}
.ks-eyebrow a{text-decoration:none}
.ks-eyebrow--light{color:rgba(255,255,255,.88)}
.ks-lede{font-size:1.14rem;color:var(--ks-muted);max-width:58ch}
.ks-strip{background:var(--ks-surface);border-bottom:1px solid var(--ks-line)}
.ks-strip__in{display:flex;flex-wrap:wrap;gap:12px 40px;padding-block:20px;font-size:.94rem}
.ks-strip p{display:flex;align-items:center;gap:10px;margin:0}
.ks-strip a{text-decoration:none}

/* ---------------------------------------------------------------- sadržaj i sekcije */
.ks-content>*{max-width:760px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}
.ks-content>.alignwide{max-width:1200px}
.ks-content>.alignfull,.ks-content>.wp-block-group,.ks-content>.ks-section,.ks-content>section{max-width:none;padding-inline:0}
.ks-content>.wp-block-group{padding-inline:clamp(20px,4vw,40px)}
/* u sekciji sve počinje od iste leve ivice kao kartice i kolone; tekst ostaje čitljive širine */
.ks-content>.wp-block-group>*:not(.alignfull){max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
.ks-content>.wp-block-group>p:not(.ks-eyebrow){padding-right:max(0px,calc(100% - 66ch))}
.ks-content>.ks-band>p{padding-inline:max(0px,calc((100% - 62ch)/2))!important}
.ks-content>p:first-child,.ks-content>h2:first-child{margin-top:clamp(48px,7vw,88px)}
.ks-section,.ks-content>.wp-block-group{padding-block:clamp(60px,8.5vw,112px)}
.ks-section--alt{background:var(--ks-surface)}
.ks-section:not(.ks-section--alt):not(.ks-band)+.ks-section:not(.ks-section--alt):not(.ks-band){padding-top:0}
.ks-band{background:var(--ks-dark);color:var(--ks-on-dark);text-align:center}
.ks-band h2{color:var(--ks-on-dark)}
.ks-band .ks-lede{color:color-mix(in srgb,var(--ks-on-dark) 78%,transparent);margin-inline:auto}
.ks-band .ks-btn-wrap{justify-content:center;display:flex}
.wp-block-columns{gap:clamp(28px,5vw,64px)!important;margin-block:0}
.wp-block-columns.alignwide{align-items:center}
.ks-img img,.wp-block-image.ks-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.ks-two{display:grid;gap:clamp(36px,5vw,64px);grid-template-columns:1fr}
@media (min-width:900px){.ks-two{grid-template-columns:1fr 1fr}}
.ks-narrow{max-width:760px}
.ks-empty{padding:18px;border:1px dashed var(--ks-line);color:var(--ks-muted);font-size:.92rem}

/* liste */
.ks-checks{list-style:none;margin:1.4em 0 0;padding:0;display:grid;gap:12px 28px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.ks-checks li{position:relative;padding-left:30px}
.ks-checks li::before{content:"";position:absolute;left:2px;top:.42em;width:14px;height:8px;border-left:2px solid var(--ks-accent);border-bottom:2px solid var(--ks-accent);transform:rotate(-45deg)}
.ks-hours,.ks-distances{list-style:none;margin:1.2em 0 1.6em;padding:0;border-top:1px solid var(--ks-line)}
.ks-hours li,.ks-distances li{padding:11px 0;border-bottom:1px solid var(--ks-line)}
.ks-contact{list-style:none;margin:1em 0 1.6em;padding:0}
.ks-contact li{display:flex;gap:12px;align-items:flex-start;padding:7px 0}
.ks-contact a{text-decoration:none}
.ks-contact .ks-ico{margin-top:.2em}

/* tabela */
.ks-table table{width:100%;border-collapse:collapse;font-size:.95rem}
.ks-table th{text-align:left;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ks-muted);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--ks-text)}
.ks-table td{padding:14px;border-bottom:1px solid var(--ks-line)}
.wp-block-table.ks-table{overflow-x:auto;margin:1.6em 0}

/* galerija */
.ks-gallery.wp-block-gallery{gap:10px!important;margin-top:1.6em}
.ks-gallery .wp-block-image img{aspect-ratio:4/3;object-fit:cover;border-radius:2px;transition:filter .3s}
.ks-gallery .wp-block-image:hover img{filter:brightness(1.06)}

/* sve galerije: uredna mreža, bez razvučene poslednje fotografije */
.wp-block-gallery.has-nested-images{display:grid!important;grid-template-columns:repeat(var(--ks-gcols,3),minmax(0,1fr));gap:10px!important}
.wp-block-gallery.has-nested-images.columns-1{--ks-gcols:1}.wp-block-gallery.has-nested-images.columns-2{--ks-gcols:2}
.wp-block-gallery.has-nested-images.columns-4{--ks-gcols:4}.wp-block-gallery.has-nested-images.columns-5{--ks-gcols:5}
.wp-block-gallery.has-nested-images figure.wp-block-image{width:auto!important;margin:0!important;max-width:none!important}
.wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:600px){.wp-block-gallery.has-nested-images{--ks-gcols:2!important}}

/* galerija u sobi: na telefonu klizač koji se lista prstom */
@media (max-width:600px){
	.ks-room__text .wp-block-gallery.has-nested-images{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1 * clamp(20px,4vw,40px));padding-inline:clamp(20px,4vw,40px);scroll-padding-inline:clamp(20px,4vw,40px)}
	.ks-room__text .wp-block-gallery.has-nested-images::-webkit-scrollbar{display:none}
	.ks-room__text .wp-block-gallery.has-nested-images figure.wp-block-image{flex:0 0 84%;scroll-snap-align:start}
}

/* utisci */
.ks-review.wp-block-quote{margin:0;padding:28px 28px 24px;background:var(--ks-bg);border:1px solid var(--ks-line);border-left:3px solid var(--ks-accent);height:100%}
.ks-review p{font-family:var(--ks-f-head);font-size:1.18rem;line-height:1.45;margin-bottom:.9em}
.ks-review cite{font-style:normal;font-size:.82rem;letter-spacing:.06em;color:var(--ks-muted)}

/* česta pitanja */
.ks-faq{border-bottom:1px solid var(--ks-line);padding:2px 0}
.ks-faq:first-of-type{border-top:1px solid var(--ks-line);margin-top:1.4em}
.ks-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;font-size:1.06rem;position:relative}
.ks-faq summary::-webkit-details-marker{display:none}
.ks-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.6rem;font-weight:300;color:var(--ks-accent);transition:transform .2s}
.ks-faq[open] summary::after{transform:rotate(45deg)}
.ks-faq p{color:var(--ks-muted);padding-bottom:10px}

/* mapa */
.ks-map{aspect-ratio:4/3;background:var(--ks-surface);border-radius:2px;overflow:hidden}
.ks-map iframe{width:100%;height:100%;border:0;filter:grayscale(.15)}

/* ---------------------------------------------------------------- kartice soba i ponuda */
.ks-grid{display:grid;gap:clamp(20px,2.4vw,30px);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin-top:1.8em}
.ks-section .ks-grid,.ks-section .ks-more{max-width:1200px;margin-inline:auto}
.ks-card{background:var(--ks-bg);border:1px solid var(--ks-line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.ks-section--alt .ks-card{background:var(--ks-bg)}
.ks-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.08)}
.ks-card__img{display:block;overflow:hidden;aspect-ratio:3/2}
.ks-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ks-card:hover .ks-card__img img{transform:scale(1.04)}
.ks-card__body{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1}
.ks-card__title{font-size:1.38rem;margin-bottom:.45em}
.ks-card__title a{text-decoration:none}
.ks-card__text{color:var(--ks-muted);font-size:.95rem}
.ks-card__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--ks-line);display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ks-facts{list-style:none;margin:0 0 .9em;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.88rem;color:var(--ks-muted)}
.ks-facts li{display:flex;align-items:center;gap:6px}
.ks-facts--big{gap:10px;margin:0 0 2em}
.ks-facts--big li{border:1px solid var(--ks-line);padding:9px 14px;font-size:.95rem;color:var(--ks-text)}
.ks-price{font-family:var(--ks-f-head);font-size:1.32rem;color:var(--ks-accent);margin:0;line-height:1.2}
.ks-price span{font:500 .78rem var(--ks-f-body);color:var(--ks-muted);margin-right:2px}
.ks-price small{display:block;font:400 .76rem/1.3 var(--ks-f-body);color:var(--ks-muted);margin-top:3px}
.ks-more{margin-top:2.2em;text-align:center}

/* ---------------------------------------------------------------- zaglavlje strane */
.ks-page-head{background:var(--ks-surface);border-bottom:1px solid var(--ks-line)}
.ks-page-head__in{padding-block:clamp(56px,8vw,96px) clamp(36px,5vw,56px)}
.ks-page-head__title{margin:0}
.ks-page-head__text{color:var(--ks-muted);font-size:1.12rem;max-width:60ch;margin:.8em 0 0}
.ks-page-head--img{overflow:hidden;position:relative;min-height:min(56vh,520px);display:flex;align-items:flex-end;color:#fff;isolation:isolate;border:0;background:var(--ks-dark)}
.ks-page-head--img .ks-page-head__img{position:absolute;inset:-2px 0 0;width:100%;height:calc(100% + 2px);object-fit:cover;z-index:-2;will-change:transform}
.ks-page-head--img .ks-page-head__title{color:#fff}
.ks-page-head--img .ks-page-head__text{color:rgba(255,255,255,.88)}
.ks-page-head--room{min-height:min(64vh,600px)}

/* ---------------------------------------------------------------- strana sobe */
.ks-room{display:grid;gap:clamp(32px,5vw,64px);padding-block:clamp(44px,6vw,72px);grid-template-columns:1fr}
@media (min-width:960px){.ks-room{grid-template-columns:minmax(0,1fr) 340px}}
.ks-room__text>*:first-child{margin-top:0}
.ks-room__text .wp-block-gallery{gap:10px!important;margin:1.6em 0}
.ks-room__text .wp-block-gallery img{aspect-ratio:4/3;object-fit:cover}
.ks-room__h{font-size:1.5rem;margin-top:1.6em}
.ks-checks--cols{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.ks-room__side{position:relative}
.ks-book{position:sticky;top:104px;background:var(--ks-surface);border:1px solid var(--ks-line);padding:28px;display:grid;gap:12px}
.ks-book__price{font-family:var(--ks-f-head);font-size:2rem;color:var(--ks-accent);margin:0;line-height:1.1}
.ks-book__price span{font:500 .85rem var(--ks-f-body);color:var(--ks-muted)}
.ks-book__note{margin:-4px 0 6px;color:var(--ks-muted);font-size:.9rem}
.ks-book__phone{display:flex;gap:10px;align-items:center;margin:6px 0 0;font-weight:600}
.ks-book__phone a{text-decoration:none}
.ks-book__small{font-size:.82rem;color:var(--ks-muted);margin:0}
.ks-room-enquiry h2{font-size:clamp(1.6rem,2.6vw,2.1rem)}

/* ---------------------------------------------------------------- kalendar */
.ks-cal{position:relative;margin-top:1.2em}
.ks-cal__hint{font-size:.9rem;color:var(--ks-muted);margin-bottom:12px}
.ks-cal__nav{position:absolute;right:0;top:-2px;display:flex;gap:6px}
.ks-cal__nav button{width:38px;height:38px;border:1px solid var(--ks-line);background:var(--ks-bg);color:var(--ks-text);font-size:1.3rem;line-height:1;cursor:pointer;border-radius:2px}
.ks-cal__nav button:hover:not(:disabled){border-color:var(--ks-accent);color:var(--ks-accent)}
.ks-cal__nav button:disabled{opacity:.35;cursor:default}
.ks-cal__months{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:640px){.ks-cal__months{grid-template-columns:1fr 1fr}}
.ks-two .ks-cal__months{grid-template-columns:1fr}
@media (min-width:1180px){.ks-two .ks-cal__months{grid-template-columns:1fr 1fr}}
.ks-cal__m h3{font-size:1.1rem;margin:0 0 10px;text-transform:capitalize}
.ks-cal__g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.ks-cal__dn{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ks-muted);text-align:center;padding:4px 0}
.ks-cal__d{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.88rem;border:1px solid transparent;background:var(--ks-bg);color:var(--ks-text);cursor:pointer;border-radius:2px;padding:0;font-family:inherit}
.ks-section--alt .ks-cal__d{background:var(--ks-bg)}
.ks-cal__d:hover:not(:disabled){border-color:var(--ks-accent)}
.ks-cal__d.is-busy{background:repeating-linear-gradient(135deg,var(--ks-line) 0 4px,transparent 4px 8px);color:var(--ks-muted);text-decoration:line-through;cursor:not-allowed}
.ks-cal__d.is-past{opacity:.32;cursor:default}
.ks-cal__d.is-checkout{cursor:pointer;text-decoration:none;color:var(--ks-text)}
.ks-cal__d.is-today{border-color:var(--ks-muted)}
.ks-cal__d.is-sel,.ks-cal__d.is-start,.ks-cal__d.is-end{background:var(--ks-accent);color:var(--ks-on-accent);text-decoration:none}
.ks-cal__d.is-range{background:color-mix(in srgb,var(--ks-accent) 22%,var(--ks-bg))}
.ks-cal__e{aspect-ratio:1}
.ks-cal__legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;padding:0;margin:16px 0 0;font-size:.82rem;color:var(--ks-muted)}
.ks-cal__legend li{display:flex;align-items:center;gap:8px}
.ks-cal__legend i{width:16px;height:16px;border:1px solid var(--ks-line);display:inline-block;background:var(--ks-bg)}
.ks-cal__legend .is-busy{background:repeating-linear-gradient(135deg,var(--ks-line) 0 3px,transparent 3px 6px)}
.ks-cal__legend .is-sel{background:var(--ks-accent);border-color:var(--ks-accent)}

/* ---------------------------------------------------------------- forma */
.ks-form-wrap{scroll-margin-top:110px}
.ks-form__grid{display:grid;gap:14px 16px;grid-template-columns:1fr 1fr}
.ks-f{display:flex;flex-direction:column;gap:6px;font-size:.84rem;font-weight:600;letter-spacing:.02em}
.ks-f--w{grid-column:1/-1}
.ks-f input,.ks-f select,.ks-f textarea{font:400 1rem var(--ks-f-body);color:var(--ks-text);background:var(--ks-bg);border:1px solid var(--ks-line);border-radius:2px;padding:12px 13px;width:100%;min-height:48px}
.ks-f textarea{min-height:120px;resize:vertical}
.ks-f input:focus,.ks-f select:focus,.ks-f textarea:focus{outline:none;border-color:var(--ks-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ks-accent) 18%,transparent)}
.ks-consent{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--ks-muted);margin:16px 0 18px}
.ks-consent input{margin-top:3px;accent-color:var(--ks-accent);width:18px;height:18px;flex:none}
.ks-form .ks-btn{min-width:220px}
.ks-form__small{font-size:.8rem;color:var(--ks-muted);margin:12px 0 0}
.ks-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ks-note{padding:14px 16px;border-left:3px solid;font-size:.94rem;margin:0 0 18px}
.ks-note--ok{border-color:#3C7D4F;background:color-mix(in srgb,#3C7D4F 10%,var(--ks-bg))}
.ks-note--err{border-color:#B4483B;background:color-mix(in srgb,#B4483B 9%,var(--ks-bg))}
.ks-clash{margin-top:14px}
@media (max-width:560px){.ks-form__grid{grid-template-columns:1fr}.ks-form .ks-btn{width:100%}}

/* ---------------------------------------------------------------- podnožje */
.ks-footer{background:var(--ks-dark);color:color-mix(in srgb,var(--ks-on-dark) 82%,transparent);font-size:.94rem;padding-top:clamp(56px,7vw,84px)}
.ks-footer a{color:var(--ks-on-dark);text-decoration:none}
.ks-footer a:hover{color:var(--ks-accent)}
.ks-footer__grid{display:grid;gap:40px;grid-template-columns:1fr}
@media (min-width:820px){.ks-footer__grid{grid-template-columns:1.4fr 1fr 1fr}}
.ks-footer__name{font-family:var(--ks-f-head);font-weight:var(--ks-head-w);font-size:1.5rem;color:var(--ks-on-dark);margin-bottom:.6em}
.ks-footer__h{font:600 .74rem var(--ks-f-body);letter-spacing:.17em;text-transform:uppercase;color:var(--ks-accent);margin-bottom:1.2em}
.ks-footer .ks-ico{color:var(--ks-accent)}
.ks-footer__menu,.ks-social{list-style:none;margin:0;padding:0}
.ks-footer__menu li{padding:5px 0}
.ks-social{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:1.2em}
.ks-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:clamp(44px,6vw,64px);padding-block:22px;border-top:1px solid color-mix(in srgb,var(--ks-on-dark) 14%,transparent);font-size:.8rem;color:color-mix(in srgb,var(--ks-on-dark) 60%,transparent)}
.ks-footer__bottom p{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.ks-credit a{color:inherit;text-decoration:underline}

/* traka na telefonu */
.ks-mbar{display:none}
@media (max-width:760px){
	.ks-mbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ks-bg);border-top:1px solid var(--ks-line);box-shadow:0 -6px 20px rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom)}
	.ks-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;font-weight:600;font-size:.95rem;text-decoration:none}
	.ks-mbar__call{color:var(--ks-text)}
	.ks-mbar__book{background:var(--ks-accent);color:var(--ks-on-accent)!important}
	body:has(.ks-mbar){padding-bottom:58px}
}

/* ---------------------------------------------------------------- vesti (rezervni šablon) */
.ks-posts{padding-block:56px}
.ks-post{padding:28px 0;border-bottom:1px solid var(--ks-line)}
.ks-post__date{color:var(--ks-muted);font-size:.85rem}

/* ---------------------------------------------------------------- WordPress blokovi */
.wp-block-image figcaption{font-size:.84rem;color:var(--ks-muted)}
.wp-block-separator{border:0;border-top:1px solid var(--ks-line)}
.has-text-align-center{text-align:center}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.ks-header,.ks-footer,.ks-mbar,.ks-burger{display:none!important}}
