 /* ==========================================================================
   Header Styling
   ========================================================================== */
 div#header,
 #header,
 header.site-header,
 .wp-block-template-part-header,
 header.wp-block-template-part,
 .premium-header,
 .wp-block-group.has-background.is-layout-flex.wp-container-core-group-is-layout-1 {
     background-color: #000000 !important;
     background-image: url('/img/bg/black_leather.png') !important;
     background-image: -webkit-image-set(url('/img/avc/bg/black_leather.hero.avif') type('image/avif'),
             url('/img/avc/bg/black_leather.hero.webp') type('image/webp')) !important;
     background-image: image-set(url('/img/avc/bg/black_leather.hero.avif') type('image/avif'),
             url('/img/avc/bg/black_leather.hero.webp') type('image/webp')) !important;
     background-repeat: repeat !important;
     background-position: center center !important;
     background-size: cover !important;
     color: #ffffff !important;
 }

 .premium-header {
     padding: 0 0 20px !important;
 }

 .premium-header .header-inner {
     max-width: var(--wp--style--global--content-size);
     margin: 0 auto;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 8px;
     padding: 0;
 }

.premium-header .site-title {
     font-size: var(--ep-text-4xl);
     font-weight: 900;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     color: var(--ep-white) !important;
 }

.premium-header .site-branding .site-brand-link {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     text-decoration: none;
}

.premium-header .site-branding .site-logo {
     display: block;
     width: auto;
     height: 28px;
     max-width: none;
}

