/* NoirPlay V29 — Dynamic logo + icon system */

.header-logo{
  min-width:0;
  min-height:44px;
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible;
}
.header-logo img{
  width:auto!important;
  height:42px!important;
  max-width:205px;
  display:block;
  object-fit:contain;
  object-position:left center;
  filter:none!important;
}

.footer-brand img{
  width:auto!important;
  height:48px!important;
  max-width:230px;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain;
}

.age-card img[data-theme-icon-asset]{
  width:96px!important;
  height:96px!important;
  padding:0!important;
  border-radius:23px!important;
  object-fit:contain;
  box-shadow:0 14px 36px rgba(0,0,0,.20);
}

html[data-theme="light"] .age-card img[data-theme-icon-asset]{
  box-shadow:0 12px 30px rgba(23,31,42,.13);
}

/* Smooth brand asset changes when switching themes. */
[data-theme-logo-asset],
[data-theme-icon-asset]{
  opacity:1;
  transition:opacity .16s ease,transform .16s ease;
}

/* Theme-specific logo sizing compensation. */
html[data-theme="dark"] .header-logo img{height:41px!important}
html[data-theme="light"] .header-logo img{height:40px!important}
html[data-theme="hub"] .header-logo img{height:39px!important}
html[data-theme="xvideos"] .header-logo img{height:40px!important}
html[data-theme="xnxx"] .header-logo img{height:40px!important}
html[data-theme="servi"] .header-logo img{height:40px!important}

/* Keep generated branding crisp rather than putting it in an extra dark pill. */
html[data-theme="hub"] .header-logo,
html[data-theme="xvideos"] .header-logo,
html[data-theme="xnxx"] .header-logo,
html[data-theme="servi"] .header-logo,
html[data-theme="light"] .header-logo{
  background:transparent!important;
}

@media(max-width:820px){
  .header-logo{
    min-height:38px;
  }
  .header-logo img{
    height:36px!important;
    max-width:175px;
  }
  .footer-brand img{
    height:43px!important;
    max-width:210px;
  }
}
@media(max-width:560px){
  .header-logo{
    width:min(126px,100%);
    max-width:126px!important;
  }
  .header-logo img{
    width:100%!important;
    height:auto!important;
    max-height:34px;
    max-width:126px!important;
  }
  .footer-brand img{
    height:40px!important;
    max-width:190px;
  }
  .age-card img[data-theme-icon-asset]{
    width:82px!important;
    height:82px!important;
    border-radius:20px!important;
  }
}
@media(max-width:380px){
  .header-logo{
    width:108px;
    max-width:108px!important;
  }
  .header-logo img{
    max-width:108px!important;
  }
}
