/*
 Theme Name:   Water Directory Child 2 
 Theme URI:    https://waterdirectory.net
 Description:  Water Directory Child 2
 Author:       Water
 Author URI:   https://waterdirectory.net
 Template:     generatepress
 Version:      1.0.0
*/
 
/* @import url("../generatepress/style.min.css"); */


/* Cosmic Code section Ranjith - Start */

/* ACF InfoCard Styling - Enhanced Shadow */
.acf-infocard {
    background: #ffffff;
    border: 1px solid #e1e4e8;
    border-radius: 12px;
    padding: 24px;
    margin: 20px 0;
    
    /* Increased the vertical drop (10px) and spread (20px) */
    /* Lowered opacity slightly (0.12) to keep it soft but deep */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
    
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease;
    font-family: inherit;
    line-height: 1.8;
}

/* Optional: Make it "pop" even more when you hover over it */
.acf-infocard:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.18);
}


/* Ensure the title inside the card looks good */
.acf-infocard h3.infocard-title {
    margin-top: 0;
    color: #333;
    font-size: 1.25rem;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

/* Content Area */
.infocard-content {
    color:  #191a1c;
    font-size: 1rem;
}

/* Styling for labels (strong tags) */
.infocard-content strong {
    color: #2d3748;
    font-weight: 600;
    display: inline-block;
    min-width: 80px; /* Aligns labels slightly for a cleaner look */
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .acf-infocard {
        padding: 16px;
    }
}

/* If the text inside your WYSIWYG looks too crowded, add this to your CSS file: */
.cosmic-wysiwyg-content p {
    margin-bottom: 1.5em;
}
.cosmic-wysiwyg-content ul {
    margin-left: 20px;
    margin-bottom: 1.5em;
}


/* Taxonomy Grid (Flat) */
/* Container for Flat Taxonomies */
.cosmic-terms-flat {
    display: grid;
    gap: 10px;
}

/* Logic for columns */
.cosmic-grid-2-col {
    grid-template-columns: repeat(2, 1fr);
}

.cosmic-grid-1-col {
    grid-template-columns: 1fr;
}

/* Item Styling */
.cosmic-terms-flat .term-item a {
    display: block;
    background: #f8fafc;
    padding: 10px 15px;
    border-radius: 6px;
    text-decoration: none;
    color: #3182ce;
    border: 1px solid #edf2f7;
    font-size: 0.95rem;
}

.cosmic-terms-flat .term-item a:hover {
    background: #ebf8ff;
    border-color: #bee3f8;
}

/* Hierarchical List Styling */
.cosmic-terms-hierarchical ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

.cosmic-terms-hierarchical ul ul {
    padding-left: 20px;
    margin-top: 5px;
    border-left: 1px dashed #cbd5e0;
}

.cosmic-terms-hierarchical li {
    margin-bottom: 8px;
    position: relative;
}

.cosmic-terms-hierarchical li a {
    text-decoration: none;
    color: #2d3748;
    font-weight: 500;
}

.cosmic-terms-hierarchical li a:hover {
    color: #3182ce;
}

/* Added for bullet points - Start */
/* Level 1: First Parent - No bullets */
.cosmic-terms-hierarchical > ul,
.cosmic-hierarchy-grid > .hierarchy-root-box > ul {
    list-style-type: none !important;
    padding-left: 0 !important;
}

/* Level 2: First Child - Diamond */
.cosmic-terms-hierarchical ul ul,
.hierarchy-level {
    list-style-type: ivory !important; /* Fallback */
    list-style-type: "◆ " !important;   /* Diamond symbol */
    color: #3182ce;                   /* Theme Blue */
    padding-left: 20px !important;
}

/* Level 3: Second Child - Disc */
.cosmic-terms-hierarchical ul ul ul,
.hierarchy-level .hierarchy-level {
    list-style-type: disc !important;
    color: #4a5568;                   /* Slightly darker gray */
    padding-left: 25px !important;
}

/* Level 4: Third Child - Star */
.cosmic-terms-hierarchical ul ul ul ul,
.hierarchy-level .hierarchy-level .hierarchy-level {
    list-style-type: "★ " !important;  /* Star symbol */
    color: #ecc94b;                   /* Gold/Star color */
    padding-left: 25px !important;
}

/* Ensure text color remains readable regardless of bullet color */
.cosmic-terms-hierarchical li a,
.term-link {
    color: #4a5568 !important;
    font-weight: 500;
}

/* Added for bullet points - End */

/* Mobile Fallback */
@media (max-width: 600px) {
    .cosmic-grid-2-col {
        grid-template-columns: 1fr;
    }
}

/* Cosmic code section Ranjith - End */

/* ACF CPT Customization - Ranjith Start */

.single-water_equipment .entry-title {
    text-align: center;
    margin-top: 0px;
    margin-bottom: 0px;
}

/* Target the featured image in your custom post type */

.separate-containers .inside-article>.featured-image {
    margin-top: 0;
    margin-bottom: 1em !important;
}

.single-water_equipment .wp-post-image {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 150px;
    height: auto; /* Maintains aspect ratio */
}

 .entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child)
 {
    margin-top: 1em;
}

