/*
Theme Name: NH Care Center
Theme URI: https://nhcarecenter.com
Author: NH Care Center, LLC
Description: Official website theme for NH Care Center, LLC — a licensed New Hampshire home care provider offering personal care, companionship, and skilled nursing services. Features flexible header layouts, Careers with job applications, comprehensive FAQ, and full Customizer control.
Version: 3.1.0
License: GNU General Public License v2 or later
Text Domain: nh-care
Tags: custom-logo, custom-menu, featured-images, theme-options
Requires at least: 5.0
Requires PHP: 7.4
*/

/* ===== VARIABLES ===== */
:root {
    --color-primary: #2a6274;
    --color-primary-dark: #1e4d5c;
    --color-primary-light: #e8f4f8;
    --color-secondary: #3a7d91;
    --color-text: #333;
    --color-text-light: #666;
    --color-text-muted: #888;
    --color-bg: #fff;
    --color-bg-alt: #f5f0eb;
    --color-bg-card: #fff;
    --color-border: #e0e0e0;
    --color-border-light: #e8ecef;
    --font-heading: 'Georgia', 'Times New Roman', serif;
    --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --max-width: 1280px;
    --header-height: 80px;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color .3s}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-primary-dark)}
svg:not([class]){fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}

/* ===== BUTTONS ===== */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;background:var(--color-primary);color:#fff;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .3s;font-family:var(--font-body)}
.btn-primary:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(42,98,116,.3)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;background:transparent;color:var(--color-primary);font-size:1rem;font-weight:600;border:2px solid var(--color-primary);border-radius:8px;cursor:pointer;transition:all .3s;font-family:var(--font-body)}
.btn-secondary:hover{background:var(--color-primary);color:#fff}
.btn-sm{padding:10px 20px;font-size:.875rem}
.btn-cta{display:inline-flex;align-items:center;padding:12px 28px;background:var(--color-primary);color:#fff;font-size:.938rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;transition:all .3s}
.btn-cta:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(42,98,116,.3)}

/* ===== HEADER ===== */
.site-header{position:sticky;top:0;z-index:1000;background:var(--color-bg);border-bottom:3px solid var(--color-primary);height:var(--header-height)}
.header-inner{display:flex;align-items:center;height:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}

/* Header: Logo Left */
.header-layout-logo-left .header-inner{justify-content:flex-start;gap:40px}
.header-layout-logo-left .site-branding{order:1}
.header-layout-logo-left .main-navigation{order:2;flex:1}
.header-layout-logo-left .header-actions{order:3}

/* Header: Logo Center */
.header-layout-logo-center .header-inner{justify-content:center}
.header-layout-logo-center .main-navigation{order:1;flex:1}
.header-layout-logo-center .main-navigation .nav-menu{justify-content:flex-end}
.header-layout-logo-center .site-branding{order:2;margin:0 30px;white-space:nowrap}
.header-layout-logo-center .header-actions{order:3;flex:1;display:flex;justify-content:flex-start}

/* Header: Logo Right */
.header-layout-logo-right .header-inner{justify-content:flex-start;gap:40px;flex-direction:row-reverse}
.header-layout-logo-right .site-branding{order:1}
.header-layout-logo-right .main-navigation{order:2;flex:1}
.header-layout-logo-right .main-navigation .nav-menu{justify-content:flex-end}
.header-layout-logo-right .header-actions{order:3}

/* Branding */
.site-branding a{display:flex;align-items:center;gap:10px}
.site-branding .custom-logo{max-height:50px;width:auto}
.site-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);margin:0;line-height:1}
.site-title a{color:var(--color-primary)}
.site-title a:hover{color:var(--color-primary-dark)}
.site-branding .logo-with-text{display:flex;align-items:center;gap:10px}
.site-branding .site-name-text{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:var(--color-primary);white-space:nowrap}

