/**
 * HVAC Layout Styles
 * 
 * Ensures all HVAC pages follow the theme's layout settings
 * - Full width container with max width of 1200px
 * - 20px padding on all sides
 */

/* Container Layout for All HVAC Pages */
.hvac-plugin-page .site-content .ast-container,
.hvac-plugin-page .ast-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

/* Ensure content area also follows max width */
.hvac-plugin-page .content-area {
    max-width: 100% !important;
    padding: 0 !important;
}

/* Force full-width layout on HVAC pages - Astra specific */
body.ast-no-sidebar.hvac-page .site-content,
body.ast-no-sidebar.hvac-trainer-page .site-content,
body.ast-no-sidebar.hvac-plugin-active .site-content {
    /* Let Astra handle the layout */
}

/* Ensure containers use proper width on HVAC pages */
.hvac-page-wrapper .container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

/* Override Astra's container constraints on HVAC pages */
body.hvac-page .ast-container,
body.hvac-trainer-page .ast-container,
body.hvac-plugin-active .ast-container,
body.ast-no-sidebar.hvac-page .ast-container,
body.ast-no-sidebar.hvac-trainer-page .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Force full-width for all content containers */
body.hvac-page #content > .ast-container,
body.hvac-trainer-page #content > .ast-container,
body.hvac-plugin-active #content > .ast-container,
body.hvac-page .site-content > .ast-container,
body.hvac-trainer-page .site-content > .ast-container {
    max-width: 100% !important;
    width: 100% !important;
}

/* Override any inline styles from Astra */
body.hvac-page .ast-container[style*="max-width"],
body.hvac-trainer-page .ast-container[style*="max-width"] {
    max-width: 100% !important;
}

/* Inner content wrapper - wider for better use of space */
body.hvac-page .hvac-page-wrapper,
body.hvac-trainer-page .hvac-page-wrapper,
body.hvac-plugin-active .hvac-page-wrapper {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Specific container overrides */
body.hvac-page .hvac-page-wrapper .container,
body.hvac-trainer-page .hvac-page-wrapper .container {
    max-width: 100%;
    width: 100%;
    padding: 0;
}

/* Dashboard specific full-width */
body.hvac-trainer-dashboard .hvac-dashboard-wrapper {
    max-width: 100%;
    padding: 20px 40px;
}

/* Certificate pages full-width */
body.hvac-certificate-reports .hvac-certificate-reports-content,
body.page-template-page-generate-certificates .hvac-generate-certificates-content {
    max-width: 100%;
    padding: 20px 40px;
}

/* Ensure full width layout */
.hvac-plugin-page.ast-separate-container .ast-container {
    background-color: #fff;
    border-radius: 0;
}

/* Override theme's narrow content */
.hvac-plugin-page .entry-content {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Dashboard specific adjustments */
.hvac-dashboard {
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    margin: 0;
}

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

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

/* Form containers */
.hvac-form-container {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Navigation menus */
.hvac-event-navigation,
.hvac-dashboard-nav {
    margin-bottom: 20px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hvac-plugin-page .site-content,
    .hvac-plugin-page .ast-container,
    .hvac-plugin-page .content-area {
        padding: 15px !important;
    }
    
    .hvac-dashboard,
    .tribe-community-events,
    .hvac-certificate-wrapper,
    .hvac-form-container {
        padding: 15px;
    }
}

/* Print styles */
@media print {
    .hvac-plugin-page .site-content,
    .hvac-plugin-page .ast-container,
    .hvac-plugin-page .content-area {
        max-width: 100% !important;
        padding: 0 !important;
    }
}

/* Ensure Event Calendar Community forms have proper styling */
.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[type="text"]:focus,
.tribe-community-events input[type="email"]:focus,
.tribe-community-events input[type="url"]:focus,
.tribe-community-events input[type="tel"]:focus,
.tribe-community-events input[type="number"]:focus,
.tribe-community-events input[type="date"]:focus,
.tribe-community-events input[type="time"]: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;
}

/* Event form specific styling */
.tribe-community-events .event-dynamic-helper-text {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 4px;
    border-left: 4px solid #0073aa;
    margin-bottom: 20px;
}

.tribe-community-events .tribe-section-content {
    padding: 15px 0;
}

/* Required field indicators */
.tribe-community-events .req {
    color: #d63638;
    font-weight: bold;
}

/* Error messages */
.tribe-community-events .error,
.tribe-community-events .tribe-error {
    color: #d63638;
    font-size: 14px;
    margin-top: 5px;
}

/* Success messages */
.tribe-community-events .updated,
.tribe-community-events .tribe-success {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 10px 15px;
    border-radius: 4px;
    margin: 20px 0;
}