/* ============================================= */
/* Page Title Area                             */
/* ============================================= */

.page-title-wrap {
  margin: 2rem 0;
	margin:20px auto;
  text-align: center;
	max-width:1250px;
  width:calc(100% - 40px);
}


.page-title-wrap h2 {
  margin: 0;
  font-size: 2rem;
  color: #333;
}

@media (max-width:768px){
  .page-title-wrap{width:calc(100% - 20px);margin:10px auto;}
}


/* ============================================= */
/* State List Grid                             */
/* ============================================= */
/* State List Grid */
.state-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  max-width: 800px;
  margin: 0 auto 3rem;
  padding: 0 1rem;
  list-style: none;
}
.state-list li a {
  display: block;
  background-color: #29b365;
  padding: 0.75rem;
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  color: #ffff;
  transition: background-color 0.3s ease;
}
.state-list li a:hover {
  background-color: #1f894d;
}
@media (max-width: 768px) {
  .state-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .state-list {
    grid-template-columns: 1fr;
  }
}


/* ============================================= */
/* Search Bar (State/Taxonomy Pages)            */
/* ============================================= */
/* Search Bar */

.search-bar-wrap {
  max-width: 800px;
  margin: 0 auto 2rem; /* center it, with bottom margin for spacing */
  padding: 0 1rem;      /* same side padding as the grid */
}
.search-bar-wrap input {
  width: 100%;
  padding: 0.75rem;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}


/* ============================================= */
/* Dump Station List Container                 */
/* ============================================= */

.dump-station-list {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1rem;
}


/* ============================================= */
/* Dump Station Card                           */
/* ============================================= */
/* Dump Station Card */
.dump-station-card {
  max-width: 1250px;
  margin: 20px auto;
  /* remove the width here */
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* 2) Re‑apply the calc() width only on the taxonomy archive */
body.taxonomy-rv-dump-stations .dump-station-card {
  width: calc(100% - 40px);
}

/* 3) Mobile for the archive */
@media (max-width: 768px) {
  body.taxonomy-rv-dump-stations .dump-station-card {
    width: calc(100% - 20px);
    margin: 10px auto;
    padding: 1.25rem;
  }
}

/* 4) Ensure single‑post cards fill their wrapper */
body.single-rv-dump-station .dump-station-card {
  /* give 40px total horizontal padding (20px each side) */
  width: calc(100% - 40px);
  margin: 20px auto;
}

/* 5) Mobile for single posts (if needed) */
@media (max-width: 768px) {
  body.single-rv-dump-station .dump-station-card {
    width: calc(100% - 20px);
    margin: 10px auto;
    padding: 1.25rem; /* keep your existing mobile padding */
  }
}



/* ============================================= */
/* Dump Station Card Components                */
/* ============================================= */
/* Title */
.dump-station-title {
  font-size: 1.75rem;
  font-weight: bold;
  margin: 0 0 0.5rem;
  color: #333;
}
@media (max-width: 768px) {
  .dump-station-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 480px) {
  .dump-station-title {
    font-size: 1.3rem;
  }
}

/* Subheader: Address & Phone */
.dump-station-subheader p {
  margin: 0;
  font-size: 1rem;
  color: #555;
  display: flex;
  align-items: center;
}
.dump-station-subheader .icon {
  margin-right: 0.5rem;
  display: inline-flex;
  vertical-align: middle;
}
.dump-station-subheader p + p {
  margin-top: 0.25rem;
}
@media (max-width: 768px) {
  .dump-station-subheader p {
    font-size: 0.95rem;
  }
}

/* Description */
.dump-station-description {
  margin: 1rem 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #333;
}
@media (max-width: 768px) {
  .dump-station-description {
    font-size: 0.95rem;
  }
}

/* Hours Grid */
.dump-station-hours {
  margin-bottom: 1rem;
}
.hours-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
.day-item {
  background-color: #F5F5F5;
  border-radius: 4px;
  padding: 0.5rem;
  text-align: center;
  font-size: 0.9rem;
  color: #333;
}
@media (max-width: 768px) {
  .dump-station-hours {
    font-size: 0.95rem;
  }
  .hours-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .hours-grid {
    grid-template-columns: 1fr;
  }
}

