/*
 Theme Name:   Dornayeabi
 Theme URI:    https://dornayeabi.net/
 Description:  Child theme سفارشی برای پروژه درنای آبی
 Author:       Sadegh Gohari
 Author URI:   https://your-website.com
 Template:     hello-biz
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  dornayeabi
*/
/* کد جدید برای استایل دادن به اسلایدر المنتور */
/* ============== Home/Projehaye Movafaq ============== */
#uc_image_card_carousel_elementor_1bb906b .owl-nav .owl-prev,
#uc_image_card_carousel_elementor_1bb906b .owl-nav .owl-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
}
#uc_image_card_carousel_elementor_1bb906b .owl-nav .owl-prev {
    display: none !important;
}
/* --- Homepage/Ba Ham Ta Akharin Qadam --- */
.icon-radius .elementor-icon svg {
    border-radius: 222px !important;
}
/* =================================================================
   blur-hero-section
   ================================================================= */

.blur-hero-section {
  /* --- Core Blur Effect --- */
  backdrop-filter: blur(17.1px);
  -webkit-backdrop-filter: blur(17.1px); /* Safari support */
  background-color: rgba(0, 0, 0, 0.1); /* Black background with 10% opacity */

  /* --- Optional Styling --- */
  border-radius: 14px; /* Rounded corners */
  padding: 20px;       /* Inner padding */
}
/*=========================Font Display========================= */
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-Light.woff2') format('woff2');
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-Regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-SemiBold.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-Bold.woff2') format('woff2');
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-ExtraBold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}	
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-Black.woff2') format('woff2');
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: 'YekanBakhFaNum';
  src: url('https://tohidikia.ir/wp-content/uploads/2025/09/YekanBakhFaNum-ExtraBlack.woff2') format('woff2');
  font-weight: 900;
  font-display: swap;
}
/*=========================Font Display========================= */

/*============================Forms==============================*/
/*===================Light Mode Gravity Forms====================*/
/* --- General Form Wrapper & Structure --- */
.lightmode-form .gform_wrapper {
    padding: 40px 30px;
    border-radius: 12px;
    margin: 0 auto;
    direction: rtl;
}

/* --- Hide default form title/description --- */
.lightmode-form .gform_wrapper .gform_title,
.lightmode-form .gform_wrapper .gform_description {
    display: none !important;
}

/* --- Field Label Styling (General) --- */
.lightmode-form .gform_wrapper .gfield_label {
    display: block !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #1E293B;
    margin-bottom: 12px;
    text-align: right;
}

/* --- Field Container Styling --- */
.lightmode-form .gform_wrapper .gfield {
    margin-bottom: 24px !important;
    padding: 0 !important;
}

/* --- Input Field Styling (Text, Tel, Number, Email) --- */
.lightmode-form .gform_wrapper input[type="text"],
.lightmode-form .gform_wrapper input[type="tel"],
.lightmode-form .gform_wrapper input[type="number"],
.lightmode-form .gform_wrapper input[type="email"] {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    color: #1E293B !important;
    padding: 16px 20px !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    transition: all 0.3s ease;
}