/* Center alignment for the auto-injected excerpt */
.entry-excerpt {
    line-height: 1.6;
    font-size: 1rem;
}

/* Adjusting the H2 subtitle margin */
.entry-subtitle {
    font-weight: 600;
    letter-spacing: -0.02em;
}


/* TOC Styles */

.cosmic-toc-wrapper {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
    max-width: 400px;
}

.toc-header {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.1rem;
    color: #2d3748;
}

.toc-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.toc-list li {
    margin-bottom: 8px;
    padding-left: 15px;
    position: relative;
}

.toc-list li::before {
    content: "\2022"; /* Unicode for a solid bullet point (•) */
    position: absolute;
    left: 0;
    color: #3182ce;
    font-weight: bold;
}

.toc-list a {
    text-decoration: none;
    color: #4a5568;
    transition: color 0.2s;
}

.toc-list a:hover {
    color: #3182ce;
    text-decoration: underline;
}

/* Enable Smooth Scrolling for the whole page */
html {
    scroll-behavior: smooth;
}

/* Offset for Fixed Headers */
/* If your GeneratePress header is "sticky", the scroll might go too far. 
   This ensures the H3 title doesn't get hidden under the header. */
.infocard-title {
    scroll-margin-top: 100px; /* Adjust this value to match your header height */
}

/* Highlight the card when it is the active anchor target */
.acf-infocard:target {
    border-color: #3182ce;
    box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.2);
    outline: none;
}

/* ACF CPT Customization - Ranjith End */

body {
    color: #000000;
}
.tagged_as {display:none;}


hr { background-color: rgba(0,0,0,.1); border: 1px solid grey; height: 1px; margin-bottom: 15px !important; margin-top: 15px !important; }

.copyright-bar {display:none;}
.inside-article {border-radius:16px; margin:8px;
}
.widget {
    border-radius:10px; margin:0px;
}
.separate-containers .widget {
margin-bottom:20px;
margin-left:8px;
margin-right:8px;
}
p {
    margin-bottom: 1.1em;
	line-height:1.8;
}
h2 {font-size:22px;}
.widget-area .widget {padding:20px;}

.main-navigation, .main-navigation ul ul {
	background-color:#008C77 !important;
	color:#fff;
}
.main-title a, .main-title a:hover, .main-title a:visited {
	color:#990000;
}
.main-title {
    font-weight: 700;
    text-transform: none;
    font-size: 28px;
}
.site-header { background:rgba(256,256,256,0.7) !important; 
/* background:#130ef5; */
}
.site-info {
    color: #ffffff;
	background-color:#192880 !important;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: #ffffff;
    background-color: #00A68D !important;
}

h1 { font-size:28px; font-weight:500;}

.display-posts-listing.grid {
	display: grid;
	grid-gap: 16px;
}

