/**
 * HVAC Community Events - Core Consolidated CSS
 * Contains essential styles loaded on all plugin pages
 */

/* === hvac-community-events.css === */
/**
 * HVAC Community Events Main Styles
 * 
 * This file imports and includes all the main styles for the plugin
 */

/* NOTE: @import statements removed to prevent Safari blocking issues
 * Individual CSS files are now loaded separately via wp_enqueue_style in PHP
 * This eliminates the synchronous blocking that causes Safari to hang
 */

/* General layout styles */
.hvac-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Basic styles that were in imported files - consolidated here */
/* These are the essential styles moved inline to prevent import blocking */

/* Ensure proper spacing on all HVAC pages */
.hvac-page .site-content {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* Fix for page title hiding */
.hvac-page .entry-header {
    display: none !important;
}
/* === hvac-common.css === */
/* Reduced Motion Support Added - 2025-07-23 */
/* Vendor Prefixes Added - 2025-07-23 */
/**
 * HVAC Community Events Common Styles
 *
 * These styles apply to all pages in the HVAC Community Events plugin.
 * They enhance buttons, links, typography, and spacing for a consistent look.
 */


:root {
    /* Primary colors */
    --hvac-primary: #0274be;
    --hvac-primary-dark: #005fa3;
    --hvac-primary-light: #e6f3fb;
    /* Secondary colors */
    --hvac-secondary: #54595f;
    --hvac-secondary-dark: #3a3f44;
    --hvac-secondary-light: #f0f0f1;
    /* Success/Error colors */
    --hvac-success: #4caf50;
    --hvac-success-light: #e8f5e9;
    --hvac-error: #d63638;
    --hvac-error-light: #ffebe9;
    /* Neutral colors */
    --hvac-border: #e0e0e0;
    --hvac-border-light: #f0f0f0;
    --hvac-text: #333333;
    --hvac-text-light: #757575;
    /* Spacing */
    --hvac-spacing-xs: 0.25rem;  /* 4px */
    --hvac-spacing-sm: 0.5rem;   /* 8px */
    --hvac-spacing-md: 1rem;     /* 16px */
    --hvac-spacing-lg: 1.5rem;   /* 24px */
    --hvac-spacing-xl: 2rem;     /* 32px */
    /* Border radius */
    --hvac-border-radius: 4px;
    --hvac-border-radius-lg: 8px;
    /* Box shadow */
    --hvac-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    --hvac-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.1);
    /* Focus styles */
    --hvac-focus-color: #2271b1;
    --hvac-focus-width: 2px;
    --hvac-focus-offset: 2px;
}

/* Hide page titles on HVAC pages */
.hvac-page .entry-title,
.hvac-page .page-title,
.hvac-page h1.entry-title,
.hvac-page h1.page-title,
.hvac-no-title .entry-title,
.hvac-no-title .page-title,
.entry-title-hidden .entry-title,
.entry-title-hidden .page-title {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Also hide common theme title wrappers */
.hvac-page .page-header,
.hvac-page .entry-header .entry-title,
.hvac-page header.entry-header h1,
.hvac-page .title-area h1,
.hvac-page .ast-single-post-title,
.hvac-page .ast-page-title {
    display: none !important;
}

/* Typography Enhancements */
.hvac-content h1,
.hvac-content h2,
.hvac-content h3,
.hvac-content h4 {
    color: #333333; /* IE fallback */
    color: var(--hvac-text);
    font-weight: 600;
    margin-bottom: 1rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-md);
    line-height: 1.3;
}

.hvac-content h1 {
    font-size: 1.75rem;
    margin-bottom: 1.5rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-lg);
}

.hvac-content h2 {
    font-size: 1.5rem;
    margin-top: 2rem; /* IE fallback */
    margin-top: var(--hvac-spacing-xl);
}

.hvac-content h3 {
    font-size: 1.25rem;
    margin-top: 1.5rem; /* IE fallback */
    margin-top: var(--hvac-spacing-lg);
}

.hvac-content p {
    margin-bottom: 1rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-md);
    line-height: 1.6;
    color: #333333; /* IE fallback */
    color: var(--hvac-text);
}