/* --- Select/Dropdown Field Styling --- */
.lightmode-form .gform_wrapper .gfield select {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    color: #1E293B !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%239CA3AF"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>');
    background-repeat: no-repeat;
    background-position: left 20px center;
    background-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* --- Focus and Hover State --- */
.lightmode-form .gform_wrapper input[type="text"]:focus,
.lightmode-form .gform_wrapper input[type="tel"]:focus,
.lightmode-form .gform_wrapper input[type="number"]:focus,
.lightmode-form .gform_wrapper input[type="email"]:focus,
.lightmode-form .gform_wrapper .gfield select:focus {
    outline: none !important;
    border-color: #274185 !important;
    box-shadow: 0 0 0 2px rgba(39, 65, 133, 0.2) !important;
}

/* --- Hover State --- */
.lightmode-form .gform_wrapper input[type="text"]:hover,
.lightmode-form .gform_wrapper input[type="tel"]:hover,
.lightmode-form .gform_wrapper input[type="number"]:hover,
.lightmode-form .gform_wrapper input[type="email"]:hover,
.lightmode-form .gform_wrapper .gfield select:hover {
    border-color: #274185 !important;
}

/* --- Required Field Styling (Corrected & Optimized) --- */
.lightmode-form .gform_wrapper.gravity-theme .gfield .gfield_required {
    color: #ED1F24 !important;
    display: inline-block !important;
    font-size: 13.008px !important;
    padding-inline-start: 0.125em !important;
    font-style: normal !important;
}
/*================================================================*/
/*=============== EVALUATION FORM STYLESHEET (Final Version) ===============*/
/*================================================================*/

/*=================== General Form Styles ====================*/

/* --- Form Wrapper & Structure --- */
.evaluation-form .gform_wrapper {
    padding: 40px 30px;
    border-radius: 12px;
    margin: 0 auto;
    direction: rtl;
}

/* --- Hide Default Title/Description --- */
.evaluation-form .gform_wrapper .gform_title,
.evaluation-form .gform_wrapper .gform_description {
    display: none !important;
}

/* --- Field Label Styling --- */
.evaluation-form .gform_wrapper .gfield_label {
    display: block !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #1E293B;
    margin-bottom: 12px;
    text-align: right;
}

/* --- Field Container --- */
.evaluation-form .gform_wrapper .gfield {
    margin-bottom: 24px !important;
    padding: 0 !important;
}

/* --- Input Fields (Text, Tel, Number, Email) --- */
.evaluation-form .gform_wrapper input[type="text"],
.evaluation-form .gform_wrapper input[type="tel"],
.evaluation-form .gform_wrapper input[type="number"],
.evaluation-form .gform_wrapper input[type="email"] {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    color: #1E293B !important;
    padding: 16px 20px !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    transition: all 0.3s ease;
}

/* --- Select/Dropdown Fields --- */
.evaluation-form .gform_wrapper .gfield select {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    color: #1E293B !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%239CA3AF"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>');
    background-repeat: no-repeat;
    background-position: left 20px center;
    background-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* --- Focus State --- */
.evaluation-form .gform_wrapper input[type="text"]:focus,
.evaluation-form .gform_wrapper input[type="tel"]:focus,
.evaluation-form .gform_wrapper input[type="number"]:focus,
.evaluation-form .gform_wrapper input[type="email"]:focus,
.evaluation-form .gform_wrapper .gfield select:focus {
    outline: none !important;
    border-color: #274185 !important;
    box-shadow: 0 0 0 2px rgba(39, 65, 133, 0.2) !important;
}

/* --- Hover State --- */
.evaluation-form .gform_wrapper input[type="text"]:hover,
.evaluation-form .gform_wrapper input[type="tel"]:hover,
.evaluation-form .gform_wrapper input[type="number"]:hover,
.evaluation-form .gform_wrapper input[type="email"]:hover,
.evaluation-form .gform_wrapper .gfield select:hover {
    border-color: #274185 !important;
}

/* --- Required Field Asterisk --- */
.evaluation-form .gform_wrapper.gravity-theme .gfield .gfield_required {
    color: #ED1F24 !important;
    display: inline-block !important;
    font-size: 13.008px !important;
    padding-inline-start: 0.125em !important;
    font-style: normal !important;
}


/*============================================================*/
/*=============== OTP FIELD STYLES (NEW & IMPROVED) ===============*/
/*============================================================*/

/* --- Clean Fix for Full-Width OTP Container --- */
.evaluation-form .gform_wrapper #field_1_77 {
    width: 100% !important;
    clear: both !important;
}

.evaluation-form .gform_wrapper #field_1_77 .ginput_container {
    display: block !important; /* or flex, but block is simpler here */
    width: 100% !important;
}

.evaluation-form .gform_wrapper .simple-otp {
    width: 235% !important;
    margin: 15px 0 !important;
    display: block !important;
}

/* --- OTP Input Field (like booking form) --- */
.evaluation-form .gform_wrapper .simple-otp .otp-input {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    color: #1E293B !important;
    padding: 16px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 10px 0 !important;
    text-align: center !important; /* Center-align for OTP code */
    font-size: 16px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    letter-spacing: 5px;
    transition: all 0.3s ease;
}