.display-posts-listing.grid .title {
	display: block;
}
.listing-item {border: 1px solid #eee; padding: 10px; margin-bottom:9px; 
box-shadow: 0 0 5px #000; }

.display-posts-listing.grid img { 
	display: block; 
	max-width: 100%; 
	height: auto; 
}


@media (min-width: 600px) {
	.display-posts-listing.grid { grid-template-columns: repeat( 2, 1fr );
	}
}

@media (min-width: 1024px) {
	.display-posts-listing.grid {
		grid-template-columns: repeat(3,1fr);
	}
}
/* DISPLAY POST SHORTCODE NEW CODE - END */

.read-more{font-weight:bold;}

.footer-widgets {
    padding: 10px;
}
.widget-title {
    margin-bottom: 10px;
    line-height: 1.5;
}

#related-listing { padding:10px; border-radius:7px;}

blockquote {
    font-size: 1.1em;
	background:#deedfd;
}


.footer-widgets {
    background-color: #E6E6FA;
}

.main-navigation .main-nav ul li a {
    padding-left: 14px;
    padding-right: 14px;
    line-height: 42px;
} 

/* Ensure the grid items are equal height */
/* .display-posts-listing.grid .listing-item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 8px; 
    transition: transform 0.2s ease-in-out;
} */

/* Ensure the grid items have the white background */
.display-posts-listing.grid .listing-item,
div.listing-item {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 20px; /* Added padding so text doesn't touch the edges */
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.65); /* Optional: adds depth */
    transition: transform 0.2s ease-in-out;
    margin-bottom: 20px; /* Space between items if they stack */
}

.display-posts-listing.grid .listing-item:hover {
    transform: translateY(-5px); /* Lift effect on hover */
}

/* Push the "Read More" link to the bottom */
.display-posts-listing.grid .excerpt-more {
    margin-top: auto;
    padding-top: 15px;
    display: block;
    font-weight: bold;
    color: #1e73be;
}

/* Fix for GeneratePress padding */
.tax-category .site-content, .is-tax .site-content {
    padding: 40px 0;
}

/* Style for the Subtitle in the Grid */
.listing-subtitle {
    display: block;
    font-size: 0.9rem;
    color: #666;
    font-style: italic;
    margin-top: -5px; /* Pull it closer to the title */
    margin-bottom: 10px;
    line-height: 1.2;
}

/* Style for the Location label */
.listing-location {
    margin-bottom: 10px;
    color: #1e73be;
    font-weight: 500;
}

/* Ensure Title stands out */
.display-posts-listing.grid .title {
    font-weight: bold;
    font-size: 1.2rem;
    text-decoration: none;
    margin-bottom: 8px;
    display: block;
} 

.excerpt-dash {display:none;}

.page-header {
    text-align: center; /* Matches your centered subtitle/excerpt theme */
    border-bottom: 2px solid #eee;
    padding-bottom: 20px;
}

.taxonomy-description {
    text-align: left;
    display: inline-block; /* Allows the box to stay centered while text is left-aligned */
    max-width: 800px;      /* Keeps the paragraph readable */
    margin: 10px auto 0;   /* Centers the block itself, but the text inside is left */
    padding-top:15px;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #444;
}


/* Ensure the "Read More" button is clean without the dash */
.excerpt-more {
    display: inline-block;
    margin-top: 10px;
    font-weight: bold;
    text-decoration: underline;
}

/* Reduce the height/padding of the Archive Header */
.page-header {
    padding-top: 20px !important;    /* Default is often 40-60px */
    padding-bottom: 10px !important; /* Tightens space before the grid */
    margin-bottom: 20px !important;  /* Space between title and first card */
    min-height: auto !important;     /* Ensures no forced height */
}

/* Ensure the Title itself doesn't have a huge top margin */
.page-header .page-title {
    margin-top: 0;
    margin-bottom: 5px;
    line-height: 1.2;
}

/* If you have a description, keep it tight */
.taxonomy-description {
    margin-top: 0;
    margin-bottom: 0;
} 

/* Styling for History and Revision logs */
#verification_history .cosmic-wysiwyg-content,
#revision_history .cosmic-wysiwyg-content {
    border-left: 4px solid #ccd0d4;
    padding-left: 20px;
    background-color: #f9f9f9;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Ensure lists inside these boxes look neat */
