/* Villa Wolin V35 — canonical typography system
   Display: Cormorant Garamond 400/italic. UI/body: Lato 400/700. */
:root{--vw-font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;--vw-font-ui:"Lato",Arial,sans-serif}
html,body{font-family:var(--vw-font-ui)!important;font-weight:400}
button,input,select,textarea,label,a,p,li,small,span{font-family:inherit}
/* Editorial display roles only */
.nordic-hero h1,.nordic-section-intro h2,.nordic-intro h2,.vw-coast-intro h2,.nordic-booking h2,
.vw-journey h2,.vw-journey-step h3,
#availability-results .house-result h3,#availability-results .house-price strong,
.booking-hero h1,.checkout h2,.summary .house,.summary .total strong,.payment-title,
.product-hero h1,.product-overview h2,.gallery-copy h2,.product-journey h2,.related h2,.product-bottom h2,.vw-related span,
.content h1{font-family:var(--vw-font-display)!important;font-weight:400!important}
/* Everything functional uses Lato, including cards */
.vw-header,.vw-nav,.vw-lang-static,.vw-natural-search-form,.vw-natural-search-help,.vw-natural-search-answer,.vw-natural-understood,.vw-natural-weekend,.vw-natural-choice,
#availability-results .house-result-main,#availability-results .house-result-meta,#availability-results .house-result-status,#availability-results .house-result-specs,#availability-results .house-result-desc,#availability-results .house-result-amenities,#availability-results .house-result-included,#availability-results .house-price-label,#availability-results .house-price-meta,#availability-results .house-book,#availability-results .house-details,#availability-results .house-result-badge,
.product-nav,.product-hero-copy p,.product-overview,.product-facts,.product-cta,.stay-note,.gallery-copy p,.product-journey p,.product-bottom a,footer,
.checkout,.checkout-kicker,.status,.formgrid,.field,.check,.cta,.secure,.dates,.row,.deposit,.included,.trust,
.eyebrow,.back,.box{font-family:var(--vw-font-ui)!important}
/* Card hierarchy */
#availability-results .house-result h3{font-weight:400!important;letter-spacing:-.035em!important}
#availability-results .house-price strong{font-weight:400!important;letter-spacing:-.025em!important}
#availability-results .house-result-specs{font-weight:700!important}
#availability-results .house-result-status,#availability-results .house-book,#availability-results .house-result-badge{font-weight:700!important}

/* V37 — accessible language switcher + premium search guidance */
.vw-lang-static{
  top:0!important;
  right:clamp(18px,2.7vw,42px)!important;
  height:120px!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
.vw-lang-static button{
  min-width:58px!important;
  height:44px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid transparent!important;
  border-radius:2px!important;
  color:rgba(255,255,255,.82)!important;
  background:transparent!important;
  font-family:"Lato",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.10em!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease!important;
}
.vw-lang-static button:hover{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.24)!important;
}
.vw-lang-static button.active{
  color:#1f211d!important;
  background:rgba(250,249,246,.94)!important;
  border-color:rgba(250,249,246,.94)!important;
}
.vw-lang-static .vw-flag{font-size:15px;line-height:1;letter-spacing:0;font-family:Arial,sans-serif}
.vw-lang-static .vw-lang-code{line-height:1}

.vw-natural-search-help{
  width:max-content!important;
  max-width:min(760px,100%)!important;
  margin-top:14px!important;
  padding:9px 13px 10px 34px!important;
  position:relative!important;
  color:rgba(255,255,255,.94)!important;
  background:rgba(20,22,18,.44)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  font-family:"Lato",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 1px rgba(0,0,0,.14)!important;
}
.vw-natural-search-help::before{
  content:"i";
  position:absolute;
  left:12px;
  top:10px;
  width:14px;
  height:14px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font:700 9px/1 "Lato",Arial,sans-serif;
  color:#fff;
}
@media(max-width:800px){
  .vw-lang-static{height:90px!important;right:14px!important;gap:2px!important}
  .vw-lang-static button{min-width:44px!important;height:42px!important;padding:0 7px!important;gap:4px!important;font-size:9px!important}
  .vw-lang-static .vw-flag{font-size:13px}
  .vw-natural-search-help{width:100%!important;font-size:12px!important;padding:9px 10px 9px 32px!important}
}
@media(max-width:520px){
  .vw-lang-static button{min-width:38px!important;padding:0 5px!important}
  .vw-lang-static .vw-lang-code{display:none}
  .vw-lang-static .vw-flag{font-size:17px}
}
@media(min-width:1001px){.vw-header .vw-nav{margin-right:300px!important}}
@media(min-width:801px) and (max-width:1180px){.vw-header .vw-nav{gap:20px!important;margin-right:250px!important}.vw-lang-static button{min-width:50px!important;padding:0 8px!important}}