/* Meta: Cost & Category */
.dump-station-meta {
  margin-bottom: 1rem;
  font-size: 1rem;
  color: #333;
}
.dump-station-meta span {
  margin-right: 2rem;
}
.cost-field,
.category-field {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.cost-field .icon,
.category-field .icon {
  margin-right: 0.25rem;
  display: inline-flex;
  vertical-align: middle;
}
.cost-field .cost-amount,
.category-field .category-value {
  margin-left: 0.25rem;
}
@media (max-width: 768px) {
  .dump-station-meta {
    font-size: 0.95rem;
  }
}
@media (max-width: 480px) {
  .dump-station-meta span {
    display: block;
    margin-right: 0;
    margin-bottom: 0.5rem;
  }
}

/* Amenities */
.dump-station-amenities ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
}
.amenity-item {
  display: flex;
  align-items: center;
  background-color: #EFEFEF;
  border-radius: 4px;
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
  color: #333;
}
.amenity-icon {
  display: inline-flex;
  margin-right: 0.5rem;
}
.amenity-icon svg {
  width: 20px;
  height: 20px;
}
@media (max-width: 768px) {
  .amenity-item {
    font-size: 0.85rem;
  }
}

/* Actions: Buttons (Get Directions, Read Reviews, Add Review) */
.dump-station-actions {
  margin-bottom: 1rem;
}
.dump-station-actions a {
  display: inline-block;
  margin: .25rem .25rem .25rem 0;
  padding: .65rem 1.4rem;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .25s;
  font-size: .9rem;
}
.dump-station-actions .get-directions,
.dump-station-actions .read-reviews,
.dump-station-actions .add-review {
  background: #29b365;
  color: #fff;
}
.dump-station-actions .get-directions:hover,
.dump-station-actions .read-reviews:hover,
.dump-station-actions .add-review:hover {
  background: #1f894d;
  color: #fff;
}
@media (max-width: 480px) {
  .dump-station-actions a {
    display: block;
    width: 100%;
    text-align: center;
    margin: .35rem 0;
  }
}

/* Website Text & Note */
.dump-station-website-text {
  margin: 0;
  font-size: 0.7rem;
  color: #333;
  word-wrap: break-word;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.dump-station-website-text .icon.globe-icon svg {
  width: 1.2rem;
  height: 1.2rem;
}
.dump-station-website-note {
  margin: 0.5rem 0 0;
  font-size: 0.7rem;
  color: #666;
}


.dump-station-website-text .icon {
 
  line-height: 0; 

}


/* ============================================= */
/* Review Card (single-rv_dump_station.php)    */
/* ============================================= */

/* single-rv_dump_station.php */
.review-card{
  max-width:1250px;
  width:100%; /* Note: Original had 100%, changed from calc(100% - 40px) in dump-station-card */
  margin:0 auto; /* Note: Original had 0 auto, changed from 20px auto */
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:8px;
  padding:1.5rem;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
@media (max-width:768px){
  .review-card{padding:1.25rem;}
}


/* ============================================= */
/* Reviews Section (single-rv_dump_station.php)*/
/* ============================================= */

/* single-rv_dump_station.php */
.dump-station-reviews{
  max-width:1250px;
  width:calc(100% - 40px);
  margin:40px auto;
}
@media (max-width:768px){
  .dump-station-reviews{width:calc(100% - 20px);}
}
.dump-station-reviews h3{
  font-size:1.5rem;
  margin:0 0 1.25rem;
  color:#333;
}
.dump-station-reviews .glsr-summary-wrap{
  border-bottom:1px solid #e0e0e0;
  padding-bottom:1rem;
  margin-bottom:4rem;
}
.dump-station-reviews .glsr-reviews{ /* Note: Original had glsr-reviews after glsr-review-author */
  border-bottom:1px solid #e0e0e0;
  padding-bottom:1rem;
  margin-bottom:4rem;
}
.dump-station-reviews .glsr-review{
  border-bottom:1px solid #e0e0e0;
  padding-bottom:1rem;
}
.dump-station-reviews .glsr-review:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.dump-station-reviews .glsr-review-author{
  font-weight:700;
}
.dump-station-reviews .glsr-review-author::before{
  content:'— ';
  margin-right:.25rem;
}
.dump-station-reviews .glsr-form .glsr-button{
  background:#29b365!important;
  border-color:#29b365!important;
}
.dump-station-reviews .glsr-form .glsr-button:hover,
.dump-station-reviews .glsr-form .glsr-button:focus{
  background:#1f894d!important;
  border-color:#1f894d!important;
}


/* ============================================= */
/* Similar Searches (single-rv_dump_station.php)*/
/* ============================================= */

/* single-rv_dump_station.php */
#similar-searches{
  max-width:1250px;
  width:calc(100% - 40px);
  margin:3rem auto 2rem;
}
@media (max-width:768px){
  #similar-searches{width:calc(100% - 20px);}
}
#similar-searches h3{font-size:1.25rem;margin:0 0 1rem;color:#333;}
#similar-searches h3 a{color:inherit;text-decoration:none;}
#similar-searches h3 a:hover{text-decoration:underline;}
#similar-searches ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .75rem;}
#similar-searches li a{
  display:inline-block;
  background:#29b365;color:#fff;
  padding:.4rem .9rem;
  border-radius:9999px;
  font-size:.9rem;font-weight:500;
  text-decoration:none;transition:background .25s;
}
#similar-searches li a:hover{background:#1f894d;}