.cosmic-wysiwyg-content ul {
    margin-top: 10px;
    margin-bottom: 10px;
}

.cosmic-wysiwyg-content li {
    margin-bottom: 5px;
    font-size: 0.95rem;
}

/* Table Layout and Responsiveness */
.cosmic-table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
}

.cosmic-table-responsive table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.cosmic-table-responsive th {
    background-color: #f9f9f9;
    padding: 12px;
    text-align: left;
    border-bottom: 2px solid #1e73be;
}

.cosmic-table-responsive td {
    padding: 12px;
    border-bottom: 1px solid #eee;
}

/* Video Container for 16:9 Aspect Ratio */
.cosmic-video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.cosmic-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} 

/* Styling Interactive Links in Infocards */
.cosmic-wysiwyg-content a, 
.infocard-content a {
    color: #1e73be; /* Your primary blue */
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
}

.cosmic-wysiwyg-content a:hover, 
.infocard-content a:hover {
    color: #000; /* Darker on hover */
    border-bottom: 1px solid #1e73be;
    background-color: rgba(30, 115, 190, 0.05); /* Very light blue highlight */
    border-radius: 2px;
}

/* Specific styling for 'Action' links (Phone, Email, Web) */
a[href^="tel:"], 
a[href^="mailto:"],
a[target="_blank"] {
    font-weight: 500;
}

/* Optional: Add a subtle call icon before phone links automatically */
a[href^="tel:"]::before {
    content: "\1F4DE\0020"; /* Unicode for Telephone emoji followed by a space */
    font-size: 0.8em;
    filter: grayscale(100%);
}

.discovery-section-bottom {
    background: #ffffff;
    padding: 40px;
    border-top: 1px solid #eee;
    margin-top: 50px;
    width: 100%;
    border-radius:15px;
}

/* "Glossary" or "Brand Index" of Taxonomy Terms - Taxonomy Terms list in Alphabetic Order with shortcode - START */

/* Navigation Bar Styling */
.tax-nav-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 30px;
    padding: 15px;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    justify-content: center;
}

.nav-letter {
    display: inline-block;
    padding: 6px 12px;
    background: #fff;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    text-decoration: none;
    color: #3182ce;
    font-weight: bold;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.nav-letter:hover {
    background: #3182ce;
    color: #fff;
    border-color: #3182ce;
}

/* Search Input */
#tax-search-input {
    width: 100%;
    padding: 14px 20px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 20px;
    font-size: 1.1rem;
}

/* Layout Grid */
.cosmic-alphabetical-directory {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.alpha-group {
    scroll-margin-top: 100px; /* Prevents header hiding under sticky menus */
}

.alpha-header {
    font-size: 1.8rem;
    color: #2d3748;
    border-bottom: 3px solid #3182ce;
    margin-bottom: 15px;
}

.alpha-list {
    list-style: none !important;
    padding: 0 !important;
}

.alpha-list li a {
    text-decoration: none;
    color: #4a5568;
    font-size: 1.05rem;
    line-height: 2;
}

.alpha-list li a:hover {
    color: #3182ce;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .cosmic-alphabetical-directory {
        grid-template-columns: 1fr;
    }
    .tax-nav-bar {
        gap: 5px;
    }
    .nav-letter {
        padding: 4px 8px;
        font-size: 0.8rem;
    }
}

/* "Glossary" or "Brand Index" of Taxonomy Terms - Taxonomy Terms list in Alphabetic Order with shortcode - END */

/* "Glossary" or "Brand Index" of Category model Taxonomy Terms like country or regions - Taxonomy Terms list in hierarchical Order with shortcode - Start */

.cosmic-hierarchy-wrapper { margin-bottom: 40px; }

