/*
Theme Name:   Upstudy Child
Theme URI:    https://mobinwp.ir
Description:  قالب وردپرس آموزش عالی LMS.
Author:       MobinDev
Author URI:   https://www.rtl-theme.com/author/amir-ghh/products/
Template:     upstudy
Version:      1.1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Tags: two-columns, custom-header, custom-logo, blog, theme-options
Text Domain:  upstudy-child
*/

/* Local IRANSansX. WOFF2 is preferred; WOFF is kept as fallback. */
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-Thin.woff2') format('woff2'), url('fonts/woff/IRANSansX-Thin.woff') format('woff');
    font-style: normal;
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-UltraLight.woff2') format('woff2'), url('fonts/woff/IRANSansX-UltraLight.woff') format('woff');
    font-style: normal;
    font-weight: 200;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-Light.woff2') format('woff2'), url('fonts/woff/IRANSansX-Light.woff') format('woff');
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-Regular.woff2') format('woff2'), url('fonts/woff/IRANSansX-Regular.woff') format('woff');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-Medium.woff2') format('woff2'), url('fonts/woff/IRANSansX-Medium.woff') format('woff');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-DemiBold.woff2') format('woff2'), url('fonts/woff/IRANSansX-DemiBold.woff') format('woff');
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-Bold.woff2') format('woff2'), url('fonts/woff/IRANSansX-Bold.woff') format('woff');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-ExtraBold.woff2') format('woff2'), url('fonts/woff/IRANSansX-ExtraBold.woff') format('woff');
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSansX';
    src: url('fonts/woff2/IRANSansX-Black.woff2') format('woff2'), url('fonts/woff/IRANSansX-Black.woff') format('woff');
    font-style: normal;
    font-weight: 900;
    font-display: swap;
}

/* WooCommerce typography */
.woocommerce,
.woocommerce-page,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce div.product p.price,
.woocommerce span.price,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
    font-family: 'IRANSansX', sans-serif !important;
}

/* Contact Form 7 placeholders */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    font-family: 'IRANSansX', sans-serif !important;
}


/* =========================================================
   KONKURIST CONSULTING — MOBILE RESPONSIVE
   Page ID: 19602
   ========================================================= */

body.page-id-19602 {
    overflow-x: hidden;
}

body.page-id-19602 .entry-content,
body.page-id-19602 .entry-content * {
    box-sizing: border-box;
}

body.page-id-19602 .entry-content {
    width: 100%;
    max-width: 100%;
}

/* Never allow form controls to overflow. */
body.page-id-19602 .entry-content form,
body.page-id-19602 .entry-content input,
body.page-id-19602 .entry-content select,
body.page-id-19602 .entry-content textarea,
body.page-id-19602 .entry-content button {
    max-width: 100%;
}

body.page-id-19602 .entry-content input:not([type="checkbox"]):not([type="radio"]),
body.page-id-19602 .entry-content select,
body.page-id-19602 .entry-content textarea {
    width: 100%;
    min-width: 0;
}

/* Long Persian/English text must not create horizontal scroll. */
body.page-id-19602 .entry-content h1,
body.page-id-19602 .entry-content h2,
body.page-id-19602 .entry-content h3,
body.page-id-19602 .entry-content p,
body.page-id-19602 .entry-content label,
body.page-id-19602 .entry-content li {
    overflow-wrap: anywhere;
}


/* ---------- Tablet ---------- */