/* Navigation */
.main-navigation{display:flex;align-items:center}
.nav-menu{display:flex;align-items:center;gap:8px}
.nav-menu li{position:relative}
.nav-menu li a{display:block;padding:8px 16px;font-size:.938rem;color:var(--color-text);font-weight:400;border-radius:6px;transition:all .2s}
.nav-menu li a:hover,.nav-menu li.current-menu-item a,.nav-menu li.current_page_item a{color:var(--color-primary);background:var(--color-primary-light)}
.nav-menu li .sub-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.1);padding:8px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s;z-index:100}
.nav-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-menu li .sub-menu li a{padding:10px 14px;font-size:.875rem}

/* Header Actions */
.header-actions{display:flex;align-items:center;gap:20px}
.header-phone{display:flex;align-items:center;gap:6px;font-size:.938rem;color:var(--color-text);white-space:nowrap}
.header-phone svg{width:16px;height:16px;fill:none;stroke:var(--color-primary);stroke-width:2}

/* Mobile Toggle */
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--color-text);margin:5px 0;transition:.3s;border-radius:2px}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ===== SECTION COMMON ===== */
.section-header{text-align:center;margin-bottom:48px}
.section-title{font-size:2.25rem;color:var(--color-primary-dark);margin-bottom:16px}
.section-subtitle{font-size:1.063rem;color:var(--color-text-light);max-width:640px;margin:0 auto;line-height:1.7}
.section-badge{display:inline-block;padding:6px 16px;background:var(--color-primary-light);color:var(--color-primary);font-size:.813rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;border:1px solid rgba(42,98,116,.15);margin-bottom:24px}

/* ===== HERO ===== */
.hero-section{position:relative;min-height:600px;display:flex;align-items:center;background:linear-gradient(135deg,var(--color-bg) 50%,var(--color-primary-light) 100%);overflow:hidden}
.hero-section .hero-bg{position:absolute;top:0;right:0;width:50%;height:100%;background-size:cover;background-position:center;opacity:.3}
.hero-content{position:relative;z-index:2;max-width:680px;padding:80px 0}
.hero-title{font-size:3.25rem;line-height:1.15;color:var(--color-primary-dark);margin-bottom:20px}
.hero-subtitle{font-size:1.125rem;color:var(--color-text-light);line-height:1.7;margin-bottom:32px;max-width:560px}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.hero-location{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-muted)}
.hero-location svg{width:16px;height:16px;fill:none;stroke:var(--color-text-muted);stroke-width:2}

