/*
Theme Name: HomePOWERMENT Elementor
Theme URI: https://homepowerment.ae/
Author: HomePOWERMENT Team
Author URI: https://homepowerment.ae/
Description: Premium Elementor-compatible WordPress theme for HomePOWERMENT. Built for GCC families employing domestic staff. Features modern SaaS design, glassmorphism effects, and conversion-optimized layouts.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: homepowerment
Tags: elementor, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
*/

/* ============================================
   HOME POWERMENT - WORDPRESS THEME STYLES
   Elementor-Compatible | Premium SaaS Design
   ============================================ */

:root {
    --hp-primary: #6C5CE7;
    --hp-primary-light: #A29BFE;
    --hp-primary-dark: #5B4BC4;
    --hp-primary-50: rgba(108, 92, 231, 0.05);
    --hp-primary-100: rgba(108, 92, 231, 0.1);
    --hp-primary-200: rgba(108, 92, 231, 0.2);
    --hp-secondary: #00B894;
    --hp-secondary-light: rgba(0, 184, 148, 0.1);
    --hp-accent-pink: #FD79A8;
    --hp-accent-pink-light: rgba(253, 121, 168, 0.1);
    --hp-accent-orange: #E17055;
    --hp-accent-orange-light: rgba(225, 112, 85, 0.1);
    --hp-accent-yellow: #FDCB6E;
    --hp-accent-yellow-light: rgba(253, 203, 110, 0.15);
    --hp-accent-teal: #00CEC9;
    --hp-accent-teal-light: rgba(0, 206, 201, 0.1);
    --hp-dark: #2D3436;
    --hp-dark-800: #3D4446;
    --hp-dark-600: #636E72;
    --hp-dark-400: #B2BEC3;
    --hp-dark-300: #CFD8DC;
    --hp-light: #F8F9FA;
    --hp-light-200: #F1F3F4;
    --hp-white: #FFFFFF;
    --hp-gradient-primary: linear-gradient(135deg, var(--hp-primary) 0%, var(--hp-primary-light) 100%);
    --hp-gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --hp-gradient-soft: linear-gradient(180deg, var(--hp-light) 0%, var(--hp-white) 100%);
    --hp-gradient-cta: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 50%, #f0e6ff 100%);
    --hp-shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
    --hp-shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
    --hp-shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --hp-shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
    --hp-shadow-xl: 0 20px 60px rgba(0,0,0,0.15);
    --hp-shadow-glow: 0 0 40px rgba(108, 92, 231, 0.25);
    --hp-shadow-colored: 0 8px 32px rgba(108, 92, 231, 0.2);
    --hp-radius-sm: 12px;
    --hp-radius-md: 16px;
    --hp-radius-lg: 24px;
    --hp-radius-xl: 32px;
    --hp-radius-full: 9999px;
    --hp-space-1: 4px;
    --hp-space-2: 8px;
    --hp-space-3: 12px;
    --hp-space-4: 16px;
    --hp-space-5: 20px;
    --hp-space-6: 24px;
    --hp-space-8: 32px;
    --hp-space-10: 40px;
    --hp-space-12: 48px;
    --hp-space-16: 64px;
    --hp-space-20: 80px;
    --hp-space-24: 96px;
    --hp-font-display: 'Outfit', sans-serif;
    --hp-font-body: 'Inter', sans-serif;
    --hp-transition-fast: 150ms ease;
    --hp-transition-base: 250ms ease;
    --hp-transition-slow: 350ms ease;
    --hp-container-max: 1200px;
    --hp-container-narrow: 720px;
    --hp-header-height: 72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-padding-top: calc(var(--hp-header-height) + 20px); }
body { font-family: var(--hp-font-body); font-size: 16px; line-height: 1.7; color: var(--hp-dark); background: var(--hp-white); overflow-x: hidden; margin: 0; padding: 0; }
body.admin-bar .hp-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .hp-header { top: 46px; } }

h1, h2, h3, h4, h5, h6 { font-family: var(--hp-font-display); font-weight: 700; line-height: 1.15; color: var(--hp-dark); letter-spacing: -0.02em; margin: 0 0 0.5em; }
h1 { font-size: clamp(2.5rem, 5vw, 3.75rem); font-weight: 800; line-height: 1.05; }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.75rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
h4 { font-size: 1.1rem; }
p { margin: 0 0 1em; line-height: 1.8; }
a { color: var(--hp-primary); text-decoration: none; transition: color var(--hp-transition-base); }
a:hover { color: var(--hp-primary-dark); }
img { max-width: 100%; height: auto; display: block; }