/* ============================================= */
/* WordPress Block Specific Styles             */
/* ============================================= */

.wp-block-navigation__responsive-container .wp-block-navigation-item__label {
    font-family: 'Roboto Condensed', sans-serif;
    margin-left: 20px;
    font-size: 22px;
    font-weight: 500;
}


/* ============================================= */
/* Explore-State & Other-City blocks             */
/* (taxonomy-rv-dump-stations.php  &  single-rv- */
/* dump-station.php)                             */
/* ============================================= */
#state-explore-searches,
#other-city-stations{
  max-width:1250px;
  width:calc(100% - 40px);
  margin:3rem auto 2rem;
}
@media (max-width:768px){
  #state-explore-searches,
  #other-city-stations{width:calc(100% - 20px);}
}
#state-explore-searches h3,
#other-city-stations h3{font-size:1.25rem;margin:0 0 1rem;color:#333;}
#state-explore-searches h3 a,
#other-city-stations h3 a{color:inherit;text-decoration:none;}
#state-explore-searches h3 a:hover,
#other-city-stations h3 a:hover{text-decoration:underline;}
#state-explore-searches ul,
#other-city-stations ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .75rem;}
#state-explore-searches li a,
#other-city-stations li a{
  display:inline-block;
  background:#29b365;color:#fff;
  padding:.4rem .9rem;
  border-radius:9999px;
  font-size:.9rem;font-weight:500;
  text-decoration:none;transition:background .25s;
}
#state-explore-searches li a:hover,
#other-city-stations li a:hover{background:#1f894d;}




/* ============================================= */
/* End of Reordered CSS                        */
/* ============================================= */


/* ============================================= */
/* Custom Header Styles                        */
/* ============================================= */

/* Sticky Header Functionality */
.sticky-header {
    position: -webkit-sticky; /* For Safari */
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* Ensure it's above other content */
    background-color: #FFFFFF; /* Or your desired header background */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Optional shadow */
}

.custom-site-header .site-header-container {
    max-width: 1200px; /* Or your preferred site width */
    margin: 0 auto;
    padding: 10px 20px; /* Padding inside the header */
    display: flex;
    justify-content: space-between; /* Logo left, Nav right on desktop */
    align-items: center;
}

.custom-site-header .site-branding {
    flex-shrink: 0; /* Prevent logo from shrinking */
}

.custom-site-header .custom-logo-link img.custom-logo-img {
    max-height: 60px; /* IMPORTANT: Adjust logo height if needed */
    width: auto;
    display: block;
}

/* Desktop Navigation */
.custom-main-navigation ul#primary-custom-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex; /* Horizontal layout for desktop */
}

.custom-main-navigation ul#primary-custom-menu li {
    margin-left: 25px; /* Spacing between menu items */
}
.custom-main-navigation ul#primary-custom-menu li:first-child {
    margin-left: 0;
}

