/* ==========================================================
   VIVILIV — COMPLIANZ COOKIE BANNER 1.0.5
   Visual-only skin for the Complianz consent banner.
   Does not change consent categories, cookies, blocking or JS.
   ========================================================== */

:root{
  --vvl-cmplz-bg:#06150d;
  --vvl-cmplz-bg2:#0b2819;
  --vvl-cmplz-bg3:#12462e;
  --vvl-cmplz-gold:#d8b24a;
  --vvl-cmplz-gold2:#f3d77a;
  --vvl-cmplz-text:#fffaf0;
  --vvl-cmplz-copy:#dce8df;
  --vvl-cmplz-muted:#afc0b5;
  --vvl-cmplz-line:rgba(216,178,74,.42);
}

/* Softer cookiewall: keep the VIVILIV hero visible instead of nearly black. */
html body .cmplz-soft-cookiewall{
  background:rgba(4,20,13,.24)!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Main banner card. Keep Complianz placement/logic, replace only visuals. */
html body #cmplz-cookiebanner-container .cmplz-cookiebanner,
html body .cmplz-cookiebanner{
  overflow:hidden!important;
  width:min(390px,calc(100vw - 32px))!important;
  max-width:390px!important;
  padding:20px!important;
  box-sizing:border-box!important;
  color:var(--vvl-cmplz-copy)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(243,215,122,.12),transparent 32%),
    linear-gradient(145deg,var(--vvl-cmplz-bg2) 0%,var(--vvl-cmplz-bg) 64%,#041109 100%)!important;
  border:1px solid var(--vvl-cmplz-line)!important;
  border-radius:20px!important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.045)!important;
  font-family:"Segoe UI Variable Text","Segoe UI",Tahoma,Arial,sans-serif!important;
  font-synthesis:none!important;
  text-rendering:auto!important;
  -webkit-font-smoothing:auto!important;
  -moz-osx-font-smoothing:auto!important;
}

/* Typography */
html body .cmplz-cookiebanner .cmplz-title{
  margin:0 34px 9px 0!important;
  padding:0!important;
  color:var(--vvl-cmplz-gold2)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-gold2)!important;
  font-family:"Segoe UI Variable Text","Segoe UI",Tahoma,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
}

html body .cmplz-cookiebanner .cmplz-message,
html body .cmplz-cookiebanner .cmplz-message p,
html body .cmplz-cookiebanner .cmplz-message span{
  margin-top:0!important;
  color:var(--vvl-cmplz-copy)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-copy)!important;
  font-family:"Segoe UI Variable Text","Segoe UI",Tahoma,Arial,sans-serif!important;
  font-size:11.5px!important;
  line-height:1.58!important;
  font-weight:500!important;
}

/* Close button */
html body .cmplz-cookiebanner .cmplz-close{
  top:13px!important;
  right:13px!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--vvl-cmplz-gold2)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-gold2)!important;
  background:rgba(216,178,74,.08)!important;
  border:1px solid rgba(216,178,74,.48)!important;
  border-radius:9px!important;
  box-shadow:none!important;
}

html body .cmplz-cookiebanner .cmplz-close:hover,
html body .cmplz-cookiebanner .cmplz-close:focus-visible{
  background:rgba(216,178,74,.16)!important;
  border-color:var(--vvl-cmplz-gold2)!important;
  outline:2px solid rgba(243,215,122,.32)!important;
  outline-offset:2px!important;
}

/* Button group */
html body .cmplz-cookiebanner .cmplz-buttons{
  gap:8px!important;
  margin-top:14px!important;
}

html body .cmplz-cookiebanner .cmplz-btn{
  min-height:42px!important;
  padding:0 13px!important;
  border-radius:11px!important;
  font-family:"Segoe UI Variable Text","Segoe UI",Tahoma,Arial,sans-serif!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
  box-shadow:none!important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}

/* Accept: premium gold, primary action. */
html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept{
  color:#06150d!important;
  -webkit-text-fill-color:#06150d!important;
  background:linear-gradient(135deg,#ffe897 0%,var(--vvl-cmplz-gold2) 46%,var(--vvl-cmplz-gold) 100%)!important;
  border:1px solid rgba(255,236,162,.86)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.20)!important;
}

/* Deny: just as clear/available, but not visually confused with accept. */
html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny{
  color:var(--vvl-cmplz-text)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-text)!important;
  background:#09271a!important;
  border:1px solid rgba(216,178,74,.66)!important;
}