/* Enhanced Button Styles */
.hvac-button,
.hvac-content .button,
.hvac-content button[type="submit"],
.hvac-content input[type="submit"],
.hvac-content .ast-button {
    display: inline-block;
    background-color: #0274be; /* IE fallback */
    background-color: var(--hvac-primary);
    color: white !important;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: 4px; /* IE fallback */
    -webkit-border-radius: var(--hvac-border-radius);
    border-radius: var(--hvac-border-radius);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    -webkit-transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* IE fallback */
    -webkit-box-shadow: var(--hvac-shadow);
    box-shadow: var(--hvac-shadow);
    line-height: 1.4;
    min-height: 44px; /* Minimum touch target size */
    position: relative;
    overflow: hidden;
.hvac-button:hover,
.hvac-content .button:hover,
.hvac-content button[type="submit"]:hover,
.hvac-content input[type="submit"]:hover,
.hvac-content .ast-button:hover {
    background-color: #005fa3; /* IE fallback */
    background-color: var(--hvac-primary-dark);
    text-decoration: none;
    -webkit-transform: translateY(-1px);
    -ms-transform: translateY(-1px);
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* IE fallback */
    -webkit-box-shadow: var(--hvac-shadow-lg);
.hvac-button:active,
.hvac-content .button:active,
.hvac-content button[type="submit"]:active,
.hvac-content input[type="submit"]:active,
.hvac-content .ast-button:active {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* IE fallback */
    box-shadow: var(--hvac-shadow);
/* Button ripple effect */
.hvac-button::after,
.hvac-content .button::after,
.hvac-content button[type="submit"]::after,
.hvac-content input[type="submit"]::after,
.hvac-content .ast-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0;
    -webkit-border-radius: 100%;
    -webkit-transform: scale(1, 1) translate(-50%, -50%);
    -ms-transform: scale(1, 1) translate(-50%, -50%);
    transform-origin: 50% 50%;
.hvac-button:active::after,
.hvac-content .button:active::after,
.hvac-content button[type="submit"]:active::after,
.hvac-content input[type="submit"]:active::after,
.hvac-content .ast-button:active::after {
    -webkit-animation: ripple 0.4s ease-out;
/* Secondary buttons */
.hvac-button-secondary,
.hvac-content .button-secondary {
    background-color: #54595f; /* IE fallback */
    background-color: var(--hvac-secondary);
.hvac-button-secondary:hover,
.hvac-content .button-secondary:hover {
    background-color: #3a3f44; /* IE fallback */
    background-color: var(--hvac-secondary-dark);
/* Success/danger button variants */
.hvac-button-success,
.hvac-content .button-success {
    background-color: #4caf50; /* IE fallback */
    background-color: var(--hvac-success);
.hvac-button-success:hover,
.hvac-content .button-success:hover {
    background-color: #4caf50; /* IE fallback */
    background-color: var(--hvac-success);
    filter: brightness(0.9);
.hvac-button-danger,
.hvac-content .button-danger {
    background-color: #d63638; /* IE fallback */
    background-color: var(--hvac-error);
.hvac-button-danger:hover,
.hvac-content .button-danger:hover {
    background-color: #d63638; /* IE fallback */
    background-color: var(--hvac-error);
    filter: brightness(0.9);
/* Outline button variant */
.hvac-button-outline,
.hvac-content .button-outline {
    background-color: transparent;
    color: #0274be; /* IE fallback */
    color: var(--hvac-primary) !important;
    border: 2px solid #0274be; /* IE fallback */
    border: 2px solid var(--hvac-primary);
    -webkit-box-shadow: none;
    box-shadow: none;
.hvac-button-outline:hover,
.hvac-content .button-outline:hover {
    background-color: #e6f3fb; /* IE fallback */
    background-color: var(--hvac-primary-light);
    color: #0274be; /* IE fallback */
    color: var(--hvac-primary) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* IE fallback */
    box-shadow: var(--hvac-shadow);
/* Mobile optimized buttons */
/* Reduced Motion Support Added - WCAG 2.1 Accessibility */
/* Respects user preference for reduced motion to prevent vestibular disorders */
@media (prefers-reduced-motion: reduce) {
    /* Disable all animations and transitions globally */
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
    /* Remove specific transform animations */
    .hvac-animate-fade-in,
    .hvac-animate-scale-up,
    .hvac-animate-pulse,
    .hvac-animate-slide-in-right,
    .hvac-animate-slide-in-left,
    .hvac-animate-slide-in-bottom {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    /* Disable hover transformations */
    .hvac-card:hover,
    .hvac-stat-card:hover,
    .hvac-event-stat-card:hover,
    .hvac-button:hover,
    .hvac-email-submit:hover {
        transform: none !important;
    animation: none !important;
    /* Keep essential visual feedback but remove motion */
    .hvac-card:hover,
    .hvac-stat-card:hover,
    .hvac-event-stat-card:hover {
        border-color: var(--hvac-primary, #0274be) !important;
    box-shadow: 0 0 0 2px rgba(2, 116, 190, 0.2) !important;
    /* Disable loading spinner animation but keep visibility */
    .hvac-loading::after {
        animation: none !important;
    border-radius: 50% !important;
    border: 2px solid rgba(0, 0, 0, 0.2) !important;
    border-top-color: #333 !important;
    /* Disable focus pulse animation */
    .hvac-button:focus,
.hvac-email-submit:focus,
    .hvac-content button[type="submit"]:focus {
        animation: none !important;
    /* Ensure smooth scrolling is disabled */
    html {
    scroll-behavior: auto !important;
    /* Disable CSS Grid/Flexbox animations if any */
    .hvac-dashboard-stats .hvac-stat-card:nth-child(n),
    .hvac-event-summary-stats .hvac-event-stat-card: nth-child(n) {
        animation: none !important;
    opacity: 1 !important;
/* Provide alternative visual feedback for reduced motion users */
@media (prefers-reduced-motion: reduce) {
    /* Enhanced border feedback instead of transform */
    .hvac-content button:hover,
    .hvac-content input[type="submit"]:hover,
    .hvac-content a:hover {
        outline: 2px solid var(--hvac-primary, #0274be) !important;
    outline-offset: 2px !important;
    /* Enhanced color changes for interactive elements */
    .hvac-attendee-item:hover {
        background-color: var(--hvac-primary-light, #e6f3fb) !important;
    border-left: 4px solid var(--hvac-primary, #0274be) !important;
    /* Static loading indicator */
    .hvac-loading {
    opacity: 0.7 !important;
.hvac-loading::after {
        content: "Loading..." !important;
    display: inline-block !important;
    font-size: 12px !important;
    color: #666 !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
    margin-left: 8px !important;
@media (max-width: 480px) {
    .hvac-button,
    .hvac-content .button,
    .hvac-content button[type="submit"],
    .hvac-content input[type="submit"],
    .hvac-content .ast-button {
        padding: 0.85rem 1rem;
    width: 100%;
    max-width: 100%;
    display: block;
    font-size: 1rem;
    margin-bottom: 0.5rem;
    /* IE fallback */
    margin-bottom: 0.5rem;
    /* IE fallback */
    margin-bottom: var(--hvac-spacing-sm);
    /* Fix for buttons in a row on mobile */
    .hvac-button-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    gap: 0.5rem; /* IE fallback */
    gap: var(--hvac-spacing-sm);
    width: 100%;
@keyframes ripple {
    0% {
    -webkit-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    opacity: 0.7;
    20% {
    -webkit-transform: scale(25, 25);
    -ms-transform: scale(25, 25);
    opacity: 0.5;
    100% {
    opacity: 0;
    -webkit-transform: scale(40, 40);
    -ms-transform: scale(40, 40);
/* Enhanced Link Styles */
.hvac-content a:not(.button):not(.hvac-button) {
    color: #0274be; /* IE fallback */
    color: var(--hvac-primary);
    text-decoration: none;
    font-weight: 500;
    -webkit-transition: color 0.2s;
.hvac-content a:not(.button):not(.hvac-button):hover {
    color: #005fa3; /* IE fallback */
    color: var(--hvac-primary-dark);
    text-decoration: underline;
/* Responsive Table Improvements */
.hvac-table-wrapper {
    overflow-x: auto;
    margin-bottom: 1.5rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-lg);
.hvac-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e0e0e0; /* IE fallback */
    border: 1px solid var(--hvac-border);
    background-color: white;
.hvac-table th {
    background-color: #f0f0f1; /* IE fallback */
    background-color: var(--hvac-secondary-light);
    color: #3a3f44; /* IE fallback */
    color: var(--hvac-secondary-dark);
    font-weight: 600;
    text-align: left;
    padding: 1rem; /* IE fallback */
    padding: var(--hvac-spacing-md);
    border-bottom: 2px solid #e0e0e0; /* IE fallback */
    border-bottom: 2px solid var(--hvac-border);
.hvac-table td {
    padding: 1rem; /* IE fallback */
    padding: var(--hvac-spacing-md);
    border-bottom: 1px solid #f0f0f0; /* IE fallback */
    border-bottom: 1px solid var(--hvac-border-light);
    vertical-align: middle;
.hvac-table tbody tr:hover {
    background-color: #e6f3fb; /* IE fallback */
    background-color: var(--hvac-primary-light);
/* Card Component Styles */
.hvac-card {
    background-color: white;
    border-radius: 4px; /* IE fallback */
    border-radius: var(--hvac-border-radius);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* IE fallback */
    box-shadow: var(--hvac-shadow);
    padding: 1.5rem; /* IE fallback */
    padding: var(--hvac-spacing-lg);
    margin-bottom: 1.5rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-lg);
    border: 1px solid #e0e0e0; /* IE fallback */
    border: 1px solid var(--hvac-border);
.hvac-card-title {
    margin-top: 0;
    margin-bottom: 1rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-md);
    padding-bottom: 0.5rem; /* IE fallback */
    padding-bottom: var(--hvac-spacing-sm);
    border-bottom: 1px solid #f0f0f0; /* IE fallback */
    border-bottom: 1px solid var(--hvac-border-light);
/* Form Element Improvements */
.hvac-form-group {
    margin-bottom: 1.5rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-lg);
.hvac-form-label {
    display: block;
    margin-bottom: 0.5rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-sm);
    font-weight: 600;
    color: #333333; /* IE fallback */
    color: var(--hvac-text);
.hvac-form-input,
.hvac-content input[type="text"],
.hvac-content input[type="email"],
.hvac-content input[type="password"],
.hvac-content input[type="url"],
.hvac-content textarea,
.hvac-content select {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #e0e0e0; /* IE fallback */
    border: 1px solid var(--hvac-border);
    border-radius: 4px; /* IE fallback */
    border-radius: var(--hvac-border-radius);
    font-size: 1rem;
    background-color: white;
    -webkit-transition: border-color 0.2s, box-shadow 0.2s;
.hvac-form-input:focus,
.hvac-content input[type="text"]:focus,
.hvac-content input[type="email"]:focus,
.hvac-content input[type="password"]:focus,
.hvac-content input[type="url"]:focus,
.hvac-content textarea:focus,
.hvac-content select:focus {
    border-color: #0274be; /* IE fallback */
    border-color: var(--hvac-primary);
    outline: none;
    -webkit-box-shadow: 0 0 0 3px #e6f3fb;/* IE fallback */
    -webkit-box-shadow: 0 0 0 3px var(--hvac-primary-light);
/* Alert/Message Styles */
.hvac-alert {
    padding: 1rem; /* IE fallback */
    padding: var(--hvac-spacing-md);
    border-radius: 4px; /* IE fallback */
    border-radius: var(--hvac-border-radius);
    margin-bottom: 1.5rem; /* IE fallback */
    margin-bottom: var(--hvac-spacing-lg);
    border-left: 4px solid transparent;
.hvac-alert-success {
    background-color: #e8f5e9; /* IE fallback */
    background-color: var(--hvac-success-light);
    border-color: #4caf50; /* IE fallback */
    border-color: var(--hvac-success);
    color: #4caf50; /* IE fallback */
    color: var(--hvac-success);
.hvac-alert-error {
    background-color: #ffebe9; /* IE fallback */
    background-color: var(--hvac-error-light);
    border-color: #d63638; /* IE fallback */
    border-color: var(--hvac-error);
    color: #d63638; /* IE fallback */
    color: var(--hvac-error);
/* Layout Helper Classes */
.hvac-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
.hvac-flex-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
.hvac-flex-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
.hvac-flex-wrap {
    -ms-flex-wrap: wrap;
.hvac-mt-sm {
    margin-top: 0.5rem; /* IE fallback */
    margin-top: var(--hvac-spacing-sm);
}

.hvac-mt-md {

    margin-top: 1rem; /* IE fallback */

    margin-top: var(--hvac-spacing-md);
}

.hvac-mb-sm {

    margin-bottom: 0.5rem; /* IE fallback */

    margin-bottom: var(--hvac-spacing-sm);
}

.hvac-mb-md {

    margin-bottom: 1rem; /* IE fallback */

    margin-bottom: var(--hvac-spacing-md);
}

.hvac-mb-lg {

    margin-bottom: 1.5rem; /* IE fallback */

    margin-bottom: var(--hvac-spacing-lg);
}

.hvac-mr-sm {

    margin-right: 0.5rem; /* IE fallback */

    margin-right: var(--hvac-spacing-sm);
}

/* Accessibility Focus Styles */
.hvac-button:focus,
.hvac-content .button:focus,
.hvac-content button:focus,
.hvac-content input[type="submit"]:focus,
.hvac-content input[type="button"]:focus,
.hvac-content .ast-button:focus {
    outline: 2px; /* IE fallback */

    outline: var(--hvac-focus-width) solid var(--hvac-focus-color);

    outline-offset: 2px; /* IE fallback */

    outline-offset: var(--hvac-focus-offset);

    box-shadow: none;

    position: relative;

    z-index: 1;

.hvac-content a:focus,
.hvac-content [tabindex="0"]:focus {
    outline: 2px; /* IE fallback */

    outline: var(--hvac-focus-width) solid var(--hvac-focus-color);

    outline-offset: 2px; /* IE fallback */

    outline-offset: var(--hvac-focus-offset);

    -webkit-border-radius: 2px;

.hvac-content input[type="text"]:focus,
.hvac-content input[type="email"]:focus,
.hvac-content input[type="password"]:focus,
.hvac-content input[type="url"]:focus,
.hvac-content textarea:focus,
.hvac-content select:focus {
    outline: none; /* Remove default outline */

    border-color: #2271b1; /* IE fallback */

    border-color: var(--hvac-focus-color);

    -webkit-box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.3);/* IE fallback */

    -webkit-box-shadow: 0 0 0 var(--hvac-focus-width) rgba(34, 113, 177, 0.3);

/* High contrast focus style for keyboard navigation */
.keyboard-nav-active:focus {

    outline: 3px solid #ffbf47 !important;

    outline-offset: 2px; /* IE fallback */

    outline-offset: var(--hvac-focus-offset) !important;

/* Skip link for keyboard users */
.hvac-skip-link {

    position: absolute;

    top: -40px;

    left: 0;

    z-index: 100;

    background: #0274be; /* IE fallback */

    background: var(--hvac-primary);

    color: white;

    padding: 10px;

    -webkit-transition: top 0.2s;

.hvac-skip-link:focus {
    top: 0;

    outline: 2px; /* IE fallback */

    outline: var(--hvac-focus-width) solid var(--hvac-focus-color);

/* Responsive improvements */
@media (max-width: 767px) {
    .hvac-flex {
        -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

.hvac-form-group {

    margin-bottom: 1rem; /* IE fallback */

    margin-bottom: var(--hvac-spacing-md);

.hvac-card {

    padding: 1rem; /* IE fallback */

    padding: var(--hvac-spacing-md);

/* Apply to all plugin pages */
body.page-hvac-dashboard,
body.page-community-login,
body.page-trainer-registration,
body.page-trainer-profile,
body.page-event-summary,
body.page-email-attendees,
body.page-manage-event {
    /* Base font settings */

    font-size: 16px;

    line-height: 1.6;

    color: #333333; /* IE fallback */

    color: var(--hvac-text);

/* Enable detection of keyboard navigation for better accessibility */

    body: not(.user-is-tabbing) :focus {
    outline: none !important;

/* Event Management Page Header Styles */
.hvac-event-manage-header {

    background: #e6f3fb; /* IE fallback */

    background: var(--hvac-primary-light);

    border: 1px solid #f0f0f0; /* IE fallback */

    border: 1px solid var(--hvac-border-light);

    -webkit-border-radius: 8px; /* IE fallback */

    -webkit-border-radius: var(--hvac-radius-md);

    padding: 1.5rem; /* IE fallback */

    padding: var(--hvac-spacing-lg);

    margin-bottom: 1.5rem; /* IE fallback */

    margin-bottom: var(--hvac-spacing-lg);

.hvac-event-manage-header h2 {

    color: #0274be; /* IE fallback */

    color: var(--hvac-primary);

    margin: 0 0 1rem 0; /* IE fallback */

    margin: 0 0 var(--hvac-spacing-md) 0;

    font-size: 1.5em;

    font-weight: 600;

.hvac-event-manage-header p {

    margin: 0 0 1rem 0; /* IE fallback */

    margin: 0 0 var(--hvac-spacing-md) 0;

    font-size: 1.1em;

    line-height: 1.6;

    color: #333333; /* IE fallback */

    color: var(--hvac-text);

.hvac-event-manage-tips {

    background: white;

    padding: 1rem; /* IE fallback */

    padding: var(--hvac-spacing-md);

    border-radius: 4px; /* IE fallback */

    -webkit-border-radius: var(--hvac-radius-sm);

    border-left: 4px solid #0274be; /* IE fallback */

    border-left: 4px solid var(--hvac-primary);

    margin-top: 1rem; /* IE fallback */

    margin-top: var(--hvac-spacing-md);

.hvac-event-manage-tips h3 {

    color: #0274be; /* IE fallback */

    color: var(--hvac-primary);

    margin: 0 0 0.5rem 0; /* IE fallback */

    margin: 0 0 var(--hvac-spacing-sm) 0;

    font-size: 1.2em;

    font-weight: 600;

.hvac-event-manage-tips ul {

    margin: 0;

    padding-left: 1rem; /* IE fallback */

    padding-left: var(--hvac-spacing-md);

.hvac-event-manage-tips li {

    margin-bottom: 0.25rem; /* IE fallback */

    margin-bottom: var(--hvac-spacing-xs);

    line-height: 1.5;

.hvac-event-manage-tips strong {

    color: #005fa3; /* IE fallback */

    color: var(--hvac-primary-dark);

/* Responsive adjustments for event management header */
@media (max-width: 767px) {
    .hvac-event-manage-header {
        padding: 1rem;
    /* IE fallback */

    padding: 1rem;
    /* IE fallback */

    padding: var(--hvac-spacing-md);

    margin-bottom: 1rem;
    /* IE fallback */

    margin-bottom: 1rem;
    /* IE fallback */

    margin-bottom: var(--hvac-spacing-md);

.hvac-event-manage-header h2 {

    font-size: 1.3em;

.hvac-event-manage-tips {

    padding: 0.5rem; /* IE fallback */

    padding: var(--hvac-spacing-sm);

/* Focus Management Styles - WCAG 2.1 Compliance */
/* Added for keyboard accessibility and screen reader support */

/* Button Focus Styles */
.hvac-button:focus,
.hvac-content .button:focus,
.hvac-content button:focus,
.hvac-content input[type="submit"]:focus,
.hvac-email-submit:focus,
.hvac-filter-submit:focus,
.hvac-certificate-actions button:focus,
.hvac-certificate-actions a:focus {
    outline: 2px solid #005fcc;

    outline-offset: 2px;

    -webkit-box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);

    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);

    border-radius: 4px;

/* Input Focus Styles */
.hvac-form-input:focus,
.hvac-content input[type="text"]:focus,
.hvac-content input[type="email"]:focus,
.hvac-content input[type="password"]:focus,
.hvac-content input[type="url"]:focus,
.hvac-content textarea:focus,
.hvac-content select:focus,
.hvac-email-form-row input:focus,
.hvac-email-form-row textarea:focus,
.hvac-filter-group input:focus,
.hvac-filter-group select:focus {
    outline: 2px solid #005fcc;

    outline-offset: 2px;

    border-color: #005fcc;

    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);

/* Link Focus Styles */
.hvac-content a:focus,
.hvac-event-link:focus,
.hvac-certificate-link:focus,
.hvac-attendee-profile-icon:focus,
.hvac-dashboard-nav a:focus,
.hvac-email-navigation a:focus {
    outline: 2px solid #005fcc;

    outline-offset: 2px;

    text-decoration: underline;

    background-color: rgba(0, 95, 204, 0.1);

    border-radius: 2px;

/* Interactive Element Focus Styles */
.hvac-attendee-checkbox:focus,
.hvac-select-all-container input[type="checkbox"]:focus,
.hvac-modal-close:focus,
.hvac-certificate-table tr:focus {
    outline: 2px solid #005fcc;

    outline-offset: 2px;

    box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2);

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .hvac-content *:focus {
        outline: 3px solid #000000;

    outline-offset: 2px;

    background-color: #ffff00;

    color: #000000;

/* Focus-visible polyfill support */

/* Reset focus for mouse users while preserving keyboard accessibility */
.js-focus-visible:focus:not(.focus-visible) {
    outline: none;

    box-shadow: none;

/* Ensure focus is visible for keyboard users */
.js-focus-visible .focus-visible {

    outline: 2px solid #005fcc;

    outline-offset: 2px;

/* Feature Detection Support */
@supports not (display: flex) {
    .hvac-content [class*="flex"] {
        display: table-cell;

    vertical-align: middle;

@supports not (display: grid) {
    .hvac-content [class*="grid"] {
        display: block;

    overflow: hidden;

.hvac-content [class*="grid"] > * {

    float: left;

    width: 50%;
}
/* === hvac-layout.css === */
/**
 * 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;
    }
}
/* === hvac-page-templates.css === */
/**
 * HVAC Page Templates - Global Styles
 * Ensures consistent layout for all HVAC plugin pages
 */

/* Hide sidebars on all HVAC pages */
.hvac-page .widget-area,
.hvac-page .sidebar,
.hvac-page #secondary,
.hvac-page aside.widget-area,
.hvac-community-events .widget-area,
.hvac-community-events .sidebar,
.hvac-community-events #secondary,
.hvac-community-events aside.widget-area {
    display: none !important;
}

/* Full width layout for HVAC pages */
.hvac-page #primary,
.hvac-page .content-area,
.hvac-page .site-main,
.hvac-page main,
.hvac-community-events #primary,
.hvac-community-events .content-area,
.hvac-community-events .site-main,
.hvac-community-events main {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto;
}

/* Ensure content wrapper spans full width */
.hvac-page-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Container styles for consistent spacing */
.hvac-page-wrapper .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Remove default page title since we handle it in our templates */
.hvac-page .entry-title,
.hvac-community-events .entry-title {
    display: none !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hvac-page-wrapper {
        padding: 20px 15px;
    }
    
    .hvac-page-wrapper .container {
        padding: 0 15px;
    }
}
/* === hvac-accessibility-fixes.css === */
/**
 * HVAC Accessibility Fixes
 * Addresses accessibility issues identified by PowerMapper audit
 */

/* Improve color contrast for menu items */
.menu-text {
    /* Ensure better contrast ratios for text visibility */
    color: #2c3e50 !important; /* Dark blue-gray for better contrast */
}

/* Active/hover states for menu items */
.menu-item:hover .menu-text,
.menu-item:focus .menu-text {
    color: #1a252f !important; /* Even darker for active states */
}

/* Ensure ARIA buttons in third-party plugins have better accessibility */
[role="button"] {
    /* Add minimum touch target size */
    min-width: 44px;
    min-height: 44px;
}

/* Improve focus indicators */
[role="button"]:focus,
button:focus,
.hvac-trainer-card:focus,
a:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* Ensure trainer badges don't cause layout shift */
.hvac-mq-badge {
    width: 35px;
    height: 35px;
    display: block;
}

/* Screen reader improvements */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Improve MapGeo button accessibility where possible */
.imapsSprite-group[role="button"] {
    /* Add screen reader text for map buttons */
    position: relative;
}

.imapsSprite-group[role="button"]::before {
    content: "Map marker";
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .menu-text {
        color: #000000 !important;
    }
    
    .hvac-trainer-card {
        border: 2px solid #000000;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus management for trainer cards */
.hvac-trainer-card {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hvac-trainer-card:hover,
.hvac-trainer-card:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Ensure proper color contrast for certification badges */
.hvac-trainer-card .certification-type {
    background-color: #2c3e50;
    color: #ffffff;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 500;
}
/* === hvac-mobile-responsive.css === */
/*
 * HVAC Mobile Responsive Optimizations
 * Comprehensive mobile-first responsive design improvements
 * 
 * Addresses critical mobile usability issues:
 * - Non-responsive tables converted to card layouts
 * - Touch-friendly interactions (44x44px minimum)
 * - Improved form layouts and spacing
 * - Enhanced navigation for mobile devices
 * 
 * @version 1.0.0
 * @author HVAC Community Events Plugin
 */

/* ====================================
   CRITICAL MOBILE PADDING FIXES
   ==================================== */

/* Fix cramped mobile layout - ensure minimum 20px padding on all sides */
@media screen and (max-width: 768px) {
    
    /* Global mobile container padding */
    .hvac-page-wrapper,
    .hvac-trainer-dashboard-page,
    .hvac-trainer-profile-page,
    .hvac-trainer-registration-page,
    .hvac-community-login-wrapper,
    .hvac-certificate-reports-page,
    .hvac-generate-certificates-page,
    .hvac-venue-page,
    .hvac-organizer-page,
    .hvac-training-leads-page {
        padding-left: max(20px, env(safe-area-inset-left)) !important;
        padding-right: max(20px, env(safe-area-inset-right)) !important;
        box-sizing: border-box !important;
    }
    
    /* Container elements that need proper mobile spacing */
    .container,
    .hvac-content,
    .site-main,
    #primary,
    #main {
        padding-left: max(20px, env(safe-area-inset-left)) !important;
        padding-right: max(20px, env(safe-area-inset-right)) !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
    }
    
    /* Override theme constraints that cause narrow content */
    .ast-container,
    .ast-single-post .entry-content,
    .ast-page-content,
    .entry-content {
        padding-left: max(20px, env(safe-area-inset-left)) !important;
        padding-right: max(20px, env(safe-area-inset-right)) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }
    
    /* Plugin-specific content areas */
    .hvac-dashboard-content,
    .hvac-profile-content,
    .hvac-certificate-content,
    .hvac-venue-content,
    .hvac-organizer-content,
    .hvac-registration-content {
        padding: 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Cards and panels need internal padding while maintaining outer spacing */
    .hvac-stat-card,
    .hvac-event-card,
    .hvac-profile-card,
    .hvac-form-card {
        margin-left: 10px !important;
        margin-right: 10px !important;
        padding: 15px !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure form containers have proper spacing */
    .hvac-form-container,
    .hvac-registration-form-container {
        padding: 20px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Extra small mobile devices need more conservative spacing */
@media screen and (max-width: 375px) {
    
    /* Reduce padding slightly on very small screens but maintain minimum 15px */
    .hvac-page-wrapper,
    .hvac-trainer-dashboard-page,
    .hvac-trainer-profile-page,
    .hvac-trainer-registration-page {
        padding-left: max(15px, env(safe-area-inset-left)) !important;
        padding-right: max(15px, env(safe-area-inset-right)) !important;
    }
    
    .container,
    .hvac-content,
    .site-main,
    #primary,
    #main {
        padding-left: max(15px, env(safe-area-inset-left)) !important;
        padding-right: max(15px, env(safe-area-inset-right)) !important;
    }
    
    /* Smaller internal card padding on tiny screens */
    .hvac-stat-card,
    .hvac-event-card,
    .hvac-profile-card {
        margin-left: 5px !important;
        margin-right: 5px !important;
        padding: 12px !important;
    }
}

/* ====================================
   MOBILE-FIRST RESPONSIVE TABLES
   ==================================== */

/* Dashboard Events Table - Mobile Card Layout */
@media screen and (max-width: 768px) {
    
    /* Hide table structure on mobile */
    .hvac-events-table-wrapper .events-table,
    .hvac-events-table-wrapper .events-table thead,
    .hvac-events-table-wrapper .events-table tbody,
    .hvac-events-table-wrapper .events-table th,
    .hvac-events-table-wrapper .events-table td,
    .hvac-events-table-wrapper .events-table tr {
        display: block;
    }
    
    /* Hide table headers on mobile */
    .hvac-events-table-wrapper .events-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    /* Style each table row as a card */
    .hvac-events-table-wrapper .events-table tbody tr {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 15px;
        padding: 15px;
        position: relative;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    /* Style table cells as stacked content */
    .hvac-events-table-wrapper .events-table td {
        border: none;
        padding: 8px 0;
        position: relative;
        padding-left: 35% !important;
        word-wrap: break-word;
        hyphens: auto;
    }
    
    /* Add labels to each cell using pseudo-elements */
    .hvac-events-table-wrapper .events-table td:before {
        content: attr(data-label) ": ";
        position: absolute;
        left: 6px;
        width: 30%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: 600;
        color: #333;
        text-align: left;
    }
    
    /* Specific labels for each column */
    .hvac-events-table-wrapper .events-table .column-status:before {
        content: "Status";
    }
    
    .hvac-events-table-wrapper .events-table .column-title:before {
        content: "Event";
    }
    
    .hvac-events-table-wrapper .events-table .column-date:before {
        content: "Date";
    }
    
    .hvac-events-table-wrapper .events-table .column-organizer:before {
        content: "Organizer";
    }
    
    .hvac-events-table-wrapper .events-table .column-capacity:before {
        content: "Capacity";
    }
    
    .hvac-events-table-wrapper .events-table .column-sold:before {
        content: "Sold";
    }
    
    .hvac-events-table-wrapper .events-table .column-revenue:before {
        content: "Revenue";
    }
    
    .hvac-events-table-wrapper .events-table .column-actions:before {
        content: "Actions";
    }
    
    /* Make actions more touch-friendly */
    .hvac-events-table-wrapper .events-table .column-actions {
        padding-left: 10px !important;
    }
    
    .hvac-events-table-wrapper .events-table .column-actions a {
        display: inline-block;
        margin: 2px 5px;
        padding: 8px 12px;
        background: #0073aa;
        color: white !important;
        text-decoration: none;
        border-radius: 4px;
        min-height: 44px;
        min-width: 60px;
        text-align: center;
        line-height: 1.4;
        font-size: 14px;
        box-sizing: border-box;
    }
    
    .hvac-events-table-wrapper .events-table .column-actions a:hover {
        background: #005a87;
        color: white !important;
    }
}

/* Certificate Reports Table - Mobile Card Layout */
@media screen and (max-width: 768px) {
    
    /* Certificate table responsive styling */
    .hvac-certificate-table-wrapper .hvac-certificate-table,
    .hvac-certificate-table-wrapper .hvac-certificate-table thead,
    .hvac-certificate-table-wrapper .hvac-certificate-table tbody,
    .hvac-certificate-table-wrapper .hvac-certificate-table th,
    .hvac-certificate-table-wrapper .hvac-certificate-table td,
    .hvac-certificate-table-wrapper .hvac-certificate-table tr {
        display: block;
    }
    
    /* Hide certificate table headers */
    .hvac-certificate-table-wrapper .hvac-certificate-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    /* Certificate cards styling */
    .hvac-certificate-table-wrapper .hvac-certificate-table tbody tr {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 15px;
        padding: 15px;
        position: relative;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    /* Certificate table cells */
    .hvac-certificate-table-wrapper .hvac-certificate-table td {
        border: none;
        padding: 8px 0;
        position: relative;
        padding-left: 35% !important;
    }
    
    /* Certificate labels */
    .hvac-certificate-table-wrapper .hvac-certificate-table td:before {
        content: attr(data-label) ": ";
        position: absolute;
        left: 6px;
        width: 30%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: 600;
        color: #333;
    }
    
    /* Certificate action buttons */
    .hvac-certificate-table-wrapper .hvac-certificate-actions button {
        display: inline-block;
        margin: 2px 5px;
        padding: 8px 12px;
        min-height: 44px;
        min-width: 60px;
        font-size: 14px;
    }
}

/* ====================================
   REGISTRATION FORM MOBILE UX
   ==================================== */

@media screen and (max-width: 768px) {
    
    /* Registration form container improvements */
    .hvac-trainer-registration-page .container,
    .hvac-registration-form-container {
        padding: 10px;
        max-width: 100%;
    }
    
    /* Form sections as collapsible cards */
    .hvac-registration-section {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 20px;
        overflow: hidden;
    }
    
    .hvac-registration-section-header {
        background: #f8f9fa;
        padding: 15px 20px;
        border-bottom: 1px solid #e0e0e0;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
        min-height: 44px;
    }
    
    .hvac-registration-section-header h3 {
        margin: 0;
        font-size: 18px;
        color: #333;
    }
    
    .hvac-registration-section-toggle {
        font-size: 20px;
        color: #666;
        transition: transform 0.2s ease;
    }
    
    .hvac-registration-section.collapsed .hvac-registration-section-toggle {
        transform: rotate(-90deg);
    }
    
    .hvac-registration-section-content {
        padding: 20px;
        max-height: 2000px;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    
    .hvac-registration-section.collapsed .hvac-registration-section-content {
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    
    /* Form fields mobile styling */
    .hvac-form-field,
    .hvac-registration-form .form-field {
        margin-bottom: 20px;
    }
    
    .hvac-form-field label,
    .hvac-registration-form label {
        display: block;
        margin-bottom: 8px;
        font-weight: 600;
        color: #333;
        font-size: 16px;
    }
    
    .hvac-form-field input,
    .hvac-form-field select,
    .hvac-form-field textarea,
    .hvac-registration-form input,
    .hvac-registration-form select,
    .hvac-registration-form textarea {
        width: 100%;
        padding: 12px 15px;
        font-size: 16px; /* Prevent zoom on iOS */
        border: 2px solid #e0e0e0;
        border-radius: 6px;
        background: #fff;
        box-sizing: border-box;
        min-height: 44px;
        -webkit-appearance: none;
        transition: border-color 0.2s ease;
    }
    
    .hvac-form-field input:focus,
    .hvac-form-field select:focus,
    .hvac-form-field textarea:focus,
    .hvac-registration-form input:focus,
    .hvac-registration-form select:focus,
    .hvac-registration-form textarea:focus {
        outline: none;
        border-color: #0073aa;
        box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
    }
    
    /* File upload styling */
    .hvac-form-field input[type="file"] {
        padding: 10px;
        background: #f8f9fa;
    }
    
    /* Checkbox and radio improvements */
    .hvac-form-field input[type="checkbox"],
    .hvac-form-field input[type="radio"] {
        width: auto;
        margin-right: 10px;
        min-height: 20px;
        min-width: 20px;
    }
    
    /* Multi-select checkboxes */
    .hvac-checkbox-group {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    
    .hvac-checkbox-item {
        display: flex;
        align-items: center;
        padding: 12px;
        background: #f8f9fa;
        border-radius: 6px;
        min-height: 44px;
    }
    
    .hvac-checkbox-item label {
        margin: 0 0 0 12px;
        font-weight: normal;
        cursor: pointer;
        flex: 1;
    }
    
    /* Submit button */
    .hvac-form-submit,
    .hvac-registration-form input[type="submit"],
    .hvac-registration-form button[type="submit"] {
        width: 100%;
        padding: 15px 20px;
        font-size: 18px;
        font-weight: 600;
        background: #0073aa;
        color: white;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        min-height: 52px;
        margin-top: 20px;
        transition: background-color 0.2s ease;
        -webkit-tap-highlight-color: transparent;
    }
    
    .hvac-form-submit:hover,
    .hvac-registration-form input[type="submit"]:hover,
    .hvac-registration-form button[type="submit"]:hover {
        background: #005a87;
    }
}

/* ====================================
   MOBILE NAVIGATION ENHANCEMENTS
   ==================================== */

@media screen and (max-width: 768px) {
    
    /* Trainer navigation mobile improvements */
    .hvac-trainer-navigation {
        background: #fff;
        border-bottom: 2px solid #e0e0e0;
        padding: 0;
        position: relative;
    }
    
    /* Mobile menu toggle */
    .hvac-mobile-menu-toggle {
        display: block;
        background: none;
        border: none;
        padding: 15px 20px;
        font-size: 18px;
        cursor: pointer;
        width: 100%;
        text-align: left;
        color: #333;
        min-height: 54px;
        position: relative;
        -webkit-tap-highlight-color: transparent;
    }
    
    .hvac-mobile-menu-toggle:after {
        content: "☰";
        float: right;
        font-size: 20px;
        line-height: 1.2;
    }
    
    .hvac-mobile-menu-toggle.active:after {
        content: "✕";
    }
    
    /* Navigation menu mobile layout */
    .hvac-trainer-nav-menu {
        display: none;
        background: #fff;
        border-top: 1px solid #e0e0e0;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 1000;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }
    
    .hvac-trainer-nav-menu.active {
        display: block;
    }
    
    .hvac-trainer-nav-menu ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    .hvac-trainer-nav-menu > ul > li {
        border-bottom: 1px solid #f0f0f0;
    }
    
    .hvac-trainer-nav-menu a {
        display: block;
        padding: 15px 20px;
        color: #333;
        text-decoration: none;
        font-size: 16px;
        min-height: 54px;
        line-height: 1.5;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
    }
    
    .hvac-trainer-nav-menu a:hover,
    .hvac-trainer-nav-menu a:focus {
        background: #f8f9fa;
        color: #0073aa;
    }
    
    /* Submenu styling */
    .hvac-trainer-nav-menu .has-submenu > a:after {
        content: "▸";
        float: right;
        transition: transform 0.2s ease;
    }
    
    .hvac-trainer-nav-menu .has-submenu.active > a:after {
        transform: rotate(90deg);
    }
    
    .hvac-trainer-nav-menu .submenu {
        display: none;
        background: #f8f9fa;
    }
    
    .hvac-trainer-nav-menu .has-submenu.active .submenu {
        display: block;
    }
    
    .hvac-trainer-nav-menu .submenu a {
        padding-left: 40px;
        font-size: 15px;
        color: #666;
    }
    
    /* Help menu positioning */
    .hvac-trainer-nav-help {
        position: absolute;
        top: 15px;
        right: 20px;
        z-index: 1001;
    }
    
    .hvac-trainer-nav-help a {
        display: block;
        width: 44px;
        height: 44px;
        line-height: 44px;
        text-align: center;
        background: #0073aa;
        color: white;
        border-radius: 22px;
        text-decoration: none;
        font-size: 18px;
        font-weight: bold;
    }
}

/* ====================================
   DASHBOARD STATS MOBILE LAYOUT
   ==================================== */

@media screen and (max-width: 480px) {
    
    /* Single column layout on very small screens */
    .hvac-stats-row {
        flex-direction: column;
        margin: 0;
    }
    
    .hvac-stat-col {
        padding: 5px 0;
        min-width: 100%;
        flex: none;
    }
    
    .hvac-stat-card {
        margin-bottom: 15px;
        padding: 20px 15px;
    }
    
    .hvac-stat-card .metric-value,
    .hvac-stat-card p {
        font-size: 28px;
    }
    
    .hvac-stat-card h3 {
        font-size: 16px;
        margin-bottom: 10px;
    }
}

/* ====================================
   FORM CONTROLS MOBILE LAYOUT
   ==================================== */

@media screen and (max-width: 768px) {
    
    /* Table controls responsive */
    .hvac-table-controls {
        flex-direction: column;
        align-items: stretch;
        padding: 15px;
        gap: 15px;
    }
    
    .hvac-search-box input,
    .hvac-date-filters input,
    .hvac-per-page select {
        width: 100%;
        padding: 12px 15px;
        font-size: 16px;
        border: 2px solid #e0e0e0;
        border-radius: 6px;
        min-height: 44px;
        box-sizing: border-box;
    }
    
    .hvac-date-filters {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .hvac-date-filters label {
        font-weight: 600;
        margin-bottom: 5px;
    }
    
    /* Event filters mobile */
    .hvac-event-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    
    .hvac-event-filters span {
        margin-bottom: 10px;
    }
    
    .hvac-filter {
        width: 100%;
        text-align: center;
        padding: 12px 15px !important;
        margin: 2px 0 !important;
        min-height: 44px;
        box-sizing: border-box;
    }
}

/* ====================================
   MODAL AND POPUP MOBILE STYLES
   ==================================== */

@media screen and (max-width: 768px) {
    
    /* Modal responsive adjustments */
    .hvac-modal,
    .hvac-popup {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        max-height: none;
        border-radius: 0;
        margin: 0;
    }
    
    .hvac-modal-content,
    .hvac-popup-content {
        height: 100%;
        overflow-y: auto;
        padding: 20px;
        box-sizing: border-box;
    }
    
    .hvac-modal-header {
        position: sticky;
        top: 0;
        background: #fff;
        border-bottom: 1px solid #e0e0e0;
        padding: 15px 0;
        z-index: 10;
    }
    
    .hvac-modal-close {
        position: absolute;
        top: 15px;
        right: 15px;
        width: 44px;
        height: 44px;
        line-height: 44px;
        text-align: center;
        font-size: 20px;
        background: #f0f0f0;
        border-radius: 22px;
        text-decoration: none;
        color: #333;
    }
}

/* ====================================
   ACCESSIBILITY IMPROVEMENTS
   ==================================== */

/* Enhanced focus styles for mobile */
@media screen and (max-width: 768px) {
    
    /* Larger focus indicators for touch devices */
    *:focus {
        outline: 3px solid #0073aa;
        outline-offset: 2px;
    }
    
    /* Button focus improvements */
    .hvac-button:focus,
    .hvac-form-submit:focus,
    button:focus,
    input[type="submit"]:focus {
        outline: 3px solid #0073aa;
        outline-offset: 3px;
        box-shadow: 0 0 0 6px rgba(0, 115, 170, 0.2);
    }
    
    /* Link focus improvements */
    a:focus {
        outline: 3px solid #0073aa;
        outline-offset: 2px;
        background-color: rgba(0, 115, 170, 0.1);
        border-radius: 3px;
    }
}

/* ====================================
   UTILITY CLASSES FOR MOBILE
   ==================================== */

/* Touch-friendly sizing */
.hvac-touch-target {
    min-height: 44px;
    min-width: 44px;
    padding: 12px 15px;
    box-sizing: border-box;
}

/* Mobile-only visibility */
.hvac-mobile-only {
    display: none;
}

@media screen and (max-width: 768px) {
    .hvac-mobile-only {
        display: block;
    }
    
    .hvac-desktop-only {
        display: none !important;
    }
}

/* Text sizing for mobile */
@media screen and (max-width: 768px) {
    .hvac-mobile-text-sm {
        font-size: 14px;
    }
    
    .hvac-mobile-text-base {
        font-size: 16px;
    }
    
    .hvac-mobile-text-lg {
        font-size: 18px;
    }
}

/* Mobile spacing utilities */
@media screen and (max-width: 768px) {
    .hvac-mobile-p-0 { padding: 0 !important; }
    .hvac-mobile-p-1 { padding: 10px !important; }
    .hvac-mobile-p-2 { padding: 20px !important; }
    
    .hvac-mobile-m-0 { margin: 0 !important; }
    .hvac-mobile-m-1 { margin: 10px !important; }
    .hvac-mobile-m-2 { margin: 20px !important; }
    
    .hvac-mobile-mb-0 { margin-bottom: 0 !important; }
    .hvac-mobile-mb-1 { margin-bottom: 10px !important; }
    .hvac-mobile-mb-2 { margin-bottom: 20px !important; }
}

/* ====================================
   ADDITIONAL MOBILE FIXES
   ==================================== */

/* Touch feedback styling */
.hvac-touch-active {
    opacity: 0.7;
    transform: scale(0.98);
    transition: opacity 0.1s ease, transform 0.1s ease;
}

/* Prevent body scrolling when modal is open on mobile */
body.hvac-modal-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

/* Swipe feedback for mobile modals */
.hvac-swipe-feedback {
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

/* Horizontal scroll indicator for tables */
.has-horizontal-scroll::after {
    content: "← Scroll to see more →";
    display: block;
    text-align: center;
    padding: 10px;
    background: #f8f9fa;
    color: #666;
    font-size: 12px;
    border-top: 1px solid #e0e0e0;
}

/* Enhanced button sizing for mobile */
@media screen and (max-width: 768px) {
    .hvac-button,
    .hvac-form-submit,
    button,
    input[type="submit"],
    input[type="button"] {
        min-height: 48px;
        font-size: 16px;
        padding: 12px 16px;
        border-radius: 6px;
    }
    
    /* Ensure select dropdowns are large enough */
    select {
        min-height: 48px;
        font-size: 16px;
        padding: 10px 12px;
    }
}

/* Fix for iOS Safari form element styling */
@supports (-webkit-appearance: none) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="url"],
    input[type="tel"],
    input[type="number"],
    select,
    textarea {
        -webkit-appearance: none;
        border-radius: 6px;
    }
}

/* WordPress admin bar mobile adjustments */
@media screen and (max-width: 768px) {
    .admin-bar .hvac-page-wrapper {
        padding-top: 20px; /* Account for mobile admin bar */
    }
}

/* Better handling of long content in mobile cards */
@media screen and (max-width: 768px) {
    .hvac-events-table-wrapper .events-table td,
    .hvac-certificate-table-wrapper .hvac-certificate-table td {
        word-break: break-word;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
    }
    
    /* Truncate very long URLs or content */
    .hvac-events-table-wrapper .events-table .column-title a,
    .hvac-certificate-table-wrapper .hvac-certificate-table td a {
        max-width: 200px;
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: middle;
    }
}

/* Improved focus handling for touch devices */
@media screen and (max-width: 768px) {
    .hvac-touch-device *:focus {
        outline: 3px solid #0073aa;
        outline-offset: 3px;
    }
    
    /* Remove focus on tap for touch devices */
    .hvac-touch-device button:focus:not(:focus-visible),
    .hvac-touch-device input:focus:not(:focus-visible),
    .hvac-touch-device select:focus:not(:focus-visible),
    .hvac-touch-device textarea:focus:not(:focus-visible) {
        outline: none;
    }
}

/* ====================================
   PRINT STYLES OPTIMIZATION
   ==================================== */

@media print {
    /* Hide mobile-specific elements when printing */
    .hvac-mobile-menu-toggle,
    .hvac-trainer-nav-help,
    .hvac-mobile-only {
        display: none !important;
    }
    
    /* Restore table layout for printing */
    .hvac-events-table-wrapper .events-table,
    .hvac-certificate-table-wrapper .hvac-certificate-table {
        display: table !important;
    }
    
    .hvac-events-table-wrapper .events-table tr,
    .hvac-certificate-table-wrapper .hvac-certificate-table tr {
        display: table-row !important;
    }
    
    .hvac-events-table-wrapper .events-table td,
    .hvac-events-table-wrapper .events-table th,
    .hvac-certificate-table-wrapper .hvac-certificate-table td,
    .hvac-certificate-table-wrapper .hvac-certificate-table th {
        display: table-cell !important;
        padding: 5px !important;
    }
    
    .hvac-events-table-wrapper .events-table td:before,
    .hvac-certificate-table-wrapper .hvac-certificate-table td:before {
        display: none !important;
    }
}
/* === hvac-mobile-navigation-fix.css === */
/**
 * HVAC Mobile Navigation Fix
 * Resolves navigation conflicts and overlapping elements on mobile devices
 * 
 * @package HVAC_Community_Events
 * @version 2.0.0
 * @created 2025-08-13
 */

/* === Mobile Navigation Consolidation === */
@media (max-width: 768px) {
    
    /* Hide duplicate navigation elements on mobile */
    .site-navigation:not(.hvac-trainer-nav),
    .ast-mobile-header-wrap:not(.hvac-mobile-nav),
    .ast-main-header-nav-open {
        display: none !important;
    }
    
    /* Ensure HVAC navigation is primary on mobile */
    .hvac-trainer-nav {
        display: block !important;
        position: relative;
        z-index: 9999;
        width: 100%;
    }
    
    /* Fix hamburger menu positioning */
    .hvac-menu-toggle {
        position: fixed;
        top: 15px;
        right: 15px;
        z-index: 10000;
        background: #fff;
        border: 1px solid #ddd;
        padding: 10px;
        border-radius: 4px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }
    
    /* Mobile menu container */
    .hvac-nav-menu.mobile-active {
        position: fixed;
        top: 60px;
        left: 0;
        right: 0;
        bottom: 0;
        background: #fff;
        z-index: 9998;
        overflow-y: auto;
        box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }
    
    /* Prevent body scroll when menu is open */
    body.hvac-menu-open {
        overflow: hidden;
        position: fixed;
        width: 100%;
    }
    
    /* Mobile menu items */
    .hvac-nav-menu.mobile-active .menu-item {
        display: block;
        width: 100%;
        border-bottom: 1px solid #eee;
    }
    
    .hvac-nav-menu.mobile-active .menu-item a {
        display: block;
        padding: 15px 20px;
        text-decoration: none;
        color: #333;
        font-size: 16px;
    }
    
    /* Dropdown handling on mobile */
    .hvac-nav-menu.mobile-active .has-dropdown > a::after {
        content: '▼';
        float: right;
        transition: transform 0.3s;
    }
    
    .hvac-nav-menu.mobile-active .has-dropdown.open > a::after {
        transform: rotate(180deg);
    }
    
    .hvac-nav-menu.mobile-active .dropdown-menu {
        position: static;
        display: none;
        background: #f8f8f8;
        box-shadow: none;
        padding-left: 20px;
    }
    
    .hvac-nav-menu.mobile-active .has-dropdown.open .dropdown-menu {
        display: block;
    }
    
    /* Fix breadcrumb navigation conflicts */
    .hvac-breadcrumb-wrapper {
        display: none;
    }
    
    /* Touch-friendly button sizes */
    .hvac-nav-menu.mobile-active button,
    .hvac-nav-menu.mobile-active a {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* Fix overlapping with page content */
    .hvac-page-content {
        padding-top: 70px;
    }
    
    /* Welcome popup mobile fix */
    .hvac-welcome-popup {
        position: fixed;
        top: 60px;
        left: 10px;
        right: 10px;
        bottom: 10px;
        max-height: calc(100vh - 80px);
    }
    
    .hvac-welcome-popup .carousel-container {
        height: auto;
        max-height: 350px;
    }
    
    /* Event forms on mobile */
    .hvac-event-form-wrapper {
        padding: 15px;
    }
    
    .hvac-event-form-wrapper iframe {
        height: auto;
        min-height: 800px;
    }
}

/* === Tablet Specific Fixes === */
@media (min-width: 769px) and (max-width: 1024px) {
    .hvac-trainer-nav .hvac-nav-menu {
        display: flex;
        flex-wrap: wrap;
    }
    
    .hvac-trainer-nav .menu-item {
        flex: 0 0 auto;
    }
    
    /* Dropdown positioning on tablets */
    .hvac-trainer-nav .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 200px;
    }
}

/* === Accessibility Improvements === */
@media (prefers-reduced-motion: reduce) {
    .hvac-nav-menu,
    .hvac-nav-menu * {
        animation: none !important;
        transition: none !important;
    }
}

/* === High Contrast Mode Support === */
@media (prefers-contrast: high) {
    .hvac-trainer-nav {
        border: 2px solid currentColor;
    }
    
    .hvac-nav-menu a:focus {
        outline: 3px solid currentColor;
        outline-offset: 2px;
    }
}

/* === Print Styles === */
@media print {
    .hvac-trainer-nav,
    .hvac-menu-toggle,
    .hvac-breadcrumb-wrapper {
        display: none !important;
    }
}
/* === hvac-breadcrumbs.css === */
/**
 * HVAC Breadcrumbs Styles
 * 
 * Clean, modern breadcrumb styling that matches the HVAC trainer interface
 * 
 * @package HVAC_Community_Events
 * @since 2.0.0
 */

/* Breadcrumb Container */
.hvac-breadcrumbs {
    margin: 0 0 20px 0;
    padding: 10px 0;
    border-bottom: 1px solid #e9ecef;
    background: transparent;
}

/* Breadcrumb List */
.hvac-breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

/* Breadcrumb Items */
.hvac-breadcrumb-item {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.4;
}

.hvac-breadcrumb-item:not(:last-child) {
    margin-right: 8px;
}

/* Breadcrumb Links */
.hvac-breadcrumb-item a {
    color: #007cba;
    text-decoration: none;
    padding: 4px;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.hvac-breadcrumb-item a:hover {
    color: #005a87;
    background-color: rgba(0, 124, 186, 0.1);
    text-decoration: none;
}

.hvac-breadcrumb-item a:focus {
    outline: 2px solid #007cba;
    outline-offset: 1px;
}

/* Current Page (Last Item) */
.hvac-breadcrumb-current .hvac-breadcrumb-current-text {
    color: #495057;
    font-weight: 600;
    padding: 4px;
}

/* Separators */
.hvac-breadcrumb-separator {
    color: #6c757d;
    margin: 0 8px;
    font-weight: normal;
    user-select: none;
}

/* Home Breadcrumb Special Styling */
.hvac-breadcrumb-home a {
    display: inline-flex;
    align-items: center;
}

.hvac-breadcrumb-home a::before {
    content: '🏠';
    margin-right: 4px;
    font-size: 12px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .hvac-breadcrumbs {
        margin: 0 0 15px 0;
        padding: 8px 0;
    }
    
    .hvac-breadcrumb-item {
        font-size: 13px;
    }
    
    .hvac-breadcrumb-list {
        gap: 0;
    }
    
    .hvac-breadcrumb-separator {
        margin: 0 6px;
    }
    
    /* Stack breadcrumbs on very small screens if needed */
    @media (max-width: 480px) {
        .hvac-breadcrumb-list {
            flex-wrap: wrap;
        }
        
        .hvac-breadcrumb-item {
            font-size: 12px;
        }
    }
}

/* Dark Mode Support (if theme supports it) */
@media (prefers-color-scheme: dark) {
    .hvac-breadcrumbs {
        border-bottom-color: #495057;
    }
    
    .hvac-breadcrumb-item a {
        color: #66b3ff;
    }
    
    .hvac-breadcrumb-item a:hover {
        color: #99ccff; 
        background-color: rgba(102, 179, 255, 0.1);
    }
    
    .hvac-breadcrumb-current .hvac-breadcrumb-current-text {
        color: #f8f9fa;
    }
    
    .hvac-breadcrumb-separator {
        color: #adb5bd;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .hvac-breadcrumb-item a {
        border: 1px solid transparent;
    }
    
    .hvac-breadcrumb-item a:hover,
    .hvac-breadcrumb-item a:focus {
        border-color: currentColor;
        background-color: transparent;
    }
    
    .hvac-breadcrumb-separator {
        font-weight: bold;
    }
}

/* Print Styles */
@media print {
    .hvac-breadcrumbs {
        border-bottom: 1px solid #000;
        margin-bottom: 20px;
    }
    
    .hvac-breadcrumb-item a {
        color: #000;
        text-decoration: underline;
    }
    
    .hvac-breadcrumb-separator {
        color: #000;
    }
}

/* Animation for dynamic breadcrumb updates */
@keyframes breadcrumbFadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hvac-breadcrumbs.hvac-breadcrumbs-updated {
    animation: breadcrumbFadeIn 0.3s ease-out;
}

/* Integration with existing HVAC styles */
.hvac-page-wrapper .hvac-breadcrumbs {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.hvac-container .hvac-breadcrumbs {
    margin-top: -10px;
    margin-bottom: 30px;
}

/* Ensure proper spacing with menu system */
.hvac-trainer-menu-wrapper + .hvac-breadcrumbs {
    margin-top: 20px;
}
/* === hvac-menu-system.css === */
/**
 * HVAC Menu System Styles
 * WordPress-compliant navigation styling
 */

/* Dashboard navigation - NO container styling */
.hvac-trainer-dashboard-page .hvac-trainer-menu-wrapper {
    background: transparent !important;
    border: none !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    display: block !important;
}

/* Other pages - container styling (but NOT dashboard) */
.hvac-page-wrapper:not(.hvac-trainer-dashboard-page) .hvac-trainer-menu-wrapper {
    background: #ffffff !important;
    border-bottom: 1px solid #e0e0e0 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    width: 100% !important;
    display: block !important;
}

.hvac-trainer-nav {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.hvac-page-wrapper .hvac-trainer-menu,
.hvac-trainer-menu {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
}

/* Position help menu item to the far right */
.hvac-trainer-menu .hvac-help-menu-item {
    margin-left: auto !important;
    order: 999 !important; /* Ensure it's always last */
}

/* Style the help menu icon */
.hvac-trainer-menu .hvac-help-menu-item a {
    padding: 15px 10px !important;
    font-size: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
}

.hvac-trainer-menu .hvac-help-menu-item .dashicons {
    font-size: 18px !important;
}

.hvac-page-wrapper .hvac-trainer-menu .menu-item,
.hvac-trainer-menu .menu-item {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    list-style: none !important;
}

.hvac-trainer-menu .menu-item > a,
.hvac-trainer-menu .menu-item > .menu-toggle {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    background: none;
    font-size: 14px;
}

.hvac-trainer-menu .menu-item > a:hover,
.hvac-trainer-menu .menu-item > .menu-toggle:hover {
    background-color: #f8f9fa;
    color: #007cba;
}

.hvac-trainer-menu .menu-item.has-children > .menu-toggle {
    position: relative;
}

.hvac-trainer-menu .menu-item .dashicons {
    margin-right: 8px;
    font-size: 16px;
}

.hvac-trainer-menu .dropdown-arrow {
    margin-left: 8px;
    font-size: 12px;
    transition: transform 0.3s ease;
}

.hvac-trainer-menu .menu-item.has-children.open .dropdown-arrow {
    transform: rotate(180deg);
}

.hvac-trainer-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    list-style: none;
    margin: 0;
    padding: 8px 0;
    min-width: 200px;
    z-index: 9999;
    display: none;
}

.hvac-trainer-menu .menu-item.has-children.open .sub-menu {
    display: block;
}

.hvac-trainer-menu .sub-menu .menu-item {
    width: 100%;
}

.hvac-trainer-menu .sub-menu .menu-item > a {
    padding: 12px 20px;
    font-weight: 400;
    white-space: nowrap;
}

.hvac-trainer-menu .sub-menu .menu-item > a:hover {
    background-color: #f8f9fa;
    color: #007cba;
}

.hvac-trainer-menu .sub-menu .sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: 1px;
}

/* Special styling for logout */
.hvac-trainer-menu .menu-item-logout {
    margin-left: auto;
}

/* Hamburger Menu Styles */
.hvac-hamburger-menu {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    position: relative;
    z-index: 10001;
}

.hvac-hamburger-line {
    display: block;
    width: 25px;
    height: 3px;
    background: #333;
    margin: 5px 0;
    transition: all 0.3s ease;
    border-radius: 2px;
}

/* Hamburger animation when active */
.hvac-hamburger-menu.active .hvac-hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hvac-hamburger-menu.active .hvac-hamburger-line:nth-child(2) {
    opacity: 0;
}

.hvac-hamburger-menu.active .hvac-hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* Mobile Responsive Styles */
@media (max-width: 992px) {
    .hvac-trainer-nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }
    
    .hvac-hamburger-menu {
        display: block !important;
    }
    
    .hvac-page-wrapper .hvac-trainer-menu,
    .hvac-trainer-menu {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: #ffffff !important;
        flex-direction: column !important;
        width: 100% !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
        border-top: 1px solid #e0e0e0 !important;
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        z-index: 10000 !important;
    }
    
    .hvac-page-wrapper .hvac-trainer-menu.active,
    .hvac-trainer-menu.active {
        display: flex !important;
    }
    
    .hvac-trainer-menu .menu-item {
        width: 100% !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    
    .hvac-trainer-menu .menu-item > a,
    .hvac-trainer-menu .menu-item > .menu-toggle {
        padding: 15px 20px !important;
        width: 100% !important;
        justify-content: space-between !important;
    }
    
    /* Sub-menu styles for mobile */
    .hvac-trainer-menu .sub-menu {
        position: static !important;
        display: none !important;
        width: 100% !important;
        box-shadow: none !important;
        border: none !important;
        background: #f8f9fa !important;
        padding-left: 20px !important;
    }
    
    .hvac-trainer-menu .menu-item.has-children.open .sub-menu {
        display: block !important;
    }
    
    .hvac-trainer-menu .sub-menu .menu-item {
        border-bottom: 1px solid #e9ecef !important;
    }
    
    .hvac-trainer-menu .sub-menu .sub-menu {
        position: static !important;
        left: 0 !important;
        margin-left: 0 !important;
        padding-left: 20px !important;
    }
    
    /* Help menu item on mobile */
    .hvac-trainer-menu .hvac-help-menu-item {
        margin-left: 0 !important;
        order: initial !important;
    }
    
    .hvac-trainer-menu .hvac-help-menu-item a {
        justify-content: flex-start !important;
        padding: 15px 20px !important;
    }
    
    .hvac-trainer-menu .hvac-help-menu-item a::after {
        content: "Help" !important;
        margin-left: 8px !important;
    }
}

@media (max-width: 768px) {
    .hvac-trainer-nav {
        padding: 0 15px;
    }
    
    .hvac-trainer-menu .menu-item > a,
    .hvac-trainer-menu .menu-item > .menu-toggle {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }
    
    .hvac-trainer-menu .sub-menu {
        padding-left: 15px !important;
    }
}

.hvac-trainer-menu .menu-item-logout > a {
    color: #d63638;
}

.hvac-trainer-menu .menu-item-logout > a:hover {
    background-color: #f8d7da;
    color: #721c24;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .hvac-page-wrapper .hvac-trainer-menu,
    .hvac-trainer-menu {
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: #ffffff !important;
        width: 100% !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
        border-top: 1px solid #e0e0e0 !important;
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        z-index: 10000 !important;
    }
    
    .hvac-page-wrapper .hvac-trainer-menu.active,
    .hvac-trainer-menu.active {
        display: flex !important;
    }
    
    .hvac-trainer-menu .menu-item {
        width: 100%;
    }
    
    .hvac-trainer-menu .menu-item > a,
    .hvac-trainer-menu .menu-item > .menu-toggle {
        justify-content: space-between;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .hvac-trainer-menu .sub-menu {
        position: static;
        box-shadow: none;
        border: none;
        border-left: 3px solid #007cba;
        margin-left: 20px;
        background: #f8f9fa;
    }
    
    .hvac-trainer-menu .menu-item-logout {
        margin-left: 0;
        border-top: 2px solid #e0e0e0;
        margin-top: 10px;
        padding-top: 10px;
    }
}

/* Active page highlighting */
.hvac-trainer-menu .menu-item.current-menu-item > a,
.hvac-trainer-menu .menu-item.current-menu-parent > a {
    background-color: #007cba;
    color: #ffffff;
}

.hvac-trainer-menu .menu-item.current-menu-item > a:hover,
.hvac-trainer-menu .menu-item.current-menu-parent > a:hover {
    background-color: #005a87;
}