.custom-main-navigation ul#primary-custom-menu li a {
    text-decoration: none;
    color: #000000; /* Menu item color */
    font-weight: 700; /* Example font weight */
    font-size: 20px; /* Example font size */
    padding: 5px 0;
    display: block;
    position: relative;
}
.custom-main-navigation ul#primary-custom-menu li a:hover,
.custom-main-navigation ul#primary-custom-menu li.current-menu-item > a,
.custom-main-navigation ul#primary-custom-menu li.current-menu-ancestor > a {
    color: #29b365; /* Hover/active color - CHANGE THIS to match your RVDS branding */
}


/* Mobile/Tablet Header Styles - Links below logo */
@media (max-width: 768px) {
    .custom-site-header .site-header-container {
        flex-direction: column; /* Stack logo and nav vertically */
        padding: 15px 20px;
    }

    .custom-site-header .site-branding {
        margin-bottom: 10px; /* Space between logo and nav */
        text-align: center; /* Center logo on mobile */
    }
    .custom-site-header .custom-logo-link {
        display: inline-block; /* Allow centering */
    }

    .custom-main-navigation {
        width: 100%;
    }

    .custom-main-navigation ul#primary-custom-menu {
        flex-direction: column; /* Stack menu items vertically */
        align-items: center; /* Center menu items */
        width: 100%;
    }

    .custom-main-navigation ul#primary-custom-menu li {
        margin-left: 0;
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #f0f0f0; /* Separator line */
    }
    .custom-main-navigation ul#primary-custom-menu li:last-child {
        border-bottom: none;
    }

    .custom-main-navigation ul#primary-custom-menu li a {
        padding: 12px 10px; /* Larger tap targets */
        font-size: 17px;
    }
}

/* ============================================= */
/* Custom Footer Styles                        */
/* ============================================= */

.custom-site-footer {
    background-color: #29b365; /* ACTION: Change this to your desired footer background color */
    color: #ffffff; /* ACTION: Change this to your desired footer text color */
    padding: 20px 0; /* Vertical padding */
    border-top: 1px solid #e0e0e0;
    font-size: 16px;
}

.custom-site-footer .footer-container {
    max-width: 1140px; /* Match your site width */
    margin: 0 auto;
    padding: 10px 20px;
    text-align: center;
}

/* Footer Navigation Menu */
.footer-main-navigation {
    margin-bottom: 20px; /* Space below the menu */
}

.footer-main-navigation ul#footer-custom-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.footer-main-navigation ul#footer-custom-menu li {
    margin: 5px 15px; /* Spacing around menu items */
}

.footer-main-navigation ul#footer-custom-menu li a {
    text-decoration: none;
    color: #ffffff; /* ACTION: Change this to your desired footer link color */
    font-weight: 600;
}

.footer-main-navigation ul#footer-custom-menu li a:hover {
    color: #ffffff; /* ACTION: Change this to your desired footer link HOVER color */
}

/* Site Info / Copyright */
.site-info {
    margin-top: 20px;
    font-size: 0.9em;
    color: #ffffff; /* ACTION: Change this to your desired copyright text color */
}

.site-info .copyright-text {
    display: block;
    margin-bottom: 5px;
}

/* Responsive adjustments for footer menu */
@media (max-width: 700px) {
    .footer-main-navigation ul#footer-custom-menu {
        flex-direction: column; /* Stack menu items vertically on mobile */
        align-items: center;
    }
    .footer-main-navigation ul#footer-custom-menu li {
        margin: 8px 0; /* Adjust vertical spacing */
        width: 100%;
        text-align: center;
    }
}

/* ============================================= */
/* Sticky Footer Fix & Body Layout             */
/* ============================================= */

html {
    height: 100%; /* Ensure html takes full height */
}

body {
    min-height: 100vh; /* Make body at least full viewport height */
    display: flex;
    flex-direction: column;
    /* padding-top for sticky header should remain if you have it */
}

/* The main content area that should expand */
/* Kadence typically uses #content.site-content */
#content.site-content {
    flex-grow: 1; /* This is the key: allows this element to grow and push the footer down */
}


