/* ===== PIGEON FORGE CUSTOM HEADER ===== */

/* Hide Astra Header */
#ast-desktop-header,
.ast-mobile-header-wrap,
.ast-main-header-wrap {
    display: none !important;
}

/* Custom Header Styles */
.pf-custom-header {
    position: relative;
    z-index: 999;
}

/* ===== UTILITY NAVIGATION ===== */
.pf-utility-nav {
    background-color: #2e5f7e;
    padding: 0.5rem 0;
}

.pf-utility-nav .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    /* max-width: 1200px; */
    max-width: 1900px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.pf-utility-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 30px;
}

.pf-utility-nav a {
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    /* gap: 4px; */
    transition: opacity 0.3s ease;
}



.pf-utility-nav .icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}


/* custom css for icons utility  */

.pf-utility-nav i {
  margin-right: 8px;
  font-size: 14px;        /* adjust to taste */
  vertical-align: middle;
}

/* If you want icons only (no text) on small screens, you could hide the text with a utility class. */
.pf-utility-nav .sr-only { 
  position: absolute; 
  width: 1px; 
  height: 1px; 
  padding: 0; 
  margin: -1px; 
  overflow: hidden; 
  clip: rect(0,0,0,0); 
  white-space: nowrap; 
  border: 0; 
}


/* ===== MAIN HEADER ===== */
.pf-main-header {
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    border-bottom: 4px solid #0ea5e9;
}

.pf-main-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1900px;
    margin: 0 auto;
    padding: 15px 20px;
    width: 100%;
}

/* Logo */
.pf-logo {
    flex-shrink: 0;
}

.pf-logo img {
    height: 50px;
    width: auto;
}

/* ===== PRIMARY NAVIGATION ===== */
.pf-primary-nav {
    display: flex;
    align-items: center;
    gap: 40px;
}

.pf-primary-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 40px;
}

.pf-primary-nav > ul > li {
    /* Removed position: relative to allow dropdown to position relative to main header */
}

.pf-primary-nav a {
    color: #2e5f7e;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 12px 0;
    transition: color 0.3s ease;
    position: relative;
}

/* Default state — keep spacing consistent */
.pf-primary-nav > ul > li > .mobile-view-menu-item a {
  border-bottom: 3px solid transparent;
  transition: border-color 0.3s ease, color 0.3s ease;
  padding-bottom: 24px;
}

/* Hover state for both normal and dropdown menu items */
.pf-primary-nav > ul > li:hover > .mobile-view-menu-item a,
.pf-primary-nav > ul > li.menu-item-has-children:hover > .mobile-view-menu-item a {
  color: #1a4a66;
  border-bottom: 3px solid #1e6fa8; /* blue bottom border */
}

/* Active/hover indicator */
.pf-primary-nav > ul > li > a::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 5px;
    background-color: #0ea5e9;
    transition: width 0.3s ease;
}

.pf-primary-nav > ul > li:hover > a::after,
.pf-primary-nav > ul > li.current-menu-item > a::after {
    width: 100%;
}

