/*
Theme Name: Freeio Child
Template: freeio
Theme URI: https://themeforest.net/item/freeio-freelance-marketplace-wordpress-theme/42045416
Author: ApusTheme
Author URI: https://themeforest.net/user/apustheme
Description: Child theme for Freeio - Freelance Marketplace WordPress theme with custom modifications.
Version: 1.3.22
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: freeio

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/
img{
    max-width: 100%;
    height:auto;
 }
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    clear: both;
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    clear: right;
    margin: 5px 0 32px 2em;
}
.wp-block-image .alignright{
    margin-left: 2em;
}
.alignleft {
    float: left;
    margin: 5px 2em 32px 0;
}
.wp-block-image .alignleft{
    margin-right: 2em;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 5px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 5px 0;
}

.wp-caption.alignright {
    margin: 5px 0 5px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}
.gallery-caption {
    box-sizing: border-box;
}
.bypostauthor{
    box-sizing: border-box;
}
.wp-block-pullquote{
    border:none;
}
.wp-block-archives.aligncenter, .wp-block-categories.aligncenter, .wp-block-latest-posts.aligncenter {
    text-align: center;
}
.wp-block-cover{
    margin-bottom: 28px;
}
.wp-block-embed{
    margin-bottom: 30px;
}
.product-block.grid .product-image{
    width: 100%;
}
.product-block.grid .product-image img{
    width: 100%;
}
.bread-title{
    word-break: break-word;
    word-wrap: break-word;
}
.advane-search-wrapper-fields {
    display: none;
}

.wp-block-cover.has-background-dim .wp-block-cover-text{
    color: #fff;
}
.wp-block-button {
    margin-top: 15px;
    margin-bottom: 15px;
}
.logo-theme img{
    max-width: 150px;
}

/* fix */
p{
    margin-bottom: 20px;
}
.main-page.full-default {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    float: none;
}
.cmb-th span.required {
    color: red;
}
@media(max-width: 767px){
    .widget-listing-search-form.horizontal .form-group-location{
        flex-wrap: wrap;
    }
    .widget-listing-search-form.horizontal .form-group-location > div ~ div{
        margin-top: 15px;
    }
}

.contact-form-agent .agent-content .email {
    word-wrap: break-word;
}

.elementor-lightbox .elementor-swiper-button{
    outline: none !important;
}
@media(max-width: 1200px){
    .elementor-lightbox .elementor-swiper-button{
        cursor:auto;
    } 
}

.listing-detail-gallery.v1 .image-wrapper {
    text-align: center;
}

.listing-detail-gallery.v1 img {
    display: inline;
}

.row.row-padding-5 {
    margin-left: -5px;
    margin-right: -5px;
}
.row-padding-5 .col-xs-6 {
    padding-left: 5px;
    padding-right: 5px;
}

.listings-currencies .currencies {
    list-style: none;
    margin: 0;
    padding: 15px 30px;
}

.listings-currencies .currencies li label {
    width: 100%;
    cursor: pointer;
    font-weight: 400;
}

.listings-currencies .currencies li.active label, .listings-currencies .currencies li label:hover {
    color: #ff5a5f;
}
.currencies-wrapper .dropdown-toggle i {
    margin-left: 7px;
}

.form-group-price.list ul.price-filter {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.form-group-price.list ul.price-filter li{
    padding: 3px 0px;
    cursor: pointer;
}

.form-group-price.list ul.price-filter li:hover{
    color: #ff5a5f;
}
.my_resume_eduarea .content > *{
    word-wrap: break-word;
}
.message-top .notifications-wrapper{
    max-height: 500px;
    overflow-y: auto;
    scrollbar-width: thin;
}
@media(min-width:1200px){
    .dashboard-notifications{
        max-height: 630px;
        overflow-y: auto;
        scrollbar-width: thin;
    }
}
@media (max-width: 767px) {
    .widget-listing-search-form.horizontal .form-group-min_rate, 
    .widget-listing-search-form.horizontal .form-group-distance{
        margin: 15px 0;
    }
}

@media (min-width: 1200px) {
  .message-section-wrapper .message-inner > div{
    max-height: 100%;
  }
}

.elementor-lightbox .swiper .elementor-swiper-button{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

/* ========================================
   FORMINATOR STYLES - ONLY FOR FORM ID 28
   ======================================== */

/* NAVIGATION BUTTONS - Only Next/Back, NOT upload/delete buttons */
#forminator-module-28 button.forminator-button-next,
#forminator-module-28 button.forminator-button-back,
#forminator-module-28 .forminator-pagination button.forminator-button-next,
#forminator-module-28 .forminator-pagination button.forminator-button-back,
#forminator-module-28 button[data-action="next"],
#forminator-module-28 button[data-action="prev"],
#forminator-module-28 .forminator-button.forminator-button-next,
#forminator-module-28 .forminator-button.forminator-button-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    min-height: 3.5rem !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    background: #64b5f6 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(100, 181, 246, 0.3) !important;
    margin-top: 1rem !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    z-index: 10 !important;
}

/* Back button specific styling */
#forminator-module-28 button.forminator-button-back,
#forminator-module-28 .forminator-button.forminator-button-back {
    background: #e0e0e0 !important;
    color: #333 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Replace button text with arrows */
#forminator-module-28 button.forminator-button-next,
#forminator-module-28 .forminator-button.forminator-button-next,
#forminator-module-28 button[data-action="next"] {
    font-size: 0 !important; /* Hide text */
}

#forminator-module-28 button.forminator-button-next::after,
#forminator-module-28 .forminator-button.forminator-button-next::after,
#forminator-module-28 button[data-action="next"]::after {
    content: "⇨" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

#forminator-module-28 button.forminator-button-back,
#forminator-module-28 .forminator-button.forminator-button-back,
#forminator-module-28 button[data-action="prev"] {
    font-size: 0 !important; /* Hide text */
}

#forminator-module-28 button.forminator-button-back::after,
#forminator-module-28 .forminator-button.forminator-button-back::after,
#forminator-module-28 button[data-action="prev"]::after {
    content: "⇦" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