/* ===== FEATURES ===== */
.features-section{padding:80px 0;background:var(--color-bg)}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:12px;padding:32px 24px;transition:all .3s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.feature-icon,.service-icon{width:48px;height:48px;background:var(--color-primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.feature-icon svg,.service-icon svg{width:24px;height:24px;fill:none;stroke:var(--color-primary);stroke-width:1.5}
.feature-card h3,.service-card h3{font-size:1.125rem;color:var(--color-primary-dark);margin-bottom:12px}
.feature-card p,.service-card p{font-size:.938rem;color:var(--color-text-light);line-height:1.6}

/* ===== SERVICES (FLIP CARDS) ===== */
.services-section{padding:80px 0;background:var(--color-bg-alt)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.service-card-flip{perspective:1000px;cursor:pointer;min-height:320px}
.service-card-inner{position:relative;width:100%;height:100%;min-height:400px;transition:transform .6s;transform-style:preserve-3d}
.service-card-flip.flipped .service-card-inner{transform:rotateY(180deg)}
.service-card-front,.service-card-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:12px;padding:32px 24px;display:flex;flex-direction:column}
.service-card-back{transform:rotateY(180deg);background:var(--color-primary);color:#fff}
.service-card-back h3{color:#fff}
.service-card-back p{color:rgba(255,255,255,.9);font-size:.875rem;line-height:1.65}
.service-icon{width:48px;height:48px;background:var(--color-primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.service-icon svg{width:24px;height:24px;fill:none;stroke:var(--color-primary);stroke-width:1.5}
.service-icon-back{background:rgba(255,255,255,.2)}
.service-icon-back svg{stroke:#fff}
.service-card-front h3,.service-card-back h3{font-size:1.125rem;margin-bottom:12px}
.service-card-front p{font-size:.938rem;color:var(--color-text-light);line-height:1.6;flex:1}
.service-tap-hint{display:block;margin-top:auto;padding-top:12px;font-size:.75rem;color:var(--color-text-muted);letter-spacing:.3px}
.service-card-back .service-tap-hint{color:rgba(255,255,255,.6)}
.service-card-flip:hover .service-card-front{box-shadow:0 12px 40px rgba(0,0,0,.08)}

/* ===== TESTIMONIALS ===== */
.testimonials-section{padding:80px 0;background:var(--color-bg)}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:12px;padding:32px}
.testimonial-stars{margin-bottom:16px;color:#f5a623;font-size:1rem;letter-spacing:2px}
.testimonial-text{font-size:1rem;color:var(--color-text-light);line-height:1.7;font-style:italic;margin-bottom:20px}
.testimonial-author{font-size:.938rem;font-weight:600;color:var(--color-primary-dark)}
.testimonial-role{font-size:.813rem;color:var(--color-text-muted)}

/* ===== CTA ===== */
.cta-section{padding:80px 0;background:var(--color-primary);color:#fff;text-align:center}
.cta-section .section-title{color:#fff}
.cta-section .section-subtitle{color:rgba(255,255,255,.85)}
.cta-buttons{display:flex;justify-content:center;gap:16px;margin-top:32px;flex-wrap:wrap}
.cta-section .btn-primary{background:#fff;color:var(--color-primary)}
.cta-section .btn-primary:hover{background:#f0f0f0;color:var(--color-primary-dark)}
.cta-section .btn-secondary{border-color:#fff;color:#fff}
.cta-section .btn-secondary:hover{background:#fff;color:var(--color-primary)}

/* ===== CAREERS HERO ===== */
.careers-hero{padding:80px 0 60px;background:var(--color-bg);text-align:center}
.careers-hero .section-title{font-size:3rem;margin-bottom:16px}
.careers-hero .section-subtitle{font-size:1.125rem;max-width:700px}

/* ===== CAREERS LISTINGS ===== */
.careers-section{padding:0 0 80px;background:var(--color-bg)}
.careers-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px;justify-content:center}
.careers-filters select,.careers-filters input{padding:10px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:.938rem;font-family:var(--font-body);background:var(--color-bg);min-width:180px}
.careers-filters select:focus,.careers-filters input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(42,98,116,.1)}
.jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.job-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:12px;padding:32px;transition:all .3s;display:flex;flex-direction:column}
.job-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.job-card.featured{border-left:4px solid var(--color-primary)}
.job-card h3{font-size:1.25rem;margin-bottom:8px}
.job-card h3 a{color:var(--color-primary-dark)}
.job-card h3 a:hover{color:var(--color-primary)}
.job-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:.875rem;color:var(--color-text-muted)}
.job-meta-item{display:flex;align-items:center;gap:4px}
.job-meta-item svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.job-card .job-excerpt{font-size:.938rem;color:var(--color-text-light);line-height:1.6;flex:1;margin-bottom:16px}
.job-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.job-badge{display:inline-block;padding:4px 12px;background:var(--color-primary-light);color:var(--color-primary);font-size:.75rem;font-weight:600;border-radius:20px}
.no-jobs{text-align:center;padding:60px;color:var(--color-text-muted);font-size:1.125rem}

/* ===== SINGLE JOB ===== */
.single-job-header{padding:60px 0;background:var(--color-bg)}
.single-job-header .breadcrumb{font-size:.875rem;color:var(--color-text-muted);margin-bottom:16px}
.single-job-header .breadcrumb a{color:var(--color-primary)}
.single-job-header h1{font-size:2.5rem;margin-bottom:16px}
.job-details-bar{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}
.job-detail-chip{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary-light);border-radius:8px;font-size:.875rem;color:var(--color-primary-dark);font-weight:500}
.job-detail-chip svg{width:16px;height:16px;fill:none;stroke:var(--color-primary);stroke-width:2}
.single-job-content{padding:0 0 80px}
.job-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.job-description{font-size:1rem;line-height:1.8;color:var(--color-text)}
.job-description h2,.job-description h3{margin:32px 0 12px;color:var(--color-primary-dark)}
.job-description ul,.job-description ol{margin:12px 0 12px 20px;list-style:disc}
.job-description li{margin-bottom:6px}
.job-description p{margin-bottom:16px}
.job-sidebar{position:sticky;top:100px}
.job-sidebar-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:12px;padding:32px}
.job-sidebar-card h3{font-size:1.125rem;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border-light)}
.job-sidebar-item{margin-bottom:16px}
.job-sidebar-item label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-weight:600;display:block;margin-bottom:4px}
.job-sidebar-item p{font-size:.938rem;color:var(--color-text)}

/* ===== APPLICATION FORM ===== */
.application-section{padding:60px 0;background:var(--color-bg-alt)}
.application-form{max-width:700px;margin:0 auto;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:12px;padding:40px}
.application-form h2{font-size:1.5rem;margin-bottom:8px;text-align:center}
.application-form .form-subtitle{text-align:center;color:var(--color-text-light);margin-bottom:32px;font-size:.938rem}
.form-group{margin-bottom:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:6px}
.form-group label .required{color:#e53e3e}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:.938rem;font-family:var(--font-body);transition:border-color .3s;background:var(--color-bg)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(42,98,116,.1)}
.form-group textarea{min-height:120px;resize:vertical}
.form-group .file-input-wrapper{position:relative;border:2px dashed var(--color-border);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .3s}
.form-group .file-input-wrapper:hover{border-color:var(--color-primary)}
.form-group .file-input-wrapper input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}
.form-group .file-input-wrapper .upload-text{color:var(--color-text-muted);font-size:.875rem}
.form-group .file-input-wrapper .upload-text strong{color:var(--color-primary);display:block;margin-bottom:4px;font-size:1rem}
.application-form .btn-primary{width:100%;padding:16px;font-size:1rem}
.alert-success{padding:16px 20px;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:24px;color:#155724;text-align:center}

/* ===== FAQ / RESOURCES ===== */
.faq-hero{padding:80px 0 40px;background:var(--color-bg);text-align:center}
.faq-section{padding:0 0 80px;background:var(--color-bg)}
.faq-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:40px;flex-wrap:wrap}
.faq-tab{padding:10px 24px;border:1px solid var(--color-border);border-radius:30px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--color-bg);color:var(--color-text)}
.faq-tab:hover,.faq-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:1px solid var(--color-border-light);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--color-bg-card)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;font-size:1rem;font-weight:600;color:var(--color-primary-dark);transition:background .2s;gap:16px}
.faq-question:hover{background:var(--color-primary-light)}
.faq-question .faq-toggle{width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s}
.faq-item.open .faq-toggle{transform:rotate(180deg)}
.faq-question .faq-toggle svg{width:20px;height:20px;fill:none;stroke:var(--color-primary);stroke-width:2}
.faq-answer{padding:0 24px;max-height:0;overflow:hidden;transition:all .3s;color:var(--color-text-light);line-height:1.7;font-size:.938rem}
.faq-item.open .faq-answer{padding:0 24px 20px;max-height:500px}
.faq-answer p{margin-bottom:12px}
.faq-answer p:last-child{margin-bottom:0}

/* Resources grid */
.resources-section{padding:60px 0 80px;background:var(--color-bg-alt)}
.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.resource-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:12px;padding:28px;transition:all .3s}
.resource-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.resource-card .resource-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);font-weight:600;margin-bottom:8px}
.resource-card h3{font-size:1.063rem;margin-bottom:8px}
.resource-card h3 a{color:var(--color-primary-dark)}
.resource-card h3 a:hover{color:var(--color-primary)}
.resource-card p{font-size:.875rem;color:var(--color-text-light);line-height:1.6}

