*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#171b1d;background:#fafaf8;font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.055em}h1{font-size:clamp(3.3rem,6.4vw,7rem);line-height:1.02}h2{font-size:clamp(2.5rem,4.5vw,5rem);line-height:1.08}h3{font-weight:500}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,88px);position:relative;z-index:10;background:#fafaf8}.home .site-header{position:absolute;top:0;left:0;width:100%;background:transparent;color:#fff}.brand{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:20px;letter-spacing:.21em;line-height:1.2}.brand-wave{font-size:26px;letter-spacing:0;line-height:.7}.brand small{font-size:8px;letter-spacing:.3em;margin-top:5px}.nav{display:flex;align-items:center;gap:clamp(22px,3vw,52px);font-size:13px}.nav>a:not(.nav-book):hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-book{background:#161b1d;color:white;padding:15px 22px}.nav-book span{margin-left:18px}.home .nav-book{background:#fff;color:#171b1d}.menu-toggle{display:none}.section{max-width:1440px;margin:auto;padding:clamp(65px,8vw,130px) clamp(24px,5vw,88px)}.eyebrow{display:block;font-size:10px;letter-spacing:.22em;font-weight:700;margin-bottom:24px}.eyebrow.light{color:#fff}.hero{position:relative;min-height:min(830px,94vh);background:#263a45;color:#fff;display:flex;align-items:center}.hero-img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-shade{background:linear-gradient(90deg,rgba(5,15,21,.6),rgba(5,15,21,.12) 75%)}.hero-content{position:relative;z-index:1;padding:140px clamp(24px,7vw,120px) 110px;max-width:950px}.hero-content h1{margin-bottom:22px}.hero-content p{font-size:clamp(16px,1.5vw,21px);margin-bottom:35px}.hero-index{position:absolute;bottom:35px;right:7%;font-size:11px;letter-spacing:.2em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 25px;font-size:13px;font-weight:600;min-height:54px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:#171b1d}.button-dark{background:#171b1d;color:#fff}.button-outline{border:1px solid #171b1d}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end}.intro-layout p{font-size:clamp(17px,1.7vw,23px);line-height:1.6;max-width:480px;color:#596063}.image-feature{margin-top:80px;display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:center}.image-feature img{height:520px}.image-feature h3{font-size:clamp(2rem,3vw,3.5rem);font-weight:400;letter-spacing:-.04em}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid #999;padding-bottom:8px}.apartments-section{padding-top:50px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head p{color:#6c7377}.apartments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}.apartment-card{display:block}.apartment-card img{height:clamp(240px,27vw,400px);transition:transform .3s}.apartment-card{overflow:hidden}.apartment-card:hover img{transform:scale(1.025)}.apartment-card-body{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.apartment-card h3{font-size:21px;margin-bottom:8px}.apartment-card p{font-size:13px;color:#737b7e;margin:0}.arrow-circle{border:1px solid #d8d9d7;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:19px}.booking-banner{background:#e8ecea;padding:clamp(55px,7vw,110px) clamp(24px,8vw,140px);display:flex;justify-content:space-between;align-items:center;gap:35px}.booking-banner h2{margin-bottom:14px}.booking-banner p{margin-bottom:0;color:#5e6769}.wide-photo img{height:clamp(320px,45vw,620px)}.footer{padding:65px clamp(24px,5vw,88px) 30px;display:flex;justify-content:space-between;align-items:start;gap:25px;background:#151b1e;color:#fff}.footer strong{letter-spacing:.16em}.footer p,.footer small{font-size:12px;color:#a7b0b3}.footer>div:nth-child(2){display:flex;gap:25px;font-size:13px}.page-intro{padding-bottom:35px}.page-intro h1{margin-bottom:24px}.page-intro p{color:#697175;font-size:17px}.listing{padding-top:20px}.detail-heading{padding-bottom:32px}.back-link{font-size:12px;color:#70787b;display:inline-block;margin-bottom:48px}.detail-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.detail-title h1{margin-bottom:18px}.detail-title p{color:#71777a}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:12px;padding-top:0;padding-bottom:35px}.detail-gallery img{height:100%}.detail-gallery img:first-child{grid-column:1 / 2;grid-row:1 / 3}.detail-gallery img:nth-child(2){grid-column:2 / 4}.detail-information{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.detail-information p{line-height:1.8;color:#687073;max-width:550px}.amenity-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:65px}.amenity-list div{border-bottom:1px solid #ddd;padding-bottom:17px;font-size:14px}.amenity-list small{grid-column:1/-1;color:#7a7e80;line-height:1.5}.detail-photo img{height:520px}.reservation-heading{padding-bottom:25px}.reservation-section{padding-top:20px}.previo-shell{background:white;border:1px solid #e7e8e6;min-height:440px;padding:35px}.previo-placeholder{height:100%;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;background:#f5f6f5;padding:25px}.previo-placeholder h3{font-size:25px;margin:0}.previo-placeholder p{max-width:530px;line-height:1.6;color:#667074}.previo-placeholder code{font-size:11px;color:#6b7275;overflow-wrap:anywhere}.reservation-help{border-top:1px solid #e1e2e0;margin-top:30px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:25px}.reservation-help h3{margin-bottom:8px}.reservation-help p{color:#6d7577}.reservation-photo{padding-bottom:0}@media(max-width:800px){.site-header{height:76px}.brand{font-size:16px}.menu-toggle{display:block;background:transparent;border:0;color:inherit;font-size:24px;cursor:pointer}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fafaf8;color:#171b1d;padding:25px;flex-direction:column;align-items:stretch;gap:25px}.nav.open{display:flex}.home .nav-book{background:#171b1d;color:white}.hero{min-height:690px}.hero-content{padding-top:160px}.intro-layout,.image-feature,.detail-information{grid-template-columns:1fr}.image-feature{gap:30px;margin-top:45px}.image-feature img{height:340px}.apartments-grid{gap:28px 15px}.apartment-card img{height:230px}.booking-banner{align-items:start;flex-direction:column}.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px}.detail-gallery img:first-child{grid-column:1/-1;grid-row:1}.detail-gallery img:nth-child(2){grid-column:1;grid-row:2}.detail-gallery img:nth-child(3){grid-column:2;grid-row:2}.detail-gallery img:nth-child(4){display:none}.amenity-list{padding-top:10px}.footer{flex-wrap:wrap}}@media(max-width:560px){.hero-content h1{font-size:3.6rem}.apartments-grid{grid-template-columns:1fr}.apartment-card img{height:270px}.section-head,.detail-title,.reservation-help{align-items:start;flex-direction:column}.detail-title .button{width:100%}.footer{flex-direction:column}.footer>div:nth-child(2){flex-wrap:wrap}.detail-gallery{grid-template-rows:240px 140px}.previo-shell{padding:10px;overflow-x:auto}.reservation-help .button{width:100%}}
/* Compact bilingual navigation */
.language-switch{display:flex;align-items:center;gap:9px;margin-left:12px;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.04em}.language-switch a{color:inherit;text-decoration:none;opacity:.5;transition:opacity .2s}.language-switch a:hover,.language-switch a.active{opacity:1}.language-switch a.active{border-bottom:1px solid currentColor;padding-bottom:3px}.language-switch span{opacity:.35}.hero .language-switch{color:inherit}@media(max-width:800px){.language-switch{margin:12px 0 0;justify-content:center;padding:12px 0;border-top:1px solid rgba(100,100,100,.12)}}