/* --- OTP Verify Button (like booking form) --- */
.evaluation-form .gform_wrapper .simple-otp .otp-verify-btn {
    font-family: "YekanBakhFaNum", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #274185 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #274185 !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

/* --- Hover State for Button and Input --- */
.evaluation-form .gform_wrapper .simple-otp .otp-input:hover,
.evaluation-form .gform_wrapper .simple-otp .otp-verify-btn:hover {
    border-color: #274185 !important;
    background-color: #f8f9fa !important;
}

/* --- Focus State for Input --- */
.evaluation-form .gform_wrapper .simple-otp .otp-input:focus {
    outline: none !important;
    border-color: #274185 !important;
    box-shadow: 0 0 0 2px rgba(39, 65, 133, 0.2) !important;
}

/* --- OTP Messages (like booking form) --- */
.evaluation-form .gform_wrapper .otp-success-message,
.evaluation-form .gform_wrapper .otp-error-message {
    color: #155724;
    background: #d4edda;
    padding: 10px !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: 'YekanBakhFaNum', sans-serif !important;
    text-align: center !important;
}

.evaluation-form .gform_wrapper .otp-error-message {
    background: #f8d7da !important;
    color: #721c24 !important;
}
/*
/*=================== Booking Form Styles (Light Mode + OTP) ====================*/

/* --- General Form Wrapper & Structure --- */

/* Make Gravity Forms radio buttons horizontal */
.booking-form .gfield_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.booking-form .gform_wrapper {
    padding: 40px 30px;
    border-radius: 12px;
    max-width: 450px;
    margin: 0 auto;
    direction: rtl;
}

/* --- Hide default form title/description --- */
.booking-form .gform_wrapper .gform_title,
.booking-form .gform_wrapper .gform_description {
    display: none !important;
}

/* --- Reset Gravity Forms Grid Layout --- */
.booking-form .gform_wrapper .gform_fields {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
}

/* --- Field Container Styling (Merged) --- */
.booking-form .gform_wrapper .gfield {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
}

/* --- Field Label Styling (General) --- */
.booking-form .gform_wrapper .gfield_label {
    display: block !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #1E293B;
    margin-bottom: 12px;
    text-align: right;
}

/* --- Input & Textarea Field Styling --- */
.booking-form .gform_wrapper input[type="text"],
.booking-form .gform_wrapper input[type="tel"],
.booking-form .gform_wrapper input[type="number"],
.booking-form .gform_wrapper input[type="email"],
.booking-form .gform_wrapper textarea { /* <-- این خط اضافه شد */
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    color: #1E293B !important;
    padding: 16px 20px !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    transition: all 0.3s ease;
}

/* --- Textarea-Specific Styling --- */
.booking-form .gform_wrapper textarea {
    resize: vertical; /* به کاربر اجازه تغییر ارتفاع را می‌دهد */
    min-height: 120px; /* یک ارتفاع اولیه مناسب تعیین می‌کند */
}

/* --- Select/Dropdown Field Styling --- */
.booking-form .gform_wrapper .gfield select {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    color: #1E293B !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%239CA3AF"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /></svg>');
    background-repeat: no-repeat;
    background-position: left 20px center;
    background-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* --- OTP Container --- */
.booking-form .simple-otp {
    width: 100% !important;
    margin: 15px 0 !important;
    display: block !important;
}

/* --- OTP Buttons --- */
.booking-form .simple-otp button {
    font-family: "YekanBakhFaNum", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #274185 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #274185 !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

/* --- OTP Input Field --- */
.booking-form #otp-code {
    background-color: #F8FAFC !important;
    border: 1px solid #C2D1E2 !important;
    border-radius: 8px !important;
    color: #1E293B !important;
    padding: 16px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 10px 0 !important;
    text-align: right !important;
    direction: rtl !important;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif !important;
    transition: all 0.3s ease !important;
}

/* --- OTP Messages --- */
.booking-form .otp-success-message,
.booking-form .otp-error-message {
    color: #155724;
    background: #d4edda;
    padding: 10px !important;
    border-radius: 8px !important;
    margin: 10px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: 'YekanBakhFaNum', sans-serif !important;
    text-align: center !important;
}

.booking-form .otp-error-message {
    background: #f8d7da !important;
    color: #721c24 !important;
}

/* --- Focus and Hover State --- */
.booking-form .gform_wrapper input[type="text"]:focus,
.booking-form .gform_wrapper input[type="tel"]:focus,
.booking-form .gform_wrapper input[type="number"]:focus,
.booking-form .gform_wrapper input[type="email"]:focus,
.booking-form .gform_wrapper .gfield select:focus,
.booking-form .gform_wrapper textarea:focus, /* <-- این خط اضافه شد */
.booking-form #otp-code:focus {
    outline: none !important;
    border-color: #274185 !important;
    box-shadow: 0 0 0 2px rgba(39, 65, 133, 0.2) !important;
}

.booking-form .gform_wrapper input[type="text"]:hover,
.booking-form .gform_wrapper input[type="tel"]:hover,
.booking-form .gform_wrapper input[type="number"]:hover,
.booking-form .gform_wrapper input[type="email"]:hover,
.booking-form .gform_wrapper .gfield select:hover,
.booking-form .gform_wrapper textarea:hover, /* <-- این خط اضافه شد */
.booking-form #otp-code:hover,
.booking-form .simple-otp button:hover {
    border-color: #274185 !important;
    background-color: #f8f9fa !important;
}

/* --- Required Field Styling --- */
.booking-form .gform_wrapper.gravity-theme .gfield .gfield_required {
    color: #ED1F24 !important;
    display: inline-block !important;
    font-size: 13.008px !important;
    padding-inline-start: 0.125em !important;
    font-style: normal !important;
}
/*
==========================================================================
 Horizontal Form (OTP & Gravity Forms)
==========================================================================
*/

/* ===> Base & General Styles <=== */

.horizontal-form {
    --form-main-color: #3A5B9A;
    --form-bg-color: #FFFFFF;
    --form-text-color: #FFFFFF;
    --form-border-color: #FFFFFF;
    --form-border-radius: 8px;
    --form-font: 'YekanBakhFaNum', sans-serif;
}

/* 0. Main Form Wrapper */
.horizontal-form .gform_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
    position: relative; /* For OTP messages */
    margin-top: 20px;
}