/* Button hover states */
#forminator-module-28 button.forminator-button-next:hover,
#forminator-module-28 .forminator-button-next:hover {
    background: #42a5f5 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(100, 181, 246, 0.4) !important;
}

#forminator-module-28 button.forminator-button-back:hover,
#forminator-module-28 .forminator-button-back:hover {
    background: #d0d0d0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Button container layout - use flexbox for proper positioning */
#forminator-module-28 .forminator-pagination-footer,
#forminator-module-28 .forminator-pagination-buttons {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 0 !important;
}

/* Force show back button on all pages (including first page) */
#forminator-module-28 .forminator-button-back {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    order: 1 !important;
}

/* Override Forminator's hidden class */
#forminator-module-28 .forminator-button-back.forminator-hidden {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-right: auto !important;
    order: 1 !important;
}

/* Next button positioning */
#forminator-module-28 .forminator-button-next {
    margin-left: auto !important;
    margin-right: 0 !important;
    order: 2 !important;
}

/* Specific fix for first page - DON'T apply flexbox to the whole page */
#forminator-module-28 [role="tabpanel"]:first-child .forminator-pagination-footer,
#forminator-module-28 [data-step="0"] .forminator-pagination-footer {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

#forminator-module-28 [role="tabpanel"]:first-child .forminator-button-back,
#forminator-module-28 [data-step="0"] .forminator-button-back {
    margin-right: auto !important;
    margin-left: 0 !important;
}

/* HIDE the circular navigation Submit button on last page, show rectangular one */
#forminator-module-28 button.forminator-button-next[type="submit"],
#forminator-module-28 .forminator-button.forminator-button-next[type="submit"],
#forminator-module-28 .forminator-pagination-submit,
#forminator-module-28 button.forminator-pagination-submit,
#forminator-module-28 .forminator-button.forminator-pagination-submit {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Submit button container - flexbox layout */
#forminator-module-28 .forminator-button-submit-container,
#forminator-module-28 .forminator-footer-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Style the rectangular Submit button - smaller and aligned */
#forminator-module-28 .forminator-button-submit,
#forminator-module-28 button.forminator-button-submit,
#forminator-module-28 button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    background: #64b5f6 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0.875rem 2rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(100, 181, 246, 0.3) !important;
    margin-top: 1rem !important;
    margin-left: auto !important;
    order: 2 !important;
    width: auto !important;
}

#forminator-module-28 .forminator-button-submit:hover,
#forminator-module-28 button.forminator-button-submit:hover {
    background: #42a5f5 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(100, 181, 246, 0.4) !important;
}

/* RADIO BUTTONS AS STYLED BUTTONS */
#forminator-module-28 label.forminator-radio,
#forminator-module-28 .forminator-radio label {
    display: flex !important;
    align-items: center !important;
    padding: 1rem 1.5rem !important;
    background: #f0f8ff !important;
    border: 2px solid #b3d9ff !important;
    border-radius: 24px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    margin-bottom: 0.75rem !important;
    gap: 12px !important;
    width: 100% !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

#forminator-module-28 label.forminator-radio:hover {
    background: #e3f2fd !important;
    border-color: #1976d2 !important;
    transform: translateY(-2px) !important;
}

#forminator-module-28 label.forminator-radio:has(input[type="radio"]:checked) {
    background: #1976d2 !important;
    border-color: #0d47a1 !important;
}

#forminator-module-28 label.forminator-radio:has(input[type="radio"]:checked) .forminator-radio-label {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Hide actual radio input */
#forminator-module-28 label.forminator-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* CHECKBOX STYLES */
#forminator-module-28 label.forminator-checkbox,
#forminator-module-28 .forminator-checkbox label {
    display: flex !important;
    align-items: center !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    margin-bottom: 0.75rem !important;
    gap: 12px !important;
}

#forminator-module-28 .forminator-checkbox-label,
#forminator-module-28 label.forminator-checkbox span {
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #000000 !important;
}

/* Checkbox input styling */
#forminator-module-28 input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    cursor: pointer !important;
}

/* Form container */
#forminator-module-28.forminator-custom-form,
#forminator-module-28 {
    max-width: 700px !important;
    margin: 0 auto !important;
    padding: 3rem 2rem !important;
}

/* Fix Select2 dropdown clear/remove buttons */
#forminator-module-28 .select2-selection__clear,
#forminator-module-28 .select2-selection__choice__remove {
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 0 0.5rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    font-size: 1.2rem !important;
    color: #999 !important;
    cursor: pointer !important;
    position: relative !important;
    left: auto !important;
}

#forminator-module-28 .select2-selection__clear:hover,
#forminator-module-28 .select2-selection__choice__remove:hover {
    color: #e74c3c !important;
}

/* Hide the "Remove all items" button - keep only individual remove */
#forminator-module-28 .select2-selection__clear {
    display: none !important;
}

/* FILE UPLOAD - Both Single and Multiple types */

/* File upload containers - horizontal layout */
#forminator-module-28 .forminator-file-upload,
#forminator-module-28 .forminator-multi-upload {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
    position: relative !important;
}

/* Hide the actual file input but keep it functional */
#forminator-module-28 input[type="file"].forminator-input-file,
#forminator-module-28 input[type="file"].forminator-input-file-required {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
}

/* Multiple upload - clean up the drag-drop message */
#forminator-module-28 .forminator-multi-upload-message {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-direction: column !important;
    order: 1 !important;
}

/* Hide the upload icon */
#forminator-module-28 .forminator-multi-upload-message .forminator-icon-upload {
    display: none !important;
}

/* The paragraph contains the text */
#forminator-module-28 .forminator-multi-upload-message p {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-direction: row !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/* Style the "Choose Files" link to look like a button */
#forminator-module-28 .forminator-multi-upload-message a[class*="forminator-upload-file"],
#forminator-module-28 .forminator-button-upload,
#forminator-module-28 button.forminator-button-upload {
    display: inline-block !important;
    padding: 0.625rem 1.5rem !important;
    background-color: transparent !important;
    border: 2px solid currentColor !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: all 0.3s ease !important;
    order: -1 !important;
}