/* Apartment specifications, shared CZ/EN */
.detail-facts h3{font-size:1.15rem;margin:28px 0 14px}.apartment-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.apartment-stats>div{padding:15px 16px;background:#f4f5f3;border-radius:5px;display:flex;flex-direction:column;gap:7px}.apartment-stats span{font-size:12px;color:#687075}.apartment-stats strong{font-size:16px;font-weight:600}.apartment-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px;list-style:none;padding:0;margin:0}.apartment-amenities li{font-size:14px;line-height:1.5}.apartment-amenities li:before{content:'✓';margin-right:10px;color:#285c54}.apartment-policy{font-size:13px;color:#697075;margin-top:22px}@media(max-width:560px){.apartment-stats,.apartment-amenities{grid-template-columns:1fr 1fr}.apartment-stats>div{padding:12px}}

/* Real photo galleries */
.villa-gallery h2{margin:14px 0 30px;font-size:clamp(2rem,4vw,3.6rem)}
.villa-gallery-grid,.apartment-extra-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.villa-gallery-grid img,.apartment-extra-gallery img{width:100%;height:280px;object-fit:cover;border-radius:8px;display:block}
.apartment-extra-gallery{padding:0 max(24px,calc((100vw - 1320px)/2)) 90px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.villa-gallery-grid,.apartment-extra-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.villa-gallery-grid img,.apartment-extra-gallery img{height:170px}.apartment-extra-gallery{padding:0 20px 60px}}

/* Functional homepage hero slideshow */
.hero-home{overflow:hidden;min-height:min(880px,100svh)}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease;pointer-events:none}.hero-slide.active{opacity:1}.hero-home .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(4,19,28,.70) 0%,rgba(4,19,28,.30) 58%,rgba(4,19,28,.08) 100%)}.hero-home .hero-content{z-index:2}.hero-controls{position:absolute;right:clamp(24px,7vw,120px);bottom:45px;z-index:3;display:flex;align-items:center;gap:18px}.hero-arrow{width:46px;height:46px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.17);color:#fff;font-size:23px;cursor:pointer;transition:background .2s}.hero-arrow:hover{background:rgba(255,255,255,.25)}.hero-count{font-size:12px;letter-spacing:.2em;min-width:66px;text-align:center}@media(max-width:800px){.hero-home{min-height:720px}.hero-controls{bottom:24px;right:24px}.hero-home .hero-content{padding-bottom:155px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Fullscreen image viewer */
.villa-gallery-grid img,.detail-gallery img,.apartment-extra-gallery img{cursor:zoom-in}
.villa-gallery-grid img:focus-visible,.detail-gallery img:focus-visible,.apartment-extra-gallery img:focus-visible{outline:3px solid #507b9c;outline-offset:3px}
body.villa-lb-open{overflow:hidden}
.villa-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,13,17,.96);display:none;align-items:center;justify-content:center;color:white}
.villa-lightbox.open{display:flex}
.villa-lightbox figure{margin:0;width:min(90vw,1500px);display:flex;flex-direction:column;align-items:center;justify-content:center}
.villa-lightbox figure img{width:auto;max-width:100%;max-height:82vh;object-fit:contain}
.villa-lightbox figcaption{font-size:12px;letter-spacing:.15em;margin-top:17px;color:#d0d3d5}
.villa-lightbox button{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.13);color:white;cursor:pointer;width:48px;height:48px;border-radius:50%;font-size:25px;display:grid;place-items:center}
.villa-lightbox button:hover{background:rgba(255,255,255,.26)}
.villa-lb-close{right:25px;top:25px}.villa-lb-prev{left:20px;top:50%;transform:translateY(-50%)}.villa-lb-next{right:20px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.villa-lightbox figure{width:100vw;padding:0 10px}.villa-lightbox figure img{max-height:75vh}.villa-lightbox button{width:42px;height:42px}.villa-lb-prev{left:8px}.villa-lb-next{right:8px}.villa-lb-close{right:12px;top:12px}}

