/*
Theme Name: Elite Property Films
Theme URI: https://elitepropertyfilms.com/
Author: Your Name
Author URI: https://elitepropertyfilms.com/
Description: A modern, future-proof WordPress theme for property film professionals. Built for the block editor (Gutenberg) and inspired by Twenty Twenty-Five.
Requires at least: 6.5
Tested up to: 6.5
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elite-property-films
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready
*/

/* Fix for WordPress color classes - ensure they override theme styles */
.has-primary-color {
  color: #cfaa64 !important;
}

.has-accent-color {
  color: #0096dc !important;
}

.has-background-color {
  color: #00070a !important;
}

.has-background-variant-color {
  color: #010e14 !important;
}

.has-alt-text-color {
  color: #7a7a7a !important;
}

/* Background color classes */
.has-primary-background-color {
  background-color: #cfaa64 !important;
}

.has-accent-background-color {
  background-color: #0096dc !important;
}

.has-background-background-color {
  background-color: #00070a !important;
}

.has-background-variant-background-color {
  background-color: #010e14 !important;
}

.has-text-background-color {
  background-color: #ffffff !important;
}

.has-alt-text-background-color {
  background-color: #7a7a7a !important;
}

.wp-site-blocks {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.is-layout-constrained {
  padding-inline: 1rem;
}

.is-layout-constrained .is-layout-constrained {
  padding-inline: unset;
}

/* Add custom styles below */
.image-bar {
  gap: 0.5rem;
}
.image-bar .wp-block-column {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 782px) {
  .image-bar .wp-block-column {
    width: 50% !important;
    flex-basis: 50% !important;
    max-width: 50%;
  }
  .image-bar {
    flex-wrap: wrap;
  }
}
@media (min-width: 783px) {
  .image-bar .wp-block-column {
    width: 25% !important;
    flex-basis: 25% !important;
    max-width: 25%;
  }
}

/* Layout: Make page fill at least the viewport height, with header at top, footer at bottom, and main stretching */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wp-block-group[tagName="main"],
.wp-block-group main,
main.wp-block-group {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  width: 100%;
}

.video-services {
  padding-top: clamp(5rem, 10vh, 7.5rem);
  padding-bottom: clamp(5rem, 10vh, 7.5rem);
}

/* Service Section Heading Styles */
.video-services .wp-block-heading {
  font-size: var(--wp--preset--font-size--medium);
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

.video-services .service-byline {
  font-size: var(--wp--preset--font-size--2-x-large);
  margin-top: 0;
  margin-bottom: 4rem;
  line-height: 1.25;
}

/* About Section Columns Responsive Layout */

.about-section {
  /* Linear gradient: 0-10% background, 10-90% background-variant, 90-100% background */
  background: linear-gradient(0deg, #00070a 0%, #010e14 10%, #010e14 90%, #00070a 100%);
  padding-top: clamp(5rem, 10vh, 7.5rem);
  padding-bottom: clamp(5rem, 10vh, 7.5rem);
}

.about-section-columns {
  display: flex;
  gap: 2rem;
}
.about-col-1 {
  flex: 0 0 33%;
  max-width: 33%;
}
.about-col-2 {
  flex: 0 0 66%;
  max-width: 66%;
}
@media (max-width: 900px) {
  .about-section-columns {
    flex-direction: column;
    gap: 1.5rem;
  }
  .about-col-1,
  .about-col-2 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Target WordPress columns in about section */
.about-section .wp-block-columns {
  display: flex;
  gap: 2rem;
}

.about-section .wp-block-column:first-child {
  flex: 0 0 33.33% !important;
  max-width: 33.33% !important;
}

.about-section .wp-block-column:last-child {
  flex: 0 0 66.66% !important;
  max-width: 66.66% !important;
}

@media (max-width: 900px) {
  .about-section .wp-block-columns {
    flex-direction: column;
    gap: 1.5rem;
  }

  .about-section .wp-block-column:first-child,
  .about-section .wp-block-column:last-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* Professional Services Section */

.professional-services {
  padding-top: clamp(5rem, 10vh, 7.5rem);
  padding-bottom: clamp(5rem, 10vh, 7.5rem);
  background: linear-gradient(0deg, #010e14 0%, transparent 15%, transparent 85%, #010e14 100%);
}

/* Top and bottom gradient overlays for cover image blend */
.wp-block-cover.professional-services {
  position: relative;
  overflow: hidden;
}
.wp-block-cover.professional-services::before,
.wp-block-cover.professional-services::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 15%; /* adjust as needed */
  z-index: 2;
  pointer-events: none;
}
.wp-block-cover.professional-services::before {
  top: 0;
  background: linear-gradient(to bottom, var(--wp--preset--color--background, #00070a) 0%, transparent 100%);
}
.wp-block-cover.professional-services::after {
  bottom: 0;
  background: linear-gradient(to top, var(--wp--preset--color--background, #00070a) 0%, transparent 100%);
}

/* Professional Services columns: 55% / 45% split on desktop */
.wp-block-cover.professional-services .wp-block-columns {
  display: flex;
  gap: 2rem;
}
.wp-block-cover.professional-services .wp-block-column:first-child {
  flex: 0 0 55% !important;
  max-width: 55% !important;
}
.wp-block-cover.professional-services .wp-block-column:last-child {
  flex: 0 0 45% !important;
  max-width: 45% !important;
}
@media (max-width: 900px) {
  .wp-block-cover.professional-services .wp-block-columns {
    flex-direction: column;
    gap: 1.5rem;
  }
  .wp-block-cover.professional-services .wp-block-column:first-child,
  .wp-block-cover.professional-services .wp-block-column:last-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* Testimonials Section */
.client-testimonials {
  padding-top: clamp(5rem, 10vh, 6.5rem);
  padding-bottom: clamp(5rem, 10vh, 6.5rem);
}

.client-testimonials .summary {
  max-width: 40rem;
  margin-inline: unset !important;
}

/* --- Responsive two-column layout for Contact Section only --- */
.contact-section .wp-block-columns {
  display: grid !important;
  grid-template-columns: .5fr 2fr 1fr 1fr;
  grid-template-areas: "Gap Content Cover Cover";
  min-height: 350px;
}

.contact-section textarea {
  height: 10rem;
}

.contact-section .summary {
  margin-bottom: 3rem;
}

.contact-section .wp-block-cover {
  position: relative;
  z-index: 1;
}
.contact-section .wp-block-cover::before,
.contact-section .wp-block-cover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 10rem;
  z-index: 2;
  pointer-events: none;
}
.contact-section .wp-block-cover::before {
  top: 0;
  background: linear-gradient(180deg, var(--wp--preset--color--background, #00070a) 0%, transparent 100%);
}
.contact-section .wp-block-cover::after {
  bottom: 0;
  background: linear-gradient(180deg, transparent 0%, var(--wp--preset--color--background, #00070a) 100%);
}

.contact-section .wp-block-column:first-child {
  grid-area: Content;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 42rem;
  width: 100%;
  padding-top: clamp(5rem, 10vh, 6.5rem);
  padding-bottom: clamp(5rem, 10vh, 6.5rem);
}

.contact-section .wp-block-column:first-child .wp-block-group {
  max-width: 100%;
  margin: unset;
  flex: 1 1 auto;
}

.contact-section .wp-block-column:last-child {
  grid-area: Cover;
  display: flex;
  align-items: stretch;
}

.contact-section .wp-block-cover {
  width: 100%;
  height: 100%;
  min-height: 350px;
  overflow: hidden;
}

@media (max-width: 1200px) {
  .contact-section .wp-block-columns {
    grid-template-columns: 2fr 1fr;
    grid-template-areas: "Content Cover";
    gap: 2rem;
  }
  .contact-section .wp-block-column:first-child {
    margin-left: 0;
    max-width: 100%;
    padding: 1.5rem 1rem;
  }
}

@media (max-width: 600px) {
  .contact-section .wp-block-columns {
    grid-template-columns: 1fr;
    grid-template-areas: "Content";
  }
  .contact-section .wp-block-column:last-child {
    display: none;
  }
  .contact-section .wp-block-column:first-child {
    max-width: 100%;
    margin-left: 0;
    padding: 1rem 0.5rem;
    width: unset;
  }
}

/* --- Contact Form Inputs Styling (Theme Colors) --- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  padding: 1rem;
  background-color: var(--wp--preset--color--background-variant, #010e14);
  color: var(--wp--preset--color--text, #000);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
  border-radius: 0.1875rem; /* 3px */
  border: 1px solid var(--wp--preset--color--background, #e0e0e0);
  font-size: 1rem;
  box-sizing: border-box;
  transition:
    box-shadow 0.2s,
    border-color 0.2s;
  width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  outline: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  border-color: var(--wp--preset--color--primary, #cfaa64);
}

label {
  color: var(--wp--preset--color--alt-text, #7a7a7a);
  margin-bottom: 0.625rem; /* 10px */
  display: block;
  font-size: 1rem;
  font-weight: 500;
}

/* --- Contact Form Layout Enhancements --- */
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
}

.form-row.two-columns .form-group {
  flex: 1 1 calc(50% - 0.6rem); /* 50% width minus half the gap */
}

.form-group.full-width {
  width: 100%;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group > p,
.form-row p {
  margin: 0;
}

/* --- Contact Form Submit Button Styling --- */
input[type="submit"],
button[type="submit"],
.wp-block-button__link {
  padding: 1rem 1.5rem;
  background: var(--wp--preset--color--primary, #cfaa64);
  color: var(--wp--preset--color--background, #000);
  border: none;
  border-radius: 0.25rem;
  font-size: 1rem;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    box-shadow 0.2s;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-block-button__link:hover {
  background: #eebf67;
  color: var(--wp--preset--color--background, #00070a);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
}

/* Responsive stacking for narrow screens */
@media (max-width: 600px) {
  .form-row {
    flex-direction: column;
  }
}

.wpcf7-form-control .wpcf7-list-item {
  margin-left: unset;
  padding-left: 0;
}

.contact-section .form-submit {
  justify-content: center;
}

/* Only apply cover gradients on the frontend, not in the editor */
body:not(.block-editor-page) .contact-section .wp-block-cover::before {
  top: 0;
  background: linear-gradient(180deg, var(--wp--preset--color--background, #00070a) 0%, transparent 100%);
}
body:not(.block-editor-page) .contact-section .wp-block-cover::after {
  bottom: 0;
  background: linear-gradient(180deg, transparent 0%, var(--wp--preset--color--background, #00070a) 100%);
}

/* === EPF Header Block Styles === */
.home .epf-header-block {
  top: 0;
}

.logged-in.home .epf-header-block {
  top: 2rem;
}

.epf-header-block {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  width: 100%;
  height: 5.25rem;
  background: linear-gradient(
    180deg,
    rgba(0, 7, 10, 0.6) 0%,
    transparent 100%
  );
  z-index: 100;
  padding: 1rem;
  transition: background 0.3s;
}
.epf-header-block.scrolled {
  background: rgba(0, 7, 10, 0.85);
  background: var(--epf-header-block-scrolled-bg, rgba(0, 7, 10, .95));
  box-shadow: 0 2px 1.25rem rgb(207, 170, 100, 0.15);
}
.epf-header-block .epf-header__menu-btn {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: var(--wp--preset--color--text, #ffffff);
  padding: 0.5rem;
  display: block !important; /* Always visible on all screen sizes */
  z-index: 400; /* Above the mobile menu */
}

/* Remove the old mobile-specific override since we want it visible everywhere */
.epf-header-block .epf-header__close-btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  color: var(--wp--preset--color--primary, #cfaa64);
  padding: 0.5rem;
  z-index: 10;
}
.epf-header-block .epf-header__logo {
  flex: 1;
  text-align: center;
}
.epf-header-block .epf-header__logo-text {
  font-weight: bold;
  font-size: 1.5rem;
  color: var(--wp--preset--color--primary, #cfaa64);
}
.epf-header-block .epf-header__contact-btn {
  position: relative;
  color: var(--wp--preset--color--text, #ffffff);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  margin-left: 1rem;
  text-transform: uppercase;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.epf-header-block .epf-header__contact-btn::after {
  content: '→';
  display: inline-block;
  margin-left: 0.5rem;
  vertical-align: middle;
  position: absolute;
  top: var(--wp--preset--spacing--50);
  right: var(--wp--preset--spacing--30);
}
.epf-header-block .epf-header__contact-btn:hover {
  transform: translateX(6px);
}
.epf-header-block .epf-header__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.epf-header-block .epf-header__overlay.visible {
  opacity: 1;
  visibility: visible;
}
.epf-header-block .epf-header__menu,
.epf-header-block #epf-header-menu {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 80vw;
  max-width: 320px;
  background: var(--wp--preset--color--background-variant, #010e14);
  z-index: 300;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
  transform: translateX(-100%);
  transition: transform 0.3s;
  display: flex;
  flex-direction: column;
  outline: none;
}
.epf-header-block .epf-header__menu.open,
.epf-header-block #epf-header-menu.open {
  transform: translateX(0);
}
.epf-header-block .wp-block-navigation,
.epf-header-block .epf-header__menu-content .wp-block-navigation {
  text-align: center;
}
.epf-header-block .wp-block-navigation__responsive-container-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.epf-header-block .wp-block-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.epf-header-block .wp-block-navigation ul li {
  margin-bottom: 1.5rem;
  width: 100%;
  text-align: center;
}
.epf-header-block .wp-block-navigation ul li a {
  color: var(--wp--preset--color--text, #ffffff);
  display: block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  font-size: 1.1rem;
}
.epf-header-block .wp-block-navigation ul li a:hover {
  color: var(--wp--preset--color--primary, #cfaa64);
}
.epf-header-block ul:not(.wp-block-navigation ul) {
  list-style: none;
  padding: 2rem 1rem;
  margin: 0;
}
.epf-header-block ul:not(.wp-block-navigation ul) li {
  margin-bottom: 1.5rem;
}
.epf-header-block ul:not(.wp-block-navigation ul) li a {
  color: var(--wp--preset--color--text, #ffffff);
}
.epf-header-block ul:not(.wp-block-navigation ul) li a:hover {
  color: var(--wp--preset--color--primary, #cfaa64);
}
@media (max-width: 768px) {
  .epf-header-block .epf-header__menu {
    width: 100vw;
    max-width: none;
  }
}
.epf-header-block .wp-block-navigation.is-vertical {
  --navigation-layout-justify: center;
}
/* Editor-only styles */
.editor-styles-wrapper .epf-header__menu-content .wp-block-navigation {
  background: var(--wp--preset--color--background, #222);
  margin-top: 0;
  color: var(--wp--preset--color--text, #fff);
}
.editor-styles-wrapper .epf-header__menu-content .wp-block-navigation *,
.editor-styles-wrapper .epf-header__menu-content .wp-block-navigation ul,
.editor-styles-wrapper .epf-header__menu-content .wp-block-navigation li,
.editor-styles-wrapper .epf-header__menu-content .wp-block-navigation a {
  color: var(--wp--preset--color--text, #fff);
}
.epf-header__menu-content .wp-block-navigation.editor-styles-wrapper,
.epf-header__menu-content .wp-block-navigation.block-editor-block-list__block {
  background: var(--wp--preset--color--background, #010e14);
  margin-top: 0;
  color: var(--wp--preset--color--text, #fff);
}
.epf-header__menu-content .wp-block-navigation.editor-styles-wrapper a,
.epf-header__menu-content .wp-block-navigation.block-editor-block-list__block a {
  color: var(--wp--preset--color--text, #fff);
}

/* 404 Page Styles */
.error404 .wp-block-group[tagName="main"],
.error404 .wp-block-group main,
.error404 main.wp-block-group {
  justify-content: center;
}

/* Center the icon content vertically and horizontally (it renders as an iframe) */
.error404 .wp-block-html {
  max-width: 200px;
}

.error404-icon-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.error404-icon {
  margin: auto;
}

/* === EPF Navigation Block Mobile Styles === */
.epf-header-block .epf-header__nav {
  position: relative;
}

/* Override WordPress navigation responsive behavior */
@media (max-width: 767px) {
  .epf-header-block .epf-header__nav .wp-block-navigation__responsive-container {
    display: none !important; /* Hide WordPress responsive container */
  }

  .epf-header-block .epf-header__nav .wp-block-navigation__responsive-container-open {
    display: none !important; /* Hide WordPress responsive open button */
  }
}

/* Desktop navigation - also slide-out menu (hidden by default) */
@media (min-width: 768px) {
  .epf-header-block .epf-header__nav {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 350px; /* Slightly wider on desktop */
    height: 100vh;
    background: var(--wp--preset--color--background-variant, #010e14);
    z-index: 300;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
    padding-top: 6rem;
    display: block !important;
    visibility: visible !important;
  }

  .epf-header-block .epf-header__nav.is-menu-open {
    transform: translateX(0);
  }

  .epf-header-block .epf-header__menu-btn {
    display: block !important; /* Keep menu button visible on desktop too */
  }

  .epf-header-block .epf-header__nav .wp-block-navigation {
    width: 100%;
    padding: 2rem 1rem;
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul {
    flex-direction: column !important;
    align-items: center !important;
    width: 100%;
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul li {
    width: 100%;
    text-align: center;
    margin-bottom: 1.5rem !important;
    margin-right: 0 !important;
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul li a {
    display: block;
    padding: 1rem;
    font-size: 1.1rem;
    color: var(--wp--preset--color--text, #ffffff);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul li a:hover {
    color: var(--wp--preset--color--primary, #cfaa64);
    background: rgba(207, 170, 100, 0.1);
  }
}

/* Mobile navigation - hidden by default, overlay when open */
@media (max-width: 767px) {
  .epf-header-block .epf-header__nav {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 80vw;
    max-width: 320px;
    height: 100vh;
    background: var(--wp--preset--color--background-variant, #010e14);
    z-index: 300;
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    overflow-y: auto;
    padding-top: 6rem;
    display: block !important; /* Override any display: none from WordPress */
    visibility: visible !important; /* Ensure it's not hidden by WordPress responsive behavior */
  }

  .epf-header-block .epf-header__nav.is-menu-open {
    transform: translateX(0);
  }

  .epf-header-block .epf-header__nav .wp-block-navigation {
    width: 100%;
    padding: 2rem 1rem;
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul {
    flex-direction: column !important;
    align-items: center !important;
    width: 100%;
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul li {
    width: 100%;
    text-align: center;
    margin-bottom: 1.5rem !important;
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul li a {
    display: block;
    padding: 1rem;
    font-size: 1.1rem;
    color: var(--wp--preset--color--text, #ffffff);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .epf-header-block .epf-header__nav .wp-block-navigation ul li a:hover {
    color: var(--wp--preset--color--primary, #cfaa64);
    background: rgba(207, 170, 100, 0.1);
  }
}

/* Desktop menu overlay */
@media (min-width: 768px) {
  .epf-header-block .epf-header__nav.is-menu-open::before {
    content: '';
    position: fixed;
    top: 0;
    left: 350px; /* Match desktop menu width */
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
  }
}

/* Mobile menu overlay */
@media (max-width: 767px) {
  .epf-header-block .epf-header__nav.is-menu-open::before {
    content: '';
    position: fixed;
    top: 0;
    left: 320px;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
  }
}

/* Modern FSE Header Styles */
.home .epf-header-block {
  top: 0;
}

.logged-in.home .epf-header-block {
  top: 2rem;
}

.epf-header-block {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  width: 100%;
  min-height: 5.25rem;
  background: transparent !important; /* Transparent header background */
  z-index: 100;
  backdrop-filter: blur(10px);
  transition: background 0.3s ease;
}

.epf-header-block.scrolled {
  background: rgba(0, 7, 10, 0.95);
  box-shadow: 0 2px 1.25rem rgba(207, 170, 100, 0.15);
}

/* Left section with hamburger and logo */
.epf-header-block .epf-header__left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}

/* Logo styling */
.epf-header-block .epf-header__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.epf-header-block .epf-header__logo .epf-header__site-logo {
  flex-shrink: 0;
}

.epf-header-block .epf-header__logo .epf-header__site-title {
  margin: 0;
}

.epf-header-block .epf-header__logo .epf-header__site-title a {
  text-decoration: none;
  color: var(--wp--preset--color--primary, #cfaa64);
}

.epf-header-block .epf-header__logo .epf-header__site-title a:hover {
  color: var(--wp--preset--color--accent, #0096dc);
}

/* Primary navigation (hamburger menu) */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-open {
  background: transparent;
  border: none;
  color: var(--wp--preset--color--text, #ffffff);
  font-size: 1.5rem;
  padding: 0.5rem;
  cursor: pointer;
  line-height: 1;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-open:hover {
  color: var(--wp--preset--color--primary, #cfaa64);
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-open:focus {
  outline: 2px solid var(--wp--preset--color--primary, #cfaa64);
  outline-offset: 2px;
}

/* Override WordPress Modal Navigation - Force Slide-out Behavior */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 280px !important;
  height: 100vh !important;
  background: var(--wp--preset--color--background, #00070a) !important;
  transform: translateX(-100%) !important;
  transition: transform 0.3s ease !important;
  z-index: 1000 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open {
  transform: translateX(0) !important;
}

/* Create background overlay when menu is open */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open::after {
  content: '';
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.6) !important;
  z-index: -1 !important;
  backdrop-filter: blur(3px) !important;
  animation: fadeIn 0.3s ease !important;
}

/* Override the default dialog/modal structure */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-close {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-dialog {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 2rem !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Close button - Higher z-index and better positioning */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  background: transparent !important;
  border: none !important;
  color: var(--wp--preset--color--primary, #cfaa64) !important;
  font-size: 1.5rem !important;
  padding: 0.75rem !important;
  cursor: pointer !important;
  z-index: 1001 !important;
  width: auto !important;
  height: auto !important;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-close:hover {
  color: var(--wp--preset--color--accent, #0096dc) !important;
  background: rgba(207, 170, 100, 0.1) !important;
  border-radius: 4px !important;
}

/* Mobile overlay menu */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-content {
  background: transparent !important;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 3rem;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
  width: 100%;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item a {
  display: block;
  padding: 0.75rem 0;
  color: var(--wp--preset--color--text, #ffffff);
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.2s ease;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item a:hover {
  color: var(--wp--preset--color--primary, #cfaa64);
}

/* Add background overlay */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container.is-menu-open::before {
  content: '';
  position: fixed;
  top: 0;
  left: 280px;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
  backdrop-filter: blur(2px);
}

/* Add fade-in animation */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Menu container styles */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__container {
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 3rem;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__container .wp-block-navigation-item {
  width: 100%;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__container .wp-block-navigation-item a {
  display: block;
  padding: 0.75rem 0;
  color: var(--wp--preset--color--text, #ffffff);
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.2s ease;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__container .wp-block-navigation-item a:hover {
  color: var(--wp--preset--color--primary, #cfaa64);
}

/* Close button */
.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: transparent;
  border: none;
  color: var(--wp--preset--color--primary, #cfaa64);
  font-size: 1.5rem;
  padding: 0.5rem;
  cursor: pointer;
}

.epf-header-block .epf-header__primary-nav .wp-block-navigation__responsive-container-close:hover {
  color: var(--wp--preset--color--accent, #0096dc);
}

/* Secondary navigation (contact button) - Always visible, no hamburger */
.epf-header-block .epf-header__secondary-nav .wp-block-navigation .wp-block-navigation__responsive-container-open {
  display: none !important;
}

.epf-header-block .epf-header__secondary-nav .wp-block-navigation .wp-block-navigation__container {
  display: flex !important;
  gap: 1rem;
}

/* Secondary navigation items - only add bottom margin if multiple items */
.epf-header-block .epf-header__secondary-nav .wp-block-navigation-item {
  margin-bottom: 0 !important;
}

.epf-header-block .epf-header__secondary-nav .wp-block-navigation-item:not(:last-child) {
  margin-bottom: 1rem !important;
}

.epf-header-block .epf-header__secondary-nav .wp-block-navigation-item a,
.epf-header-block .epf-header__contact-nav .wp-block-navigation-item a {
  color: var(--wp--preset--color--text, #ffffff);
  text-decoration: none;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  transition: all 0.2s ease;
  position: relative;
}

.epf-header-block .epf-header__secondary-nav .wp-block-navigation-item a::after,
.epf-header-block .epf-header__contact-nav .wp-block-navigation-item a::after {
  content: '→';
  display: inline-block;
  margin-left: 0.5rem;
  transition: transform 0.2s ease;
}

.epf-header-block .epf-header__secondary-nav .wp-block-navigation-item a:hover,
.epf-header-block .epf-header__contact-nav .wp-block-navigation-item a:hover {
  color: var(--wp--preset--color--primary, #cfaa64);
  transform: translateY(-1px);
}

.epf-header-block .epf-header__secondary-nav .wp-block-navigation-item a:hover::after,
.epf-header-block .epf-header__contact-nav .wp-block-navigation-item a:hover::after {
  transform: translateX(2px);
}

/* Responsive design */
@media (max-width: 767px) {
  .epf-header-block .epf-header__logo .epf-header__site-title {
    font-size: 1.25rem;
  }

  .epf-header-block .epf-header__secondary-nav .wp-block-navigation-item a {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
  }
}

@media (max-width: 480px) {
  .epf-header-block .epf-header__logo {
    gap: 0.5rem;
  }

  .epf-header-block .epf-header__logo .epf-header__site-title {
    font-size: 1.125rem;
  }
}