.hp-container { max-width: var(--hp-container-max); margin: 0 auto; padding: 0 var(--hp-space-6); }
.hp-container-narrow { max-width: var(--hp-container-narrow); margin: 0 auto; padding: 0 var(--hp-space-6); }
.hp-text-center { text-align: center; }
.hp-text-left { text-align: left; }
.hp-text-right { text-align: right; }
.hp-gradient-text { background: var(--hp-gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.hp-section-padding { padding: var(--hp-space-24) 0; }
.hp-section-padding-sm { padding: var(--hp-space-16) 0; }

.hp-badge { display: inline-flex; align-items: center; gap: var(--hp-space-2); padding: var(--hp-space-2) var(--hp-space-4); background: var(--hp-primary-100); color: var(--hp-primary); font-size: 13px; font-weight: 600; border-radius: var(--hp-radius-full); font-family: var(--hp-font-body); letter-spacing: 0.02em; line-height: 1; }
.hp-badge i { font-size: 12px; }
.hp-badge-white { background: rgba(255,255,255,0.15); color: var(--hp-white); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }

.hp-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--hp-space-2); padding: var(--hp-space-4) var(--hp-space-6); font-family: var(--hp-font-body); font-size: 15px; font-weight: 600; border-radius: var(--hp-radius-full); border: none; cursor: pointer; transition: all var(--hp-transition-base); text-decoration: none; line-height: 1; white-space: nowrap; }
.hp-btn-primary { background: var(--hp-gradient-primary); color: var(--hp-white); box-shadow: var(--hp-shadow-sm); }
.hp-btn-primary:hover { transform: translateY(-2px); box-shadow: var(--hp-shadow-colored); color: var(--hp-white); }
.hp-btn-secondary { background: var(--hp-white); color: var(--hp-dark); border: 1.5px solid var(--hp-dark-400); }
.hp-btn-secondary:hover { border-color: var(--hp-primary); color: var(--hp-primary); transform: translateY(-2px); box-shadow: var(--hp-shadow-md); }
.hp-btn-ghost { background: transparent; color: var(--hp-primary); padding: var(--hp-space-3) var(--hp-space-4); }
.hp-btn-ghost:hover { background: var(--hp-primary-50); }
.hp-btn-lg { padding: var(--hp-space-5) var(--hp-space-8); font-size: 16px; }
.hp-btn-full { width: 100%; }

.hp-card { background: var(--hp-white); border-radius: var(--hp-radius-lg); padding: var(--hp-space-8); border: 1px solid rgba(0,0,0,0.06); transition: all var(--hp-transition-base); position: relative; overflow: hidden; }
.hp-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--hp-gradient-primary); transform: scaleX(0); transition: transform var(--hp-transition-slow); }
.hp-card:hover { transform: translateY(-6px); box-shadow: var(--hp-shadow-lg); border-color: transparent; }
.hp-card:hover::before { transform: scaleX(1); }
.hp-card-icon { width: 56px; height: 56px; border-radius: var(--hp-radius-md); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: var(--hp-space-5); transition: transform var(--hp-transition-base); }
.hp-card:hover .hp-card-icon { transform: scale(1.1) rotate(-3deg); }
.hp-card-title { font-size: 1.25rem; font-weight: 700; margin-bottom: var(--hp-space-3); font-family: var(--hp-font-display); }
.hp-card-text { color: var(--hp-dark-600); font-size: 0.95rem; line-height: 1.7; }

.hp-icon-box { display: flex; align-items: flex-start; gap: var(--hp-space-4); padding: var(--hp-space-5); background: var(--hp-light); border-radius: var(--hp-radius-md); transition: all var(--hp-transition-base); }
.hp-icon-box:hover { background: var(--hp-white); box-shadow: var(--hp-shadow-md); transform: translateY(-3px); }
.hp-icon-box-icon { width: 44px; height: 44px; border-radius: var(--hp-radius-sm); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.hp-icon-box-content h4 { font-size: 0.95rem; font-weight: 600; margin-bottom: var(--hp-space-1); font-family: var(--hp-font-body); }
.hp-icon-box-content p { font-size: 0.85rem; color: var(--hp-dark-600); line-height: 1.5; margin: 0; }

.hp-form-group { margin-bottom: var(--hp-space-5); }
.hp-form-label { display: block; font-size: 0.875rem; font-weight: 600; margin-bottom: var(--hp-space-2); color: var(--hp-dark); }
.hp-form-input { width: 100%; padding: var(--hp-space-4) var(--hp-space-5); border: 1.5px solid var(--hp-dark-400); border-radius: var(--hp-radius-full); font-family: var(--hp-font-body); font-size: 15px; outline: none; transition: all var(--hp-transition-base); background: var(--hp-white); color: var(--hp-dark); }
.hp-form-input:focus { border-color: var(--hp-primary); box-shadow: 0 0 0 4px var(--hp-primary-100); }
.hp-form-input::placeholder { color: var(--hp-dark-400); }
textarea.hp-form-input { border-radius: var(--hp-radius-md); min-height: 120px; resize: vertical; }

@keyframes hp-fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hp-fadeInRight { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }
@keyframes hp-float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } }
@keyframes hp-float-delayed { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-15px); } }

.hp-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.hp-reveal.hp-visible { opacity: 1; transform: translateY(0); }
.hp-reveal-delay-1 { transition-delay: 0.1s; }
.hp-reveal-delay-2 { transition-delay: 0.2s; }
.hp-reveal-delay-3 { transition-delay: 0.3s; }
.hp-reveal-delay-4 { transition-delay: 0.4s; }

:focus-visible { outline: 2px solid var(--hp-primary); outline-offset: 2px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
    .hp-reveal { opacity: 1; transform: none; }
}

@media (max-width: 1024px) {
    :root { --hp-space-24: 64px; --hp-space-20: 48px; }
}

@media (max-width: 768px) {
    :root { --hp-header-height: 64px; --hp-space-24: 48px; --hp-space-16: 40px; }
    .hp-section-padding { padding: var(--hp-space-16) 0; }
}

@media (max-width: 480px) {
    .hp-container, .hp-container-narrow { padding: 0 var(--hp-space-4); }
}

/* Elementor Compatibility */
.elementor-section-wrap { position: relative; z-index: 1; }
.elementor-button.hp-btn-primary { background: var(--hp-gradient-primary); border-radius: var(--hp-radius-full); }
.entry-content > * { margin-block-start: 0; margin-block-end: 0; }
.alignwide { max-width: var(--hp-container-max); margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
