:root{
  --viwi-logo-header-size:54px;
  --viwi-logo-mobile-size:42px;
  --viwi-logo-frame-bg:#ffffff;
  --viwi-logo-frame-border:#e5e7eb;
  --viwi-logo-frame-shadow:0 8px 18px rgba(17,24,39,.06);
}

.viwi-logo-frame{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(var(--viwi-logo-header-size) + 16px);
  height:calc(var(--viwi-logo-header-size) + 16px);
  padding:8px !important;
  border-radius:14px !important;
  background:var(--viwi-logo-frame-bg) !important;
  border:1px solid var(--viwi-logo-frame-border) !important;
  box-shadow:var(--viwi-logo-frame-shadow) !important;
  overflow:hidden !important;
  vertical-align:middle !important;
}

.viwi-logo-frame img,
.viwi-logo-frame svg{
  max-width:var(--viwi-logo-header-size) !important;
  max-height:var(--viwi-logo-header-size) !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  border-radius:10px !important;
}

.viwi-logo-frame.viwi-mobile{
  width:calc(var(--viwi-logo-mobile-size) + 12px);
  height:calc(var(--viwi-logo-mobile-size) + 12px);
  padding:6px !important;
  border-radius:12px !important;
}

.viwi-logo-frame.viwi-mobile img,
.viwi-logo-frame.viwi-mobile svg{
  max-width:var(--viwi-logo-mobile-size) !important;
  max-height:var(--viwi-logo-mobile-size) !important;
}

.viwi-hero-logo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:96px;
  height:96px;
  padding:10px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 12px 24px rgba(17,24,39,.08);
}

.viwi-hero-logo-badge img{
  max-width:74px;
  max-height:74px;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:14px;
}

header img,
.navbar-brand img,
.logo img,
.brand-logo img,
a[href="/"] img{
  object-fit:contain !important;
}

@media (max-width:768px){
  .viwi-logo-frame{
    width:calc(var(--viwi-logo-mobile-size) + 12px);
    height:calc(var(--viwi-logo-mobile-size) + 12px);
    padding:6px !important;
    border-radius:12px !important;
  }
  .viwi-logo-frame img,
  .viwi-logo-frame svg{
    max-width:var(--viwi-logo-mobile-size) !important;
    max-height:var(--viwi-logo-mobile-size) !important;
  }
}
