/*
Theme Name: Twenty Seventeen Child
Theme URI: https://wordpress.org/themes/twentyseventeen/
Template: twentyseventeen
Description: Twenty Seventeen Child Theme
Author: Chidi Emeribe
Author URI: https://greengatesoft.com
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: twentyseventeen-child
*/

/* Import parent theme styles - DO NOT DELETE THIS */
@import url("../twentyseventeen/style.css");

/* Add your custom CSS below this line */

/* Custom styles go here */
.site-content-contain {
    background-color: #ffffff;
}

/* Example customizations */
.entry-title {
    color: #222;
}

@media screen and (min-width: 48em) {
    .colors-dark .site-footer,
    .colors-dark .site-footer a {
        color: #999;
    }
}

/* Footer Styles */
.site-footer {
    background-color: #111;       /* Dark background */
    color: #ddd;                  /* Light text */
    text-align: center;           /* Center text */
    padding: 20px 10px;
    font-size: 14px;
    margin-top: 40px;
}

.site-footer p {
    margin: 0;
    color: #aaa;
}

.site-footer p a {
    color: #27ae60;               /* Accent color (green, matches your brand) */
    text-decoration: none;
}

.site-footer p a:hover {
    color: #2ecc71;               /* Slightly brighter green on hover */
}

/* Footer */
.site-footer {
    background-color: #111;
    color: #ddd;
    padding: 40px 20px 20px;
    margin-top: 40px;
    font-size: 14px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Widget area */
.footer-widgets {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 20px;
}

.footer-widget {
    flex: 1 1 250px; /* Responsive columns */
    min-width: 200px;
}

.footer-widget-title {
    font-size: 16px;
    color: #fff;
    margin-bottom: 10px;
    border-bottom: 1px solid #333;
    padding-bottom: 5px;
}

/* Bottom copyright */
.footer-bottom {
    text-align: center;
    border-top: 1px solid #222;
    padding-top: 15px;
    color: #aaa;
}

.footer-bottom a {
    color: #27ae60;
    text-decoration: none;
}

.footer-bottom a:hover {
    color: #2ecc71;
}

/* Two-column layout container */
.entry-content.two-column-layout {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px; /* breathing room between text and image */
}

/* Left (text) column */
.entry-content.two-column-layout .two-column-left {
    flex: 0 0 70%;
    max-width: 70%;
    padding-right: 25px;
    text-align: left;
    line-height: 1.75;         /* more readable */
    font-size: 1.1rem;         /* slightly larger for comfort */
}

/* Right (image/widget) column */
.entry-content.two-column-layout .two-column-right {
    flex: 0 0 30%;
    max-width: 30%;
    text-align: center;
    background: #fafafa;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    box-sizing: border-box;
}

/* Image styling */
.two-column-right img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
}

/* Responsive for tablets */
@media (max-width: 1024px) {
    .entry-content.two-column-layout {
        gap: 25px;
    }
    .entry-content.two-column-layout .two-column-left {
        flex: 0 0 65%;
        max-width: 65%;
    }
    .entry-content.two-column-layout .two-column-right {
        flex: 0 0 35%;
        max-width: 35%;
    }
}