/* Reset unwanted margin from the theme */
.horizontal-form .gform_wrapper.gravity-theme button+input,
.horizontal-form .gform_wrapper.gravity-theme input+button,
.horizontal-form .gform_wrapper.gravity-theme input+input {
    margin-right: 0px !important;
}

/* Make Gravity Forms radio buttons horizontal */
.horizontal-form .gfield_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* Change the text color of the radio button labels to white */
.horizontal-form .gfield_radio label {
    color: white;
}

/* 1. Main <form> Tag - Vertical by Default */
.horizontal-form .gform_wrapper form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    width: 100% !important;
    padding-top: 30px;
}

/* 2. Inner Containers */
.horizontal-form .gform_body,
.horizontal-form .gform_fields,
.horizontal-form .gform_wrapper .gfield,
.horizontal-form .gform_footer {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.horizontal-form .gform_fields {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Hide unnecessary elements */
.horizontal-form .gform_title,
.horizontal-form .gform_description,
.horizontal-form .gform_wrapper .gfield_label {
    display: none !important;
}

/* ===> Fields & Buttons Styling <=== */

/* Input Fields Styling (Name, Phone & OTP) */
.horizontal-form .gform_wrapper input[type="text"],
.horizontal-form .gform_wrapper input[type="tel"],
.horizontal-form .otp-input,
.horizontal-form #otp-code {
    background-color: transparent !important;
    border: 1px solid var(--form-border-color) !important;
    border-radius: var(--form-border-radius) !important;
    color: var(--form-text-color) !important;
    padding: 14px 15px !important;
    width: 100% !important;
    box-sizing: border-box;
    margin: 0 !important;
    text-align: right;
    font-size: 14px !important;
    font-family: var(--form-font);
}

.horizontal-form .gform_wrapper input::placeholder {
    color: var(--form-text-color);
    opacity: 0.8;
}

.horizontal-form .otp-input,
.horizontal-form #otp-code {
    text-align: center !important;
    direction: ltr !important;
}