@media (max-width: 991px) {

    body.page-id-19602 .entry-content {
        padding-left: 20px;
        padding-right: 20px;
    }

    /*
     * The consultation shortcode uses grid-based sections.
     * Force multi-column layouts into one column.
     */
    body.page-id-19602 .entry-content [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.page-id-19602 .entry-content [style*="display:grid"],
    body.page-id-19602 .entry-content [style*="display: grid"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}


/* ---------- Mobile ---------- */

@media (max-width: 767px) {

    body.page-id-19602 .entry-content {
        padding-left: 14px;
        padding-right: 14px;
    }

    body.page-id-19602 .entry-content > * {
        max-width: 100%;
    }

    /*
     * Any shortcode grid/flex layout that was designed
     * horizontally should stack vertically.
     */
    body.page-id-19602 .entry-content [style*="display:flex"],
    body.page-id-19602 .entry-content [style*="display: flex"] {
        flex-wrap: wrap !important;
    }

    body.page-id-19602 .entry-content [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    /* Form fields */
    body.page-id-19602 .entry-content input:not([type="checkbox"]):not([type="radio"]),
    body.page-id-19602 .entry-content select,
    body.page-id-19602 .entry-content textarea {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: 16px !important;
    }

    /*
     * 16px also prevents iOS Safari from zooming
     * when a field receives focus.
     */
    body.page-id-19602 .entry-content select {
        font-size: 16px !important;
    }

    body.page-id-19602 .entry-content textarea {
        resize: vertical;
    }

    /* Submit / CTA */
    body.page-id-19602 .entry-content button[type="submit"],
    body.page-id-19602 .entry-content input[type="submit"] {
        width: 100% !important;
        max-width: 100%;
        justify-content: center;
        text-align: center;
    }

    /* Turnstile must never create horizontal scrolling. */
    body.page-id-19602 .entry-content .cf-turnstile {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    body.page-id-19602 .entry-content .cf-turnstile iframe {
        max-width: 100% !important;
    }

    /* Better mobile typography */
    body.page-id-19602 .entry-content h1 {
        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.35 !important;
    }

    body.page-id-19602 .entry-content h2 {
        font-size: clamp(22px, 6vw, 30px) !important;
        line-height: 1.45 !important;
    }

    body.page-id-19602 .entry-content h3 {
        font-size: clamp(18px, 5vw, 23px) !important;
        line-height: 1.5 !important;
    }

    body.page-id-19602 .entry-content p,
    body.page-id-19602 .entry-content li {
        line-height: 1.9;
    }
}


/* ---------- Very small phones ---------- */

@media (max-width: 380px) {

    body.page-id-19602 .entry-content {
        padding-left: 10px;
        padding-right: 10px;
    }

    body.page-id-19602 .entry-content h1 {
        font-size: 27px !important;
    }
}


/* =========================================================
   CONSULTING MOBILE X-OVERFLOW FIX
   ========================================================= */

@media (max-width: 767px) {

    html {
        overflow-x: clip;
    }

    body.page-id-19602 {
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden !important;
    }

    body.page-id-19602 #page,
    body.page-id-19602 .site,
    body.page-id-19602 .site-content,
    body.page-id-19602 main,
    body.page-id-19602 article,
    body.page-id-19602 .entry-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: clip;
        box-sizing: border-box;
    }

    /*
     * Everything generated by consultation shortcode.
     */
    body.page-id-19602 .entry-content [class*="kc-"] {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.page-id-19602 .entry-content form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /*
     * Force every form grid into a single mobile column.
     */
    body.page-id-19602 .entry-content form > div,
    body.page-id-19602 .entry-content [class*="kc-"] > div {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    body.page-id-19602 .entry-content [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.page-id-19602 .entry-content input:not([type="checkbox"]):not([type="radio"]),
    body.page-id-19602 .entry-content select,
    body.page-id-19602 .entry-content textarea,
    body.page-id-19602 .entry-content button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.page-id-19602 .entry-content img,
    body.page-id-19602 .entry-content svg,
    body.page-id-19602 .entry-content video,
    body.page-id-19602 .entry-content iframe {
        max-width: 100% !important;
    }

    /*
     * Cloudflare Turnstile can otherwise push small phones.
     */
    body.page-id-19602 .cf-turnstile {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    body.page-id-19602 .cf-turnstile iframe {
        max-width: 100% !important;
    }

    /*
     * Decorative absolute elements must not enlarge document width.
     */
    body.page-id-19602 .entry-content {
        position: relative;
        isolation: isolate;
    }
}


/* =========================================================
   KONKURIST CONSULTING — SAFE HONEYPOT HIDING
   Prevent 99999px horizontal overflow on real mobile devices.
   ========================================================= */

body.page-id-19602 .kc-hp {
    position: absolute !important;

    left: 0 !important;
    right: auto !important;
    top: 0 !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;

    overflow: hidden !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    opacity: 0 !important;

    pointer-events: none !important;
}

body.page-id-19602 .kc-hp input,
body.page-id-19602 .kc-hp label {
    position: static !important;

    width: 1px !important;
    height: 1px !important;

    min-width: 0 !important;
    max-width: 1px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}