/* Stack on mobile */
@media (max-width: 768px) {
    .entry-content.two-column-layout {
        flex-direction: column !important;
    }
    .entry-content.two-column-layout .two-column-left,
    .entry-content.two-column-layout .two-column-right {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .entry-content.two-column-layout .two-column-right {
        margin-top: 20px;
    }
}

/* Reset the parent theme's narrow layout ONLY on the two-column page */
.page-template-two-column-page .site-content .wrap,
.page-template-two-column-page .site-content,
.page-template-two-column-page .wrap {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Force two-column layout */
.page-template-two-column-page .entry-content.two-column-layout {
    display: flex !important;
    justify-content: center;
    align-items: flex-start;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    box-sizing: border-box;
}

/* Left text column */
.page-template-two-column-page .two-column-left {
    flex: 0 0 65%;
    max-width: 65%;
    text-align: left;
    font-size: 1.1rem;
    line-height: 1.7;
}

/* Right image column */
.page-template-two-column-page .two-column-right {
    flex: 0 0 35%;
    max-width: 35%;
    text-align: center;
}

.page-template-two-column-page .two-column-right img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .page-template-two-column-page .two-column-left {
        flex: 0 0 60%;
        max-width: 60%;
    }
    .page-template-two-column-page .two-column-right {
        flex: 0 0 40%;
        max-width: 40%;
    }
}

@media (max-width: 768px) {
    .page-template-two-column-page .entry-content.two-column-layout {
        flex-direction: column;
        max-width: 100%;
    }
    .page-template-two-column-page .two-column-left,
    .page-template-two-column-page .two-column-right {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .page-template-two-column-page .two-column-right {
        margin-top: 20px;
    }
}


/* Layout wrapper */
.page-template-theme .theme-layout-wrapper {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* Main content wider */
.page-template-theme .theme-main-content {
    flex: 2;
    min-width: 0;
}

/* Sidebar */
.page-template-theme .theme-sidebar {
    flex: 1;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* Responsive stack */
@media (max-width: 768px) {
    .page-template-theme .theme-layout-wrapper {
        flex-direction: column;
    }
    .page-template-theme .theme-sidebar {
        margin-top: 20px;
    }
}

/* Wrapper for two-column layout
.page-template-theme .theme-layout-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Main content */
/* .page-template-theme .theme-main-content {
    flex: 2;
    min-width: 0;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
} */

/* Sidebar */
/* .page-template-theme .theme-sidebar {
    flex: 1;
    max-width: 400px;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05); */
 */


/* Widget styling */
.page-template-theme .theme-sidebar .widget {
    margin-bottom: 25px;
}
.page-template-theme .theme-sidebar .widget-title {
    font-size: 1.2rem;
    margin-bottom: 10px;
    border-bottom: 2px solid #eee;
    padding-bottom: 5px;
    color: #444;
}

/* Responsive adjustments */
@media (max-width: 900px) {
    .page-template-theme .theme-layout-wrapper {
        flex-direction: column;
    }
    .page-template-theme .theme-sidebar {
        max-width: 100%;
        margin-top: 20px;
    }
}
#page .page-template-theme{
     max-width: 50%;
}

#aed_pickup_location_field {
  background: #f9f9f9;
  padding: 15px;
  border-radius: 8px;
  margin-top: 20px;
}
#aed_pickup_location_field select {
  width: 100%;
  padding: 8px;
  border-radius: 6px;
}


/* --- 2. MENU CONTAINER (Assuming it's inside a widget) --- */
.footer-widgets nav {
    /* Ensure the <nav> element holding the menu list takes up space */
    margin-bottom: 20px; 
}

/* --- 3. THE MENU LIST (UL) ITSELF --- */
.footer-widgets .menu {
    list-style: none; /* Remove bullet points */
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap on smaller screens */
    /* Center the menu items within the widget area */
    justify-content: center; 
}

/* If you need the menu items to stack vertically (more traditional footer list): */
/*
.footer-widgets .menu {
    display: block; 
}
*/


/* --- 4. INDIVIDUAL MENU ITEMS (LI) --- */
.footer-widgets .menu-item {
    margin: 0 15px; /* Spacing between items for horizontal layout */
    padding: 5px 0;
}

/* If using vertical stack: */
/*
.footer-widgets .menu-item {
    margin: 10px 0;
}
*/

/* --- 5. THE MENU LINKS (A) --- */
.footer-widgets .menu-item a {
    color: #ecf0f1; /* Light gray text */
    text-decoration: none; /* Remove underline */
    font-weight: 400;
    transition: color 0.3s ease;
}

.footer-widgets .menu-item a:hover {
    color: #3498db; /* Bright Blue for professional hover effect */
    text-decoration: underline;
}

/* --- 6. OPTIONAL: STYLING FOR WIDGET TITLES (If your menu has one) --- */
.footer-widgets .widget-title {
    color: #ffffff; /* White title */
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    text-transform: uppercase;
    text-align: center; /* Center the title above the menu */
}

/* --- FORM BASE STYLING (Applies to both forms) --- */

/* Form Wrapper & Font */
.wpcf7, .wpforms-container {
    max-width: 600px;
    margin: 40px auto;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    font-family: Arial, sans-serif;
}

/* Field Grouping (for better structure if your plugin supports it) */
.wpcf7 p, .wpforms-field-container {
    margin-bottom: 20px;
}

/* Labels */
.wpcf7 label, .wpforms-field-label {
    display: block;
    font-weight: 600;
    color: #2c3e50; /* Dark text */
    margin-bottom: 8px;
    font-size: 15px;
}

/* Text Inputs, Selects, and Textareas */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea,
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field select,
.wpforms-field textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    box-sizing: border-box; /* Crucial for padding/border calculation */
    transition: border-color 0.3s, box-shadow 0.3s;
    font-size: 16px;
    color: #333;
    background-color: #f9f9f9;
}

