BREAKING CHANGE: Removed Astra theme integration and all theme-specific code
- Removed class-hvac-astra-integration.php (584 lines of theme-specific code)
- Removed 500+ theme-specific CSS files (ast-*, astra-*, divi-*)
- Removed 15+ theme-specific JavaScript files
- Created theme-agnostic HVAC_Layout_Manager class
- Added generic hvac-layout.css with universal styling
- Plugin now works with ANY WordPress theme
This refactoring ensures the plugin complies with WordPress.org plugin
guidelines which require plugins to be theme-independent. The new layout
system uses standard WordPress hooks and filters that work universally.
Key changes:
- Body classes: hvac-plugin-page, hvac-no-sidebar, hvac-full-width
- Generic post meta: _sidebar_layout, page_layout (widely supported)
- Standard WordPress hooks: body_class, wp_enqueue_scripts, is_active_sidebar
- CSS uses generic selectors: .site-content, .content-area, #primary
Removed monitoring infrastructure files that were causing PHP segfaults:
- class-hvac-background-jobs.php
- class-hvac-health-monitor.php
- class-hvac-error-recovery.php
- class-hvac-security-monitor.php
- class-hvac-performance-monitor.php
- class-hvac-backup-manager.php
- class-hvac-cache-optimizer.php
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
		
	
			
		
			
				
	
	
		
			335 lines
		
	
	
		
			No EOL
		
	
	
		
			7.6 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			335 lines
		
	
	
		
			No EOL
		
	
	
		
			7.6 KiB
		
	
	
	
		
			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;
 | |
|     }
 | |
| } |