/* ============================================= */
/* Breadcrumbs Container                         */
/* ============================================= */
.rvds-meta-breadcrumb-container {
    max-width: 1250px; /* Match your content width */
    margin: 1.5rem auto;
    padding: 0 20px;
    text-align: center; /* Center align the breadcrumbs */
}

/* Breadcrumb Navigation Styles */
.rvds-breadcrumbs-nav {
    /* This is the <nav> container */
}

.rvds-breadcrumbs {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}

.rvds-breadcrumbs li {
    display: inline;
    color: #555555;
}

.rvds-breadcrumbs li:not(:last-child)::after {
    content: '>';
    margin: 0 0.6em;
    color: #888;
}

.rvds-breadcrumbs a {
    color: #29b365; /* RVDS green for links */
    text-decoration: none;
}

.rvds-breadcrumbs a:hover {
    text-decoration: underline;
}

.rvds-breadcrumbs li.rvds-breadcrumb-current {
    color: #1f2937; /* Dark gray for current item */
    font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .rvds-meta-breadcrumb-container {
        margin-top: 1rem;
        margin-bottom: 1rem;
        padding: 0 10px;
    }
    .rvds-breadcrumbs {
        font-size: 0.9rem;
    }
}


/* ============================================= */
/* Meta Info & Breadcrumbs Container             */
/* ============================================= */
.rvds-meta-breadcrumb-container {
    max-width: 1250px; /* Match your content width */
    margin: 1.5rem auto;
    padding: 0 20px;
    text-align: center; /* Center align everything inside */
}

.rvds-last-updated {
    margin: 0.25rem 0 0 0; /* Add a little space above the date */
    padding: 0;
    font-size: 0.85rem;
    font-style: italic;
    color: #555555;
}

/* Breadcrumb Navigation Styles */
.rvds-breadcrumbs {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
}

.rvds-breadcrumbs li {
    display: inline;
    color: #555555;
}

.rvds-breadcrumbs li:not(:last-child)::after {
    content: '>';
    margin: 0 0.6em;
    color: #888;
}

.rvds-breadcrumbs a {
    color: #29b365; /* RVDS Green */
    text-decoration: none;
}

.rvds-breadcrumbs a:hover {
    text-decoration: underline;
}

.rvds-breadcrumbs li.rvds-breadcrumb-current {
    color: #1f2937;
    font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .rvds-meta-breadcrumb-container {
        margin-top: 1rem;
        margin-bottom: 1rem;
        padding: 0 10px;
    }
    .rvds-breadcrumbs {
        font-size: 0.85rem;
    }
}


/* ============================================= */
/* State, City, & Station Intro Containers       */
/* ============================================= */

/* Combine selectors to apply same base styles to all description containers */
.rvds-state-description,
.rvds-city-description,
.rvds-station-intro-section {
    background-color: #ecfaf4; /* A light blue, similar to GBF. Can be changed. */
    border: 1px solid #d1d5db; /* A light gray border */
    border-radius: 0.75rem;
    padding: 1.5rem;
    max-width: 1250px; /* Match your main content width */
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem; /* Consistent spacing from content above */
}

/* Combined paragraph styles for all containers */
.rvds-state-description p,
.rvds-city-description p,
.rvds-station-intro-section p {
    color: #000000;
    line-height: 1.7;
    font-size: 17px;
    margin-bottom: 1em;
}

.rvds-state-description p:last-child,
.rvds-city-description p:last-child,
.rvds-station-intro-section p:last-child {
    margin-bottom: 0;
}

/* Combined heading styles if you use headings inside the description */
.rvds-state-description h2,
.rvds-state-description h3,
.rvds-city-description h2,
.rvds-city-description h3,
.rvds-station-intro-section h2,
.rvds-station-intro-section h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1f2937;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

/* --- FUTURE CUSTOMIZATION AREA --- */
/* Use this class to override styles ONLY for the city description page */
.rvds-city-description {
  /* Example: max-width: 960px; */
}

/* Use this class to override styles ONLY for the single station intro section */
.rvds-station-intro-section {
    /* Example: background-color: #f0fff8; /* a very light green */
}