/* Buttons Styling (Submit, Send OTP & Verify OTP) */
.horizontal-form .gform_footer input[type="submit"],
.horizontal-form .otp-send-btn,
.horizontal-form .otp-verify-btn {
    background-color: var(--form-bg-color) !important;
    color: var(--form-main-color) !important;
    border: none !important;
    border-radius: var(--form-border-radius) !important;
    padding: 14px 35px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
    font-family: var(--form-font) !important;
    white-space: nowrap;
    flex-shrink: 0;
    
    /* Mobile-first styles for buttons */
    width: 100% !important;
    margin-top: 15px;
}

.horizontal-form .gform_footer input[type="submit"]:hover,
.horizontal-form .otp-send-btn:hover,
.horizontal-form .otp-verify-btn:hover {
    background-color: #f0f0f0 !important;
    transform: scale(1.02);
}

/* OTP Container */
.horizontal-form .simple-otp {
    width: 100%;
    margin: 0 !important;
}

/* ===> Messages Styling <=== */
.horizontal-form .otp-success-message,
.horizontal-form .otp-error-message,
.horizontal-form .gform_confirmation_message {
    background: rgba(255, 255, 255, 0.2) !important;
    color: var(--form-text-color) !important;
    padding: 10px !important;
    border-radius: var(--form-border-radius) !important;
    margin: 10px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--form-font) !important;
    text-align: center !important;
}

.horizontal-form .otp-error-message {
    background: rgba(220, 50, 50, 0.4) !important;
}

/**************************************************************
 * ===> Magic Part: Horizontal Layout for Desktop Only <===
 * These styles only apply to screens wider than 992px.
 **************************************************************/
@media (min-width: 992px) {
    /* 1. Make the main form horizontal and align items to the end */
    .horizontal-form .gform_wrapper form {
        flex-direction: row !important;
        align-items: flex-end;
        gap: 10px;
    }

    /* 2. Remove intermediate containers from the layout */
    .horizontal-form .gform_body,
    .horizontal-form .gform_fields {
        display: contents !important;
    }

    /* 3. Tell fields and the OTP container to share the available space */
    .horizontal-form .gform_wrapper .gfield,
    .horizontal-form .simple-otp {
        flex: 1 1 auto;
        width: auto !important;
    }

    /* 4. Tell the button to only take as much space as it needs */
    .horizontal-form .gform_footer {
        flex: 0 0 auto;
        width: auto !important;
    }

    /* 4.1. Override button styles for desktop */
    .horizontal-form .gform_footer input[type="submit"],
    .horizontal-form .otp-send-btn,
    .horizontal-form .otp-verify-btn {
        width: auto !important; /* Width returns to auto */
        margin-top: 0; /* Top margin is removed as 'gap' handles spacing */
    }

    /* 5. Set the display order */
    .horizontal-form .gform_wrapper .gfield.name_field {
        order: 1; /* Name Field */
    }
    .horizontal-form .gform_wrapper .gfield.phone_field {
        order: 2; /* Phone Field */
    }
    .horizontal-form .simple-otp {
        order: 3; /* OTP Container */
    }
    .horizontal-form .gform_footer {
        order: 4; /* Submit Button */
    }

    /* 6. Make the OTP container a nested flexbox */
    .horizontal-form .simple-otp {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-end !important;
        gap: 10px !important;
    }

    /* 7. Position OTP messages above the form */
    .horizontal-form .otp-success-message,
    .horizontal-form .otp-error-message {
        position: absolute !important;
        top: -40px !important; /* Distance from the top of the form */
        left: 0 !important;
        width: 100% !important;
        margin: 10px 0 !important;
        z-index: 10 !important;
    }

    /* 8. The code field and "Verify" button share the remaining space */
    .horizontal-form .simple-otp .otp-input,
    .horizontal-form .simple-otp .otp-verify-btn {
        flex-grow: 1 !important;
        width: auto !important;
    }

    /* 9. The initial "Send Code" button should take the full width of its container */
    .horizontal-form .otp-send-btn {
        width: 100% !important;
    }
}
/*
----------------------------------------------------------------
SIDEBAR-FORM (FORCED STYLES)
----------------------------------------------------------------
*/

