/* Fonts load independently from the HTML head, so this stylesheet has no font import chain. */
:root{--green:#102c24;--gold:#c9a66d;--cream:#f7f4ee;--ink:#203129}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.1}h2{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.2}h3{font-size:1.5rem}p{line-height:1.75}a{color:inherit;text-decoration:none}.wrap{width:min(1150px,90%);margin:auto}.head{background:#102c24;color:white;position:sticky;top:0;z-index:20}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:83px}.brand{font:1.45rem 'Playfair Display',serif;letter-spacing:.17em;white-space:nowrap}.brand small{display:block;text-align:center;font:10px 'DM Sans',sans-serif;letter-spacing:.3em}.links{display:flex;align-items:center;gap:19px;font-size:13px}.links a:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#16271d;border:1px solid var(--gold);padding:14px 23px;font-weight:700;font-size:13px;cursor:pointer}.btn.ghost{background:transparent;color:white}.toggle{display:none;background:none;color:white;border:1px solid #ffffff65;padding:10px 14px;font-size:20px}.hero{background:linear-gradient(100deg,#0c251ded,#143b2fbd),radial-gradient(circle at 80% 20%,#68775a,#102c24);color:white;min-height:590px;display:flex;align-items:center}.hero h1{max-width:750px;margin:15px 0}.hero p{max-width:570px;font-size:18px}.eyebrow{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:700}.section{padding:85px 0}.intro{max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tile{background:#fff;border:1px solid #e5e0d5;overflow:hidden}.tile .content{padding:24px}.tile p{font-size:14px;color:#56645a}.photo{background:linear-gradient(135deg,#c4c4ad,#355b4b);height:240px;display:grid;place-items:center;color:white;text-align:center;padding:20px}.photo span{background:#102c24bb;padding:9px 15px;font-size:13px}.facts{background:white;padding:25px 0}.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.fact{border-right:1px solid #ddd5c9}.fact:last-child{border:0}.fact strong{display:block}.fact small{color:#69786c}.dark{background:var(--green);color:white}.dark p{color:#d5dfd7}.cta{background:#183d30;color:white;padding:85px 0}.cta p{max-width:620px}.faq details{border-bottom:1px solid #d6d5cd;padding:17px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{max-width:800px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact a:not(.btn){text-decoration:underline}.note{font-size:13px;color:#6a736b}.breadcrumbs{font-size:12px;opacity:.85}.pagehero{background:var(--green);color:white;padding:75px 0}.pagehero h1{font-size:clamp(2.5rem,5vw,4.3rem)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery .photo{height:260px}.footer{background:#0b211a;color:#d8e1d8;padding:32px 0;font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer a{text-decoration:underline}.link{color:#986d34;font-weight:700;font-size:13px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:850px){.toggle{display:block}.links{display:none;position:absolute;left:0;right:0;top:83px;background:#102c24;padding:22px 5%;flex-direction:column;align-items:stretch}.links.open{display:flex}.nav>.btn{display:none}.grid,.gallery{grid-template-columns:1fr 1fr}.facts .wrap{grid-template-columns:1fr 1fr}.fact:nth-child(2){border:0}.contact{grid-template-columns:1fr}.hero{min-height:520px}}@media(max-width:570px){.grid,.gallery{grid-template-columns:1fr}.section{padding:60px 0}.hero h1{font-size:2.75rem}.brand{font-size:1.12rem}}
/* V3 booking interaction and accessibility */
.booking-dialog{border:1px solid #d7c7ac;border-radius:14px;max-width:520px;width:calc(100% - 30px);padding:0;background:#f7f4ee;color:#203129;box-shadow:0 24px 90px #0007}.booking-dialog::backdrop{background:#081e19bb;backdrop-filter:blur(4px)}.modal-inner{padding:clamp(24px,5vw,42px);position:relative}.modal-inner h2{font-size:clamp(28px,4vw,40px);margin:14px 0}.modal-inner p{line-height:1.7}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer;color:#203129}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn.outline{background:transparent;color:#203129}.links a:focus-visible,.btn:focus-visible,.toggle:focus-visible,.modal-close:focus-visible{outline:3px solid #c9a66d;outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Originalna fotografija objekta i brending */
.hero{background:linear-gradient(90deg,rgba(4,18,18,.78),rgba(4,18,18,.14)),url('/assets/images/vila-bazen-sumrak.webp') center 53%/cover no-repeat!important}
.cta{background:linear-gradient(90deg,rgba(5,27,22,.9),rgba(5,27,22,.3)),url('/assets/images/terasa-vatra.webp') center/cover no-repeat!important}
.brand{display:flex;align-items:center;gap:12px;font-size:0!important;letter-spacing:0!important}
.brand img{width:65px;height:65px;object-fit:contain}
.brand small{display:none!important}
.photo{background-size:cover!important;background-position:center!important;position:relative;overflow:hidden}
.photo span{position:relative;z-index:1;background:rgba(10,35,27,.8)}
.photo::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 65%)}
@media(max-width:600px){.brand img{width:53px;height:53px}.hero{background-position:55% center!important}}