/* Focus State (Green Accent) */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus,
.wpforms-field input:focus,
.wpforms-field select:focus,
.wpforms-field textarea:focus {
    border-color: #28a745; /* Precious-Shine Green */
    box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
    outline: none;
    background-color: #ffffff;
}

/* --- RADIO & CHECKBOX STYLING --- */
/* (Often handled differently by plugins, but this provides a base for labels) */
.wpcf7-list-item-label, .wpforms-list-label {
    font-weight: normal;
    display: inline-block;
    margin-left: 5px;
    cursor: pointer;
}

/* --- SUBMIT BUTTON STYLING (Precious-Shine Green) --- */
.wpcf7 input[type="submit"], .wpforms-submit {
    display: inline-block;
    width: auto;
    padding: 14px 30px;
    background-color: #28a745; /* Primary Green */
    color: #ffffff;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s;
    font-size: 16px;
    margin-top: 15px;
}

.wpcf7 input[type="submit"]:hover, .wpforms-submit:hover {
    background-color: #1e7e34; /* Darker Green on Hover */
    transform: translateY(-1px);
}

/* --- Style 1: Modern & Clean Table (Class: .clean-table) --- */

.clean-table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
    font-size: 0.95em;
    min-width: 400px; /* Keep this for standard desktop view */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    overflow: hidden;
}

/* Table Header (The <thead>) */
.clean-table thead tr {
    background-color: #28a745; /* Precious-Shine Green */
    color: #ffffff;
    text-align: left;
    font-weight: 600;
}

/* Header Cells and Data Cells */
.clean-table th,
.clean-table td {
    padding: 14px 20px;
    border: none;
    text-align: left; /* Ensure alignment is correct for mobile cards */
}

/* Alternating Row Colors (Zebra Striping) */
.clean-table tbody tr {
    border-bottom: 1px solid #dddddd;
}
.clean-table tbody tr:nth-of-type(even) {
    background-color: #f8f8f8;
}
.clean-table tbody tr:last-of-type {
    border-bottom: 2px solid #28a745;
}

/* Interactive Hover Effect */
.clean-table tbody tr:hover {
    background-color: #e6f7eb;
    cursor: default;
}

/* ========================================================= */
/* 📱 MOBILE RESPONSIVENESS STYLES (Cards View)              */
/* ========================================================= */