/* --- Vertical Form Layout (Full Width Fields) --- */
/* These styles ensure the form fields are stacked vertically on all screen sizes. */

.sidebar-form .gform_wrapper form {
    display: block !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 15px !important;
}

/* Make Gravity Forms radio buttons horizontal */
.sidebar-form .gfield_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* Change the text color of the radio button labels to white */
.sidebar-form .gfield_radio label {
    color: white;
}

/* Container for the fields */
.sidebar-form .gform_body {
    flex: 0 0 100% !important;
    min-width: 0 !important;
}

/* The list of fields */
.sidebar-form .gform_fields {
    display: block !important;
    width: 100% !important;
}

/* Each individual field item */
.sidebar-form .gform_wrapper .gfield {
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
    max-width: 100% !important;
}

/* The button container */
.sidebar-form .gform_footer {
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}


/* --- General & Field Styling --- */

/* Hiding unnecessary Gravity Forms elements */
.sidebar-form .gform_title,
.sidebar-form .gform_description,
.sidebar-form .gform_wrapper .gfield_label {
    display: none !important;
}

/* Input field styles */
.sidebar-form .gform_wrapper input[type="text"],
.sidebar-form .gform_wrapper input[type="tel"] {
    background-color: transparent !important;
    border: 1px solid #FFFFFF !important;
    border-radius: 8px !important;
    color: #FFFFFF !important;
    padding: 14px 15px !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    text-align: right !important;
    font-size: 14px !important;
    font-family: 'YekanBakhFaNum', sans-serif !important;
}

/* New code to remove extra spacing between adjacent fields in Gravity Forms 2.5+ */
.sidebar-form .gform_wrapper.gravity-theme input+input,
.sidebar-form .gform_wrapper.gravity-theme input+button,
.sidebar-form .gform_wrapper.gravity-theme button+input {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Placeholder styles */
.sidebar-form .gform_wrapper input::placeholder {
    color: #FFFFFF !important;
    opacity: 1 !important;
    text-align: right !important;
}

/* Submit Button & OTP Button Styles */
.sidebar-form .gform_footer input[type="submit"],
.sidebar-form .otp-send-btn,
.sidebar-form .otp-verify-btn {
    background-color: #FFFFFF !important;
    color: #3A5B9A !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 45px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
    margin-top: 0px !important;
}

/* Hover styles for buttons */
.sidebar-form .gform_footer input[type="submit"]:hover,
.sidebar-form .otp-send-btn:hover,
.sidebar-form .otp-verify-btn:hover {
    background-color: #f0f0f0 !important;
    transform: scale(1.02) !important;
}


/* --- Confirmation & Success Messages --- */
.sidebar-form .gform_confirmation_message,
.sidebar-form .otp-success-message {
    color: #FFFFFF !important;
}
/* --- Spacing adjustment for the OTP input field --- */
.sidebar-form #otp-code {
    margin-top: 5px !important;
    margin-bottom: 15px !important;
}
/* ==========================================================================
   Table of Contents Widget Styles
   ========================================================================== */

.table-of-contents .elementor-toc__header {
    border-bottom: none !important;
}

.table-of-contents .elementor-toc__body {
    max-height: 418px !important;
    overflow-y: auto !important;
    /* --- استایل اسکرول‌بار برای فایرفاکس --- */
    scrollbar-width: thin;
    scrollbar-color: #ECF1FF transparent;
}

/* --- استایل اسکرول‌بار برای مرورگرهای کروم، اج و سافاری --- */

/* تنظیمات کلی اسکرول‌بار، مانند عرض */
.table-of-contents .elementor-toc__body::-webkit-scrollbar {
    width: 8px;
}

/* مسیر اسکرول‌بار (ترک) */
.table-of-contents .elementor-toc__body::-webkit-scrollbar-track {
    background: transparent; /* پس‌زمینه شفاف */
}

/* دستگیره اسکرول‌بار (تامب) */
.table-of-contents .elementor-toc__body::-webkit-scrollbar-thumb {
    background-color: #ECF1FF; /* رنگ دستگیره */
    border-radius: 20px;
}
