/* VIVERE ISTRIA · STAGING GLOBAL NAV v1 */
:root{
  --vi-nav-green:#14271f;
  --vi-nav-green-2:#1c3028;
  --vi-nav-gold:#b8943f;
  --vi-nav-cream:#f2ede4;
}
.vi-global-nav{
  position:fixed; top:26px; left:0; right:0; z-index:99990;
  height:72px; display:flex; align-items:center;
  background:rgba(20,39,31,.96);
  border-bottom:1px solid rgba(184,148,63,.24);
  backdrop-filter:blur(16px);
  box-shadow:0 10px 34px rgba(0,0,0,.10);
  padding:0 clamp(18px,4vw,64px);
  font-family:"Cinzel", Georgia, serif;
}
.vi-global-nav *{box-sizing:border-box}
.vi-nav-brand{
  display:flex; align-items:center; gap:12px; min-width:max-content;
  color:var(--vi-nav-cream); text-decoration:none;
  font-size:13px; letter-spacing:.16em; text-transform:uppercase;
}
.vi-nav-brand img{width:34px;height:34px;object-fit:contain}
.vi-nav-brand span{color:var(--vi-nav-gold)}
.vi-nav-main{
  display:flex; align-items:center; gap:clamp(14px,2vw,28px);
  margin-left:auto; list-style:none; padding:0;
}
.vi-nav-main>li{position:relative}
.vi-nav-link,.vi-nav-dropbtn{
  color:rgba(242,237,228,.78); background:none; border:0;
  font:500 10px/1 "Cinzel", Georgia, serif;
  letter-spacing:.13em; text-transform:uppercase;
  padding:27px 0 25px; cursor:pointer; text-decoration:none;
}
.vi-nav-link:hover,.vi-nav-dropbtn:hover{color:var(--vi-nav-gold)}
.vi-nav-casa>.vi-nav-dropbtn{color:var(--vi-nav-gold)}
.vi-nav-casa>.vi-nav-dropbtn::after{content:"⌄";margin-left:7px;font-size:11px}
.vi-nav-menu{
  position:absolute; top:62px; left:-22px; min-width:280px;
  background:#f7f3ec; color:#1c3028; list-style:none; padding:12px;
  border:1px solid rgba(184,148,63,.28); box-shadow:0 20px 50px rgba(0,0,0,.16);
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:.18s ease;
}
.vi-nav-casa:hover .vi-nav-menu,.vi-nav-casa:focus-within .vi-nav-menu{
  opacity:1;visibility:visible;transform:none
}
.vi-nav-menu a{
  display:block; padding:12px 13px; color:#1c3028; text-decoration:none;
  font:500 11px/1.25 "Cinzel", Georgia, serif; letter-spacing:.08em; text-transform:uppercase;
}
.vi-nav-menu a:hover{background:rgba(184,148,63,.10);color:#8b6920}
.vi-nav-menu .vi-sub{
  display:block;margin-top:4px;font:400 13px/1.35 "Cormorant Garamond",Georgia,serif;
  letter-spacing:0;text-transform:none;color:#7d7468;
}
.vi-nav-sep{height:1px;background:rgba(28,48,40,.12);margin:6px 8px}
.vi-nav-radio{display:flex;align-items:center;gap:7px}
.vi-nav-radio::before{content:"◉";color:var(--vi-nav-gold);font-size:12px}
.vi-nav-shop{display:flex;align-items:center;gap:7px}
.vi-nav-shop::before{content:"◇";color:var(--vi-nav-gold);font-size:12px}
.vi-nav-member{
  margin-left:4px; border:1px solid rgba(184,148,63,.65); padding:9px 12px!important;
  color:var(--vi-nav-gold)!important;
}
.vi-nav-mobile{display:none;margin-left:auto;background:none;border:1px solid rgba(184,148,63,.45);color:var(--vi-nav-cream);padding:9px 11px;font-family:"Source Sans 3",Arial,sans-serif;font-size:16px}
body.vi-nav-ready{padding-top:0}
body.vi-nav-ready #nav{display:none!important}
body.vi-nav-ready>nav:not(.vi-global-nav){display:none!important}
body.vi-nav-ready>header:first-of-type{margin-top:72px}
@media(max-width:1080px){
  .vi-nav-main{gap:14px}
  .vi-nav-link,.vi-nav-dropbtn{font-size:9px;letter-spacing:.10em}
}
@media(max-width:900px){
  .vi-global-nav{height:64px}
  .vi-nav-mobile{display:block}
  .vi-nav-main{
    display:none;position:absolute;top:64px;left:0;right:0;margin:0;padding:14px 18px 24px;
    background:#14271f;border-top:1px solid rgba(184,148,63,.2);flex-direction:column;align-items:stretch;gap:0;
    max-height:calc(100vh - 90px);overflow:auto
  }
  .vi-global-nav.is-open .vi-nav-main{display:flex}
  .vi-nav-link,.vi-nav-dropbtn{display:block;width:100%;text-align:left;padding:14px 6px;font-size:10px}
  .vi-nav-menu{position:static;display:block;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:rgba(255,255,255,.05);min-width:0;margin:0 0 8px;padding:6px}
  .vi-nav-menu a{color:rgba(242,237,228,.86);font-size:10px}
  .vi-nav-menu .vi-sub{color:rgba(242,237,228,.52)}
  .vi-nav-sep{background:rgba(242,237,228,.12)}
  .vi-nav-member{margin-top:8px}
  body.vi-nav-ready>header:first-of-type{margin-top:64px}
}
.vi-nav-menu a[aria-disabled="true"],.vi-nav-member[aria-disabled="true"]{opacity:.48;cursor:default;pointer-events:none}
body.vi-nav-ready>header:first-of-type nav{display:none!important}
/* NAV polish v2 · 2026-09-30 */
.vi-nav-casa>.vi-nav-dropbtn{
  color:#D3AE54;
  font-weight:600;
  letter-spacing:.145em;
}
.vi-nav-casa>.vi-nav-dropbtn::before{
  content:"";display:inline-block;width:16px;height:1px;
  background:#B8943F;vertical-align:middle;margin-right:8px;opacity:.9;
}
.vi-nav-radio{
  color:#F2EDE4!important;
  font-weight:600!important;
  padding-left:2px!important;
}
.vi-nav-radio::before{
  color:#D3AE54;
  text-shadow:0 0 12px rgba(184,148,63,.28);
}
.vi-nav-member{
  margin-left:8px!important;
  background:#B8943F!important;
  border:1px solid #D3AE54!important;
  color:#14271F!important;
  padding:10px 14px!important;
  font-weight:700!important;
  opacity:1!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}
.vi-nav-member:hover{
  background:#D3AE54!important;
  color:#102019!important;
}
.vi-nav-menu a[aria-disabled="true"]{
  opacity:.48;cursor:default;pointer-events:none;
}
.vi-nav-member[aria-disabled="true"]{
  opacity:1!important;cursor:default;pointer-events:none;
}

/* NAV branding v3 · CASA subline + Radio signet */
.vi-nav-dropbtn{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.vi-nav-casa-title{display:block;line-height:1}
.vi-nav-casa-subline{
  display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:10px;
  line-height:1;letter-spacing:.02em;text-transform:none;color:rgba(242,237,228,.58);
  font-weight:400;margin-top:3px;white-space:nowrap;
}
.vi-nav-casa>.vi-nav-dropbtn:hover .vi-nav-casa-subline{color:rgba(242,237,228,.78)}
.vi-nav-radio{gap:8px!important}
.vi-nav-radio::before{display:none!important}
.vi-nav-radio-sign{width:20px;height:20px;object-fit:contain;border-radius:50%;flex:0 0 auto}
.vi-nav-radio span{display:block}

body.vi-casa-page.vi-nav-ready>header.vi-casa-local{
  margin-top:72px!important;
  min-height:58px;height:auto;
  padding:9px clamp(18px,4vw,64px);
  display:flex!important;align-items:center;justify-content:space-between;gap:24px;
  background:#F2EDE4;border-bottom:1px solid rgba(184,148,63,.28);
  position:relative;z-index:30;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local .vi-casa-local-brand{
  display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#1C3028;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local .vi-casa-local-brand strong{
  font-family:"Cinzel",Georgia,serif;font-size:12px;letter-spacing:.15em;font-weight:500;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local .vi-casa-local-brand small{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:12px;color:#8C8275;letter-spacing:.02em;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local nav{
  display:flex!important;align-items:center;gap:22px;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local nav a{
  font-family:"Cinzel",Georgia,serif;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:#6D665D;text-decoration:none;padding:8px 0;border-bottom:1px solid transparent;
}
body.vi-casa-page.vi-nav-ready>header.vi-casa-local nav a[aria-current="page"]{
  color:#1C3028;border-color:#B8943F;
}
@media(max-width:900px){
  .vi-nav-casa-subline{font-size:11px;color:rgba(242,237,228,.62)}
  .vi-nav-radio-sign{width:22px;height:22px}
  body.vi-casa-page.vi-nav-ready>header.vi-casa-local{margin-top:64px!important;align-items:flex-start;flex-direction:column;gap:6px}
  body.vi-casa-page.vi-nav-ready>header.vi-casa-local nav{gap:16px;flex-wrap:wrap}
}
/* CASA home entry · Block 03 */
.vi-casa-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.vi-casa-home-actions a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 18px;text-decoration:none;
  font-family:"Cinzel",Georgia,serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  transition:.2s ease;
}
.vi-casa-home-primary{background:#B8943F;color:#14271F;border:1px solid #B8943F}
.vi-casa-home-primary:hover{background:#D3AE54;border-color:#D3AE54}
.vi-casa-home-secondary{color:#F2EDE4;border:1px solid rgba(242,237,228,.55);background:rgba(20,39,31,.18)}
.vi-casa-home-secondary:hover{border-color:#F2EDE4;background:rgba(20,39,31,.38)}
@media(max-width:600px){.vi-casa-home-actions{flex-direction:column;align-items:flex-start}.vi-casa-home-actions a{width:100%;max-width:260px}}
/* NAV revert v4 · no CASA subline, no Radio signet */
.vi-nav-dropbtn{display:block!important}
.vi-nav-casa-subline,.vi-nav-radio-sign{display:none!important}
.vi-nav-radio::before{
  display:inline!important;
  content:"◉"!important;
  color:#D3AE54!important;
  font-size:12px!important;
}
.vi-nav-radio{display:flex!important;align-items:center!important;gap:7px!important}
/* HOME communication structure · step 04 */
.vi-casa-home-intro{
  max-width:620px;
  margin:22px 0 0;
  font-family:var(--fd,Georgia,serif);
  font-size:clamp(1.02rem,1.5vw,1.22rem);
  line-height:1.55;
  color:rgba(242,237,228,.82);
}
.vi-partner-home{
  background:var(--cr2,#EAE3D8);
  border-top:1px solid rgba(28,48,40,.08);
  border-bottom:1px solid rgba(28,48,40,.08);
}
.vi-partner-home-inner{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(3rem,8vw,8rem);
  align-items:start;
}
.vi-partner-home-copy{
  max-width:620px;
  padding-top:.4rem;
}
.vi-partner-home-copy p{
  font-size:clamp(1.05rem,1.6vw,1.2rem);
  line-height:1.7;
  color:rgba(24,23,14,.72);
  margin:0 0 1rem;
}
.vi-partner-home-copy .btn{margin-top:1.2rem}
@media(max-width:800px){
  .vi-partner-home-inner{grid-template-columns:1fr;gap:1.8rem}
}
/* Accessibility · Step 13 */
.vi-skip-link{
  position:fixed;
  left:16px;
  top:-80px;
  z-index:1000000;
  padding:10px 14px;
  background:#F2EDE4;
  color:#1C3028;
  border:2px solid #B8943F;
  font-family:"Source Sans 3",Arial,sans-serif;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:top .15s ease;
}
.vi-skip-link:focus{top:34px}
.vi-sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
:where(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid #D3AE54!important;
  outline-offset:3px!important;
}
#main-content:focus{outline:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Mobile touch targets · Step 14 */
@media(max-width:900px){
  .vi-nav-mobile{
    min-width:44px;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
  }
}
@media(max-width:760px){
  .vi-casa-local-brand{
    min-height:32px;
    display:flex!important;
    align-items:center;
  }
  .vi-casa-page summary{
    min-height:32px;
    display:flex;
    align-items:center;
    padding:6px 0;
  }
}
/* Final mobile touch target · Step 14 */
.vi-nav-ready main a[href*="datenschutz.html"]{
  display:inline-flex;
  align-items:center;
  min-height:24px;
}


/* Primary contact entry · 2026-10-01 */
.vi-nav-contact{
  color:#14271F!important;
  background:#B8943F!important;
  border:1px solid #D3AE54!important;
  padding:10px 13px!important;
  font-weight:700!important;
}
.vi-nav-contact:hover{background:#D3AE54!important;color:#102019!important}
@media(max-width:900px){
  .vi-nav-contact{margin-top:8px!important;width:100%!important;padding:13px 10px!important}
}