#forminator-module-28 .forminator-multi-upload-message a[class*="forminator-upload-file"]:hover,
#forminator-module-28 .forminator-button-upload:hover,
#forminator-module-28 button.forminator-button-upload:hover {
    opacity: 0.8 !important;
}

/* Change text from "Drag and Drop (or)" to "or Drag and Drop" */
#forminator-module-28 .forminator-multi-upload-message p {
    font-size: 0 !important;
}

#forminator-module-28 .forminator-multi-upload-message p::before {
    content: "or Drag and Drop" !important;
    font-size: 14px !important;
    order: 1 !important;
}

/* Filename text */
#forminator-module-28 .forminator-file-upload > span,
#forminator-module-28 .forminator-file-upload span[data-empty-text] {
    order: 2 !important;
    display: inline-block !important;
    font-size: 14px !important;
    color: #666 !important;
}

/* Hide "No file chosen" text only when empty */
#forminator-module-28 .forminator-file-upload span[data-empty-text]:empty,
#forminator-module-28 .forminator-file-upload > span:empty {
    display: none !important;
}

/* Multiple upload - uploaded files list */
#forminator-module-28 .forminator-uploaded-files {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    width: 100% !important;
    order: 4 !important;
}

#forminator-module-28 .forminator-uploaded-file {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Delete button - circular X on the right */
#forminator-module-28 .forminator-button-delete,
#forminator-module-28 button.forminator-button-delete,
#forminator-module-28 .forminator-uploaded-file--delete {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    color: #999 !important;
    cursor: pointer !important;
    background: transparent !important;
    border: 1px solid #999 !important;
    border-radius: 50% !important;
    order: 3 !important;
}

#forminator-module-28 .forminator-button-delete:hover,
#forminator-module-28 button.forminator-button-delete:hover {
    color: #e74c3c !important;
    border-color: #e74c3c !important;
}

/* Question labels */
#forminator-module-28 .forminator-label,
#forminator-module-28 .forminator-legend {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin-bottom: 1.5rem !important;
    text-align: center !important;
}

/* Radio button text */
#forminator-module-28 label.forminator-radio .forminator-radio-label,
#forminator-module-28 .forminator-radio label .forminator-radio-label {
    color: #1976d2 !important;
}

/* Make all form text darker */
#forminator-module-28,
#forminator-module-28 * {
    color: #000000 !important;
}

/* Progress container - wrapper for label and bar */
#forminator-module-28 .forminator-pagination-progress {
    margin-bottom: 2rem !important;
}

/* Progress label - the percentage text */
#forminator-module-28 .forminator-progress-label {
    text-align: center !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: #1976d2 !important;
}

/* Progress bar - gray background track */
#forminator-module-28 .forminator-progress-bar {
    background: #e0e0e0 !important;
    height: 6px !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

/* Progress bar fill - the colored span that grows */
#forminator-module-28 .forminator-progress-bar span {
    background: #6EC1E4 !important;
    height: 100% !important;
    transition: width 0.3s ease !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
}

/* ========================================
   FORM ID 329 - CONTACT FORM STYLES
   ======================================== */

/* Textarea with border */
#forminator-module-329 textarea,
#forminator-module-329 .forminator-textarea textarea,
#forminator-module-329 input[type="text"],
#forminator-module-329 input[type="email"] {
    border: 2px solid #87CEEB !important; /* Sky blue border */
    border-radius: 8px !important;
    padding: 0.75rem !important;
    font-size: 16px !important;
    transition: border-color 0.2s ease !important;
}

#forminator-module-329 textarea:focus,
#forminator-module-329 input[type="text"]:focus,
#forminator-module-329 input[type="email"]:focus {
    border-color: #6EC1E4 !important; /* Darker sky blue on focus */
    outline: none !important;
}

/* Submit button - sky blue and aligned right */
#forminator-module-329 .forminator-button-submit,
#forminator-module-329 button[type="submit"] {
    background: #87CEEB !important; /* Sky blue */
    color: #ffffff !important;
    border: none !important;
    padding: 0.75rem 2rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    float: right !important; /* Align to the right */
    margin-top: 1rem !important;
}

#forminator-module-329 .forminator-button-submit:hover,
#forminator-module-329 button[type="submit"]:hover {
    background: #6EC1E4 !important; /* Darker sky blue on hover */
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(135, 206, 235, 0.4) !important;
}

/* Clear float for proper layout */
#forminator-module-329 .forminator-button-submit::after,
#forminator-module-329 button[type="submit"]::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* ========================================
   FORM ID 82 - MULTI-STEP FORM STYLES
   ======================================== */

/* Form container - remove padding for therapist form */
#forminator-module-82.forminator-custom-form,
#forminator-module-82 {
    padding: 0 !important;
}

/* Fix Select2 dropdown clear/remove buttons */
#forminator-module-82 .select2-selection__clear,
#forminator-module-82 .select2-selection__choice__remove {
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 0 0.5rem !important;
    margin: 0 !important;
    border-radius: 0 !important;
    font-size: 1.2rem !important;
    color: #999 !important;
    cursor: pointer !important;
    position: relative !important;
    left: auto !important;
}

#forminator-module-82 .select2-selection__clear:hover,
#forminator-module-82 .select2-selection__choice__remove:hover {
    color: #e74c3c !important;
}

/* Hide the "Remove all items" button - keep only individual remove */
#forminator-module-82 .select2-selection__clear {
    display: none !important;
}

/* FILE UPLOAD - Both Single and Multiple types */

/* File upload containers - horizontal layout */
#forminator-module-82 .forminator-file-upload,
#forminator-module-82 .forminator-multi-upload {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
    position: relative !important;
}

/* Hide the actual file input but keep it functional */
#forminator-module-82 input[type="file"].forminator-input-file,
#forminator-module-82 input[type="file"].forminator-input-file-required {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
}

/* Multiple upload - clean up the drag-drop message */
#forminator-module-82 .forminator-multi-upload-message {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-direction: column !important;
    order: 1 !important;
}

/* Hide the upload icon */
#forminator-module-82 .forminator-multi-upload-message .forminator-icon-upload {
    display: none !important;
}

