/* v1.3.25 — Header Logo Compact Polish
   Corrects the oversized white logo plate visible in the header screenshot.
   Scope is intentionally limited to the site header / logo area. */

.site-header,
.header,
.ipch-header,
.main-header {
  min-height: 74px;
}

/* Generic theme header container safeguards. */
.site-header .container,
.header .container,
.ipch-header .container,
.main-header .container,
.navbar,
.header-inner,
.site-header-inner {
  min-height: 74px;
  align-items: center;
}

/* White logo plate: less tall, less dominant, cleaner desktop balance. */
.site-branding,
.logo-wrap,
.header-logo,
.site-logo,
.ipch-logo-wrap,
.ipch-site-logo,
.brand-logo,
.nav-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* The theme uses a large white rounded logo background; constrain it safely. */
.logo-plate,
.logo-shell,
.site-branding,
.header-logo-wrap,
.ipch-logo-plate,
.ipch-brand-plate {
  max-height: 74px;
}

/* Image-level correction: prevents the logo from forcing a huge header. */
.site-branding img,
.logo-wrap img,
.header-logo img,
.site-logo img,
.custom-logo,
.ipch-logo,
.ipch-site-logo img,
.brand-logo img,
.nav-logo img {
  width: auto;
  max-width: 174px !important;
  max-height: 50px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block;
}

/* Direct correction for the white capsule usually rendered by the logo holder. */
.site-branding::before,
.logo-wrap::before,
.header-logo::before,
.ipch-logo-wrap::before,
.ipch-site-logo::before,
.brand-logo::before,
.nav-logo::before {
  max-height: 74px;
}

/* If the header logo is placed in an absolute white blob, normalize the blob. */
.site-header [class*="logo"],
.header [class*="logo"],
.ipch-header [class*="logo"],
.main-header [class*="logo"] {
  box-sizing: border-box;
}

/* Main nav stays visually centered with the compact logo. */
.primary-menu,
.main-navigation,
.site-navigation,
.nav-menu,
.header-menu {
  align-items: center;
}

/* CTA remains aligned and does not become vertically oversized. */
.header-cta,
.nav-cta,
.menu-cta,
.shop-cta,
.secure-shop-btn,
a[href*="boutique"].btn,
a[href*="boutique"].button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Mobile: keep the logo readable without a giant white block. */
@media (max-width: 920px) {
  .site-header,
  .header,
  .ipch-header,
  .main-header {
    min-height: 66px;
  }

  .site-branding img,
  .logo-wrap img,
  .header-logo img,
  .site-logo img,
  .custom-logo,
  .ipch-logo,
  .ipch-site-logo img,
  .brand-logo img,
  .nav-logo img {
    max-width: 145px !important;
    max-height: 44px !important;
  }
}

@media (max-width: 560px) {
  .site-branding img,
  .logo-wrap img,
  .header-logo img,
  .site-logo img,
  .custom-logo,
  .ipch-logo,
  .ipch-site-logo img,
  .brand-logo img,
  .nav-logo img {
    max-width: 132px !important;
    max-height: 40px !important;
  }
}

/* Auto-targeted logo classes found in header.php. */
.brand img { max-width: 174px !important; max-height: 50px !important; height: auto !important; object-fit: contain !important; }
.brand-elegant img { max-width: 174px !important; max-height: 50px !important; height: auto !important; object-fit: contain !important; }
.brand-plate img { max-width: 174px !important; max-height: 50px !important; height: auto !important; object-fit: contain !important; }