.footer-address{display:inline-block;margin-top:8px;color:inherit;text-decoration:underline;text-underline-offset:4px;opacity:.85}.footer-address:hover{opacity:1}

/* Cookie consent – shared CZ/EN */
.cookie-panel{position:fixed;z-index:99999;bottom:22px;left:50%;transform:translateX(-50%);width:min(850px,calc(100% - 28px));background:#fff;color:#17242a;box-shadow:0 12px 48px #10262d2b;border:1px solid #e4e8e8;border-radius:12px;padding:22px 25px;display:flex;align-items:center;gap:25px;justify-content:space-between}.cookie-panel[hidden]{display:none}.cookie-copy{max-width:490px}.cookie-copy strong{font-size:15px}.cookie-copy p{font-size:13px;line-height:1.6;margin:7px 0 0;color:#526169}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-actions button{cursor:pointer;border:1px solid #cfd7d7;background:#fff;padding:12px 15px;border-radius:6px;font:inherit;font-size:12px;white-space:nowrap}.cookie-actions button[data-consent="accept"]{background:#173c45;border-color:#173c45;color:#fff}.cookie-settings-link{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;font-size:12px;padding:0}@media(max-width:700px){.cookie-panel{bottom:12px;display:block;padding:19px}.cookie-actions{margin-top:16px}.cookie-actions button{flex:1}}

/* Villa Brzet — compact Google reviews trust strip */
.reviews-strip{padding:28px clamp(20px,5vw,84px);background:#f8f7f4;border-top:1px solid rgba(0,0,0,.07);border-bottom:1px solid rgba(0,0,0,.07)}
.reviews-strip-inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.reviews-strip-heading{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.reviews-strip-heading .eyebrow{margin:0}
.reviews-stars{font-size:21px;letter-spacing:3px;color:#bd9555;line-height:1}
.reviews-link{font-size:14px;font-weight:600;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;transition:opacity .2s}
.reviews-link:hover{opacity:.65}
.reviews-link span{margin-left:8px}
@media(max-width:600px){.reviews-strip{padding:24px 20px}.reviews-strip-inner{align-items:flex-start;gap:16px}.reviews-strip-heading{gap:12px}.reviews-stars{font-size:19px}}

/* Previo integration */
#previo-widget { min-height: 180px; }
#previo-widget > p { margin: 0 0 20px; }
#previo-widget .previo-privacy-note { margin: 14px 0 0; font-size: 12px; opacity: .7; }
#previo-widget button[hidden] { display: none; }

/* Previo: immediate calendar display, no intermediate consent-click panel */
#previo-booking-engine-019e922f-5e21-7047-922e-747b2791b30f { min-height: 440px; }
#previo-booking-engine-019e922f-5e21-7047-922e-747b2791b30f .previo-error { color: #596063; line-height: 1.6; }

/* Reservation page: compact intro and booking area */
.reservation-page .reservation-section { padding-top: 30px; padding-bottom: 55px; }
.reservation-compact-heading { margin-bottom: 25px; }
.reservation-compact-heading .eyebrow { margin-bottom: 13px; }
.reservation-compact-heading h1 { font-size: clamp(2.2rem, 4vw, 3.6rem); line-height: 1.12; margin: 0 0 10px; }
.reservation-compact-heading p { margin: 0; color: #697175; font-size: 15px; }
.reservation-page .previo-shell { min-height: 0 !important; padding: 14px; }
.reservation-page .previo-shell iframe { display: block; width: 100%; height: 1100px !important; min-height: 0 !important; border: 0; }
.reservation-page .reservation-help { margin-top: 24px; padding-top: 22px; }
@media(max-width: 560px) {
 .reservation-page .reservation-section { padding-top: 20px; padding-bottom: 35px; }
 .reservation-compact-heading { margin-bottom: 18px; }
 .reservation-compact-heading h1 { font-size: 2.2rem; }
 .reservation-page .previo-shell { padding: 0; border: 0; background: transparent; overflow: visible; }
 .reservation-page .previo-shell iframe { height: 900px !important; }
}

/* Consistent SVG arrows across browsers and mobile OS */
.vb-arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;stroke:currentColor;overflow:visible;}
.arrow-circle .vb-arrow-icon{width:1em;height:1em;}
.hero-arrow .vb-arrow-icon{width:1.2em;height:1.2em;vertical-align:middle;}

/* Villa Brzet — discreet weather and pool strip */
.vb-weather{margin:0 auto;max-width:1440px;padding:0 clamp(24px,6vw,92px) 10px}
.vb-weather-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #dedfdd;border-bottom:1px solid #dedfdd;padding:22px 0}
.vb-weather-item{min-width:0;padding:0 30px}
.vb-weather-item:first-child{padding-left:0;border-right:1px solid #dedfdd}
.vb-weather-kicker{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.13em;color:#4f585b}
.vb-weather-kicker svg{width:21px;height:21px;flex:none}
.vb-weather-value{font-size:clamp(32px,4vw,48px);line-height:1.18;letter-spacing:-.045em;font-weight:400;margin:12px 0 4px;color:#171c1e}
.vb-weather-note{font-size:12px;line-height:1.5;color:#6d777b}
@media(max-width:600px){.vb-weather{padding:0 22px 10px}.vb-weather-inner{padding:18px 0}.vb-weather-item{padding:0 0 0 15px}.vb-weather-kicker{font-size:9px;letter-spacing:.05em;gap:6px}.vb-weather-kicker svg{width:17px;height:17px}.vb-weather-value{font-size:clamp(26px,7vw,36px);white-space:nowrap}.vb-weather-note{font-size:11px}}

.vb-weather-credit{margin-top:8px;font-size:10px;line-height:1.5;color:#879094}.vb-weather-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Villa Brzet — guest testimonials */
.vb-testimonials{max-width:1440px;margin:0 auto;padding:clamp(52px,7vw,108px) clamp(24px,6vw,90px);color:#171c1e}.vb-testimonials-head{margin-bottom:30px}.vb-testimonials-head .eyebrow{display:block;font-size:11px;letter-spacing:.18em;font-weight:650;margin-bottom:15px}.vb-testimonials-head h2{font-size:clamp(30px,4.2vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:450;margin:0 0 12px}.vb-testimonials-head p{color:#687174;font-size:15px;margin:0}.vb-testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vb-testimonial{display:flex;flex-direction:column;min-width:0;background:#f5f5f3;padding:clamp(22px,2.6vw,35px);min-height:270px}.vb-testimonial-top{display:flex;align-items:center;gap:9px;font-size:12px;color:#5d6668}.vb-testimonial-top img{width:23px;height:23px;object-fit:contain}.vb-testimonial-top strong{margin-left:auto;color:#171c1e;font-size:12px;font-weight:650}.vb-testimonial blockquote{font-size:clamp(16px,1.45vw,20px);line-height:1.55;letter-spacing:-.015em;margin:26px 0 24px;flex:1}.vb-testimonial-author{font-size:12px;font-weight:650;margin:0}.vb-testimonials-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;flex-wrap:wrap}.vb-testimonials-actions a{font-size:13px;color:#171c1e;text-decoration:none;border-bottom:1px solid #b0b5b5;padding-bottom:6px}.vb-testimonials-actions .vb-testimonials-book{background:#171c1e;color:#fff;padding:14px 20px;border:0}@media(max-width:850px){.vb-testimonials-grid{grid-template-columns:1fr}.vb-testimonial{min-height:0}.vb-testimonial blockquote{margin:20px 0}.vb-testimonials-actions{align-items:flex-start}}

/* Villa Brzet review stars */
.vb-review-stars{display:inline-flex;align-items:center;gap:2px;color:#c39a56;flex-shrink:0;margin-left:5px}.vb-review-stars svg{display:block;width:13px;height:13px}.vb-testimonial-top{flex-wrap:wrap;row-gap:6px}.vb-testimonial-top strong{margin-left:auto}.vb-review-stars{order:4;width:100%;margin-left:32px}@media(max-width:520px){.vb-review-stars svg{width:12px;height:12px}}

/* Villa Brzet — footer payment details and reviews anchor */
#reviews{scroll-margin-top:100px}
.vb-footer-payment{display:flex;flex-direction:column;gap:5px;min-width:210px;max-width:290px}
.vb-footer-payment strong{font-size:12px;letter-spacing:.08em;margin-bottom:5px}
.vb-footer-payment p{margin:0;font-size:12px;line-height:1.55;overflow-wrap:anywhere;opacity:.8}
.vb-footer-payment p span{opacity:.75}
.vb-footer-cards{display:flex;align-items:center;gap:12px;margin-top:10px}
.vb-footer-cards img{display:block;width:auto;height:24px;max-width:72px;object-fit:contain}
@media(max-width:700px){#reviews{scroll-margin-top:76px}.vb-footer-payment{max-width:100%}}

/* Villa Brzet 5.1 – subtle off-season announcement */
.vb-season-bar{display:none;position:relative;z-index:12;min-height:34px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:6px 18px;background:#e8eee9;color:#29463f;text-align:center;font-size:11px;line-height:1.5;letter-spacing:.035em}
.vb-season-bar strong{font-size:10px;font-weight:700;letter-spacing:.12em}
.vb-season-bar a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600;white-space:nowrap}
body.home.vb-offseason .site-header{top:34px}
@media(max-width:680px){.vb-offseason .vb-season-bar{gap:4px 8px;padding:7px 12px;font-size:10px}.vb-season-bar strong{font-size:9px}body.home.vb-offseason .site-header{top:34px}}
@media(max-width:420px){.vb-season-bar a{display:none}.vb-offseason .vb-season-bar{min-height:34px;flex-wrap:nowrap}}

/* Visible only from 1 October through 31 May (Croatian local calendar). */
body.vb-offseason .vb-season-bar{display:flex}

/* Villa Brzet 5.2 – Getting here */
.vb-travel-hero{min-height:min(720px,84vh);position:relative;display:flex;align-items:end;overflow:hidden;color:#fff;background:#172a30}.vb-travel-hero>img,.vb-travel-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vb-travel-hero-shade{background:linear-gradient(90deg,rgba(5,17,22,.66),rgba(5,17,22,.12) 95%),linear-gradient(0deg,rgba(5,17,22,.5),transparent 70%)}.vb-travel-hero-copy{position:relative;z-index:1;width:min(1100px,90%);margin:0 auto;padding:170px 0 100px}.vb-travel-hero h1{max-width:880px;font-size:clamp(3.5rem,7vw,7.5rem);margin:25px 0}.vb-travel-hero p{max-width:570px;font-size:clamp(17px,2vw,23px);line-height:1.6;margin-bottom:34px}.vb-travel-intro{padding-top:110px;padding-bottom:115px}.vb-travel-flight{background:#e9efec;padding:110px 5vw 120px}.vb-travel-wrap{max-width:1280px;margin:auto}.vb-travel-flight h2{max-width:820px;margin:22px 0 65px}.vb-flight-line{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:42px 0 65px;border-bottom:1px solid #b9c9c3}.vb-flight-line>div:first-child,.vb-flight-line>div:last-child{min-width:155px}.vb-flight-line>div:last-child{text-align:right}.vb-flight-line small,.vb-transfer-visual small{display:block;font-size:11px;letter-spacing:.16em;color:#60736d;margin-bottom:9px}.vb-flight-line strong{font-weight:500;font-size:clamp(19px,2.2vw,30px);letter-spacing:-.04em}.vb-flight-path{position:relative;flex:1;min-width:50px;height:65px;display:flex;align-items:center;justify-content:center}.vb-flight-dashes{width:100%;border-top:2px dashed #94aea4}.vb-flight-plane{position:absolute;display:flex;align-items:center;justify-content:center;width:64px;height:64px;color:#385f54;background:#e9efec;animation:vb-plane-hover 3s ease-in-out infinite}.vb-flight-plane svg{width:39px;height:39px;transform:rotate(90deg)}@keyframes vb-plane-hover{50%{transform:translateX(8px)}}.vb-travel-route-heading{margin:70px 0 28px}.vb-travel-route-heading h3{font-size:clamp(22px,2.7vw,34px);font-weight:400;letter-spacing:-.04em}.vb-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 42px}.vb-route-country{padding:23px 0;border-top:1px solid #c8d4cf}.vb-route-country h3{font-size:16px;font-weight:600;margin:0 0 8px}.vb-route-country p{font-size:14px;color:#52665f;line-height:1.6;margin:0}.vb-travel-route-note{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:35px}.vb-travel-route-note p{font-size:13px;line-height:1.6;color:#64766f;max-width:650px;margin:0}.vb-travel-route-note .text-link{font-size:13px;white-space:nowrap}.vb-transfer{padding-top:125px;padding-bottom:130px}.vb-transfer>h2{max-width:950px;margin:24px 0 65px}.vb-transfer-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.vb-transfer-layout>img{height:520px;object-fit:cover}.vb-transfer-visual{display:flex;align-items:center;gap:18px;padding:25px 0 32px;margin-bottom:38px;border-bottom:1px solid #d6ded9}.vb-transfer-visual>div:first-child,.vb-transfer-visual>div:last-child{flex:0 0 auto}.vb-transfer-visual>div:last-child{text-align:right}.vb-transfer-visual strong{font-size:18px;font-weight:500;white-space:nowrap}.vb-transfer-route{flex:1;min-width:30px;text-align:center}.vb-transfer-route span{font-size:14px;white-space:nowrap}.vb-transfer-route i{display:block;border-top:1px dashed #78978a;margin:12px 0}.vb-transfer-route small{font-size:10px;letter-spacing:0;white-space:normal}.vb-transfer-content>p{font-size:17px;line-height:1.8;color:#3b4843;max-width:560px}.vb-transfer-content>p.vb-transfer-extra{font-size:15px;color:#698075}.vb-travel-cta{text-align:center;background:#192421;color:#fff;padding:115px 24px 125px}.vb-travel-cta .eyebrow{color:#a5bcb2}.vb-travel-cta h2{max-width:800px;margin:25px auto 40px}.vb-travel-cta .button-light{display:inline-flex;align-items:center}.vb-travel-hero .button-light{display:inline-flex;align-items:center}@media(max-width:1050px){.vb-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-transfer-layout{gap:35px}.vb-transfer-layout>img{height:440px}}@media(max-width:700px){.vb-travel-hero{min-height:670px}.vb-travel-hero-copy{padding:150px 0 75px}.vb-travel-hero h1{font-size:clamp(3.2rem,12vw,5rem)}.vb-travel-intro,.vb-transfer{padding-top:80px;padding-bottom:80px}.vb-travel-flight{padding:75px 6vw 80px}.vb-travel-flight h2{margin-bottom:35px}.vb-flight-line{gap:8px;padding:20px 0 35px}.vb-flight-line>div:first-child,.vb-flight-line>div:last-child{min-width:0;max-width:33%}.vb-flight-line strong{font-size:17px}.vb-flight-line small{font-size:9px}.vb-flight-plane{width:40px;height:50px}.vb-flight-plane svg{width:28px;height:28px}.vb-route-grid{grid-template-columns:1fr}.vb-travel-route-heading{margin-top:45px}.vb-travel-route-note{align-items:flex-start;flex-direction:column;gap:20px}.vb-transfer>h2{margin-bottom:35px}.vb-transfer-layout{grid-template-columns:1fr}.vb-transfer-layout>img{height:300px;order:-1}.vb-transfer-visual{gap:10px}.vb-transfer-visual strong{font-size:14px}.vb-transfer-visual small{font-size:9px}.vb-transfer-route span{font-size:12px}.vb-travel-cta{padding:80px 24px 90px}}@media(prefers-reduced-motion:reduce){.vb-flight-plane{animation:none}}

/* Villa Brzet 5.2 — homepage editorial travel link */
.vb-home-travel-strip{max-width:1440px;margin:0 auto;padding:0 clamp(22px,5vw,80px) 64px}
.vb-home-travel-link{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:25px 30px;background:#f2f5f2;color:#263b36;text-decoration:none;border:1px solid #e4ebe5;border-radius:5px;transition:background .22s ease,border-color .22s ease}
.vb-home-travel-link:hover,.vb-home-travel-link:focus-visible{background:#e8eee9;border-color:#cbd9cf}
.vb-home-travel-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.vb-home-travel-eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em;line-height:1.4}
.vb-home-travel-heading{font-size:clamp(17px,1.65vw,24px);font-weight:500;letter-spacing:-.025em;line-height:1.3}
.vb-home-travel-action{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:12px;font-weight:600;white-space:nowrap}
.vb-home-travel-action svg{display:block;width:20px;height:20px;transition:transform .22s ease}
.vb-home-travel-link:hover .vb-home-travel-action svg{transform:translate(3px,-3px)}
@media(max-width:700px){.vb-home-travel-strip{padding:0 20px 46px}.vb-home-travel-link{padding:22px 20px;gap:15px}.vb-home-travel-heading{font-size:17px}.vb-home-travel-action span{display:none}.vb-home-travel-action svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.vb-home-travel-link,.vb-home-travel-action svg{transition:none}}

/* Villa Brzet 5.2.2 — discreet contact in header */
.nav .vb-header-contact{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:38px;opacity:.83;text-decoration:none;transition:opacity .2s,transform .2s}
.nav .vb-header-contact:hover,.nav .vb-header-contact:focus-visible{opacity:1;transform:translateY(-1px);text-decoration:none}
.vb-header-contact svg{width:20px;height:20px;display:block}
.vb-header-contact-label{display:none}
@media(min-width:801px){.nav{gap:clamp(12px,1.6vw,30px)}}
@media(max-width:800px){.nav .vb-header-contact{width:auto;height:auto;display:flex;justify-content:flex-start;gap:12px;opacity:1;font-size:13px}.vb-header-contact-label{display:inline}.vb-header-contact svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.nav .vb-header-contact{transition:none}}

/* 5.2.3: contact icon failsafe, including cached-style scenarios */
@media (min-width:801px){.nav a.vb-header-contact{display:inline-flex!important;width:28px!important;height:32px!important;flex:0 0 28px!important;padding:0!important;align-items:center!important;justify-content:center!important}.nav a.vb-header-contact svg{width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important}.nav a.vb-header-contact .vb-header-contact-label{display:none!important}}
@media (max-width:800px){.nav a.vb-header-contact{display:flex!important;width:auto!important;height:auto!important;flex:0 0 auto!important;justify-content:flex-start!important;gap:12px!important}.nav a.vb-header-contact .vb-header-contact-label{display:inline!important}}


/* Villa Brzet 5.2.4 — compact footer social icons */
.vb-footer-social{display:flex;align-items:center;gap:12px;margin-top:18px}
.vb-footer-social-label{font-size:11px;letter-spacing:.09em;color:#a7b0b3}
.vb-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;transition:transform .2s ease,background .2s ease}
.vb-footer-social a:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.vb-footer-social a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.vb-footer-social img{display:block;width:23px;height:23px;max-width:23px;max-height:23px;object-fit:contain}
@media(max-width:380px){.vb-footer-social{gap:9px}}

/* Villa Brzet 5.2.5 — editorial inspiration block on reservation pages */
.vb-reservation-social{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:25px 30px;margin-top:36px;background:#f2f5f2;border:1px solid #e4ebe5;border-radius:5px;color:#263b36}
.vb-reservation-social-copy{flex:1 1 500px;min-width:0}
.vb-reservation-social .vb-reservation-social-eyebrow{display:block;color:#263b36;font-size:10px;font-weight:650;letter-spacing:.15em;margin-bottom:12px}
.vb-reservation-social h2{font-size:clamp(23px,2.6vw,34px);font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px;color:#253b33}
.vb-reservation-social p{font-size:15px;line-height:1.7;color:#52645b;max-width:670px;margin:0}
.vb-reservation-social-actions{display:flex;flex:0 0 auto;gap:12px;flex-wrap:wrap}
.vb-reservation-social-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 16px;border:1px solid #dce4da;border-radius:0;background:#fff;color:#253b33;text-decoration:none;font-size:13px;font-weight:600;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.vb-reservation-social-link:hover{transform:translateY(-2px);border-color:#9caf9e;box-shadow:0 5px 16px rgba(37,59,51,.08)}
.vb-reservation-social-link:focus-visible{outline:2px solid #416a56;outline-offset:3px}
.vb-reservation-social-link img{display:block;width:23px;height:23px;max-width:23px;max-height:23px;object-fit:contain}
.vb-reservation-social-link svg{width:15px;height:15px;flex:none}
@media(max-width:1000px){.vb-reservation-social{flex-direction:column;align-items:stretch;gap:24px}.vb-reservation-social-copy{flex-basis:auto}.vb-reservation-social-actions{flex-basis:auto}}
@media(max-width:600px){.vb-reservation-social{padding:22px 20px;margin-top:28px}.vb-reservation-social-actions{gap:9px}.vb-reservation-social-link{flex:1 1 135px;padding:11px 10px}}

/* Villa Brzet 5.2.9 — mobile booking fallback above Previo */
.vb-booking-mobile-fallback{display:none}
@media(max-width:767px){.vb-booking-mobile-fallback{display:flex;align-items:center;justify-content:flex-end;gap:6px 10px;flex-wrap:wrap;margin:0 0 12px;text-align:right;font-size:12px;line-height:1.5}.vb-booking-mobile-fallback-label{color:#697175}.vb-booking-mobile-fallback a{display:inline-flex;align-items:center;gap:5px;color:#263b36;font-weight:600;text-decoration:underline;text-underline-offset:3px}.vb-booking-mobile-fallback a:hover{color:#476a5b}.vb-booking-mobile-fallback a:focus-visible{outline:2px solid #263b36;outline-offset:4px}.vb-booking-mobile-fallback svg{width:13px;height:13px;flex:none}}

/* Villa Brzet 6.0 — contextual sharing */
.vb-share{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vb-share-label{font-size:12px;font-weight:600;letter-spacing:.02em;color:#596660}.vb-share-actions{display:flex;gap:7px;align-items:center}.vb-share-btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:39px;padding:9px 12px;border:1px solid #263b36;border-radius:0;background:#263b36;color:#fff;font:inherit;font-size:12px;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}.vb-share-btn:hover{background:#fff;color:#263b36}.vb-share-btn:focus-visible{outline:2px solid #263b36;outline-offset:3px}.vb-share-btn svg{width:15px;height:15px;display:block;flex:none}.vb-share-status{font-size:12px;color:#476a5b}.vb-share-status:empty{display:none}.vb-share--home{margin-left:auto}.vb-share--listing{margin-top:23px}.vb-share--detail{margin:0 0 35px}.vb-share--booking{margin:20px 0 30px}.vb-share--home .vb-share-label{display:none}.vb-share--home .vb-share-btn{gap:8px}
@media(max-width:767px){.apartments-section .section-head{flex-wrap:wrap}.vb-share--home{width:100%;margin:0;order:3}.vb-share--home .vb-share-label{display:inline}.vb-share-btn{width:34px;height:34px;min-height:34px;padding:7px}.vb-share-btn svg{width:15px;height:15px}.vb-share-btn-text{display:none}.vb-share--listing,.vb-share--detail,.vb-share--booking{gap:10px}}

/* Villa Brzet 6.0.2 — homepage action hierarchy: outline share, filled apartments CTA */
.apartments-section .vb-share--home .vb-share-btn{background:#fff;color:#263b36;border:1px solid #263b36}
.apartments-section .vb-share--home .vb-share-btn:hover{background:#f2f5f2;color:#263b36;border-color:#263b36}
.apartments-section .section-head a.vb-apartments-primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:39px;padding:10px 17px;border:1px solid #263b36;border-radius:0;background:#263b36;color:#fff;text-decoration:none;font-size:12px;font-weight:600;line-height:1.25;white-space:nowrap;transition:background .2s,color .2s}
.apartments-section .section-head a.vb-apartments-primary-cta:hover{background:#fff;color:#263b36}
.apartments-section .section-head a.vb-apartments-primary-cta:focus-visible{outline:2px solid #263b36;outline-offset:3px}
.apartments-section .section-head a.vb-apartments-primary-cta svg{width:15px;height:15px;flex:none}
@media(max-width:767px){.apartments-section .section-head a.vb-apartments-primary-cta{order:4;min-height:39px;margin-top:8px}.apartments-section .vb-share--home .vb-share-btn{background:#fff;color:#263b36}}

/* Villa Brzet 6.0.3 — homepage share controls beneath the heading on all screens */
.apartments-section .section-head > div:first-child > .vb-share--home {
  margin: 17px 0 0;
  width: auto;
}
@media (max-width:767px) {
  .apartments-section .section-head > div:first-child > .vb-share--home {
    width: 100%;
    margin-top: 14px;
  }
}


/* Villa Brzet 6.0.4 — share buttons below apartment grid */
.apartments-section > .vb-share--home {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  margin:25px 0 0;
}
.apartments-section > .vb-share--home .vb-share-label {
  display:inline;
  margin-right:12px;
}
@media(max-width:767px) {
  .apartments-section > .vb-share--home {margin-top:19px;flex-wrap:wrap}
  .apartments-section > .vb-share--home .vb-share-label {margin-right:8px}
}

/* 6.0.6 — sharing beneath listing grid and within apartment specifications */
.listing > .vb-share--listing { margin-top: 28px; }
.detail-facts > .vb-share--detail { margin-top: 24px; }
@media(max-width:767px) {
  .listing > .vb-share--listing { margin-top: 20px; }
  .detail-facts > .vb-share--detail { margin-top: 20px; }
}

/* 6.0.8 — keep share controls visible in all contexts */
.vb-share--listing,.vb-share--detail,.vb-share--booking {display:flex;visibility:visible;opacity:1}
.vb-share--listing .vb-share-actions,.vb-share--detail .vb-share-actions,.vb-share--booking .vb-share-actions {display:flex}

/* Villa Brzet 6.1.1 — icon-only sharing, uniform desktop/mobile */
.vb-share .vb-share-label,.vb-share .vb-share-btn-text{display:none!important}
.vb-share .vb-share-actions{gap:7px}
.vb-share .vb-share-btn{width:39px;height:39px;min-width:39px;min-height:39px;padding:0;gap:0;box-sizing:border-box;flex:none}
.vb-share .vb-share-btn svg{width:17px;height:17px}
@media(max-width:767px){.vb-share .vb-share-btn{width:36px;height:36px;min-width:36px;min-height:36px;padding:0}.vb-share .vb-share-btn svg{width:16px;height:16px}}

/* 6.1.2 Travel page sharing */
.vb-travel-share{padding-top:28px;padding-bottom:40px}.vb-travel-share .vb-share{margin:0}@media(max-width:767px){.vb-travel-share{padding-top:20px;padding-bottom:30px}}

/* Villa Brzet 6.1.3 — consistent white outline share icons */
.vb-share .vb-share-btn,.vb-share .vb-share-btn:link,.vb-share .vb-share-btn:visited{background:#fff!important;color:#171c19!important;border:1px solid #171c19!important;box-shadow:none!important;border-radius:0!important;opacity:1!important;visibility:visible!important}
.vb-share .vb-share-btn:hover,.vb-share .vb-share-btn:focus-visible{background:#f2f5f2!important;color:#171c19!important}
.vb-share .vb-share-btn svg{fill:currentColor}
.listing>.vb-share--listing{display:flex!important;visibility:visible!important;opacity:1!important;margin:26px 0 0!important;position:relative;z-index:1}
.listing>.vb-share--listing .vb-share-actions{display:flex!important;visibility:visible!important}
.vb-travel-share{padding-top:28px;padding-bottom:34px}
@media(max-width:767px){.listing>.vb-share--listing{margin-top:20px!important}.vb-travel-share{padding-top:22px;padding-bottom:26px}}

/* 6.1.4: uniform white/black outlined sharing, robust mobile spacing */
.vb-share .vb-share-actions > a.vb-share-btn,
.vb-share .vb-share-actions > a.vb-share-btn:link,
.vb-share .vb-share-actions > a.vb-share-btn:visited {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#fff!important;color:#161b19!important;border:1px solid #161b19!important;
  border-radius:0!important;box-shadow:none!important;opacity:1!important;
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  padding:0!important;text-decoration:none!important;
}
.vb-share .vb-share-actions > a.vb-share-btn:hover{background:#f3f5f3!important;color:#161b19!important}
.vb-share .vb-share-actions > a.vb-share-btn svg{width:18px!important;height:18px!important;fill:currentColor!important;color:inherit!important}
.detail-facts{padding-bottom:32px!important}
.detail-facts > .vb-share--detail{margin:28px 0 12px!important;position:relative;z-index:2}
.vb-travel-share{padding-top:24px;padding-bottom:36px}
@media(max-width:767px){.detail-facts{padding-bottom:38px!important}.detail-facts > .vb-share--detail{margin-top:26px!important;margin-bottom:14px!important}.vb-travel-share{padding-top:20px;padding-bottom:32px}}

/* 6.1.5: user-provided SVG assets in share buttons */
.vb-share .vb-share-actions > a.vb-share-btn img.vb-share-logo{display:block!important;width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;filter:none!important;pointer-events:none!important;}

/* 6.1.7 - breathing room after apartment sharing, before photo */
.detail-facts{padding-bottom:86px!important}
.detail-facts > .vb-share--detail{margin-bottom:36px!important}
@media(max-width:767px){.detail-facts{padding-bottom:78px!important}.detail-facts > .vb-share--detail{margin-bottom:30px!important}}

/* 6.1.8: contextual label above icon-only sharing buttons */
.vb-share .vb-share-heading{display:block;margin:0 0 12px;color:#161b19;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;}

/* 6.2.0 - subtle on-site weather station pulse, only for fresh station readings */
.vb-weather-note--live::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:#25894e;vertical-align:middle;box-shadow:0 0 0 0 rgba(37,137,78,.35);animation:vb-weather-live-pulse 2.3s ease-out infinite}
@keyframes vb-weather-live-pulse{0%{box-shadow:0 0 0 0 rgba(37,137,78,.38)}65%,100%{box-shadow:0 0 0 7px rgba(37,137,78,0)}}
@media(prefers-reduced-motion:reduce){.vb-weather-note--live::before{animation:none}}


/* Villa Brzet · station temperature history 6.2.1 */
.vb-history{max-width:1440px;margin:0 auto;padding:54px clamp(24px,5vw,88px) 72px}
.vb-history-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.vb-history-head .eyebrow{margin-bottom:12px;color:#697c72}
.vb-history h2{font-size:clamp(27px,3.2vw,46px);margin:0;font-weight:400;letter-spacing:-.05em}
.vb-history-periods{display:flex;gap:5px;border:1px solid #dce3dd;padding:4px}
.vb-history-periods button{appearance:none;border:0;background:transparent;color:#576760;padding:10px 16px;cursor:pointer;font:600 12px 'DM Sans',sans-serif;white-space:nowrap}
.vb-history-periods button.active{background:#263b36;color:#fff}
.vb-history-plot{width:100%;min-height:175px;margin-top:27px}
.vb-history-svg{display:block;width:100%;height:auto;overflow:visible;font-family:'DM Sans',sans-serif}
.vb-history-info{color:#52635a;font-size:13px;margin-top:13px;min-height:20px}
.vb-history-tooltip{font-size:12px;color:#263b36;margin-top:10px;line-height:1.6}
.vb-history-note{font-size:12px;color:#849089;margin-top:14px}
@media(max-width:640px){.vb-history{padding:36px 24px 50px}.vb-history-head{align-items:start}.vb-history-periods{width:100%;justify-content:space-between}.vb-history-periods button{flex:1;padding:10px 6px}.vb-history-plot{margin-top:18px;min-height:125px}}
