/*
Theme Name: Hello Elementor Child 02
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1779719381
Updated: 2026-05-25 14:29:41

*/

/* == 1. GLOBAL LINK UNDERLINE REMOVAL === */
/* Strip default underlines from content links */
.site-main a,
.page-content a,
.single-post-content a,
.single-post-meta a,
.post-navigation a,
.sidebar-widget a,
.elementor-widget-text-editor a,
.elementor-widget-heading a {
    text-decoration: none !important;
} /* <-- FIXED: Added the missing closing bracket here so the code below works */

/* Force footer/text editor inline links and sub-elements to inherit structural black */
.elementor-widget-text-editor a, 
.elementor-widget-text-editor a span {
    color: #000000 !important;
    text-decoration: none !important;
}

/* Optional link hover text shifts to accent orange instead of an underline */
.single-post-content a:hover,
.sidebar-widget a:hover,
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:hover span {
    color: #ED8B09 !important;
}

/* Strips accidental link highlights inside global Elementor structures */
.elementor-element-f1a1256 a,
.elementor-element-f1a1256 a:hover,
.elementor-element-f1a1256 a:focus,
.elementor-element-f1a1256 a:active {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/*==2. MOBILE HEADER RESPONSIVENESS (max-width: 767px)== */
@media (max-width: 767px) {
    /* Hide logo text branding on mobile viewports */
    .elementor-element-14a359f .elementor-image-box-content {
        display: none !important;
    }
        
    /* Fix logo container layout compression and apply a structural left gap */
    .elementor-element-14a359f .elementor-image-box-wrapper .elementor-image-box-img {
        width: 100% !important;        
        max-width: 65px;                        
        margin-left: 15px !important;      
    }

    /* Remove full width limits on the header button column wrapper */
    .elementor-10 .elementor-element.elementor-element-235e336 {
        max-width: none !important;
        width: auto !important;
    }

    /* Scale link text sizing, center contents, and expand horizontal button area */
    .elementor-element-235e336 .elementor-button {
        font-size: 14px !important;                    
        padding: 12px 10px !important;                 
        width: 170px !important;                       
        justify-content: center !important;            
        display: inline-flex !important;
        align-items: center;
    }

    /* Boost telephone vector asset sizing proportionally inside buttons */
    .elementor-element-235e336 .elementor-button-icon svg {
        width: 14px !important;
        height: 14px !important;
    }

    /* Add distinct structural structural layout margins between button and menu triggers */
    .elementor-10 .elementor-element.elementor-element-8a14530 {
        margin-left: 20px !important; 
    }
}

/* ==========================================================================
   3. HEADER BRANDING & LAYOUT ALIGNMENTS
   ========================================================================== */
/* Keep header title text flat institutional black */
.elementor-element-14a359f .elementor-image-box-title a {
    color: #000000 !important;
}
.elementor-element-14a359f .elementor-image-box-title a:hover {
    color: #ED8B09 !important;
}

.elementor-image-box-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.elementor-image-box-content {
    margin-left: 0px;
}

.elementor-image-box-img {
    flex-shrink: 0;
}


/* Container Spacing */
.hero-booking-form h3 {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.hero-booking-form .form-row {
    margin-bottom: 15px;
    width: 100%;
}



.hero-booking-form label {
    font-weight: 500;
    display: block;
    width: 100%;
}

.hero-booking-form input[type="text"],
.hero-booking-form input[type="tel"],
.hero-booking-form input[type="email"],
.hero-booking-form textarea {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    margin-top: 5px;
}

/* Two Column Grid */
.hero-booking-form .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.hero-booking-form .consent-text {
    margin: 20px 0;
    font-size: 0.9rem;
}

/* Make it stack on mobile */
@media (max-width: 768px) {
    .hero-booking-form .two-col {
        grid-template-columns: 1fr;
    }
}

/* Container & Header Styles */
.custom-multistep-form {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    background: #fff;
    font-family: 'Montserrat', sans-serif;
}
.form-header {
    background-color: #ed8b09 ; 
    color: #fff;
    text-align: center;
    padding: 30px 20px;
}

.form-header h2 {
    margin: 0 0 10px 0;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}
.form-header p {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}
.form-body {
    padding: 30px;
}

/* Progress Bar */
.progress-container {
    margin-bottom: 25px;
}
.step-indicator {
    font-size: 13px;
    color: #555;
    margin-bottom: 8px;
}
.progress-bar-bg {
    background: #e0e0e0;
    height: 8px;
    border-radius: 4px;
    width: 100%;
    overflow: hidden;
}
.progress-bar-fill {
    background: #1c4deb; 
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}

/* Step Switching */
.form-step {
    display: none;
    animation: fadeIn 0.4s ease;
}
.form-step.active {
    display: block;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Typography & Layout */
.step-title {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 10px;
}
.step-title span {
    color: #d9534f;
    font-size: 12px;
    font-weight: 400;
}
.form-row {
    margin-bottom: 20px;
    width: 100%;
}
.form-row label {
    font-weight: 600;
    font-size: 14px;
    color: #333;
    display: block;
    margin-bottom: 5px;
}
.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.sub-label-wrap .sub-label {
    font-size: 12px;
    color: #777;
    margin-top: 4px;
    display: block;
}

/* Inputs */
.custom-multistep-form input[type="text"],
.custom-multistep-form input[type="tel"],
.custom-multistep-form input[type="email"],
.custom-multistep-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 15px;
}
.custom-multistep-form textarea {
    resize: vertical;
}

/* Service Grid (Radio Buttons as Cards) */
.service-grid .wpcf7-form-control {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.service-grid .wpcf7-list-item {
    margin: 0;
}
.service-grid .wpcf7-list-item label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px solid #dcdcdc;
    border-radius: 12px;
    padding: 25px 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    height: 100%;
    text-align: center;
}
.service-grid .wpcf7-list-item label:hover {
    border-color: #ed8b09;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.service-grid input[type="radio"] {
    display: none; 
}
.service-grid input[type="radio"]:checked + .wpcf7-list-item-label {
    color: #d1a848;
    font-weight: 700;
}
.service-grid input[type="radio"]:checked ~ label {
    border-color: #ed8b09;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
/* Radio Icons */
.service-grid .wpcf7-list-item-label::before {
    content: "";
    display: block;
    width: 45px;
    height: 45px;
    margin-top: 0;
    margin-bottom: 12px;
    margin-left: auto; /* Forces the box to the center */
    margin-right: auto; /* Forces the box to the center */
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.8;
}
.service-grid .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::before {
    background-image: url('/wp-content/uploads/2026/05/Plumbing.png'); 
}
.service-grid .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::before {
    background-image: url('/wp-content/uploads/2026/05/Drains-Sewer.png');
}
.service-grid .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::before {
    background-image: url('/wp-content/uploads/2026/05/water-heater.png');
}
.service-grid .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::before {
    background-image: url('/wp-content/uploads/2026/05/Others-Service.webp');
}

/* Force buttons in one row inside CF7's injected <p> tag */
.custom-multistep-form .form-actions p {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 20px;
    margin: 0;
}

/* Kill all CF7-injected <br> tags inside form-actions */
.custom-multistep-form .form-actions br {
    display: none !important;
}

.custom-multistep-form .form-actions p br {
    display: none !important;
}

/* Hide the spacer since gap handles it now */
.custom-multistep-form .form-actions .btn-spacer {
    display: none !important;
}

/* Ensure submit button matches other buttons */
.custom-multistep-form .form-actions input.wpcf7-submit {
    margin: 0 !important;
}

/* Reduce font sizes in Step 2 and Step 3 (Forced) */

/* Step Titles */
.custom-multistep-form .step-2 .step-title,
.custom-multistep-form .step-3 .step-title {
    font-size: 14px !important; 
    margin-bottom: 12px !important; 
}

/* Field Labels */
.custom-multistep-form .step-2 .form-row label,
.custom-multistep-form .step-3 .form-row label {
    font-size: 12px !important; 
}

/* Input Fields and Textarea Text */
.custom-multistep-form .step-2 input[type="text"],
.custom-multistep-form .step-2 input[type="tel"],
.custom-multistep-form .step-2 input[type="email"],
.custom-multistep-form .step-2 textarea,
.custom-multistep-form .step-3 input[type="text"] {
    font-size: 13px !important; 
    padding: 8px 10px !important; 
}

/* Radio Button Text (Existing Customer) */
.custom-multistep-form .step-3 .wpcf7-list-item-label {
    font-size: 13px !important;
}

/* Consent Text */
.custom-multistep-form .step-3 .consent-text p,
.custom-multistep-form .step-3 .consent-text strong {
    font-size: 11px !important; 
    line-height: 1.3 !important;
}

/* Buttons */
.custom-multistep-form .step-2 .form-actions button,
.custom-multistep-form .step-3 .form-actions button,
.custom-multistep-form .step-3 .form-actions input.wpcf7-submit {
    font-size: 13px !important; 
    padding: 8px 16px !important;
}

/* Form Container & Gold Background */
/* Form Container & Gold Background */
.gold-contact-form {
  background-color: #ED8B09; /* Updated background color */
  padding: 40px;
  border-radius: 15px;
  color: #ffffff;
}

/* Title - Inherits site default H3 size and weight */
.gold-contact-form .form-title {
  color: #ffffff;
  margin-top: 0;
  margin-bottom: 25px;
}

/* Grid Layout */
.gold-contact-form .form-row {
  margin-bottom: 20px;
}
.gold-contact-form .two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* Labels */
.gold-contact-form label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
  color: #ffffff;
}

/* Text Inputs & Textarea */
.gold-contact-form input[type="text"],
.gold-contact-form input[type="email"],
.gold-contact-form input[type="tel"],
.gold-contact-form textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-sizing: border-box;
  background-color: #ffffff;
  color: #333;
  font-size: 15px;
}
.gold-contact-form textarea {
  resize: vertical;
}

/* Stack Checkboxes Vertically */
.gold-contact-form .wpcf7-checkbox .wpcf7-list-item {
  display: block; 
  margin-left: 0;
  margin-bottom: 8px;
}
.gold-contact-form .wpcf7-checkbox input[type="checkbox"] {
  margin-right: 10px;
}

/* Bottom Row (Aligns Captcha Left and Button Right) */
.gold-contact-form .bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 20px;
}