/* The paragraph contains the text */
#forminator-module-82 .forminator-multi-upload-message p {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-direction: row !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/* Style the "Choose Files" link to look like a button */
#forminator-module-82 .forminator-multi-upload-message a[class*="forminator-upload-file"],
#forminator-module-82 .forminator-button-upload,
#forminator-module-82 button.forminator-button-upload {
    display: inline-block !important;
    padding: 0.625rem 1.5rem !important;
    background-color: transparent !important;
    border: 2px solid currentColor !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: all 0.3s ease !important;
    order: -1 !important;
}

#forminator-module-82 .forminator-multi-upload-message a[class*="forminator-upload-file"]:hover,
#forminator-module-82 .forminator-button-upload:hover,
#forminator-module-82 button.forminator-button-upload:hover {
    opacity: 0.8 !important;
}

/* Change text from "Drag and Drop (or)" to "or Drag and Drop" */
#forminator-module-82 .forminator-multi-upload-message p {
    font-size: 0 !important;
}

#forminator-module-82 .forminator-multi-upload-message p::before {
    content: "or Drag and Drop" !important;
    font-size: 14px !important;
    order: 1 !important;
}

/* Filename text */
#forminator-module-82 .forminator-file-upload > span,
#forminator-module-82 .forminator-file-upload span[data-empty-text] {
    order: 2 !important;
    display: inline-block !important;
    font-size: 14px !important;
    color: #666 !important;
}

/* Hide "No file chosen" text only when empty */
#forminator-module-82 .forminator-file-upload span[data-empty-text]:empty,
#forminator-module-82 .forminator-file-upload > span:empty {
    display: none !important;
}

/* Multiple upload - uploaded files list */
#forminator-module-82 .forminator-uploaded-files {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    width: 100% !important;
    order: 4 !important;
}

#forminator-module-82 .forminator-uploaded-file {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Delete button - circular X on the right */
#forminator-module-82 .forminator-button-delete,
#forminator-module-82 button.forminator-button-delete,
#forminator-module-82 .forminator-uploaded-file--delete {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    color: #999 !important;
    cursor: pointer !important;
    background: transparent !important;
    border: 1px solid #999 !important;
    border-radius: 50% !important;
    order: 3 !important;
}

#forminator-module-82 .forminator-button-delete:hover,
#forminator-module-82 button.forminator-button-delete:hover {
    color: #e74c3c !important;
    border-color: #e74c3c !important;
}

/* NAVIGATION BUTTONS - Only Next/Back, NOT upload/delete buttons */
#forminator-module-82 button.forminator-button-next,
#forminator-module-82 button.forminator-button-back,
#forminator-module-82 .forminator-pagination button.forminator-button-next,
#forminator-module-82 .forminator-pagination button.forminator-button-back,
#forminator-module-82 button[data-action="next"],
#forminator-module-82 button[data-action="prev"],
#forminator-module-82 .forminator-button.forminator-button-next,
#forminator-module-82 .forminator-button.forminator-button-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    min-height: 3.5rem !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    background: #64b5f6 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(100, 181, 246, 0.3) !important;
    margin-top: 1rem !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    z-index: 10 !important;
}

/* Back button specific styling */
#forminator-module-82 button.forminator-button-back,
#forminator-module-82 .forminator-button.forminator-button-back {
    background: #e0e0e0 !important;
    color: #333 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Replace button text with arrows */
#forminator-module-82 button.forminator-button-next,
#forminator-module-82 .forminator-button.forminator-button-next,
#forminator-module-82 button[data-action="next"] {
    font-size: 0 !important; /* Hide text */
}

#forminator-module-82 button.forminator-button-next::after,
#forminator-module-82 .forminator-button.forminator-button-next::after,
#forminator-module-82 button[data-action="next"]::after {
    content: "⇨" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

#forminator-module-82 button.forminator-button-back,
#forminator-module-82 .forminator-button.forminator-button-back,
#forminator-module-82 button[data-action="prev"] {
    font-size: 0 !important; /* Hide text */
}

#forminator-module-82 button.forminator-button-back::after,
#forminator-module-82 .forminator-button.forminator-button-back::after,
#forminator-module-82 button[data-action="prev"]::after {
    content: "⇦" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

/* Button hover states */
#forminator-module-82 button.forminator-button-next:hover,
#forminator-module-82 .forminator-button-next:hover {
    background: #42a5f5 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(100, 181, 246, 0.4) !important;
}

#forminator-module-82 button.forminator-button-back:hover,
#forminator-module-82 .forminator-button-back:hover {
    background: #d0d0d0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Button container layout - use flexbox for proper positioning */
#forminator-module-82 .forminator-pagination-footer,
#forminator-module-82 .forminator-pagination-buttons {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 0 !important;
}

/* Force show back button on all pages (including first page) */
#forminator-module-82 .forminator-button-back {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    order: 1 !important;
}

/* Override Forminator's hidden class */
#forminator-module-82 .forminator-button-back.forminator-hidden {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-right: auto !important;
    order: 1 !important;
}

/* Next button positioning */
#forminator-module-82 .forminator-button-next {
    margin-left: auto !important;
    margin-right: 0 !important;
    order: 2 !important;
}

/* Specific fix for first page - DON'T apply flexbox to the whole page */
#forminator-module-82 [role="tabpanel"]:first-child .forminator-pagination-footer,
#forminator-module-82 [data-step="0"] .forminator-pagination-footer {
    display: flex !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}

#forminator-module-82 [role="tabpanel"]:first-child .forminator-button-back,
#forminator-module-82 [data-step="0"] .forminator-button-back {
    margin-right: auto !important;
    margin-left: 0 !important;
}

/* Radio Buttons - Button Style */
#forminator-module-82 label.forminator-radio,
#forminator-module-82 .forminator-radio label {
    display: flex !important;
    align-items: center !important;
    padding: 1rem 1.5rem !important;
    background: #f0f8ff !important;
    border: 2px solid #b3d9ff !important;
    border-radius: 24px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    margin-bottom: 0.75rem !important;
    gap: 12px !important;
    width: 100% !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