/* ===== CONTACT ===== */
.contact-section{padding:80px 0;background:var(--color-bg-alt)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-info-item{display:flex;gap:16px;margin-bottom:24px}
.contact-info-icon{width:48px;height:48px;min-width:48px;background:var(--color-primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center}
.contact-info-icon svg{width:20px;height:20px;fill:none;stroke:var(--color-primary);stroke-width:2}
.contact-info-item h4{font-size:1rem;margin-bottom:4px;color:var(--color-primary-dark);font-family:var(--font-body)}
.contact-info-item p{font-size:.938rem;color:var(--color-text-light)}
.contact-form .form-group{margin-bottom:16px}
.contact-form label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:6px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:.938rem;font-family:var(--font-body);transition:border-color .3s;background:var(--color-bg)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(42,98,116,.1)}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form .btn-primary{width:100%}

/* ===== CONTACT PAGE TEMPLATE ===== */
.contact-hero{padding:80px 0 60px;background:linear-gradient(135deg,var(--color-bg) 0%,var(--color-primary-light) 100%);text-align:center}
.contact-hero .section-title{font-size:2.75rem}
.contact-cards-section{padding:0 0 60px;background:var(--color-bg);margin-top:-30px;position:relative;z-index:2}
.contact-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact-card-item{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:16px;padding:36px 28px;text-align:center;transition:all .3s;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.contact-card-item:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.contact-card-icon{width:56px;height:56px;background:var(--color-primary);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.contact-card-icon svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2}
.contact-card-item h3{font-size:1.125rem;margin-bottom:8px;color:var(--color-primary-dark)}
.contact-card-item p{font-size:.938rem;color:var(--color-text);line-height:1.6}
.contact-card-item p a{color:var(--color-primary);font-weight:500}
.contact-card-item p a:hover{color:var(--color-primary-dark)}
.contact-card-note{display:block;margin-top:8px;font-size:.813rem;color:var(--color-text-muted)}

.contact-form-section{padding:60px 0 80px;background:var(--color-bg)}
.contact-form-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}
.contact-form-info h2{font-size:1.75rem;margin-bottom:16px;color:var(--color-primary-dark)}
.contact-form-info>p{font-size:1rem;color:var(--color-text-light);line-height:1.7;margin-bottom:32px}
.contact-form-details{display:flex;flex-direction:column;gap:20px}
.cfd-item{display:flex;gap:14px;align-items:flex-start}
.cfd-item svg{width:22px;height:22px;min-width:22px;fill:none;stroke:var(--color-primary);stroke-width:2;margin-top:2px}
.cfd-item strong{display:block;font-size:.938rem;color:var(--color-primary-dark);margin-bottom:2px}
.cfd-item span{font-size:.875rem;color:var(--color-text-muted)}
.contact-form-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:16px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.contact-form-card .form-group{margin-bottom:20px}
.contact-form-card label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:6px}
.contact-form-card label .required{color:#e53e3e}
.contact-form-card input,.contact-form-card textarea,.contact-form-card select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:.938rem;font-family:var(--font-body);transition:border-color .3s;background:var(--color-bg)}
.contact-form-card input:focus,.contact-form-card textarea:focus,.contact-form-card select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(42,98,116,.1)}
.contact-form-card textarea{min-height:140px;resize:vertical}
.contact-form-card .btn-primary{width:100%}
.contact-map-section{background:var(--color-bg-alt)}
.contact-map-section iframe{filter:grayscale(30%)}