/* Preferences/save: secondary VIVILIV control. */
html body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
html body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{
  color:var(--vvl-cmplz-gold2)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-gold2)!important;
  background:#061a11!important;
  border:1px solid rgba(216,178,74,.42)!important;
}

html body .cmplz-cookiebanner .cmplz-btn:hover,
html body .cmplz-cookiebanner .cmplz-btn:focus-visible{
  transform:translateY(-1px)!important;
  border-color:var(--vvl-cmplz-gold2)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.22)!important;
  outline:2px solid rgba(243,215,122,.24)!important;
  outline-offset:2px!important;
}

/* Footer/legal links inside banner */
html body .cmplz-cookiebanner .cmplz-links,
html body .cmplz-cookiebanner .cmplz-links.cmplz-information{
  gap:10px!important;
  margin-top:12px!important;
}

html body .cmplz-cookiebanner .cmplz-links a,
html body .cmplz-cookiebanner a.cmplz-link,
html body .cmplz-cookiebanner a{
  color:var(--vvl-cmplz-gold2)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-gold2)!important;
  text-decoration-color:rgba(243,215,122,.46)!important;
  text-underline-offset:3px!important;
  font-size:10.5px!important;
  font-weight:650!important;
}

/* Preferences/categories panel inside the banner. */
html body .cmplz-cookiebanner .cmplz-categories{
  margin-top:12px!important;
  gap:7px!important;
}

html body .cmplz-cookiebanner .cmplz-category{
  overflow:hidden!important;
  margin:0!important;
  color:var(--vvl-cmplz-copy)!important;
  background:#061a11!important;
  border:1px solid rgba(216,178,74,.24)!important;
  border-radius:12px!important;
}

html body .cmplz-cookiebanner .cmplz-category .cmplz-category-header{
  min-height:44px!important;
  padding:8px 10px 8px 12px!important;
  color:var(--vvl-cmplz-text)!important;
  background:linear-gradient(135deg,#12462e,#092d1d)!important;
  border:0!important;
}

html body .cmplz-cookiebanner .cmplz-category .cmplz-category-header h2,
html body .cmplz-cookiebanner .cmplz-category .cmplz-category-header span,
html body .cmplz-cookiebanner .cmplz-category .cmplz-always-active{
  color:var(--vvl-cmplz-text)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-text)!important;
  font-size:11px!important;
  font-weight:750!important;
}

html body .cmplz-cookiebanner .cmplz-category .cmplz-always-active{
  color:var(--vvl-cmplz-gold2)!important;
  -webkit-text-fill-color:var(--vvl-cmplz-gold2)!important;
}

html body .cmplz-cookiebanner .cmplz-category .cmplz-description{
  padding:10px 12px!important;
  color:var(--vvl-cmplz-copy)!important;
  background:#04140d!important;
  border:0!important;
  font-size:10.5px!important;
  line-height:1.5!important;
}

html body .cmplz-cookiebanner input[type="checkbox"]{
  accent-color:var(--vvl-cmplz-gold)!important;
}

/* Keep controls clear for keyboard users. */
html body .cmplz-cookiebanner :focus-visible{
  outline-color:var(--vvl-cmplz-gold2)!important;
}

/* Mobile: wide bottom card, compact and thumb-friendly. */
@media(max-width:600px){
  html body #cmplz-cookiebanner-container .cmplz-cookiebanner,
  html body .cmplz-cookiebanner{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:auto!important;
    max-width:none!important;
    padding:16px!important;
    border-radius:17px!important;
  }

  html body .cmplz-cookiebanner .cmplz-title{
    margin-right:32px!important;
    font-size:15px!important;
  }

  html body .cmplz-cookiebanner .cmplz-message,
  html body .cmplz-cookiebanner .cmplz-message p,
  html body .cmplz-cookiebanner .cmplz-message span{
    font-size:11px!important;
    line-height:1.52!important;
  }

  html body .cmplz-cookiebanner .cmplz-buttons{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  html body .cmplz-cookiebanner .cmplz-btn{
    width:100%!important;
    min-height:44px!important;
  }

  html body .cmplz-cookiebanner .cmplz-links,
  html body .cmplz-cookiebanner .cmplz-links.cmplz-information{
    justify-content:center!important;
    text-align:center!important;
    flex-wrap:wrap!important;
  }
}

/* Reduced motion: no button lift. */
@media(prefers-reduced-motion:reduce){
  html body .cmplz-cookiebanner .cmplz-btn{
    transition:none!important;
  }
  html body .cmplz-cookiebanner .cmplz-btn:hover,
  html body .cmplz-cookiebanner .cmplz-btn:focus-visible{
    transform:none!important;
  }
}