#forminator-module-82 label.forminator-radio:hover {
    background: #e3f2fd !important;
    border-color: #1976d2 !important;
    transform: translateY(-2px) !important;
}

#forminator-module-82 label.forminator-radio:has(input[type="radio"]:checked) {
    background: #1976d2 !important;
    border-color: #0d47a1 !important;
}

#forminator-module-82 label.forminator-radio:has(input[type="radio"]:checked) .forminator-radio-label {
    color: #ffffff !important;
    font-weight: 600 !important;
}

#forminator-module-82 label.forminator-radio .forminator-radio-label {
    color: #1976d2 !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
}

/* Hide actual radio input */
#forminator-module-82 label.forminator-radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

/* Checkboxes - Simple Default Style */
#forminator-module-82 label.forminator-checkbox,
#forminator-module-82 .forminator-checkbox label {
    display: flex !important;
    align-items: center !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    margin-bottom: 0.75rem !important;
    gap: 12px !important;
}

#forminator-module-82 .forminator-checkbox-label,
#forminator-module-82 label.forminator-checkbox span {
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #1a1a1a !important;
}

#forminator-module-82 input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    cursor: pointer !important;
}

/* Select Dropdowns */
#forminator-module-82 select,
#forminator-module-82 .forminator-select select {
    width: 100% !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 1rem 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    background: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%231a1a1a' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1.5rem center !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}

#forminator-module-82 select:hover,
#forminator-module-82 select:focus {
    border-color: #1976d2 !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(25, 118, 210, 0.15) !important;
}

/* Text Areas */
#forminator-module-82 textarea,
#forminator-module-82 .forminator-textarea textarea {
    width: 100% !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 1rem 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    font-family: inherit !important;
    min-height: 120px !important;
    resize: vertical !important;
}

#forminator-module-82 textarea:focus {
    border-color: #1976d2 !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(25, 118, 210, 0.15) !important;
}

/* Text Inputs */
#forminator-module-82 input[type="text"],
#forminator-module-82 input[type="email"] {
    width: 100% !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 1rem 1.5rem !important;
    font-size: 1rem !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}

#forminator-module-82 input[type="text"]:focus,
#forminator-module-82 input[type="email"]:focus {
    border-color: #1976d2 !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(25, 118, 210, 0.15) !important;
}

/* Next Button - Circular with Arrow */
#forminator-module-82 button.forminator-button-next,
#forminator-module-82 .forminator-button.forminator-button-next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    min-height: 3.5rem !important;
    background: #1976d2 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
    font-size: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3) !important;
    margin-top: 1rem !important;
    margin-right: 0.5rem !important;
}

#forminator-module-82 button.forminator-button-next::after {
    content: "▶" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

#forminator-module-82 button.forminator-button-next:hover {
    background: #1565c0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4) !important;
}

/* Previous Button - Circular with Arrow */
#forminator-module-82 button.forminator-button-back,
#forminator-module-82 .forminator-button.forminator-button-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 3.5rem !important;
    height: 3.5rem !important;
    min-width: 3.5rem !important;
    min-height: 3.5rem !important;
    background: #e0e0e0 !important;
    color: #333 !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-weight: 600 !important;
    font-size: 0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    margin-top: 1rem !important;
}

#forminator-module-82 button.forminator-button-back::after {
    content: "◀" !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

#forminator-module-82 button.forminator-button-back:hover {
    background: #d0d0d0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Submit button container - flexbox layout */
#forminator-module-82 .forminator-button-submit-container,
#forminator-module-82 .forminator-footer-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* HIDE the circular navigation Submit button - show only rectangular one */
#forminator-module-82 button.forminator-button-next[type="submit"],
#forminator-module-82 .forminator-button.forminator-button-next[type="submit"],
#forminator-module-82 .forminator-pagination-submit,
#forminator-module-82 button.forminator-pagination-submit,
#forminator-module-82 .forminator-button.forminator-pagination-submit {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Submit Button - Rectangular, smaller and aligned */
#forminator-module-82 .forminator-button-submit,
#forminator-module-82 button.forminator-button-submit,
#forminator-module-82 button[type="submit"]:not(.forminator-button-next) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    background: #1976d2 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0.875rem 2rem !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3) !important;
    margin-top: 1rem !important;
    margin-left: auto !important;
    order: 2 !important;
    width: auto !important;
}

#forminator-module-82 .forminator-button-submit:hover,
#forminator-module-82 button.forminator-button-submit:hover {
    background: #1565c0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(25, 118, 210, 0.4) !important;
}

/* Hide Previous button on first page */
#forminator-module-82 .forminator-hidden-force {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Question Labels */
#forminator-module-82 .forminator-label,
#forminator-module-82 .forminator-legend {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    margin-bottom: 1.5rem !important;
    text-align: center !important;
}

/* Progress Bar */
#forminator-module-82 .forminator-pagination-progress {
    margin-bottom: 2rem !important;
}

#forminator-module-82 .forminator-progress-label {
    text-align: center !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: #1976d2 !important;
}

#forminator-module-82 .forminator-progress-bar {
    background: #e0e0e0 !important;
    height: 6px !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

#forminator-module-82 .forminator-progress-bar span {
    background: #1976d2 !important;
    height: 100% !important;
    transition: width 0.3s ease !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
}

/* ========================================
   FOOTER FIX - Remove bottom spacing only
   ======================================== */
