/**
 * HVAC Layout Styles
 * Theme-agnostic styles for HVAC plugin pages
 * 
 * @package HVAC_Community_Events
 * @since 2.0.0
 */

/* ===========================
   Base Layout Styles
   =========================== */

/* Full-width layout for HVAC pages */
.hvac-plugin-page .site-content,
.hvac-plugin-page .content-area,
.hvac-plugin-page #content,
.hvac-plugin-page .site-main,
.hvac-plugin-page #main {
    width: 100%;
    max-width: 100%;
    float: none;
    margin: 0;
}

/* Container wrapper */
.hvac-plugin-page .hvac-page-wrapper {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

/* Mobile padding adjustment */
@media (max-width: 768px) {
    .hvac-plugin-page .hvac-page-wrapper {
        padding: 0 20px;
    }
}

/* ===========================
   Sidebar Removal
   =========================== */

/* Hide all common sidebar selectors */
.hvac-plugin-page .widget-area,
.hvac-plugin-page .sidebar,
.hvac-plugin-page #sidebar,
.hvac-plugin-page #secondary,
.hvac-plugin-page aside.widget-area,
.hvac-plugin-page .sidebar-main,
.hvac-plugin-page .sidebar-primary,
.hvac-plugin-page .sidebar-secondary,
.hvac-plugin-page .sidebar-left,
.hvac-plugin-page .sidebar-right {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Ensure primary content takes full width */
.hvac-plugin-page #primary,
.hvac-plugin-page .primary,
.hvac-plugin-page .content-area,
.hvac-plugin-page .site-main,
.hvac-plugin-page #main,
.hvac-plugin-page .main-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ===========================
   Find a Trainer Boxed Layout
   =========================== */

.hvac-find-trainer-page .site-content,
.hvac-find-trainer-page .content-area,
.hvac-find-trainer-page #content,
.hvac-find-trainer-page .entry-content,
.hvac-find-trainer-page #primary {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Map container constraints */
.hvac-find-trainer-page .hvac-map-section {
    max-width: 1160px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

/* MapGeo plugin compatibility */
.hvac-find-trainer-page .map_wrapper,
.hvac-find-trainer-page .map_box,
.hvac-find-trainer-page .map_container,
.hvac-find-trainer-page .igm-map-wrapper,
.hvac-find-trainer-page .igm-container,
.hvac-find-trainer-page .igm-map-container,
.hvac-find-trainer-page .interactive-geo-map,
.hvac-find-trainer-page [id*="igmMap"] {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* ===========================
   Dashboard Pages
   =========================== */

.hvac-plugin-page .hvac-dashboard-wrapper {
    background: #f5f5f5;
    min-height: calc(100vh - 200px);
    padding: 40px 0;
}

.hvac-plugin-page .hvac-dashboard-content {
    background: white;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* ===========================
   Navigation & Breadcrumbs
   =========================== */

.hvac-plugin-page .hvac-navigation {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 30px;
    padding: 0;
}

.hvac-plugin-page .hvac-breadcrumbs {
    padding: 15px 0;
    font-size: 14px;
    color: #666;
}

/* ===========================
   Forms & Inputs
   =========================== */

.hvac-plugin-page input[type="text"],
.hvac-plugin-page input[type="email"],
.hvac-plugin-page input[type="password"],
.hvac-plugin-page input[type="tel"],
.hvac-plugin-page input[type="url"],
.hvac-plugin-page textarea,
.hvac-plugin-page select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* ===========================
   Event Management Styles
   =========================== */

.tribe-community-events {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.tribe-community-events .tribe-events-community-details,
.tribe-community-events .event-dynamic-helper-text,
.tribe-community-events .tribe-section {
    margin-bottom: 20px;
}

.tribe-community-events h3 {
    margin-top: 30px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e5e7eb;
    font-size: 1.3em;
    color: #333;
}

.tribe-community-events label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
}

.tribe-community-events input[type="text"],
.tribe-community-events input[type="email"],
.tribe-community-events input[type="url"],
.tribe-community-events input[type="tel"],
.tribe-community-events input[type="number"],
.tribe-community-events input[type="date"],
.tribe-community-events input[type="time"],
.tribe-community-events select,
.tribe-community-events textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background: #fff;
    transition: border-color 0.2s;
}

.tribe-community-events input:focus,
.tribe-community-events select:focus,
.tribe-community-events textarea:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.tribe-community-events .tribe-button,
.tribe-community-events input[type="submit"] {
    background: #0073aa;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

.tribe-community-events .tribe-button:hover,
.tribe-community-events input[type="submit"]:hover {
    background: #005a87;
}

/* ===========================
   Certificate Pages
   =========================== */

.hvac-certificate-wrapper {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    margin: 0;
}

/* ===========================
   Responsive Design
   =========================== */

/* Tablet */
@media (max-width: 1024px) {
    .hvac-plugin-page .hvac-page-wrapper {
        padding: 0 30px;
    }
    
    .hvac-find-trainer-page .site-content,
    .hvac-find-trainer-page .content-area {
        max-width: 100% !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .hvac-plugin-page .hvac-page-wrapper {
        padding: 0 15px;
    }
    
    .hvac-plugin-page .hvac-dashboard-content {
        padding: 20px;
    }
    
    .hvac-find-trainer-page .site-content,
    .hvac-find-trainer-page .content-area,
    .hvac-find-trainer-page #primary {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .tribe-community-events {
        padding: 15px;
    }
}

/* ===========================
   Utility Classes
   =========================== */

.hvac-clearfix::after {
    content: "";
    display: table;
    clear: both;
}

.hvac-hidden {
    display: none !important;
}

.hvac-text-center {
    text-align: center;
}

.hvac-text-left {
    text-align: left;
}

.hvac-text-right {
    text-align: right;
}

/* ===========================
   Print Styles
   =========================== */

@media print {
    .hvac-plugin-page .hvac-navigation,
    .hvac-plugin-page .hvac-breadcrumbs,
    .hvac-plugin-page .site-header,
    .hvac-plugin-page .site-footer {
        display: none !important;
    }
    
    .hvac-plugin-page .site-content,
    .hvac-plugin-page .content-area {
        max-width: 100% !important;
        padding: 0 !important;
    }
}