/* Search Icon */
.pf-search-icon {
    color: #0ea5e9;
    font-size: 24px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.pf-search-icon:hover {
    color: #2e5f7e;
}

.pf-mobile-toggle-section {
    display: flex;
    align-items: center;
}

/* ===== DROPDOWN MENU ===== */
.pf-dropdown {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100vw;
    /* background-color: #f8fafc; */
    background-color: #dceaf7;
    /* border-top: 3px solid #0ea5e9; */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.pf-primary-nav > ul > li:hover .pf-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.pf-dropdown-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 60px;
}


.pf-dropdown-column h3 {
    color: #2e5f7e;
    font-size: 16px;
    font-weight: 700;
    text-transform: capitalize;
    /* margin: 0 0 20px 0; */
    /* padding-bottom: 10px; */
    /* border-bottom: 2px solid #0ea5e9; */
}

.pf-dropdown-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pf-dropdown-column li {
    margin-bottom: 12px;
}

.pf-dropdown-column a {
    color: #4a5568;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: color 0.3s ease;
    display: inline-block;
    line-height: 1.35;
    padding: 2px 0 4px 0;
    white-space: normal;
    border-bottom: 2px solid transparent;
    word-break: break-word;
    text-transform: capitalize;
}

.pf-dropdown-column a:hover {
    /* color: #2e5f7e; */
    border-bottom: 2px solid #1e6fa8;
    padding-bottom: 4px;
}

/* Explore More Section */
.pf-explore-more h3 {
    color: #2e5f7e;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #0ea5e9;
}

.pf-explore-tiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.pf-explore-tile {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 1;
    background-color: #2e5f7e;
}

.pf-explore-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pf-explore-tile-content {
    position: relative;
    color: #ffffff;
    padding: .5rem 0;
    text-align: start;
    text-transform: capitalize;
}

.pf-explore-tile h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
}

.pf-explore-tile:hover {
    transform: translateY(-2px);
    transition: transform 0.3s ease;
}

/* ===== MOBILE STYLES ===== */
.pf-mobile-toggle,
.pf-mobile-close {
    display: none;
    background: none;
    border: none;
    color: #2e5f7e;
    font-size: 24px;
    cursor: pointer;
}

@media (max-width: 768px) {
    /* Hide utility nav on mobile */
    .pf-utility-nav {
        display: none;
    }
    
    /* Mobile header adjustments */
    .pf-main-header .container {
        padding: 10px 20px;
    }
    
    .pf-logo img {
        height: 40px;
    }
    
    /* Show mobile toggle and close, hide desktop nav */
    .pf-mobile-toggle,
    .pf-mobile-close {
        display: block;
    }
    
    .pf-primary-nav .ast-menu-toggle {
        display: block;
    }
    
    .pf-primary-nav {
        position: absolute;
        top: 70;
        left: -100%;
        width: 280px;
        height: 100vh;
        background-color: #ffffff;
        /* box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1); */
        transition: left 0.3s ease;
        z-index: 1001;
        padding: 20px;
        overflow-y: auto;
    }
    
    .pf-primary-nav.active {
        left: 0;
    }
    
    .pf-primary-nav ul {
        flex-direction: column;
        gap: 0;
        width: 100%;
        overflow: scroll;
        height: auto;
        position: absolute;
        right: 0px;
        top: 0px;
    }
    
    .pf-primary-nav li {
        width: 100%;
        border-bottom: 1px solid #e2e8f0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: column;
    }
    
    .pf-primary-nav a {
        display: block;
        padding: 0px;
        font-size: 16px;
    }
    
    .pf-primary-nav > ul > li > a::after {
        display: none;
    }
    
    /* Hide search icon on mobile */
    .pf-search-icon {
        display: none;
    }
    
    /* Hide dropdowns on mobile */
    .pf-dropdown {
        display: none !important;
        visibility: hidden !important;
        width: 100%;
        position: relative;
        max-height: 100% !important;
    }
    .menu-item-has-children.active {
        background-color: #dceaf7;
    }
    /* Only show dropdown when parent is active */
    .menu-item-has-children.active > .pf-dropdown {
        display: block !important;
        visibility: visible !important;
    }

    .pf-explore-more {
        display: none;
    }

    /* hide search on mobile */
    /* .pf-search-panel{
        display: none !important;
    } */

    .pf-search-toggle-desktop {
        display: none !important;
    }
    
    /* Mobile overlay */
    .pf-mobile-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* background-color: rgba(0, 0, 0, 0.5); */
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        z-index: 1000;
    }
    
    .pf-mobile-overlay.active {
        opacity: 1;
        visibility: visible;
    }
    .pf-dropdown {
        box-shadow: none;
        top: 0px;
    }
    .pf-dropdown .pf-dropdown-title {
        display: none;
    }
    
    .pf-dropdown {
        transition: none;
    }

    .pf-dropdown .pf-dropdown-close {
        display: none;
    }
    
    /* Mobile close button */
    .pf-mobile-close {
        position: absolute;
        top: 0px;
        right: 0px;
        background: none;
        border: none;
        font-size: 24px;
        color: #2e5f7e;
        cursor: pointer;
    }

    /* search toggle */
    .pf-search-toggle-mobile {
        display: block !important;
    }

    /*  */
    /* pf-dropdown title + close button — mobile only */
    .pf-dropdown-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 0 0 12px;
    font-size: 18px;
    line-height: 1.2;
    }

    /* style the close button */
    .pf-dropdown-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    padding: 6px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    }

    .pf-primary-nav > ul > li:hover > .mobile-view-menu-item a,
    .pf-primary-nav > ul > li.menu-item-has-children:hover > .mobile-view-menu-item a {
    border-bottom: none;
    }

    /* Default state — keep spacing consistent */
    .pf-primary-nav > ul > li > .mobile-view-menu-item a {
        border-bottom:none;
        padding-bottom: 0px;
        /* transition: border-color 0.3s ease, color 0.3s ease;
        padding-bottom: 6px; */
    }


    .pf-dropdown-container {
        padding: 0px 16px !important;
    }
    .pf-search-toggle {
        padding: 0px 15px !important;
    }
}