/* V5: responsive gallery, lightbox and mobile polish */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;position:relative;background:#16352c;border-radius:3px}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-item:hover img{transform:scale(1.04)}
.lightbox{border:0;padding:0;max-width:min(1100px,96vw);width:96vw;max-height:94vh;background:#0b1815;color:white;overflow:hidden;border-radius:8px}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox-image{display:block;width:100%;max-height:78vh;object-fit:contain}
.lightbox-toolbar{position:absolute;right:8px;top:8px;z-index:2}
.lightbox button{cursor:pointer;color:white;background:#071b16c9;border:1px solid #ffffff44;border-radius:4px;font-size:30px;min-width:45px;min-height:45px}
.lightbox-prev,.lightbox-next{position:absolute;top:46%;z-index:2}.lightbox-prev{left:10px}.lightbox-next{right:10px}
.lightbox-caption{text-align:center;font-size:14px;padding:4px 14px;margin:4px 0}
@media(max-width:850px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.links.open{max-height:calc(100dvh - 83px);overflow:auto;box-shadow:0 16px 30px #0005}.links a{padding:9px 0;min-height:40px}}
@media(max-width:570px){.gallery{grid-template-columns:1fr}.gallery-item{aspect-ratio:5/4}.footer .wrap{flex-direction:column}.facts .wrap{gap:12px}.lightbox{width:100vw;max-width:100vw}.lightbox-image{max-height:74vh}}

/* V6 editorial highlights and refinements */
.highlight-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(2,230px);gap:16px;margin:30px 0}.highlight-grid a{position:relative;display:block;overflow:hidden;background:#12362b;color:#fff}.highlight-large{grid-row:span 2}.highlight-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.highlight-grid a:hover img{transform:scale(1.035)}.highlight-grid a:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#061a15a8)}.highlight-grid span{position:absolute;bottom:20px;left:22px;z-index:1;font:500 24px 'Playfair Display',serif}.tile .photo{transition:filter .2s}.tile:hover .photo{filter:brightness(1.08)}@media(max-width:700px){.highlight-grid{grid-template-columns:1fr;grid-template-rows:300px 210px 210px}.highlight-large{grid-row:auto}.highlight-grid span{font-size:21px}}

/* V7 accessibility and mobile refinements */
.mobile-book{display:none!important} .hero{background-position:center center!important} .nav .brand img{object-fit:contain} .gallery-item img{object-fit:cover} .btn:hover{filter:brightness(1.08)}
@media(max-width:850px){.mobile-book{display:block!important;border:1px solid #c9a66d;color:#f4d69d!important;padding:13px!important;text-align:center;margin-top:8px}.links.open{z-index:50}.hero{background-position:57% center!important}}
@media(max-width:570px){.hero{min-height:570px;background-image:linear-gradient(90deg,rgba(4,18,18,.85),rgba(4,18,18,.37)),url('/assets/images/vila-bazen-sumrak.webp')!important}.hero p{font-size:16px}.facts .wrap{gap:16px}.fact{padding:4px 8px 4px 0}.highlight-grid img{object-position:center}}

/* V9 contact form and legal pages */
.inquiry-section{background:#f5f3ec}.inquiry-form{background:#fff;padding:clamp(22px,4vw,52px);border:1px solid #ddd8cb;border-radius:16px;max-width:1000px;margin:auto}.inquiry-form h2{margin-top:0}.inquiry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.inquiry-form label{display:block;font-weight:600;margin:14px 0;color:#173a2d}.inquiry-form input:not([type=radio]),.inquiry-form textarea,.inquiry-form select{display:block;width:100%;margin-top:8px;border:1px solid #bcbdb7;border-radius:8px;padding:13px;font:inherit;background:#fff;color:#132f27;box-sizing:border-box}.inquiry-form fieldset{border:1px solid #ddd8cb;border-radius:8px;margin:22px 0;padding:12px 20px}.inquiry-form fieldset label{display:inline-block;margin-right:22px}.send-actions{display:flex;gap:12px;flex-wrap:wrap}.send-actions button{cursor:pointer}.form-status{min-height:1.5em}.legal-copy{max-width:900px;line-height:1.8}.legal-copy h2{margin-top:28px}.host-mini{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.host-mini a{color:#174d3b}@media(max-width:650px){.inquiry-grid{grid-template-columns:1fr}.send-actions{flex-direction:column}.send-actions .btn{width:100%;text-align:center}}

/* V9.1: fix unreadable cards in dark sections and mobile card spacing */
.tile{color:#203129}
.tile .content{background:#fff;color:#203129;display:flow-root}
.tile .content h3{color:#182e26;margin:0 0 12px;line-height:1.3}
.tile .content p,.dark .tile .content p{color:#47584e;opacity:1;margin:0 0 18px;line-height:1.65}
.tile .content .link,.dark .tile .content .link{color:#895c21}
@media(max-width:570px){.tile .content{padding:22px 24px 26px}.tile .photo{height:225px}.tile .content h3{font-size:1.45rem}}

/* V10: readable detail sections and wedding page */
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.detail-card{background:#f8f6f1;color:#1b2923;border-radius:8px;padding:26px;scroll-margin-top:110px}.detail-card h3{color:#172d25;margin:0 0 12px}.detail-card p{color:#39463f;line-height:1.7}.detail-card .link{color:#96712e}.wedding-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.wedding-layout img{width:100%;max-height:550px;object-fit:cover;border-radius:8px}.wedding-layout p{line-height:1.8}@media(max-width:700px){.detail-grid,.wedding-layout{grid-template-columns:1fr}.detail-card{padding:20px}}

/* V11 individual content pages */
.content-page{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(25px,5vw,70px);align-items:center}.content-page-copy{color:#21372d}.content-page-copy h2{color:#152e24;font-size:clamp(28px,3.5vw,48px);line-height:1.15}.content-page-copy p{color:#43544b;font-size:17px;line-height:1.8}.content-page img{width:100%;height:auto;max-height:580px;object-fit:cover;border-radius:8px}.content-page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.related-content{background:#f4f1e9;color:#20372c}.related-content h2{color:#1b3228}.related-content p{color:#4b5b50}@media(max-width:760px){.content-page{grid-template-columns:1fr}.content-page img{max-height:420px}.content-page-copy p{font-size:16px}}

/* V12 refined editorial visual system */
:root{--cream:#faf8f4;--green:#102b23;--gold:#b89153;--ink:#1d3028}
body{font-family:'Manrope','DM Sans',sans-serif;font-size:15px;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.027em}
h1{line-height:1.06}h2{line-height:1.16}h3{line-height:1.24}
p{line-height:1.78}.section{padding-block:clamp(58px,7vw,96px)}
.tile{border:1px solid #e8e3d9;border-radius:12px;box-shadow:0 8px 25px rgba(15,35,26,.045);transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,35,26,.09)}
.tile .content{padding:27px 27px 30px}.tile .content h3{font-size:clamp(1.48rem,2vw,1.7rem)}
.tile .content p{color:#40534a!important;font-size:14px}.tile .photo{height:230px}
.btn{border-radius:6px;min-height:46px;letter-spacing:.015em}.link{color:#8a642d!important;text-decoration-thickness:1px}
.pagehero{padding:clamp(65px,7vw,105px) 0}.pagehero p{color:#e1e8df;font-size:clamp(16px,2vw,19px)}
.content-page-copy p{color:#40534a}.content-page img,.wedding-layout img{border-radius:12px}
@media(max-width:570px){.tile .content{padding:23px}.tile .photo{height:220px}.pagehero{padding:60px 0}.content-page-copy h2{font-size:2rem}}

/* Official categorization, V13 */
.registration-banner{background:#f6f2e8;color:#20362d;padding:2.1rem 0;border-block:1px solid #dfd4bb}.registration-banner h2{font-size:clamp(1.25rem,2.4vw,1.85rem);margin:0 0 .5rem;color:#20362d}.registration-banner p{max-width:850px;line-height:1.7;margin:0;color:#34443d}.registration-note{max-width:1100px;margin:0 auto 1.3rem;padding:1rem 1.3rem;border:1px solid rgba(190,164,109,.45);border-radius:10px;line-height:1.55}.registration-note strong{display:block;color:#d6bb79;margin-bottom:.35rem}.registration-note p{margin:0;font-size:.85rem;color:#e1e5df}@media(max-width:640px){.registration-banner{padding:1.3rem 0}.registration-note{margin:0 1rem 1.3rem}}

.legal-scope-note{max-width:1160px;margin:22px auto 34px;padding:22px 28px;border:1px solid rgba(184,145,83,.38);border-radius:16px;background:#faf8f4;color:#20362e;line-height:1.7}.legal-scope-note strong{display:block;color:#102b23;font-size:1.12rem;margin-bottom:8px}.legal-scope-note p{margin:0;color:#34443d}@media(max-width:700px){.legal-scope-note{margin:18px 18px 28px;padding:18px}}

.footer-category{color:#d6bb79;font-size:.86rem;font-weight:600}

/* V16: editorial hospitality redesign */
:root{--green:#092c23;--gold:#caa66c;--cream:#faf7f0;--ink:#142b24}
body{font-family:Manrope,sans-serif;background:var(--cream);font-size:15px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em}h1{font-size:clamp(3.5rem,7.5vw,7.1rem);line-height:.94}h2{font-size:clamp(2.8rem,4.7vw,4.5rem);line-height:1.02}h3{font-size:clamp(1.65rem,2.5vw,2.1rem);line-height:1.13}.wrap{width:min(1240px,90%)}.head{background:#092c23;box-shadow:0 4px 25px #061b1533}.nav{min-height:92px}.brand img{width:76px;height:76px;object-fit:contain}.links{gap:22px;font-size:13px;font-weight:600}.links a{transition:color .2s}.btn{border-radius:3px;padding:17px 27px;font-family:Manrope,sans-serif;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#ddbd83}.btn.ghost:hover{color:var(--green)}.eyebrow{letter-spacing:.26em;font-size:12px}.hero{position:relative;isolation:isolate;min-height:660px;background:linear-gradient(90deg,rgba(2,24,20,.83) 0%,rgba(3,29,25,.47) 55%,rgba(2,20,20,.1) 100%),url('/assets/images/vila-bazen-sumrak.webp') center 52%/cover no-repeat}.hero .wrap{position:relative;z-index:1;padding:100px 0}.hero h1{max-width:760px}.hero p{font-size:18px;max-width:580px;line-height:1.8}.hero .eyebrow{color:#e4c58e}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:27px}.hero-actions .btn.ghost{border-color:#f9f4e8;color:white}.hero-stars{position:absolute;right:5%;bottom:30px;background:#092c23db;border:1px solid #caa66c55;padding:20px 25px;color:#f4d28b;font-size:20px;text-align:center}.hero-stars small{display:block;font:12px Manrope,sans-serif;color:white;margin-top:6px}.facts{background:#f5efe4;padding:28px 0}.facts .wrap{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.fact{padding:7px 15px 7px 0}.fact strong{font-size:14px}.fact small{display:block;font-size:12px;margin-top:5px}.section{padding:95px 0}.intro{max-width:790px;font-size:16px;color:#53635b}.grid{gap:22px}.tile{border:0;background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 9px 30px #092c230d}.tile .content{padding:25px}.tile h3{margin:0 0 8px}.tile .photo{height:260px;background-size:cover;background-position:center}.photo{background-size:cover;background-position:center}.tile .link,.link{color:#a17a43;font-weight:700;font-size:13px}.dark{background:#092c23}.dark .tile{color:#102b23}.dark .tile p{color:#5b665e}.highlights .photo{border-radius:12px}.cta{background:linear-gradient(90deg,#061d18dc,#092c23ac),url('/assets/images/terasa-vatra.webp') center/cover;min-height:330px}.footer{background:#061e18}.footer-category{font-weight:700;color:#d9b97e}.faq details{background:#ffffff80;margin:9px 0;padding:20px;border:1px solid #e9e0d2;border-radius:6px}.contact{gap:45px}.section-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-header h2{max-width:680px;margin:12px 0}.section-header p{max-width:420px}.feature-split{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:6%;}.feature-split img{width:100%;height:410px;object-fit:cover;border-radius:16px}.feature-split p{color:#52635a}.amenities-section{background:#092c23;color:white}.amenities-section .section-header p{color:#d6e2d9}.amenities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.amenity-card img{width:100%;aspect-ratio:1.13;object-fit:cover;border-radius:13px}.amenity-card h3{font-family:Manrope,sans-serif;font-size:16px;letter-spacing:0;margin:17px 0 6px}.amenity-card p{font-size:13px;color:#c6d4ca;margin:0}.section-header .btn{flex-shrink:0}.hero-home{min-height:690px}.hero-home .wrap{padding:110px 0}.hero-home h1{max-width:700px}.page-hero{min-height:370px}.page-hero .wrap{padding:65px 0}.page-hero h1{font-size:clamp(3.2rem,6vw,5.5rem)}.tile a:focus-visible,.btn:focus-visible,.links a:focus-visible{outline:3px solid #e4c58e;outline-offset:4px}
@media(max-width:900px){.amenities-grid{grid-template-columns:repeat(2,1fr)}.feature-split{gap:30px}.section-header{align-items:start;flex-direction:column}.nav{min-height:83px}.hero-stars{right:5%;bottom:18px;padding:12px 16px}.hero-home{min-height:610px}}
@media(max-width:650px){.hero,.hero-home{min-height:570px;background-position:57% center}.hero .wrap,.hero-home .wrap{padding:70px 0 115px}.hero h1{font-size:clamp(3.3rem,13vw,4.7rem)}.hero p{font-size:15px;max-width:95%}.hero-stars{font-size:16px;bottom:12px}.hero-stars small{font-size:10px}.facts .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fact:nth-child(2){border-right:0}.section{padding:64px 0}.feature-split{grid-template-columns:1fr}.feature-split img{height:280px;order:-1}.amenities-grid{gap:20px 12px}.amenity-card img{aspect-ratio:1}.amenity-card h3{font-size:14px}.amenity-card p{font-size:12px}.section-header{gap:10px}.section-header h2{margin-bottom:4px}.cta{padding:65px 0}.brand img{width:65px;height:65px}}

/* V17: authentic interior photo presentation */
.interior-gallery{margin-top:3rem}.interior-heading{max-width:720px;margin-bottom:1.5rem}.interior-heading h2,.interior-home h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:.5rem 0 1rem}.interior-heading p,.interior-home> .wrap>p{max-width:760px}.interior-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.interior-photo{display:block;position:relative;overflow:hidden;border-radius:16px;min-height:210px;background:#18372e;color:white;text-decoration:none}.interior-photo img{width:100%;height:100%;min-height:230px;max-height:390px;object-fit:cover;display:block;transition:transform .35s ease}.interior-photo:hover img{transform:scale(1.035)}.interior-photo span{position:absolute;left:0;right:0;bottom:0;padding:32px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-weight:700;color:white}.interior-featured{grid-column:span 2}.interior-featured img{max-height:390px}.interior-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.interior-home-grid .interior-photo img{min-height:240px;height:260px}@media(max-width:850px){.interior-grid,.interior-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interior-featured{grid-column:span 2}}@media(max-width:560px){.interior-grid,.interior-home-grid{grid-template-columns:1fr;gap:14px}.interior-featured{grid-column:span 1}.interior-photo img,.interior-home-grid .interior-photo img{height:240px;min-height:240px}.interior-gallery{margin-top:2rem}}

/* V18 booking modal: compact, scrollable, accessible on mobile */
.booking-dialog{max-width:760px;max-height:min(92dvh,920px);overflow-y:auto;overscroll-behavior:contain}.booking-dialog .modal-inner{padding:clamp(18px,3vw,32px)}.booking-dialog .modal-inner>p{margin:.5rem 0 1rem}.modal-inquiry{padding:0;border:0;background:transparent;max-width:none}.modal-inquiry .inquiry-grid{gap:8px 16px}.modal-inquiry label{margin:6px 0;font-size:.92rem}.modal-inquiry input:not([type=radio]),.modal-inquiry textarea,.modal-inquiry select{margin-top:4px;padding:10px}.modal-inquiry fieldset{margin:10px 0;padding:8px 12px}.modal-inquiry fieldset label{margin:5px 15px 5px 0}.modal-inquiry .send-actions{gap:8px}.modal-inquiry .send-actions .btn{padding:12px 16px}.modal-inquiry small{display:block;line-height:1.5;margin-top:8px}.modal-inquiry .form-status{margin:8px 0;min-height:1.4em}.booking-dialog .modal-close{z-index:3;right:10px;top:7px;min-width:44px;min-height:44px}@media(max-width:650px){.booking-dialog{width:calc(100% - 16px);max-height:94dvh}.modal-inquiry .inquiry-grid{grid-template-columns:1fr}.modal-inquiry .send-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.modal-inquiry .send-actions .btn{width:100%;font-size:.82rem;padding:12px 4px}.modal-inquiry fieldset label{display:block}}

/* V20: calm editorial polish */
.highlights .section-head h2,.interior-home .section-head h2{max-width:17ch}
@media(max-width:767px){.highlights .section-head h2,.interior-home .section-head h2{max-width:none}}

/* V22: distinct photo-gallery categories */
.gallery-group-title{font-family:'Playfair Display',Georgia,serif;color:#102b23;font-size:clamp(1.7rem,3vw,2.5rem);margin:2.8rem 0 1.2rem}.gallery-group-title:first-child{margin-top:0}.gallery+.gallery-group-title{margin-top:3.5rem}

/* V23: dedicated location page */
.location-hero{background:linear-gradient(120deg,rgba(9,37,29,.88),rgba(9,37,29,.38)),url('/assets/images/vila-bazen-sumrak.webp') center 54%/cover;color:#fff}
.location-hero .breadcrumbs,.location-hero .breadcrumbs a,.location-hero p{color:#f4f0e9}
.location-hero .eyebrow{color:#d2ac6a}
.location-feature img{width:100%;height:430px;object-fit:cover;border-radius:18px}
.location-details{background:#f5f1e9}
.location-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}
.location-cards article{padding:28px;background:white;border:1px solid #e5ded2;border-radius:14px}
.location-cards h3{margin:0 0 12px;color:#102b23}
.location-map-link{display:flex;flex-direction:column;gap:8px}
.location-map-link a{font-weight:700;color:#102b23;text-decoration:underline;text-underline-offset:4px}
.location-map-link small{color:#666}
@media(max-width:760px){.location-cards{grid-template-columns:1fr}.location-feature img{height:270px}}

/* V24: photo gallery on accommodation detail */
.v24-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.v24-photo-grid img{display:block;width:100%;height:320px;object-fit:cover;border-radius:16px}@media(max-width:700px){.v24-photo-grid{grid-template-columns:1fr}.v24-photo-grid img{height:260px}}

/* V26: diskretna napomena o kategorizaciji na kontakt stranici */
.registration-contact{padding:0 0 36px}.registration-contact-inner{border-left:3px solid #b69a63;background:#f6f3ec;padding:22px 26px;border-radius:0 12px 12px 0}.registration-contact h2{font-size:clamp(1.15rem,2vw,1.45rem);margin:0 0 8px;color:#17352b}.registration-contact p{margin:0;line-height:1.7;color:#40544b;max-width:850px}

/* V27: slightly larger navigation labels on desktop and mobile */
@media(min-width:851px){.head .links{font-size:14px}}
@media(max-width:850px){.head .links{font-size:15px}.head .links a{line-height:1.45}}

/* V28: compact registration note integrated with contact details */
.contact-page-layout{display:block;max-width:820px;margin-left:auto;margin-right:auto}
.contact-page-layout>div{max-width:780px}
.contact-page-layout h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.12;margin-bottom:30px}
.registration-inline{margin-top:36px;padding:20px 24px;background:#f0eee7;border:1px solid #e3dccd;border-left:3px solid #bea36d;border-radius:8px;max-width:720px}
.registration-inline h3{font-family:inherit;font-size:1.08rem;line-height:1.4;margin:0 0 7px;font-weight:700;color:#18372c}
.registration-inline p{font-size:.94rem;line-height:1.65;margin:0;color:#46574e}
@media(max-width:600px){.contact-page-layout h2{font-size:2.25rem}.registration-inline{padding:18px;margin-top:26px}}

/* Maintained project: focused contact and navigation refinements. */
.head .links a[aria-current="page"]{color:#e4c58e;text-decoration:underline;text-underline-offset:6px}
body:has(.contact-page-layout) .pagehero{padding:48px 0}
body:has(.contact-page-layout) .pagehero h1{margin:22px 0 18px}
body:has(.contact-page-layout) .pagehero p{margin-bottom:0}
body:has(.contact-page-layout) .pagehero + .section{padding:52px 0 36px}
.contact-page-layout{max-width:1000px}
.contact-page-layout h2{margin:0 0 20px;font-size:clamp(2rem,3.5vw,3rem)}
.registration-inline{margin-top:26px;padding:18px 0 0;border:0;border-top:1px solid #ded5c4;border-radius:0;background:transparent}
.registration-inline h3{font-size:.95rem}
.registration-inline p{font-size:.875rem;max-width:680px}
body:has(.contact-page-layout) .inquiry-section{padding-top:32px}
.inquiry-form input:focus-visible,.inquiry-form select:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid #947139;outline-offset:3px}
html:has(dialog[open]){overflow:hidden}
@media(max-width:850px){
  .head .links{top:100%;padding:14px 5% 20px;gap:2px}
  .head .links a{padding:10px 0;min-height:44px}
}
@media(max-width:600px){
  body:has(.contact-page-layout) .pagehero{padding:32px 0}
  body:has(.contact-page-layout) .pagehero + .section{padding:34px 0 24px}
  .contact-page-layout h2{font-size:2.25rem}
  .registration-inline{margin-top:22px;padding-top:16px}
  body:has(.contact-page-layout) .inquiry-section{padding-top:16px}
  .inquiry-form input:not([type=radio]),.inquiry-form select,.inquiry-form textarea{font-size:16px;min-width:0}
  .inquiry-grid>label{min-width:0}
}

/* Readable supporting text on light surfaces; retain gold on dark sections. */
.facts .fact small{color:#526157}
main .eyebrow,.booking-dialog .eyebrow{color:#82612f}
.dark .eyebrow,.amenities-section .eyebrow,.pagehero .eyebrow,.cta .eyebrow{color:#caa66c}
.location-hero .eyebrow{color:#d2ac6a}