/* Remove bottom spacing from footer */
#colophon,
footer#colophon,
.site-footer,
footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove bottom spacing from body and html */
html,
body {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Fix footer spacing on /starting page specifically */
/* Remove all bottom spacing from Forminator form container */
#forminator-module-28.forminator-custom-form,
#forminator-module-28,
#forminator-module-28.forminator-ui {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove bottom spacing from Elementor widgets in footer */
footer#colophon .elementor-section,
footer#colophon .elementor-container,
footer#colophon .elementor-widget-wrap,
footer#colophon .elementor-widget-container,
footer#colophon .elementor-widget-container p {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* ========================================
   PROFILE EDIT PAGE - COMPLETE FORM STYLING
   ======================================== */

/* Profile Form Container - Increase width on desktop */
@media (min-width: 768px) {
    .profile-form-wrapper,
    .profile-form-wrapper .cmb-form,
    .profile-form-wrapper .cmb2-wrap {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .profile-form-wrapper .cmb-row,
    .profile-form-wrapper .cmb2-wrap .cmb-row {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Ensure form fields take full width */
    .profile-form-wrapper .cmb-td,
    .profile-form-wrapper .cmb2-wrap .cmb-td {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Override CMB2 default field widths */
    .profile-form-wrapper .cmb2-wrap input[type="text"],
    .profile-form-wrapper .cmb2-wrap input[type="email"],
    .profile-form-wrapper .cmb2-wrap input[type="url"],
    .profile-form-wrapper .cmb2-wrap input[type="number"],
    .profile-form-wrapper .cmb2-wrap textarea,
    .profile-form-wrapper .cmb2-wrap select {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Override CMB2 medium and small field widths */
    .profile-form-wrapper .cmb2-wrap input.cmb2-text-medium,
    .profile-form-wrapper .cmb2-wrap input.cmb2-text-small {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (min-width: 1200px) {
    /* On larger desktop screens, ensure form uses available space */
    .profile-form-wrapper {
        max-width: 1200px !important;
        margin: 0 auto !important;
    }
    
    /* Ensure parent containers don't restrict width */
    body.page-template-page-profile .site-main,
    body.page-template-page-profile .content-area,
    body.page-template-page-profile .entry-content {
        max-width: 100% !important;
    }
}

/* Hide "Create New Account" button on profile edit page */
.profile-form-wrapper .elementor-button-link[href*="/starting/"],
.cmb-form .elementor-button-link[href*="/starting/"],
a.elementor-button[href*="/starting/"],
.elementor-button-wrapper a[href*="/starting/"] {
    display: none !important;
}

/* Remove list markers (bullet points) */
.profile-form-wrapper .cmb2-radio-list,
.profile-form-wrapper .cmb2-checkbox-list,
.cmb-form .cmb2-list {
    list-style: none !important;
    padding: 0;
    margin: 0;
}

.profile-form-wrapper .cmb2-radio-list li,
.profile-form-wrapper .cmb2-checkbox-list li,
.cmb-form .cmb2-list li {
    list-style: none !important;
}

.profile-form-wrapper .cmb2-radio-list li::marker,
.profile-form-wrapper .cmb2-checkbox-list li::marker,
.cmb-form .cmb2-list li::marker {
    display: none !important;
    content: none !important;
}

/* Form Rows - Compact spacing between fields */
.profile-form-wrapper .cmb-row,
.cmb-form .cmb-row,
.profile-form-wrapper .cmb2-wrap > .cmb-row,
.cmb-form .cmb2-wrap > .cmb-row {
    margin-bottom: 1.25rem;
}

.profile-form-wrapper .cmb-row:last-child,
.cmb-form .cmb-row:last-child {
    margin-bottom: 0;
}

/* Form Labels */
.profile-form-wrapper .cmb-th label,
.cmb-form .cmb-th label,
.profile-form-wrapper label,
.cmb-form label {
    color: #2d3748;
    font-size: 1.05rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: block;
}

/* Field Descriptions */
.profile-form-wrapper .cmb2-metabox-description,
.cmb-form .cmb2-metabox-description,
.profile-form-wrapper .description {
    color: #718096;
    font-size: 0.9rem;
    font-style: italic;
    margin-top: 0.25rem;
    margin-bottom: 0;
    display: block;
}

/* Radio Button Lists - Simple Clean Style */
.profile-form-wrapper .cmb2-radio-list,
.cmb-form .cmb2-radio-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

/* Radio list items - ensure inline layout */
.profile-form-wrapper .cmb2-radio-list li,
.cmb-form .cmb2-radio-list li {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem;
    padding: 0.25rem 0;
}

/* Radio Option Labels - Simple with radio button, force inline */
.profile-form-wrapper .cmb2-radio-list .cmb2-option,
.profile-form-wrapper .cmb2-radio-list label,
.cmb-form .cmb2-radio-list label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    cursor: pointer;
    font-weight: 500;
    color: #2d3748;
    margin: 0 !important;
}

/* Radio button styling */
.profile-form-wrapper .cmb2-radio-list input[type="radio"],
.cmb-form .cmb2-radio-list input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    cursor: pointer;
    margin: 0 !important;
    accent-color: #667eea;
    flex-shrink: 0;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Label text */
.profile-form-wrapper .cmb2-radio-list .cmb2-option span,
.profile-form-wrapper .cmb2-radio-list label span,
.cmb-form .cmb2-radio-list label span {
    display: inline !important;
    vertical-align: middle !important;
}

/* Checkbox Lists */
.profile-form-wrapper .cmb2-checkbox-list,
.cmb-form .cmb2-checkbox-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.profile-form-wrapper .cmb2-checkbox-list .cmb2-option,
.cmb-form .cmb2-checkbox-list label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    cursor: pointer;
    font-weight: 500;
    color: #2d3748;
    padding: 0.25rem 0;
}

.profile-form-wrapper .cmb2-checkbox-list input[type="checkbox"],
.cmb-form .cmb2-checkbox-list input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    margin: 0;
    accent-color: #667eea;
}

/* Text Inputs */
.profile-form-wrapper input[type="text"],
.profile-form-wrapper input[type="email"],
.profile-form-wrapper input[type="url"],
.profile-form-wrapper input[type="tel"],
.profile-form-wrapper input[type="number"],
.profile-form-wrapper input[type="password"],
.profile-form-wrapper input[type="date"],
.cmb-form input[type="text"],
.cmb-form input[type="email"],
.cmb-form input[type="url"],
.cmb-form input[type="tel"],
.cmb-form input[type="number"],
.cmb-form input[type="password"],
.cmb-form input[type="date"] {
    width: 100%;
    padding: 0.875rem 1.25rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #ffffff;
    color: #2d3748;
}

.profile-form-wrapper input:focus,
.cmb-form input:focus {
    border-color: #667eea;
    outline: none;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Textareas */
.profile-form-wrapper textarea,
.cmb-form textarea {
    width: 100%;
    min-height: 150px;
    padding: 0.875rem 1.25rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #ffffff;
    color: #2d3748;
    resize: vertical;
    font-family: inherit;
}

.profile-form-wrapper textarea:focus,
.cmb-form textarea:focus {
    border-color: #667eea;
    outline: none;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Select Dropdowns */
.profile-form-wrapper select,
.cmb-form select {
    width: 100%;
    padding: 0.875rem 1.25rem;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #ffffff;
    color: #2d3748;
    cursor: pointer;
}

.profile-form-wrapper select:focus,
.cmb-form select:focus {
    border-color: #667eea;
    outline: none;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Multiselect - Show all options */
.profile-form-wrapper select[multiple],
.cmb-form select[multiple] {
    height: auto !important;
    min-height: 200px;
    padding: 0.5rem;
}

.profile-form-wrapper select[multiple] option,
.cmb-form select[multiple] option {
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin-bottom: 0.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.profile-form-wrapper select[multiple] option:hover,
.cmb-form select[multiple] option:hover {
    background: #edf2f7;
}

.profile-form-wrapper select[multiple] option:checked,
.cmb-form select[multiple] option:checked {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #ffffff !important;
    font-weight: 600;
}

/* Select2 Dropdown - Show all options */
.profile-form-wrapper .select2-container,
.cmb-form .select2-container {
    width: 100% !important;
}

/* Select2 Container Height - Set to 40px for all select containers */
.select2-container .select2-selection--single {
    height: 40px !important;
    min-height: 40px !important;
}

.select2-container .select2-selection--multiple {
    min-height: 40px !important;
}

.profile-form-wrapper .select2-container .select2-selection--multiple,
.cmb-form .select2-container .select2-selection--multiple {
    border: 2px solid #e2e8f0 !important;
    border-radius: 10px !important;
    min-height: 40px;
    padding: 0.5rem;
    cursor: pointer !important;
    position: relative;
}

/* Select2 Single Selection - Set height to 40px */
.profile-form-wrapper .select2-container .select2-selection--single,
.cmb-form .select2-container .select2-selection--single {
    height: 40px !important;
    min-height: 40px !important;
}

/* Remove placeholder text from multiple select containers */
.profile-form-wrapper .select2-container .select2-selection--multiple::after,
.cmb-form .select2-container .select2-selection--multiple::after,
.select2-container .select2-selection--multiple::after {
    display: none !important;
    content: none !important;
}

/* Hide Select2 placeholder text */
.select2-container .select2-selection__placeholder,
.select2-selection__rendered .select2-selection__placeholder {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.profile-form-wrapper .select2-container .select2-selection--multiple:hover,
.cmb-form .select2-container .select2-selection--multiple:hover {
    border-color: #667eea !important;
    background: #f7fafc !important;
}

.profile-form-wrapper .select2-container .select2-selection--multiple:focus,
.cmb-form .select2-container .select2-selection--multiple:focus,
.profile-form-wrapper .select2-container--open .select2-selection--multiple,
.cmb-form .select2-container--open .select2-selection--multiple {
    border-color: #667eea !important;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
}

/* Search input inside multiselect */
.profile-form-wrapper .select2-container .select2-search--inline,
.cmb-form .select2-container .select2-search--inline {
    width: 100% !important;
}

.profile-form-wrapper .select2-container .select2-search--inline .select2-search__field,
.cmb-form .select2-container .select2-search--inline .select2-search__field {
    width: 100% !important;
    min-width: 200px !important;
    padding: 0.5rem !important;
    margin: 0.25rem !important;
    font-size: 1rem !important;
}

/* Select2 - Selected items (tags) - Always visible */
.profile-form-wrapper .select2-selection__choice,
.cmb-form .select2-selection__choice {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 0.5rem 1rem !important;
    font-weight: 500;
    margin: 0.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem;
    max-width: 100%;
    z-index: 10;
    position: relative;
}

/* Select2 - Remove button */
.profile-form-wrapper .select2-selection__choice__remove,
.cmb-form .select2-selection__choice__remove {
    color: #ffffff !important;
    margin-right: 0.5rem !important;
    font-weight: bold;
}

.profile-form-wrapper .select2-selection__choice__remove:hover,
.cmb-form .select2-selection__choice__remove:hover {
    color: #ffd4d4 !important;
}

/* Select2 Dropdown Results - Always show all options */
.select2-container--default .select2-results__option {
    padding: 0.75rem 1rem !important;
    transition: all 0.2s ease;
    cursor: pointer !important;
}

/* Unselected options - make them clearly visible */
.select2-container--default .select2-results__option[aria-selected=false] {
    background: #ffffff !important;
    color: #2d3748 !important;
    font-weight: 500;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #edf2f7 !important;
    color: #2d3748 !important;
}

/* Selected options in dropdown - show with checkmark */
.select2-container--default .select2-results__option[aria-selected=true] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #ffffff !important;
    font-weight: 600;
}

.select2-container--default .select2-results__option[aria-selected=true]::before {
    content: '✓ ';
    margin-right: 0.5rem;
}

/* Select2 Search box in dropdown */
.select2-container--default .select2-search--dropdown .select2-search__field {
    padding: 0.75rem !important;
    font-size: 1rem !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    width: 100% !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #667eea !important;
    outline: none !important;
}

/* Force Select2 dropdown to show all available options */
.select2-results__options {
    max-height: 400px !important;
    overflow-y: auto !important;
}

/* Make sure all results are visible */
.select2-results__option {
    display: block !important;
}

/* Make dropdown more visible and prominent */
.select2-dropdown {
    border: 2px solid #667eea !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 30px rgba(102, 126, 234, 0.3) !important;
    z-index: 9999 !important;
}

/* Dropdown container */
.select2-container--default.select2-container--open .select2-dropdown--below {
    margin-top: 4px;
}

/* Message when no results */
.select2-results__message {
    padding: 1rem !important;
    color: #718096 !important;
    text-align: center;
    font-style: italic;
}

/* Help text for multiselect fields */
.profile-form-wrapper .cmb2-metabox-description,
.cmb-form .cmb2-metabox-description {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Add instruction helper */
.profile-form-wrapper .select2-container::before,
.cmb-form .select2-container::before {
    content: attr(data-help);
    display: block;
    font-size: 0.85rem;
    color: #718096;
    margin-bottom: 0.25rem;
    font-style: italic;
}

/* Submit Button - Beautiful Save Profile Button with Icon */
.profile-form-wrapper button[type="submit"],
.profile-form-wrapper button[name="submit-cmb-profile"],
.profile-form-wrapper input[type="submit"],
.profile-form-wrapper input[name="submit-cmb-profile"],
.cmb-form button[type="submit"],
.cmb-form button[name="submit-cmb-profile"],
.cmb-form input[type="submit"],
.cmb-form input[name="submit-cmb-profile"],
.profile-form-wrapper .btn-theme,
.cmb-form .btn-theme,
button.btn.btn-theme.btn-inverse[name="submit-cmb-profile"] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #ffffff !important;
    padding: 0.75rem 3rem !important;
    border: none !important;
    border-radius: 50px !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    position: relative !important;
    overflow: hidden !important;
    margin-top: 2rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
}

/* Hide the existing icon, we'll use our own */
.profile-form-wrapper button[name="submit-cmb-profile"] i,
.cmb-form button[name="submit-cmb-profile"] i,
button.btn.btn-theme.btn-inverse[name="submit-cmb-profile"] i {
    display: none !important;
}

/* Add save icon after text */
.profile-form-wrapper button[type="submit"]::after,
.profile-form-wrapper button[name="submit-cmb-profile"]::after,
.cmb-form button[type="submit"]::after,
.cmb-form button[name="submit-cmb-profile"]::after {
    content: '💾';
    font-size: 1.3rem;
    display: inline-block;
}

/* Shimmer effect on hover */
.profile-form-wrapper button[type="submit"]::before,
.profile-form-wrapper button[name="submit-cmb-profile"]::before,
.cmb-form button[type="submit"]::before,
.cmb-form button[name="submit-cmb-profile"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 0.6s;
    z-index: 0;
}

.profile-form-wrapper button[type="submit"]:hover,
.profile-form-wrapper button[name="submit-cmb-profile"]:hover,
.cmb-form button[type="submit"]:hover,
.cmb-form button[name="submit-cmb-profile"]:hover {
    transform: translateY(-4px) scale(1.03) !important;
    box-shadow: 0 12px 40px rgba(102, 126, 234, 0.6) !important;
}

.profile-form-wrapper button[type="submit"]:hover::before,
.profile-form-wrapper button[name="submit-cmb-profile"]:hover::before,
.cmb-form button[type="submit"]:hover::before,
.cmb-form button[name="submit-cmb-profile"]:hover::before {
    left: 100%;
}

.profile-form-wrapper button[type="submit"]:active,
.profile-form-wrapper button[name="submit-cmb-profile"]:active,
.cmb-form button[type="submit"]:active,
.cmb-form button[name="submit-cmb-profile"]:active {
    transform: translateY(-1px) scale(1.01) !important;
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5) !important;
}

/* Pulse animation on page load */
@keyframes pulse-save-button {
    0%, 100% {
        box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4) !important;
    }
    50% {
        box-shadow: 0 8px 35px rgba(102, 126, 234, 0.6) !important;
    }
}

.profile-form-wrapper button[type="submit"],
.profile-form-wrapper button[name="submit-cmb-profile"],
.cmb-form button[type="submit"],
.cmb-form button[name="submit-cmb-profile"] {
    animation: pulse-save-button 2s ease-in-out infinite;
}

.profile-form-wrapper button[type="submit"]:hover,
.profile-form-wrapper button[name="submit-cmb-profile"]:hover,
.cmb-form button[type="submit"]:hover,
.cmb-form button[name="submit-cmb-profile"]:hover {
    animation: none;
}

/* Profile Form - Compact Spacing */
.profile-form-wrapper .cmb-row,
.profile-form-wrapper .cmb2-wrap .cmb-row {
    margin-bottom: 1rem !important;
}

.profile-form-wrapper .cmb-th,
.profile-form-wrapper .cmb2-wrap .cmb-th {
    padding: 0 !important;
}

.profile-form-wrapper .cmb-th label,
.profile-form-wrapper .cmb2-wrap .cmb-th label {
    margin-bottom: 0.25rem !important;
    padding: 0 !important;
}

.profile-form-wrapper .cmb-td,
.profile-form-wrapper .cmb2-wrap .cmb-td {
    padding: 0 !important;
}

.profile-form-wrapper .cmb2-metabox-description {
    margin-top: 0.25rem !important;
    margin-bottom: 0 !important;
}

/* Reduce spacing in form fields */
.profile-form-wrapper input[type="text"],
.profile-form-wrapper input[type="email"],
.profile-form-wrapper input[type="url"],
.profile-form-wrapper input[type="number"],
.profile-form-wrapper textarea,
.profile-form-wrapper select {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Responsive - Mobile */
@media (max-width: 480px) {
    .profile-form-wrapper button[type="submit"],
    .profile-form-wrapper button[name="submit-cmb-profile"],
    .profile-form-wrapper input[type="submit"],
    .profile-form-wrapper input[name="submit-cmb-profile"],
    .cmb-form button[type="submit"],
    .cmb-form button[name="submit-cmb-profile"],
    .cmb-form input[type="submit"],
    .cmb-form input[name="submit-cmb-profile"] {
        width: 100% !important;
        padding: 1.125rem 2rem !important;
        font-size: 1.05rem !important;
    }
}

/*
 * Employer and Freelancer profile styles have been moved to separate files
 * for better organization and performance:
 * 
 * - css/employer-styles.css  (loaded only on employer pages)
 * - css/freelancer-styles.css (loaded only on freelancer pages)
 * 
 * These files are conditionally loaded via functions.php
 * See: freeio_child_enqueue_profile_styles()
 */