@media (max-width: 480px) {
    .pf-main-header .container {
        padding: 8px 15px;
        display: grid;
        grid-template-columns: auto 1fr auto;
    }
    
    .pf-primary-nav {
        width: 100%;
        /* height: 90%; */
        top: 68px;
        left: -100%;
    }
}


/* pf dropdown fix */
/* Container spacing + grid (left flexible + right fixed) */
.pf-dropdown-container {
  display: grid;
  grid-template-columns: 1fr 340px;
  grid-template-rows: auto 1fr;
  gap: 0 40px;
  padding: 40px 20px 60px 20px;
  align-items: start;
  box-sizing: border-box;
}

/* Left title: left-column only, underline */
.pf-dropdown-title {
  grid-column: 1 / 2;
  margin: 0 0 12px;
  padding: 0 6px 8px 0;
  font-size: 18px;
  font-weight: 700;
  color: #0b3b55;
  text-transform: uppercase;
  border-bottom: 4px solid #1e6fa8;
  box-sizing: border-box;
}

/* Left options area: grid of columns (3 across), pinned to top */
/* .pf-dropdown-nav {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 5px;
  padding: 0;              
  align-content: start;     
  box-sizing: border-box;
  align-items: start;
}

.pf-dropdown-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0px; 
} */
 .pf-dropdown-nav {
  column-count: 3;          /* number of columns */
  column-gap: 40px;
  /* small reset so children behave well inside columns */
  display: block;
  width: 100%;
  box-sizing: border-box;
}