/* Adjust the max-width value as needed (e.g., 600px, 768px) */
@media screen and (max-width: 600px) {
    
    /* 1. Force table to be a block and remove min-width restriction */
    .clean-table {
        min-width: unset; /* Remove the fixed min-width for mobile */
        border-radius: 0; /* Optional: Remove border-radius for full mobile width */
        box-shadow: none; /* Optional: Remove shadow for simpler look */
    }

    /* 2. Hide the main table header (Thead) */
    .clean-table thead {
        display: none;
    }

    /* 3. Transform Table Row (Tr) into a block (Card) */
    .clean-table tbody tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #dddddd;
        border-radius: 8px; /* Give individual cards a border/radius */
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        background-color: #ffffff; /* Ensure card background is white */
    }

    /* Reset Alternating and Hover styles for the new block display */
    .clean-table tbody tr:nth-of-type(even) {
        background-color: #ffffff; /* Cards should be white */
    }
    .clean-table tbody tr:hover {
        background-color: #f0f0f0; /* Light hover effect for the card */
    }
    .clean-table tbody tr:last-of-type {
        border-bottom: 1px solid #dddddd; /* Remove the thick line, use standard card border */
    }


    /* 4. Transform Table Data Cell (Td) into a block */
    .clean-table td {
        display: block;
        text-align: right; /* Align the actual data to the right */
        padding: 0.5rem 1rem;
        border-bottom: 1px solid #f0f0f0; /* Light separator between data fields */
    }
    .clean-table td:last-child {
        border-bottom: 0; /* Remove separator on the last item in the card */
    }

    /* 5. Insert Header Labels using the data-label attribute and ::before */
    .clean-table td::before {
        /* Content is pulled from the data-label attribute */
        content: attr(data-label);
        
        /* Style the label */
        float: left;
        font-weight: 600;
        text-transform: uppercase;
        color: #555555;
        font-size: 0.85em;
    }
}

/* --- Style 2: Bordered Grid Table (Class: .grid-table) --- */

.grid-table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
    font-size: 1em;
    border: 1px solid #cccccc; /* Main table boundary */
}

/* Header Cells and Data Cells */
.grid-table th,
.grid-table td {
    padding: 12px 15px;
    text-align: left;
    border: 1px solid #e0e0e0; /* Light gray border for all cells */
}

/* Table Header (The <thead>) */
.grid-table thead th {
    background-color: #f2f2f2; /* Light background for the header row */
    color: #333333;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.9em;
}

/* Alternating Row Colors (Zebra Striping) */
.grid-table tbody tr:nth-of-type(odd) {
    background-color: #ffffff;
}
.grid-table tbody tr:nth-of-type(even) {
    background-color: #f9f9f9; /* Subtle striping */
}

/* Interactive Hover Effect */
.grid-table tbody tr:hover {
    background-color: #e0f2f7; /* Soft blue highlight on hover */
}

/* --- Style 1: Modern Grid Gallery (Class: .shine-gallery) --- */

/* Targets the main gallery block wrapper */
.shine-gallery {
    margin: 30px 0; /* Add space above and below the gallery */
}

/* Targets the individual figure/image items (Common WordPress gallery structure) */
.shine-gallery .wp-block-image,
.shine-gallery .gallery-item {
    padding: 10px; /* Space around each image */
    box-sizing: border-box;
}

/* Image Styling: Apply a subtle lift and rounding */
.shine-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px; /* Softly rounded corners */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); /* Subtle shadow for depth */
}

/* Interactive Hover Effect: Makes the images stand out */
.shine-gallery img:hover {
    transform: translateY(-3px); /* Slightly lift the image */
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15); /* Increase shadow for focus */
}

/* Optional: Caption Styling (If you use captions on your gallery images) */
.shine-gallery .gallery-caption,
.shine-gallery figcaption {
    font-style: italic;
    font-size: 0.9em;
    color: #555;
    padding: 8px 0 0 0;
    text-align: center;
}

/* --- Style 2: Bordered, Minimalist Gallery (Class: .bordered-gallery) --- */

/* Targets the individual figure/image items */
.bordered-gallery .wp-block-image,
.bordered-gallery .gallery-item {
    padding: 5px; /* Less space between images */
    box-sizing: border-box;
}

/* Image Wrapper/Frame Styling */
.bordered-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border: 3px solid #f0f0f0; /* Light gray border for a frame effect */
    transition: border-color 0.3s ease;
}

/* Interactive Hover Effect: Green Accent */
.bordered-gallery img:hover {
    border-color: #28a745; /* Precious-Shine Green accent on hover */
}

/* Caption Styling */
.bordered-gallery figcaption {
    font-size: 0.85em;
    color: #333;
    background-color: #f9f9f9;
    padding: 10px;
    border-top: 1px solid #e0e0e0;
    text-align: center;
}