.premium-header .site-branding .site-wordmark {
     display: inline-block;
     color: rgba(255, 248, 235, 0.96);
     font-family: "Cormorant Garamond", var(--ep-font-serif), serif;
     font-size: 17px;
     font-weight: 500;
     letter-spacing: 0.1em;
     line-height: 1;
     text-transform: none;
     text-shadow: 0 0 18px rgba(188, 149, 92, 0.18);
     white-space: nowrap;
}

 .premium-header .header-top-row {
     width: 100%;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 16px;
 }

 .premium-header .site-navigation {
     width: 100%;
     display: flex;
     justify-content: flex-start;
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     padding-top: 6px;
 }

 .premium-header .site-user-status {
     display: flex;
     align-items: center;
     justify-content: flex-end;
     gap: 10px;
     width: 100%;
     white-space: nowrap;
     color: rgba(255, 255, 255, 0.86);
     font-size: 12px;
 }

 .premium-header .site-user-status .user-auth-link {
     color: var(--ep-gold);
     text-decoration: none;
     border-bottom: 1px solid rgba(188, 149, 92, 0.55);
 }

 .premium-header .site-user-status .user-auth-link:hover {
     color: var(--ep-gold-light);
     border-bottom-color: rgba(216, 176, 122, 0.8);
 }

 @media (max-width: 900px) {
     .premium-header .header-top-row {
         flex-direction: row;
         align-items: center;
         justify-content: space-between;
     }

     .premium-header .site-branding .site-logo {
         height: 24px;
     }

     .premium-header .site-branding .site-brand-link {
         gap: 6px;
     }

     .premium-header .site-branding .site-wordmark {
         font-size: 15px;
         letter-spacing: 0.08em;
     }

     .premium-header .site-user-status {
         width: auto;
         justify-content: flex-end;
     }
 }

 /* Language Switcher Alignment */
 .ep-lang-switch {
     width: 100%;
     max-width: var(--wp--style--global--content-size);
     margin: 0 auto;
     display: flex;
     justify-content: flex-end;
     padding: 10px 24px 0;
     position: relative;
     z-index: 10;
     box-sizing: border-box;
 }

 .ep-lang-switch ul {
     margin: 0;
     padding: 0;
     list-style: none;
     display: flex;
     gap: 8px;
 }

 .ep-lang-switch-item {
     display: inline-block;
     padding: 4px 10px;
     font-size: 11px;
     line-height: 1.2;
     color: var(--ep-gold, #bc955c);
     background: rgba(0, 0, 0, 0.52);
     border: 1px solid var(--ep-gold, #bc955c);
     border-radius: 4px;
     text-decoration: none;
     transition: all 0.2s;
 }

 .ep-lang-switch-item:hover {
     background: var(--epsc-accent);
     border-color: var(--epsc-accent);
     color: #fff;
 }

 .ep-lang-switch-item.is-current {
     background: var(--epsc-accent);
     border-color: var(--epsc-accent);
     color: #fff;
     font-weight: 600;
 }

 /* Ensure all nested text and links are white in the top-level header */
 div#header *,
 #header *,
 header.site-header *,
 .wp-block-template-part-header *,
 header.wp-block-template-part *,
 .wp-block-navigation .wp-block-navigation-item__label {
     color: var(--ep-white) !important;
 }

 /* --- Navigation UI Refinement --- */
 .wp-block-navigation {
     font-family: var(--ep-font-serif) !important;
     font-weight: 500;
     letter-spacing: 0.05em;
 }

 /* Top Level Items */
 .wp-block-navigation .wp-block-navigation-item {
     transition: all 0.25s ease;
 }

 .wp-block-navigation .wp-block-navigation-item__content {
     padding: 0px 0px !important;
     position: relative;
 }

 /* Hover Accent Line (Gold) */
 .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: 12px;
     right: 12px;
     height: 2px;
     background-color: var(--epsc-accent);
     transform: scaleX(0);
     transition: transform 0.3s ease;
     transform-origin: center;
 }

 .wp-block-navigation>.wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after {
     transform: scaleX(1);
 }

 /* Submenu Container */
 .wp-block-navigation .wp-block-navigation__submenu-container {
     background-color: rgba(10, 10, 10, 0.98) !important;
     border: 1px solid rgba(188, 149, 92, 0.3) !important;
     padding: 6px 0 !important;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
     backdrop-filter: blur(10px);
     animation: ep-menu-fade-in 0.2s ease-out;
 }

 /* Mobile hamburger menu fallback: force visible contrast */
 .wp-block-navigation__responsive-container,
 .wp-block-navigation__responsive-container-content {
     background: #0f1418 !important;
     color: #fff !important;
 }

 .wp-block-navigation__responsive-container .wp-block-navigation-item__content,
 .wp-block-navigation__responsive-container .wp-block-navigation-item__label,
 .wp-block-navigation__responsive-container a,
 .wp-block-navigation__responsive-container button {
     color: #fff !important;
 }

 .wp-block-navigation__responsive-container.is-menu-open,
 .has-modal-open .wp-block-navigation__responsive-container {
     display: flex !important;
     opacity: 1 !important;
     visibility: visible !important;
 }

 /* Grandchild Menu Positioning (Side-by-side) */
 .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
     top: -1px !important;
     left: 100% !important;
     margin-top: 0 !important;
 }

 @keyframes ep-menu-fade-in {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* Submenu Items */
 .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
     padding: 6px 16px !important;
     font-size: var(--ep-text-sm);
     color: #eee !important;
 }

 .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover {
     background-color: rgba(188, 149, 92, 0.15) !important;
 }

 .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover>.wp-block-navigation-item__content {
     color: var(--ep-gold) !important;
 }

 /* Submenu Indicators - Hide default WP SVG arrows */
 .wp-block-navigation-submenu__toggle svg {
     display: none !important;
 }

 /* Custom CSS Arrows */
 .wp-block-navigation-submenu__toggle::after {
     content: "";
     display: inline-block;
     width: 4px;
     height: 4px;
     border-right: 1px solid var(--ep-white);
     border-bottom: 1px solid var(--ep-white);
     transform: rotate(45deg);
     margin-left: 4px;
     margin-bottom: 3px;
     opacity: 0.6;
     transition: transform 0.2s;
 }

 /* Side arrow for items within a submenu that have children */
 .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle::after {
     transform: rotate(-45deg);
     margin-bottom: 1px;
 }

 .wp-block-navigation-submenu:hover>.wp-block-navigation-submenu__toggle::after {
     opacity: 1;
 }

 /* Current Page Mark */
 .wp-block-navigation-item.current-menu-item>.wp-block-navigation-item__content {
     color: var(--epsc-accent) !important;
 }

 div#header a,
 #header a,
 header.site-header a,
 .wp-block-template-part-header a,
 header.wp-block-template-part a {
     color: #ffffff !important;
 }

 /* Padding adjustment for the header container */
 header.wp-block-template-part {
     padding-top: 0px;
     padding-bottom: 20px;
 }

/* ==========================================================================
   ヘッダーのサイトタイトルを「EstatePress」テキスト → プレミアム不動産ロゴに置換
   2026-08。暗いレザー地ヘッダー用に白へ反転。テキストは視覚的に隠す（rel=home のリンクは維持）
   ========================================================================== */
.wp-block-site-title a,
.site-title a {
    display: inline-block !important;
    width: 190px;
    height: 40px;
    max-width: 56vw;
    background-image: url('/wp-content/plugins/estatepress-site-customizations/assets/logos/premium-fudosan.png');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    filter: brightness(0) invert(1);
    text-indent: -9999px;
    overflow: hidden;
    white-space: nowrap;
    font-size: 0 !important;
    line-height: 0;
}
@media (max-width: 640px) {
    .wp-block-site-title a,
    .site-title a {
        width: 152px;
        height: 33px;
    }
}