/* 2-Column Desktop Grid for Root Items */
.cosmic-hierarchy-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.hierarchy-root-box {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.root-header {
    font-size: 1.5rem;
    color: #2d3748;
    border-bottom: 3px solid #3182ce;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.root-header a {
    text-decoration: none;
    color: #2d3748;
    transition: all 0.2s ease;
}

.root-header a:hover {
    color: #3182ce;
    padding-left: 5px; /* Subtle movement on hover */
}

/* Toggle Icons */
.term-row { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }

.toggle-icon {
    cursor: pointer;
    width: 20px;
    height: 20px;
    background: #edf2f7;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-size: 14px;
    font-weight: bold;
    color: #3182ce;
}

.toggle-icon:hover { background: #3182ce; color: #fff; }
.toggle-spacer { width: 20px; }

/* Indentation Lines */
.hierarchy-level {
    list-style: none !important;
    padding-left: 20px !important;
    border-left: 1px solid #edf2f7;
    margin: 5px 0 5px 10px !important;
}

.term-link {
    text-decoration: none;
    color: #4a5568;
    font-weight: 500;
}

.term-link:hover { color: #3182ce; }

/* Nav Bar */
.tax-nav-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    justify-content: center;
}

.nav-node {
    padding: 5px 15px;
    background: #fff;
    border: 1px solid #cbd5e0;
    border-radius: 20px;
    font-size: 0.9rem;
    color: #4a5568;
    text-decoration: none;
}

.nav-node:hover { background: #3182ce; color: #fff; }

@media (max-width: 900px) {
    .cosmic-hierarchy-grid { grid-template-columns: 1fr; }
}
/* "Glossary" or "Brand Index" of Category model Taxonomy Terms like country or regions - Taxonomy Terms list in hierarchical Order with shortcode - End */ 

/* --- ENHANCED GRID ALIGNMENT --- */
/* This ensures cards are equal height and responsive */

.display-posts-listing.grid .listing-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100%; 
    justify-content: space-between; 
    margin-bottom: 0 !important; /* Spacing is handled by grid gap */
}

.display-posts-listing.grid .excerpt {
    flex-grow: 1; /* Pushes the 'Read More' link to the bottom */
}

/* Responsive Scaling for the Grid */
@media (max-width: 1023px) {
    .display-posts-listing.grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .display-posts-listing.grid {
        grid-template-columns: 1fr !important;
    }
}
/* --- END ENHANCED GRID --- */ 

/* Advanced Search Shortcode - Start */ 

.advanced-search-container {
    background: #ffffff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border: 1px solid #e2e8f0;
    max-width: 900px;
    margin: 40px auto;
}

.adv-search-form .search-field {
    margin-bottom: 20px;
}

.adv-search-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2d3748;
}

.adv-search-form input {
    width: 100%;
    padding: 12px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    font-size: 1rem;
}

.filter-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.search-submit-btn {
    width: 100%;
    background: #008C77; /* Matches your navigation color */
    color: white;
    padding: 15px;
    border: none;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}

.search-submit-btn:hover {
    background: #007563;
}

@media (max-width: 600px) {
    .filter-grid { grid-template-columns: 1fr; }
}

/* Advanced Search Shortcode - End */ 

/* Test 1 for Geneal search Result - start*/
.search-grid-container {
    display: grid;
    gap: 20px; /* Space between cards */
    margin-top: 30px;
}

/* 2 Columns for Tablets (above 768px) */
@media (min-width: 768px) {
    .search-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 3 Columns for Desktop (above 1024px) */
@media (min-width: 1024px) {
    .search-grid-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Adjusting the Card Internal Layout for Grid */
.custom-search-card {
    display: flex;
    flex-direction: column; /* Stack Title -> Image/Text -> Button vertically */
    height: 100%; /* Makes all cards in a row equal height */
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 20px;
}

/* Force the Image and Excerpt to stack inside the narrow grid card */
.card-content-wrapper {
    display: block; /* Overriding previous flex-row for narrow columns */
    margin-bottom: 15px;
    flex-grow: 1; /* Pushes the 'Read More' button to the bottom */
}

.search-card-image img {
    width: 100%;
    height: 180px; /* Fixed height for visual consistency in grid */
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 15px;
}

.entry-footer {
    margin-top: auto; /* Aligns button to bottom of card */
}