/* ===== BOOKING OVERLAY ===== */
.booking-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeInOverlay .3s ease}
.booking-overlay.active{display:flex;align-items:center;justify-content:center}
@keyframes fadeInOverlay{from{opacity:0}to{opacity:1}}
.booking-modal{position:relative;width:92%;max-width:900px;height:85vh;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.3);animation:slideUp .3s ease}
.booking-modal iframe{background:#fff}
.booking-modal::after{content:'Loading booking calendar...';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1rem;color:var(--color-text-muted);z-index:0}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.booking-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--color-primary);color:#fff}
.booking-modal-header h3{font-size:1.125rem;font-family:var(--font-body);font-weight:600;color:#fff}
.booking-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:36px;height:36px;border-radius:8px;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.booking-close:hover{background:rgba(255,255,255,.3)}
.booking-modal iframe{width:100%;height:calc(100% - 56px);border:none}

/* ===== FORM FIX: CURSOR & INTERACTION ===== */
.form-group input,.form-group textarea,.form-group select,
.contact-form-card input,.contact-form-card textarea,.contact-form-card select{cursor:text}
.form-group select,.contact-form-card select{cursor:pointer}
button[type="submit"],.btn-primary,.btn-secondary,.btn-cta{cursor:pointer}
.file-input-wrapper{cursor:pointer}
.file-input-wrapper input[type="file"]{cursor:pointer}

/* ===== FOOTER ===== */
.site-footer{background:var(--color-primary-dark);color:rgba(255,255,255,.7);padding:48px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{color:#fff;font-family:var(--font-heading);font-size:1.35rem;font-weight:700;margin-bottom:12px}
.footer-about p{font-size:.875rem;line-height:1.7;color:rgba(255,255,255,.6)}
.footer-col h4{color:#fff;font-size:.938rem;font-family:var(--font-body);font-weight:600;margin-bottom:14px}
.footer-col ul li{margin-bottom:10px;font-size:.875rem;display:flex;align-items:center;gap:6px}
.footer-col ul li svg{width:14px;height:14px;min-width:14px;fill:none;stroke:rgba(255,255,255,.5);stroke-width:2}
.footer-col ul li a{color:rgba(255,255,255,.7);transition:color .3s;display:flex;align-items:center;gap:6px}
.footer-col ul li a:hover{color:#fff}
.footer-bottom{padding:20px 0;text-align:center;font-size:.813rem;color:rgba(255,255,255,.5)}

/* ===== PAGES ===== */
.elementor-content-area:empty{display:none}
.page-content,.entry-content{padding:60px 0}
.wp-block-image img{border-radius:8px}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pagination a,.pagination span{padding:8px 16px;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem}
.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .features-grid,.services-grid,.jobs-grid{grid-template-columns:repeat(2,1fr)}
    .testimonials-grid,.resources-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    
    .hero-title{font-size:2.5rem}
    .job-content-grid{grid-template-columns:1fr}
    .job-sidebar{position:static}
    .contact-form-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
    .menu-toggle{display:block;order:3;margin-left:auto}
    .main-navigation{position:fixed;top:var(--header-height);left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border-light);padding:16px;transform:translateY(-120%);transition:transform .3s;box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:999}
    .main-navigation.toggled{transform:translateY(0)}
    .nav-menu{flex-direction:column;gap:4px}
    .nav-menu li a{padding:12px 16px}
    .nav-menu li .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:16px}
    .header-actions{order:2}
    .header-phone{display:none}
    .header-layout-logo-center .site-branding{order:1;margin:0}
    .header-layout-logo-center .main-navigation{order:unset}
    .header-layout-logo-center .header-actions{order:2}
    .header-layout-logo-right .header-inner{flex-direction:row}
    .hero-section{min-height:auto}
    .hero-content{padding:48px 0}
    .hero-title,.careers-hero .section-title{font-size:2rem}
    .hero-bg{width:100%;opacity:.15}
    .features-grid,.services-grid,.jobs-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    
    .cta-buttons{flex-direction:column;align-items:center}
    .form-row{grid-template-columns:1fr}
    .job-details-bar{gap:12px}
    .careers-hero .section-title{font-size:2rem}
    .contact-hero .section-title{font-size:2rem}
    .contact-cards-grid{grid-template-columns:1fr}
    .contact-form-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
}