/* Submit Button */
.gold-contact-form input.submit-btn {
  background-color: #000000 !important;
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 35px !important;
  border: none !important;
  border-radius: 12px !important; /* Makes the button rounded like the image */
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.gold-contact-form input.submit-btn:hover {
  background-color: #333333 !important;
}

/* Mobile Responsiveness (Stacks inputs on phones) */
@media (max-width: 768px) {
  .gold-contact-form .two-col {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .gold-contact-form .bottom-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .gold-contact-form .submit-wrap {
    align-self: flex-end;
    width: 100%;
  }
  .gold-contact-form input.submit-btn {
    width: 100%; /* Makes button full width on mobile for easier tapping */
  }
}

/* Remove the gap between the contact info and form containers */
.elementor-element-0f9611f > .e-con-inner {
    gap: 0px !important; /* Change this to 10px or 15px if you want a slight space */
    justify-content: center !important; /* Forces them to pack together in the middle */
}

.custom-multistep-form .recaptcha-wrapper {
    margin-top: 15px;
    margin-bottom: 25px;
    display: flex;
    justify-content: flex-start;
}

/* Contact Us Form CSS */
/* Custom Plumbing Form Layout & Styling */
.custom-plumbing-form .form-row {
    margin-bottom: 15px;
    width: 100%;
}

/* Flexbox for side-by-side columns */
.custom-plumbing-form .form-row.two-col {
    display: flex;
    gap: 15px;
}
.custom-plumbing-form .form-col {
    flex: 1;
    width: 100%;
}

/* Input & Textarea Styling */
.custom-plumbing-form input[type="text"],
.custom-plumbing-form input[type="email"],
.custom-plumbing-form input[type="tel"],
.custom-plumbing-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #8e98a8; /* Grey border matching the image */
    border-radius: 6px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 15px;
    color: #333;
    background-color: #fff;
}

/* Placeholder text color */
.custom-plumbing-form input::placeholder,
.custom-plumbing-form textarea::placeholder {
    color: #aeb5c0;
}

/* Submit Button Styling */
.custom-plumbing-form .wpcf7-submit {
    background-color: #ED8B09; /* Vibrant Orange */
    color: #ffffff;
    font-weight: 700;
    font-size: 18px;
    padding: 16px 30px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    width: 100%; /* Makes button span full width if needed, or adjust as necessary */
    transition: background-color 0.3s ease;
}

.custom-plumbing-form .wpcf7-submit:hover {
    background-color: #e05300;
}

/* reCAPTCHA spacing */
.custom-plumbing-form .recaptcha-row {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Make it responsive for mobile devices */
@media (max-width: 600px) {
    .custom-plumbing-form .form-row.two-col {
        flex-direction: column;
        gap: 15px;
    }
}


/* === 2-Column Single Post Layout === */
.single .site-main.custom-single-post {
    display: block !important;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 40px 20px;
}

.single-post-row {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.single-post-content-col {
    flex: 1;
    min-width: 0;
}

.single-post-sidebar {
    width: 300px;
    flex-shrink: 0;
    position: sticky;
    top: 20px;
}

/* Featured image — yours is portrait 768x1024, cap the height */
.single-featured-image img {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
    height: auto;
    border-radius: 8px;
    margin-bottom: 24px;
    display: block;
}

.single-post-title {
    font-size: 2rem;
    line-height: 1.25;
    margin-bottom: 8px; /* Tighter gap below main title */
}

.single-post-meta {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 20px; /* Reduced from 32px to bring body content closer */
}
.single-post-meta a { color: #ED8B09; text-decoration: none; }

.single-post-content { 
    font-size: 1.05rem; 
    line-height: 1.6; /* Reduced from 1.8 for a tighter, clean reading flow */
}
.single-post-content p { 
    margin-bottom: 1.1em; /* Reduced from 1.4em to reduce line gaps between paragraphs */
}
.single-post-content h2 { 
    margin-top: 1.3em; /* Tighter top spacing */
    margin-bottom: 0.4em; 
}
.single-post-content h3 { 
    margin-top: 1.1em; /* Tighter top spacing */
    margin-bottom: 0.3em; 
}

.post-navigation {
    display: flex;
    justify-content: space-between;
    padding: 24px 0; /* Slightly reduced padding */
    border-top: 1px solid #eee;
    margin-top: 32px; /* Tighter gap above navigation */
}
.post-navigation a { color: #ED8B09; text-decoration: none; }

/* Sidebar Widgets */
.sidebar-widget {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}
.sidebar-widget h3 {
    font-size: 1.1rem;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ED8B09;
}

/* Sidebar Conversion CTA Box Banner */
.sidebar-widget.conversion-cta-box {
    background-color: #ffffff !important; /* Kept white so the orange badge pops inside it */
    padding: 25px 20px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 20px;
    border: 1px solid #eaeaea; /* Light border so the container is distinct */
}

.conversion-cta-box .cta-box-title {
    color: #1a1a1a !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 10px 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important; 
}

.conversion-cta-box .cta-box-desc {
    color: #555555 !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    margin: 0 0 20px 0 !important;
    font-weight: 400;
}

.conversion-cta-box .cta-btn-wrap {
    width: 100%;
}

/* Orange CTA Phone Badge Style matching the image snippet */
.conversion-cta-box .cta-click-to-call {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px; /* Gap between phone vector and number text */
    width: 100%;
    box-sizing: border-box;
    background-color: #ED8B09 !important; /* Your signature brand orange */
    color: #ffffff !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 13px !important;
    border-radius: 8px !important; /* Highly pill-rounded corners as pictured */
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    transition: background-color 0.3s ease;
}

/* Hover State */
.conversion-cta-box .cta-click-to-call:hover {
    background-color: #000000 !important; /* Classic dark hue shift on mouse focus */
    color: #ffffff !important;
}

/* SVG Inline Icon Properties */
.conversion-cta-box .cta-phone-icon {
    width: 16px !important;
    height: 16px !important;
    fill: #ffffff !important;
    flex-shrink: 0;
}

/* Author Box adjustments */
.author-box { 
    text-align: center; 
}
.author-box h3 {
    margin-bottom: 16px;
}
.author-avatar img { 
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%; 
    margin-bottom: 8px; 
}
.author-name { 
    font-weight: 600; 
    margin-bottom: 4px; 
}
.author-title {
    font-size: 0.8rem;
    color: #ED8B09;
    font-weight: 600;
    margin: 0 0 8px;
}
.author-bio {
    font-size: 0.9rem;
    line-height: 1.4;
    margin: 0;
}

.sidebar-recent-posts,
.sidebar-categories {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sidebar-recent-posts li,
.sidebar-categories li {
    padding: 8px 0;
    border-bottom: 1px solid #e8e8e8;
    font-size: 0.9rem;
    line-height: 1.4; /* Ensures tight lists look uniform */
}
.sidebar-recent-posts li:last-child,
.sidebar-categories li:last-child { border-bottom: none; }
.sidebar-recent-posts a,
.sidebar-categories a { text-decoration: none; color: #333; }
.sidebar-recent-posts a:hover,
.sidebar-categories a:hover { color: #ED8B09; }

.sidebar-widget .search-form { display: flex; gap: 8px; }
.sidebar-widget .search-field {
    flex: 1;
    min-width: 0;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.sidebar-widget .search-submit {
    background: #ED8B09;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 4px;
    cursor: pointer;
}

/* Mobile */
@media (max-width: 767px) {
    .single-post-row { flex-direction: column; gap: 30px; }
    .single-post-sidebar { width: 100%; position: static; }
    .single-post-title { font-size: 1.6rem; }
}

/* Force the Contact Form 7 status message to have an orange background with white text */
form.wpcf7-form .wpcf7-response-output {
    color: #ffffff !important;                 
    background-color: #ED8B09 !important;      
    border: 2px solid #ED8B09 !important;      
    padding: 15px !important;                  
    border-radius: 8px !important;             
    margin-top: 20px !important;               
    font-weight: 600 !important;               
}

/* ==========================================================================
   5. CAREERS APPLICATION FORM STYLES
   ========================================================================== */

/* Main Form Container */
.custom-application-form {
    background-color: #EEEEEE !important;
    padding: 40px !important;
    border-radius: 15px !important;
    font-family: inherit !important; /* Inherits the site font */
    box-sizing: border-box !important;
}

/* Center Form Title */
.custom-application-form h2 {
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    display: block !important;
    width: 100% !important;
    font-family: inherit !important;
}

/* Row Layout Adjustments */
.custom-application-form .form-row {
    margin-bottom: 20px !important;
    width: 100% !important;
}

/* Force paragraph wrappers to behave as strict centering blocks */
.custom-application-form .form-row p {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: center !important; 
    position: relative !important; /* Context for absolute loading spin tags */
}

/* Input Fields & Textarea Styling */
.custom-application-form input[type="text"],
.custom-application-form input[type="email"],
.custom-application-form input[type="tel"],
.custom-application-form textarea {
    font-family: inherit !important;
    width: 100% !important;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
    border: 1px solid #cccccc !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    font-size: 15px !important;
    text-align: left !important; /* Keeps text inside input left-aligned */
}

.custom-application-form textarea {
    resize: vertical !important;
}

/* Center Resume Field Elements perfectly */
.custom-application-form .file-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
}

.custom-application-form .file-row label {
    display: block !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #333333 !important;
    margin-bottom: 8px !important;
}

.custom-application-form .wpcf7-file {
    max-width: 400px !important; /* Caps width so it looks visually balanced when centered */
    width: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 6px !important;
    padding: 8px !important;
}

/* Dead-Center Pill-shaped Submit Button Row */
.custom-application-form .submit-row {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 25px !important;
}

.custom-application-form input[type="submit"].wpcf7-submit {
    background-color: #ED8B09 !important; /* Signature Brand Orange */
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    padding: 14px 50px !important;
    border: none !important;
    border-radius: 25px !important; /* True Pill Layout shape */
    cursor: pointer !important;
    display: inline-block !important;
    margin: 0 auto !important; /* Clean structural alignment */
    transition: background-color 0.3s ease !important;
    width: auto !important; /* Prevents stretching */
}

.custom-application-form input[type="submit"].wpcf7-submit:hover {
    background-color: #000000 !important; /* Elegant shift to dark black on focus */
}

/* Pull the hidden CF7 AJAX spinner out of the alignment layout math */
.custom-application-form .submit-row .wpcf7-spinner {
    position: absolute !important;
    right: auto !important;
    margin-left: 15px !important;
    display: inline-block;
}

/* Keep validation messages cleanly nested underneath elements */
.custom-application-form .wpcf7-not-valid-tip {
    text-align: center !important;
    display: block !important;
    font-size: 13px !important;
    margin-top: 5px !important;
}


/* ==========================================================================
   6. NO PAYNES CLUB FORM STYLES
   ========================================================================== */

/* Main Form Container - Matches Career Layout */
.custom-club-form {
    background-color: #EEEEEE !important;
    padding: 40px !important;
    border-radius: 15px !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
}

/* Center Title and Subtitle */
.custom-club-form h2,
.custom-club-form .form-subtitle {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    font-family: inherit !important;
}

.custom-club-form h2 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    color: #333333 !important;
}

.custom-club-form .form-subtitle {
    margin-bottom: 25px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #555555 !important;
}

/* Row Layout Adjustments */
.custom-club-form .form-row {
    margin-bottom: 20px !important;
    width: 100% !important;
}

.custom-club-form .form-row p {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: center !important;
    position: relative !important;
}

/* Fields Styling Inheritance */
.custom-club-form input[type="text"],
.custom-club-form input[type="email"],
.custom-club-form input[type="tel"] {
    font-family: inherit !important;
    width: 100% !important;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
    border: 1px solid #cccccc !important;
    border-radius: 6px !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    font-size: 15px !important;
    text-align: left !important;
}

/* Dead-Center Pill-shaped Submit Button Row */
.custom-club-form .submit-row {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 25px !important;
}

.custom-club-form input[type="submit"].wpcf7-submit {
    background-color: #ED8B09 !important; /* Signature Brand Orange */
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    padding: 14px 50px !important;
    border: none !important;
    border-radius: 25px !important; /* Pill Layout shape */
    cursor: pointer !important;
    display: inline-block !important;
    margin: 0 auto !important;
    transition: background-color 0.3s ease !important;
    width: auto !important;
}

.custom-club-form input[type="submit"].wpcf7-submit:hover {
    background-color: #000000 !important; /* Changes to black on hover */
}

/* Prevent hidden loading spinner from pushing the button out of center */
.custom-club-form .submit-row .wpcf7-spinner {
    position: absolute !important;
    right: auto !important;
    margin-left: 15px !important;
    display: inline-block;
}

/* Center validation notices cleanly beneath empty text fields */
.custom-club-form .wpcf7-not-valid-tip {
    text-align: center !important;
    display: block !important;
    font-size: 13px !important;
    margin-top: 5px !important;
}

