/*
Theme Name: Villa Zrina
Theme URI: https://www.vilazrina.com/
Author: Boja
Description: Moderna WordPress tema za Villa Zrina Zagreb. One-page naslovnica, smještaj, dnevni odmor, cjenik, galerija, lokacija i rezervacija.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: villa-zrina
*/

:root{
  --vz-bg:#f6f2eb;
  --vz-surface:#fff;
  --vz-ink:#1b2328;
  --vz-muted:#697176;
  --vz-accent:#a87945;
  --vz-accent-dark:#7d572f;
  --vz-line:#ddd6cb;
  --vz-dark:#182126;
  --vz-radius:22px;
  --vz-shadow:0 18px 50px rgba(22,29,33,.10);
  --vz-max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--vz-bg);color:var(--vz-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 40px),var(--vz-max));margin-inline:auto}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--vz-accent)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(3.2rem,7vw,6.7rem);max-width:900px}
h2{font-size:clamp(2.2rem,4.5vw,4rem)}
h3{font-size:1.55rem}
p{margin:0 0 18px}.muted{color:var(--vz-muted)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(18,27,31,.22);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12);transition:.25s}
.site-header.scrolled{background:rgba(24,33,38,.95)}
.navbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}
.brand{font-family:Georgia,serif;font-size:1.45rem;font-weight:700;letter-spacing:.04em}.brand small{display:block;font-family:Inter,sans-serif;font-size:.57rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;opacity:.65;margin-top:3px}
.nav-links{display:flex;align-items:center;gap:24px;font-size:.91rem;font-weight:650}.nav-links a{opacity:.88}.nav-links a:hover{opacity:1}.nav-cta{padding:12px 18px;border-radius:999px;background:#fff;color:var(--vz-dark)!important}
.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.5rem}
.hero{min-height:94vh;display:grid;align-items:end;padding:160px 0 75px;color:#fff;background:linear-gradient(90deg,rgba(8,14,17,.78),rgba(8,14,17,.18)),url('https://www.vilazrina.com/images/index/revolution-slider/bg-slide-1.jpg') center/cover no-repeat;position:relative}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(transparent,var(--vz-bg))}.hero .container{position:relative;z-index:2}.hero .eyebrow{color:#e2c39c}.hero p{max-width:650px;font-size:1.16rem;color:rgba(255,255,255,.86)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:800;transition:.2s;border:1px solid transparent}.btn-primary{background:var(--vz-accent);color:#fff}.btn-primary:hover{background:var(--vz-accent-dark);transform:translateY(-1px)}.btn-light{background:#fff;color:var(--vz-dark)}.btn-outline{border-color:rgba(255,255,255,.5);color:#fff}
.hero-badges{display:flex;gap:26px;flex-wrap:wrap;margin-top:45px;font-size:.85rem;font-weight:700;color:rgba(255,255,255,.8)}
.section{padding:100px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:48px}.section-head p{max-width:540px}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:stretch}.intro-card{background:var(--vz-surface);padding:48px;border-radius:var(--vz-radius);box-shadow:var(--vz-shadow)}.intro-image{border-radius:var(--vz-radius);min-height:520px;background:url('https://www.vilazrina.com/images/gallery/1.jpg') center/cover no-repeat}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--vz-surface);border-radius:var(--vz-radius);overflow:hidden;box-shadow:0 10px 35px rgba(24,33,38,.07)}.card-media{aspect-ratio:4/3;background-size:cover;background-position:center}.card-body{padding:28px}.card .meta{font-size:.77rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--vz-accent);margin-bottom:10px}
.cards-four{grid-template-columns:repeat(4,1fr)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature{padding:28px;background:rgba(255,255,255,.62);border:1px solid var(--vz-line);border-radius:18px}.feature strong{display:block;font-family:Georgia,serif;font-size:1.25rem;margin-bottom:7px}.feature span{color:var(--vz-muted);font-size:.92rem}
.dark{background:var(--vz-dark);color:#fff}.dark .muted{color:rgba(255,255,255,.64)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:30px;background:rgba(255,255,255,.045)}.price-card.featured{background:var(--vz-accent);border-color:transparent}.price{font-family:Georgia,serif;font-size:3rem;line-height:1;margin:18px 0 8px}.price small{font:600 .8rem Inter,sans-serif;opacity:.7}.price-card ul{padding:0;margin:22px 0 0;list-style:none;color:rgba(255,255,255,.75)}.price-card li{padding:8px 0;border-top:1px solid rgba(255,255,255,.1)}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:260px;gap:14px}.gallery-item{border-radius:18px;overflow:hidden;background-size:cover;background-position:center;min-height:0}.gallery-item:first-child{grid-row:span 2}.gallery-item:nth-child(6){grid-column:span 2}
.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.location-card{background:var(--vz-surface);padding:42px;border-radius:var(--vz-radius)}.map-frame{min-height:520px;border:0;width:100%;border-radius:var(--vz-radius);filter:grayscale(.15)}
.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.contact-panel{padding:44px;border-radius:var(--vz-radius);background:var(--vz-dark);color:#fff}.contact-panel a{display:block;font-size:1.13rem;margin:10px 0}.contact-form{background:#fff;padding:40px;border-radius:var(--vz-radius)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid #d8d4ce;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.field textarea{min-height:120px;resize:vertical}
.notice{font-size:.8rem;color:var(--vz-muted);margin-top:14px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review{background:#fff;padding:30px;border-radius:18px}.review q{font-family:Georgia,serif;font-size:1.2rem}.review .who{margin-top:18px;font-weight:800}.review .country{color:var(--vz-muted);font-size:.86rem}
.booking-summary{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:#fff;padding:38px;border-radius:var(--vz-radius);margin-bottom:18px}.booking-score{width:148px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#003b95;color:#fff;border-radius:24px}.booking-score strong{font-size:3.2rem;line-height:1}.booking-score span{font-weight:800;margin-top:5px}.booking-score small{opacity:.8}.score-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.score-grid span{display:flex;justify-content:space-between;gap:10px;background:rgba(255,255,255,.68);border:1px solid var(--vz-line);padding:12px 14px;border-radius:12px;font-size:.84rem}.btn-booking{background:#006ce4;color:#fff}.btn-booking:hover{background:#003b95;transform:translateY(-1px)}.section-cta{text-align:center;margin-top:26px}.booking-rules{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0;padding:18px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.booking-rules span{display:flex;flex-direction:column;font-size:.9rem;color:rgba(255,255,255,.76)}
.site-footer{background:#11191d;color:#fff;padding:62px 0 28px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px}.site-footer h3{font-size:1.8rem}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:8px 0;color:rgba(255,255,255,.7)}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:24px;color:rgba(255,255,255,.48);font-size:.83rem}
.page-hero{padding:160px 0 70px;background:var(--vz-dark);color:#fff}.content-area{padding:70px 0}.content-area .entry-content{max-width:820px;background:#fff;border-radius:20px;padding:42px}.wp-block-image img{border-radius:16px}
@media(max-width:1050px){.cards-four{grid-template-columns:1fr 1fr}.score-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:86px;left:20px;right:20px;flex-direction:column;align-items:stretch;background:var(--vz-dark);padding:22px;border-radius:18px}.nav-links.open{display:flex}.menu-toggle{display:block}.section-head,.intro-grid,.location-grid,.contact-wrap{grid-template-columns:1fr}.cards,.price-grid,.review-grid{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-item:first-child{grid-row:span 1}.gallery-item:nth-child(6){grid-column:span 1}.intro-image{min-height:400px}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--vz-max))}.navbar{height:74px}.nav-links{top:74px}.hero{padding-top:130px;min-height:90vh}.section{padding:72px 0}.intro-card,.contact-panel,.contact-form,.location-card,.booking-summary{padding:28px}.cards,.price-grid,.review-grid,.feature-grid,.gallery-grid,.form-grid,.cards-four,.score-grid,.booking-summary{grid-template-columns:1fr}.booking-score{width:120px}.gallery-grid{grid-auto-rows:260px}.hero-badges{gap:12px 18px}.footer-grid{grid-template-columns:1fr}.section-head{gap:18px}}