/* Column items */
/* .pf-dropdown-column { margin:0; padding:0; box-sizing:border-box; } */
.pf-dropdown-nav .pf-dropdown-column {
  display: inline-block;    /* required for column layout */
  width: 100%;
  break-inside: avoid;
  margin: 0;        /* consistent small gap between items inside a column */
  box-sizing: border-box;
}
.pf-dropdown-column h3 { margin:0; font-size:16px; font-weight:700; color:#0b3b55; }
.pf-dropdown-column ul { margin:0; padding:0; list-style:none; }
.pf-dropdown-column ul li { margin:8px 0; font-size:14px; color:#0b3b55; }

/* Explore: span both grid rows so header lines up with left title */
.pf-explore-more {
  grid-column: 2 / 3;
  grid-row: 1 / 3;    /* key: span title + content rows */
  padding: 0;
  align-self: start;
  box-sizing: border-box;
}
.pf-explore-more h3 {
  margin: 0 0 12px;
  padding: 0 6px 8px 0;
  font-size:18px;
  font-weight:700;
  color:#0b3b55;
  text-transform:uppercase;
  border-bottom:4px solid #1e6fa8;
  text-align:start;
  box-sizing:border-box;
}

/* Explore tiles: two across */
.pf-explore-tiles { display:grid; grid-template-columns:1fr 1fr; gap:1.25em; margin-top:18px; }
.pf-explore-tile { height:120px; border-radius:0px; overflow:visible; width: 100%; }

/* Responsive: collapse to single column on small screens */
@media (max-width:900px) {
  .pf-dropdown-container { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; padding:16px; gap:0; }
  .pf-dropdown-title { grid-column:1 / -1; border-bottom-width:3px; padding-right:0; }
  .pf-dropdown-nav { column-count: 1; grid-column:1 / -1; grid-template-columns:1fr; column-gap:0; row-gap:12px; padding:10px 0 0; }
  .pf-explore-more { grid-column:1 / -1; grid-row:auto; padding-top:12px; }
  .pf-explore-tiles { grid-template-columns:1fr; }
  .pf-explore-tile { height:140px; }
}


/* hide close button on desktop, show only on mobile */
@media (min-width: 981px) {
  .pf-dropdown-close { display: none; }
}

/* ensure the dropdown is collapsible on mobile (if you already have rules, this won't hurt) */
@media (max-width: 980px) {
  .pf-dropdown { display:block; max-height:0; overflow:hidden; transition: max-height .28s ease, opacity .18s; opacity:0; visibility:hidden; }
  .pf-dropdown.open, .pf-dropdown.active { max-height: 2000px; opacity:1; visibility:visible; }
}

/* pf search */

/* --- pf search styles --- */
.pf-search-wrap { position: relative; display: inline-block; }

/* panel hidden by default */
.pf-search-panel {
  position: absolute;
  right: 0;
  /* top: calc(100% + 8px); */
  top: 10px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  padding: 10px;
  width: 320px;
  z-index: 1200;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  visibility: hidden;
}

.pf-search-toggle {
    background:none;
    /* padding:0px; */
    padding-top: 10px;
    color: #000;
}
.pf-search-toggle:hover {
    background: none;
    color: #000;
}
.pf-search-toggle svg{
    height: 25px;
    width: 25px;
}
.pf-search-toggle-mobile {
    display: none;
}

/* visible state */
.pf-search-panel.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

/* form layout */
.pf-search-form { display: flex; gap: 8px; align-items: center; }
.pf-search-form input[type="search"] {
  flex: 1;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}
.pf-search-submit {
  padding: 8px 10px;
  border: 0;
  background: #222;
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.pf-search-close {
  border: 0;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  margin-left: 4px;
  padding: 8px 10px;
  color: #fff;
}

/* responsive: full width on small screens */
@media (max-width: 480px) {
  .pf-search-panel {
    position: fixed;
    left: 10px;
    right: 10px;
    top: 8%;
    width: auto;
    padding: 12px;
  }
}

/* Desktop: Hide mobile elements */
@media (min-width: 768px) {
    .mobile-view-menu-item .ast-menu-toggle {
        display: none;
    }
    
    .mobile-view-menu-item {
        display: block;
    }
}

/* Mobile: Show mobile elements and style them */
@media (max-width: 767px) {
    .mobile-view-menu-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
        width: 100%;
    }

    .mobile-view-menu-item a {
        flex: 1;
    }

    .mobile-view-menu-item .ast-menu-toggle {
        background: none;
        border: none;
        padding: 5px 10px;
        cursor: pointer;
    }
 
   .pf-dropdown-nav .pf-dropdown-column {
    margin: 8px 0px;
   }

   .utility-menu-item a i {
    display: none;
   }
   .utility-menu-item {
    display: flex;
    justify-content: space-between;
    align-items: start !important;
    padding: 15px;
    width: 100%;
   }
}


.pf-mobile-toggle {
    background-color: #fff !important;
    color: #2e5f7e !important;
}