/*
 * Quick 1.2.1 - unified desktop content frame + professional header/footer stability.
 *
 * Desktop content uses one theme-level width contract. Background sections may
 * remain full width, while their actual content aligns to the same centered
 * frame. Mobile/tablet rules at <=1024px are intentionally left untouched.
 */

@media (min-width:1025px) {
    html body.quantum-theme {
        --q-site-frame-width:min(var(--q-site-content-width,var(--q-container,1440px)),calc(100% - 40px));
    }

    /* The canonical theme container. This also normalizes hero/page-title
       content without changing the full-width backgrounds around them. */
    html body.quantum-theme .q-container {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }

    /* Main Quick content shells that historically used several unrelated
       1180/1220/1280/1360/1540/1680 desktop widths. Keep their backgrounds and
       component styling, but align the content frame consistently. */
    html body.quantum-theme :where(
        .q-quantum-projects-inner,
        .q-quantum-blog-inner,
        .q-quantum-pricing-inner,
        .q-quantum-testimonials-inner,
        .q-quantum-services-inner,
        .q-quantum-breadcrumb,
        .q-unified-breadcrumb,
        .q-quantum-project-single-layout,
        .q-quantum-post-breadcrumb,
        .q-project-start-widget,
        .q-blog-suite,
        .qbs-inner,
        .qbs-cats-v314-inner,
        .qca-boxed,
        .qcf-shell,
        .qsvc-page-hero-inner,
        .qsvc-request,
        .qsvc-single,
        .q-service-single-card,
        .q-el-footer-container,
        .q-process-inner,
        .q-user-panel-shell
    ) {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }

    /* Slider backgrounds can stay stretched; only the readable layer follows
       the common content frame. */
    html body.quantum-theme .q-quantum-slider .q-quantum-slider-layer {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }

    /* Section title is a content-only widget. Constrain the widget content on
       full-width Elementor containers without touching its saved typography. */
    html body.quantum-theme .elementor-widget-quantum_section_title > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_call_card > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_accordion > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_lottie > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_chart > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_before_after > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_image_scroll > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_circle_counter > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_animated_progress > .elementor-widget-container {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }

    /* Structural Elementor widgets must span their host so the inner frame can
       center itself independently of flex-container custom/shrink widths. */
    html body.quantum-theme:not(.elementor-editor-active) .elementor-widget-quantum_default_header,
    html body.quantum-theme:not(.elementor-editor-active) .elementor-widget-quantum_default_header > .elementor-widget-container,
    html body.quantum-theme:not(.elementor-editor-active) .elementor-widget-quantum_default_footer,
    html body.quantum-theme:not(.elementor-editor-active) .elementor-widget-quantum_default_footer > .elementor-widget-container {
        --container-widget-width:100% !important;
        --container-widget-flex-grow:0 !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:auto !important;
        margin-right:auto !important;
        inset-inline:auto !important;
        align-self:stretch !important;
        justify-self:stretch !important;
        transform:none !important;
        box-sizing:border-box !important;
    }

    /* Professional default header: the complete visual unit (support card +
       white navigation shell) now fits inside the same site content frame. */
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto {
        --q-header-call-gap:clamp(150px,12.5vw,180px) !important;
        --q-header-side-padding:clamp(16px,1.45vw,22px) !important;
        --q-header-height:clamp(88px,5.35vw,100px) !important;
        --q-logo-max-width:clamp(126px,9.8vw,156px) !important;
        --q-logo-max-height:clamp(46px,3.25vw,58px) !important;
        --q-button-height:clamp(46px,2.75vw,52px) !important;
        --q-call-card-width:clamp(146px,10.8vw,166px) !important;
        --q-call-card-height:var(--q-header-height) !important;
        --q-header-outer-top:clamp(6px,.45vw,9px) !important;
        --q-header-bottom-gap:0px !important;
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        min-width:0 !important;
        margin-right:auto !important;
        margin-left:auto !important;
        margin-top:var(--q-header-outer-top) !important;
        margin-bottom:0 !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-header-shell {
        width:calc(100% - var(--q-header-call-gap)) !important;
        max-width:none !important;
        min-height:var(--q-header-height) !important;
        margin-right:0 !important;
        margin-left:var(--q-header-call-gap) !important;
        padding-right:var(--q-header-side-padding) !important;
        padding-left:var(--q-header-side-padding) !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-no-call .q-master-header-shell {
        width:100% !important;
        max-width:none !important;
        min-height:var(--q-header-height) !important;
        margin-inline:0 !important;
        padding-right:var(--q-header-side-padding) !important;
        padding-left:var(--q-header-side-padding) !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-header-main {
        min-height:calc(var(--q-header-height) - 2px) !important;
        gap:clamp(8px,.85vw,13px) !important;
        min-width:0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-brand-wrap {
        min-width:clamp(118px,8.3vw,138px) !important;
        max-width:var(--q-logo-max-width) !important;
        flex:0 1 auto !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-brand-media,
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-brand-media img {
        max-width:var(--q-logo-max-width) !important;
        max-height:var(--q-logo-max-height) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav-wrap,
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav {
        min-width:0 !important;
        flex:1 1 auto !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-el-nav-list {
        column-gap:clamp(5px,.72vw,11px) !important;
        row-gap:4px !important;
        flex-wrap:nowrap !important;
        min-width:0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-menu-item > a {
        gap:clamp(4px,.38vw,6px) !important;
        padding-inline:1px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-menu-item-icon,
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-menu-item-icon svg,
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-menu-svg {
        width:clamp(17px,1.05vw,20px) !important;
        height:clamp(17px,1.05vw,20px) !important;
        flex:0 0 auto !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-actions {
        gap:clamp(6px,.5vw,8px) !important;
        flex:0 0 auto !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-btn {
        min-height:var(--q-button-height) !important;
        height:var(--q-button-height) !important;
        padding-inline:clamp(13px,1.05vw,17px) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-call-wrap {
        left:calc(0px - var(--q-header-call-gap)) !important;
        right:auto !important;
        width:var(--q-call-card-width) !important;
        height:var(--q-call-card-height) !important;
        padding:0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-card {
        width:var(--q-call-card-width) !important;
        min-width:var(--q-call-card-width) !important;
        max-width:var(--q-call-card-width) !important;
        height:var(--q-call-card-height) !important;
        min-height:var(--q-call-card-height) !important;
        box-sizing:border-box !important;
    }

    /* Prevent flex/global span rules or saved Elementor CSS from turning the
       support icon background into an oval. */
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-icon {
        width:46px !important;
        min-width:46px !important;
        max-width:46px !important;
        height:46px !important;
        min-height:46px !important;
        max-height:46px !important;
        flex:0 0 46px !important;
        aspect-ratio:1 / 1 !important;
        padding:0 !important;
        margin:0 !important;
        border-radius:50% !important;
        display:grid !important;
        place-items:center !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-icon {
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;
        height:38px !important;
        min-height:38px !important;
        max-height:38px !important;
        flex-basis:38px !important;
    }

    /* Sticky runtime stores the measured desktop geometry on the widget host.
       Do not re-apply auto margins after it becomes position:fixed. */
    html body.quantum-theme .elementor-widget-quantum_default_header.q-sticky-host.q-fixed-active .q-master-header.q-master-header-sticky.q-header-layout-auto {
        width:var(--q-fixed-width,100%) !important;
        max-width:none !important;
        margin-top:0 !important;
        margin-right:0 !important;
        margin-left:0 !important;
    }

    /* Professional footer. Card and bottom line follow the same content width;
       the decorative primary block follows the card's right edge instead of
       remaining pinned to the viewport edge on wide monitors. */
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto {
        width:100% !important;
        max-width:100% !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto > .q-container,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-bottom {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        min-width:0 !important;
        margin-right:auto !important;
        margin-left:auto !important;
        padding-right:0 !important;
        padding-left:0 !important;
        transform:none !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-card {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-right:auto !important;
        margin-left:auto !important;
        padding:clamp(38px,2.7vw,48px) clamp(30px,3vw,48px) !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent {
        right:max(20px,calc((100% - var(--q-site-content-width,var(--q-container,1440px))) / 2)) !important;
        left:auto !important;
        width:clamp(230px,18vw,290px) !important;
        height:clamp(210px,15vw,250px) !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-bottom {
        padding:24px 0 0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-copyright {
        text-align:right !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-bottom-text {
        text-align:left !important;
    }

    /* Legacy professional footer widget follows the same site frame as well. */
    html body.quantum-theme .elementor-widget-quantum_footer .q-el-footer-container {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        margin-inline:auto !important;
    }
}

@media (min-width:1181px) {
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-grid {
        grid-template-columns:minmax(280px,1.08fr) minmax(390px,1.32fr) minmax(270px,.9fr) !important;
        gap:clamp(26px,2.45vw,40px) !important;
        align-items:start !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-menus-wrap.q-pro-footer-menus-count-3 {
        gap:clamp(20px,1.8vw,30px) !important;
    }
}

/* Compact desktop/laptop widths: keep the exact same desktop structure, but
   reduce non-essential spacing so saved menus do not overflow. */
@media (min-width:1025px) and (max-width:1280px) {
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto {
        --q-header-call-gap:150px !important;
        --q-call-card-width:144px !important;
        --q-logo-max-width:126px !important;
        --q-header-side-padding:14px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-header-main {
        gap:7px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-el-nav-list {
        column-gap:4px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-menu-item > a {
        gap:3px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-btn {
        padding-inline:11px !important;
    }
}


/* Quick 1.2.3 - desktop frame refinement + widget polish */
@media (min-width:1025px) {
    html body.quantum-theme {
        --q-site-content-width:1320px;
        --q-site-frame-width:min(var(--q-site-content-width),calc(100% - 52px));
    }

    /* Keep the professional header/footer a touch tighter than full-width pages. */
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto > .q-container,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-bottom,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-card,
    html body.quantum-theme .elementor-widget-quantum_footer .q-el-footer-container {
        max-width:var(--q-site-content-width) !important;
    }

    /* Ultra-wide screens: slightly more compact header geometry and a taller bridge behind the support card. */
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto {
        --q-header-call-gap:clamp(154px,11vw,174px) !important;
        --q-call-card-width:clamp(150px,10vw,164px) !important;
        --q-header-side-padding:clamp(15px,1.2vw,20px) !important;
        --q-header-height:clamp(86px,4.9vw,96px) !important;
        --q-logo-max-width:clamp(122px,8.8vw,150px) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-has-call:after,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-has-call:after {
        top:12px !important;
        bottom:12px !important;
        height:auto !important;
        min-height:0 !important;
        border-radius:0 !important;
        width:max(28px,calc(var(--q-header-call-gap,174px) - var(--q-call-card-width,160px) + var(--q-call-separation,10px))) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-header-main {
        gap:clamp(7px,.7vw,11px) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-actions {
        gap:6px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-btn {
        padding-inline:clamp(12px,.9vw,16px) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-nav .q-el-nav-list {
        column-gap:clamp(4px,.55vw,9px) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header > .elementor-widget-container {
        padding-bottom:8px !important;
    }

    /* Footer: less empty space, balanced bottom row, subtler accent and more compact side column. */
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto {
        margin-top:54px !important;
        padding:54px 0 20px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto:before {
        right:max(18px,calc((100% - var(--q-site-content-width)) / 2)) !important;
        left:auto !important;
        width:clamp(180px,13vw,236px) !important;
        height:clamp(170px,11.5vw,220px) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-card {
        padding:38px 34px 30px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-grid {
        grid-template-columns:minmax(250px,1fr) minmax(0,1.28fr) minmax(230px,.92fr) !important;
        gap:24px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-menus-wrap {
        gap:24px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-menu-title {
        margin-bottom:16px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-menu {
        gap:11px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-side-col {
        gap:18px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-socials {
        gap:10px 16px !important;
        align-items:flex-start !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-socials a {
        margin:0 !important;
        padding:0 0 0 10px !important;
        white-space:nowrap !important;
        gap:6px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-newsletter {
        max-width:100% !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-bottom {
        margin-top:12px !important;
        padding:14px 8px 0 !important;
        align-items:flex-start !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-copyright,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-bottom-text {
        line-height:1.75 !important;
    }

    /* Latest posts classic widget: adapt the side list/meta to the tighter desktop width. */
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-blog-layout {
        display:grid !important;
        grid-template-columns:minmax(280px,.96fr) minmax(0,2.04fr) !important;
        gap:24px !important;
        align-items:start !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-blog-list {
        min-width:0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post {
        padding:18px 18px 16px !important;
        min-height:auto !important;
        gap:10px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post small,
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-blog-meta {
        display:flex !important;
        flex-wrap:wrap !important;
        gap:8px 14px !important;
        align-items:center !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-blog-body {
        padding:18px 18px 20px !important;
    }

    /* Section title: clean horizontal accent above the kicker + a few ready-made style presets. */
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-head {
        position:relative;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-line-top .q-quantum-title-head,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-chip .q-quantum-title-head,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-side-bar .q-quantum-title-head {
        padding-top:18px;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-line-top .q-quantum-title-head:before,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-chip .q-quantum-title-head:before,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-side-bar .q-quantum-title-head:before {
        content:'' !important;
        position:absolute !important;
        top:0 !important;
        right:0 !important;
        left:auto !important;
        width:74px !important;
        height:6px !important;
        border-radius:999px !important;
        background:linear-gradient(90deg,var(--q-primary,#3518B0),var(--q-secondary,#4324D1)) !important;
        box-shadow:0 10px 22px rgba(var(--q-primary-rgb),.18) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.q-quantum-kicker-align-center.qst-variant-line-top .q-quantum-title-head:before,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.q-quantum-kicker-align-center.qst-variant-chip .q-quantum-title-head:before,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.q-quantum-kicker-align-center.qst-variant-side-bar .q-quantum-title-head:before {
        right:50% !important;
        transform:translateX(50%) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.q-quantum-kicker-align-left.qst-variant-line-top .q-quantum-title-head:before,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.q-quantum-kicker-align-left.qst-variant-chip .q-quantum-title-head:before,
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.q-quantum-kicker-align-left.qst-variant-side-bar .q-quantum-title-head:before {
        right:auto !important;
        left:0 !important;
        transform:none !important;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-chip .q-quantum-title-kicker {
        display:inline-flex !important;
        width:max-content !important;
        padding:6px 14px !important;
        border-radius:999px !important;
        background:rgba(var(--q-primary-rgb),.08) !important;
        color:var(--q-primary,#3518B0) !important;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-side-bar .q-quantum-title-head {
        padding-inline-start:18px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-side-bar .q-quantum-title-head:before {
        width:6px !important;
        height:100% !important;
        min-height:62px !important;
        top:2px !important;
        bottom:2px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title.qst-variant-minimal .q-quantum-title-head:before {
        display:none !important;
    }
}

@media (min-width:1025px) and (max-width:1360px) {
    html body.quantum-theme {
        --q-site-content-width:1280px;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-grid {
        grid-template-columns:minmax(240px,.98fr) minmax(0,1.22fr) minmax(210px,.9fr) !important;
        gap:20px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto .q-pro-footer-menus-wrap {
        gap:18px !important;
    }
}

/* Quick 1.2.4 - one automatic content width for every Quick widget.
 * Per-widget Boxed widths are legacy-only now. Backgrounds can still span the
 * section/page; readable content always inherits the single theme frame. */
@media (min-width:1025px) {
    html body.quantum-theme {
        --q-site-content-width:var(--q-container,1320px) !important;
        --q-site-frame-width:min(var(--q-site-content-width),calc(100% - 52px)) !important;
    }

    /* Legacy widget-specific width variables are all aliases of the same frame. */
    html body.quantum-theme :where(
        .elementor-widget-quantum_service_cards,
        .elementor-widget-quantum_blog_grid,
        .elementor-widget-quantum_service_finder,
        .elementor-widget-quantum_services_grid,
        .elementor-widget-quantum_process,
        .elementor-widget-quantum_testimonials,
        .elementor-widget-quantum_footer,
        .elementor-widget-quantum_pricing,
        .elementor-widget-quantum_project_grid,
        .elementor-widget-quantum_blog_hero_mosaic,
        .elementor-widget-quantum_blog_categories_row,
        .elementor-widget-quantum_blog_top_articles,
        .elementor-widget-quantum_blog_articles_grid,
        .elementor-widget-quantum_service_request_form,
        .elementor-widget-quantum_slider,
        .elementor-widget-quantum_call_card,
        .elementor-widget-quantum_why_us,
        .elementor-widget-quantum_about_hero,
        .elementor-widget-quantum_team_showcase,
        .elementor-widget-quantum_distinction,
        .elementor-widget-quantum_story
    ) {
        --q-quantum-boxed-width:var(--q-site-content-width) !important;
        --qbs-boxed-width:var(--q-site-content-width) !important;
        --qsvc-boxed-width:var(--q-site-content-width) !important;
        --qsvc-hero-width:var(--q-site-content-width) !important;
        --qsvc-request-width:var(--q-site-content-width) !important;
        --q-slider-boxed-width:var(--q-site-content-width) !important;
        --q-slider-inner-content-width:var(--q-site-content-width) !important;
        --q-call-boxed-width:var(--q-site-content-width) !important;
    }

    /* Any historical Boxed/Full class now resolves to the same centered content frame. */
    html body.quantum-theme :where(
        .q-quantum-projects-inner,
        .q-quantum-blog-inner,
        .q-quantum-pricing-inner,
        .q-quantum-testimonials-inner,
        .q-quantum-services-inner,
        .q-blog-suite .qbs-inner,
        .qbs-cats-v314-inner,
        .qsvc-page-hero-inner,
        .qsvc-request-wrap,
        .q-process-inner,
        .qca-boxed,
        .qca-fluid,
        .q-el-footer-container,
        .q-user-panel-shell
    ) {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width) !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }

    /* Elementor used to write a direct !important max-width for Process.
       This stronger selector guarantees old saved values cannot narrow it. */
    html body.quantum-theme .elementor-widget-quantum_process .q-process-boxed .q-process-inner,
    html body.quantum-theme .elementor-widget-quantum_process .q-process-full .q-process-inner {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width) !important;
        margin-inline:auto !important;
    }

    /* The slider's visual background may remain full width; only its readable layer is framed. */
    html body.quantum-theme .q-quantum-slider-boxed .q-quantum-slider-inner,
    html body.quantum-theme .q-quantum-slider-full .q-quantum-slider-inner,
    html body.quantum-theme .q-quantum-slider-full_bleed .q-quantum-slider-inner {
        width:100% !important;
        max-width:100% !important;
        margin-inline:0 !important;
    }
    html body.quantum-theme .q-quantum-slider .q-quantum-slider-layer {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width) !important;
        margin-inline:auto !important;
        box-sizing:border-box !important;
    }

    /* Call card is a content-only widget: the Elementor widget host is the frame. */
    html body.quantum-theme .elementor-widget-quantum_call_card > .elementor-widget-container {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width) !important;
        margin-inline:auto !important;
    }
    html body.quantum-theme .elementor-widget-quantum_call_card .q-call-card-wrap {
        width:100% !important;
        max-width:100% !important;
        margin-inline:0 !important;
    }

    /* Neutralize legacy theme-specific boxed Flexbox containers. The native
       Elementor container can still provide a full-width background. */
    html body.quantum-theme .elementor .elementor-element.e-con.quick-flex-width-boxed {
        width:100% !important;
        max-width:100% !important;
        margin-inline:0 !important;
        --width:100% !important;
        --max-width:100% !important;
    }
}


/* Quick 1.2.5 - visual consistency, professional footer ring, shared widget frame,
 * AJAX search polish, desktop article-list repair and section-title presets. */
@media (min-width:1025px) {
    html body.quantum-theme {
        --q-site-content-width:var(--q-container,1320px) !important;
        --q-site-frame-width:min(var(--q-site-content-width),calc(100% - 52px)) !important;
    }

    /* Every readable Quick inner uses the same automatic site frame. Backgrounds
       remain free to span the Elementor section. These selectors intentionally
       override historical Boxed/Full values without removing saved settings. */
    html body.quantum-theme :where(
        .q-page-hero-inner,
        .q-quantum-hero-inner,
        .q-quantum-services-inner,
        .q-quantum-projects-inner,
        .q-quantum-blog-inner,
        .q-quantum-pricing-inner,
        .q-quantum-testimonials-inner,
        .qsvc-page-hero-inner,
        .qsvc-request-wrap,
        .q-process-inner,
        .q-blog-suite .qbs-inner,
        .qbs-cats-v314-inner,
        .qca-boxed,
        .qca-fluid,
        .qca-why-wrap,
        .qca-team-wrap,
        .qca-story-wrap,
        .qca-dist-wrap,
        .qcf-shell,
        .qcx-request-wrap,
        .q-el-footer-container,
        .q-user-panel-shell
    ) {
        width:min(100%,var(--q-site-frame-width)) !important;
        max-width:var(--q-site-content-width) !important;
        margin-inline:auto !important;
        box-sizing:border-box !important;
    }

    /* Content-only widgets also inherit the same frame instead of a private width. */
    html body.quantum-theme .elementor-widget-quantum_ajax_search > .elementor-widget-container,
    html body.quantum-theme .elementor-widget-quantum_section_title > .elementor-widget-container {
        width:min(100%,var(--q-site-frame-width)) !important;
        max-width:var(--q-site-content-width) !important;
        margin-inline:auto !important;
        box-sizing:border-box !important;
    }

    /* Professional footer: restore the subtle ring accent from the preferred
       earlier treatment. The old solid rectangle is explicitly disabled. */
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element:before,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element::before {
        content:none !important;
        display:none !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent {
        display:block !important;
        top:18px !important;
        right:max(26px,calc((100% - var(--q-site-content-width)) / 2 + 24px)) !important;
        left:auto !important;
        width:146px !important;
        height:146px !important;
        padding:0 !important;
        margin:0 !important;
        background:transparent !important;
        border:0 !important;
        border-radius:50% !important;
        box-sizing:border-box !important;
        opacity:1 !important;
        overflow:visible !important;
        z-index:0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent::before,
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent::after {
        content:"" !important;
        position:absolute !important;
        pointer-events:none !important;
        border-radius:50% !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent::before {
        inset:0 !important;
        background:transparent !important;
        border:18px solid var(--q-footer-accent-color,var(--qf-primary,var(--q-primary,#3518B0))) !important;
        opacity:.10 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer.q-footer-layout-auto.has-accent-element .q-pro-footer-accent::after {
        width:34px !important;
        height:34px !important;
        left:-3px !important;
        bottom:14px !important;
        background:var(--q-footer-accent-color,var(--qf-primary,var(--q-primary,#3518B0))) !important;
        box-shadow:0 0 0 10px rgba(var(--qf-primary-rgb,var(--q-primary-rgb,53,24,176)),.07) !important;
        opacity:.76 !important;
    }

    /* Footer social labels must never crop Persian descenders/dots. */
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer-socials {
        display:flex !important;
        flex-wrap:wrap !important;
        gap:10px 14px !important;
        overflow:visible !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer-socials a {
        min-width:0 !important;
        overflow:visible !important;
        white-space:nowrap !important;
        line-height:2 !important;
        padding-block:2px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_footer .q-pro-footer-socials a span {
        display:inline-block !important;
        overflow:visible !important;
        text-overflow:clip !important;
        white-space:nowrap !important;
        line-height:2 !important;
        padding-bottom:2px !important;
    }

    /* Latest articles: compact, deterministic two-row list card. Title/meta stay
       in the content column and the arrow owns a fixed column. */
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-blog-layout {
        grid-template-columns:minmax(300px,.88fr) minmax(0,2.12fr) !important;
        gap:26px !important;
        align-items:start !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-blog-list {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
        min-width:0 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post {
        display:grid !important;
        direction:rtl !important;
        grid-template-columns:minmax(0,1fr) 42px !important;
        grid-template-rows:auto auto !important;
        column-gap:12px !important;
        row-gap:5px !important;
        align-items:center !important;
        padding:15px 16px !important;
        min-height:94px !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post > strong {
        grid-column:1 !important;
        grid-row:1 !important;
        min-width:0 !important;
        margin:0 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post > small {
        grid-column:1 !important;
        grid-row:2 !important;
        display:flex !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:8px 12px !important;
        min-width:0 !important;
        margin:0 !important;
        white-space:nowrap !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post > small > span {
        display:inline-flex !important;
        align-items:center !important;
        gap:4px !important;
        min-width:0 !important;
        white-space:nowrap !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_grid .q-quantum-blog.q-quantum-blog-template-classic .q-quantum-mini-post > i {
        grid-column:2 !important;
        grid-row:1 / span 2 !important;
        align-self:center !important;
        justify-self:center !important;
        width:38px !important;
        height:38px !important;
        margin:0 !important;
    }
}

/* AJAX search styling moved to quick-widget-isolation.css in 1.2.10. */

/* Section title - refined presets. Each is deliberately restrained and uses
   one clear decorative idea instead of stacking several accents. */
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-head {
    position:relative !important;
    padding:0 !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-head::before,
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-head::after,
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-kicker::after,
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title h2::after {
    box-sizing:border-box;
}
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title h2 {
    position:relative;
    margin-top:5px;
    margin-bottom:0;
}
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title p {
    margin-top:10px;
}

/* 1: horizontal line above the kicker (requested orientation). */
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-line-top .q-quantum-title-head {
    padding-top:18px !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-line-top .q-quantum-title-head::before {
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    left:auto !important;
    width:66px !important;
    height:4px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,var(--q-primary,#3518B0),var(--q-secondary,#4324D1)) !important;
    box-shadow:none !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-kicker-align-center.qst-variant-line-top .q-quantum-title-head::before {
    right:50% !important;
    transform:translateX(50%) !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-kicker-align-left.qst-variant-line-top .q-quantum-title-head::before {
    right:auto !important;
    left:0 !important;
    transform:none !important;
}

html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-accent-underline .q-quantum-title-head::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-head::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-head::before {
    content:none !important;
    display:none !important;
}

/* 2: understated underline beneath the main heading. */
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-accent-underline h2 {
    display:inline-block !important;
    padding-bottom:11px !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-accent-underline h2::after {
    content:"" !important;
    position:absolute !important;
    right:0 !important;
    left:auto !important;
    bottom:0 !important;
    width:44% !important;
    max-width:86px !important;
    height:4px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,var(--q-primary,#3518B0),var(--q-secondary,#4324D1)) !important;
}

/* 3: small kicker centered between two subtle lines. */
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-kicker {
    display:inline-flex !important;
    align-items:center !important;
    gap:9px !important;
    width:auto !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-kicker::after {
    content:"" !important;
    display:block !important;
    width:26px !important;
    height:2px !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(var(--q-primary-rgb,53,24,176),.30) !important;
    box-shadow:none !important;
}

/* 4: dot + line, compact for right-aligned section headings. */
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-kicker {
    display:inline-flex !important;
    align-items:center !important;
    gap:9px !important;
    width:auto !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-kicker::before {
    content:"" !important;
    display:block !important;
    width:8px !important;
    height:8px !important;
    border:0 !important;
    border-radius:50% !important;
    background:var(--q-primary,#3518B0) !important;
    box-shadow:0 0 0 5px rgba(var(--q-primary-rgb,53,24,176),.08) !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-kicker::after {
    content:"" !important;
    display:block !important;
    width:28px !important;
    height:2px !important;
    border-radius:999px !important;
    background:rgba(var(--q-primary-rgb,53,24,176),.22) !important;
}

/* 5: soft chip, no extra top line. */
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-head {
    padding:0 !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-head::before {
    content:none !important;
    display:none !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-kicker {
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    padding:6px 13px !important;
    border:1px solid rgba(var(--q-primary-rgb,53,24,176),.08) !important;
    border-radius:999px !important;
    background:rgba(var(--q-primary-rgb,53,24,176),.065) !important;
    color:var(--q-primary,#3518B0) !important;
    box-shadow:none !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-kicker::after {
    content:none !important;
    display:none !important;
}

/* 6: legacy side-bar retained for saved pages, now thin and restrained. */
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-side-bar .q-quantum-title-head {
    padding-inline-start:14px !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-side-bar .q-quantum-title-head::before {
    content:"" !important;
    position:absolute !important;
    top:3px !important;
    bottom:3px !important;
    right:0 !important;
    left:auto !important;
    width:4px !important;
    height:auto !important;
    min-height:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,var(--q-primary,#3518B0),var(--q-secondary,#4324D1)) !important;
    box-shadow:none !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-minimal .q-quantum-title-head::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-minimal .q-quantum-title-head::after,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-minimal .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-minimal .q-quantum-title-kicker::after,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-minimal h2::after {
    content:none !important;
    display:none !important;
}

/* Swipe gestures should stay horizontal while the page is still free to scroll vertically. */
html body.quantum-theme .q-quantum-test-slider-wrap,
html body.quantum-theme .q-quantum-test-slider-track {
    touch-action:pan-y !important;
    overscroll-behavior-inline:contain;
}
html body.quantum-theme .q-quantum-test-grid.q-quantum-test-slider-track.is-q-dragging {
    transition:none !important;
    cursor:grabbing;
    user-select:none;
}

/* 1.2.5 title-preset cleanup: plain typography is the baseline; only the Chip
   preset uses a filled label. This avoids every preset looking like the same pill. */
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-kicker {
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    gap:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#77738F;
    line-height:1.7;
}
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .q-quantum-section-title .q-quantum-title-kicker::after {
    content:none !important;
    display:none !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-kicker,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-kicker {
    gap:9px !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-split-kicker .q-quantum-title-kicker::after,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-kicker::before,
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-dot-line .q-quantum-title-kicker::after {
    content:"" !important;
    display:block !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-kicker {
    gap:7px !important;
    padding:6px 13px !important;
    border:1px solid rgba(var(--q-primary-rgb,53,24,176),.08) !important;
    border-radius:999px !important;
    background:rgba(var(--q-primary-rgb,53,24,176),.065) !important;
    color:var(--q-primary,#3518B0) !important;
}
html body.quantum-theme .elementor-widget-quantum_section_title .qst-variant-chip .q-quantum-title-kicker::before {
    content:"" !important;
    display:block !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:var(--q-primary,#3518B0) !important;
}

/* Quick 1.2.6 - professional header call-card bridge restoration.
 * Keep the compact 1.2.5 site-frame width, but restore the visible blue
 * separation between the white menu shell and the «سوالی دارید؟» card.
 */
@media (min-width:1025px) {
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call {
        --q-call-card-width:clamp(150px,10vw,164px) !important;
        --q-header-call-bridge-gap:clamp(42px,3.7vw,62px) !important;
        --q-header-call-gap:calc(var(--q-call-card-width) + var(--q-header-call-bridge-gap)) !important;
        --q-call-separation:10px !important;
    }

    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-header-shell,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-header-shell {
        width:calc(100% - var(--q-header-call-gap)) !important;
        margin-right:0 !important;
        margin-left:var(--q-header-call-gap) !important;
    }

    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-call-wrap,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-call-wrap {
        left:calc(0px - var(--q-header-call-gap)) !important;
        right:auto !important;
        width:var(--q-call-card-width) !important;
        min-width:var(--q-call-card-width) !important;
        max-width:var(--q-call-card-width) !important;
        padding:0 !important;
        margin:0 !important;
    }

    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-call-card,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call .q-master-call-card {
        width:var(--q-call-card-width) !important;
        min-width:var(--q-call-card-width) !important;
        max-width:var(--q-call-card-width) !important;
    }

    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call::after,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call::after {
        content:"" !important;
        display:block !important;
        left:calc(var(--q-call-card-width) - var(--q-call-separation)) !important;
        right:auto !important;
        width:calc(var(--q-header-call-bridge-gap) + var(--q-call-separation)) !important;
        min-width:42px !important;
        top:12px !important;
        bottom:12px !important;
        height:auto !important;
        min-height:0 !important;
        border-radius:0 !important;
        background:var(--q-header-bridge-color,var(--q-primary-soft-2,#D8D0FF)) !important;
        opacity:.88 !important;
        z-index:1 !important;
        pointer-events:none !important;
    }
}

@media (min-width:1025px) and (max-width:1280px) {
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call,
    html body .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-header-has-call {
        --q-header-call-bridge-gap:38px !important;
    }
}

/* Quick 1.2.0 final header polish: compact support card + genuinely slimmer sticky state.
   Width geometry is intentionally untouched. */
@media (min-width:1025px) {
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-card {
        gap:3px !important;
        padding:8px 12px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-icon {
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        height:40px !important;
        min-height:40px !important;
        max-height:40px !important;
        flex:0 0 40px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-icon svg,
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-icon i {
        width:20px !important;
        height:20px !important;
        font-size:20px !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-title {
        line-height:1.2 !important;
    }
    html body.quantum-theme .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto .q-master-call-phone {
        line-height:1.25 !important;
        margin-top:1px !important;
    }

    /* The previous 82px sticky rule was being overridden by the desktop
       stability variables above. Override only vertical geometry here. */
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky {
        --q-header-height:78px !important;
        --q-call-card-height:78px !important;
        --q-logo-max-height:40px !important;
        --q-button-height:40px !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-header-shell {
        min-height:78px !important;
        padding-top:0 !important;
        padding-bottom:0 !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-header-main {
        min-height:76px !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-icon {
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
        height:34px !important;
        min-height:34px !important;
        max-height:34px !important;
        flex:0 0 34px !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-icon svg,
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-icon i {
        width:18px !important;
        height:18px !important;
        font-size:18px !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-card {
        gap:2px !important;
        padding:6px 10px !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-title {
        font-size:13px !important;
        line-height:1.15 !important;
    }
    html body.quantum-theme.q-header-is-scrolled .elementor-widget-quantum_default_header .q-master-header.q-header-layout-auto.q-master-header-sticky .q-master-call-phone {
        font-size:11.5px !important;
        line-height:1.2 !important;
        margin-top:0 !important;
    }
}

/* Quick 1.2.5 - page-title frame, article widgets and sidebar RTL fixes. */
body.quantum-theme .q-page-titlebar-modern .q-container,
body.quantum-theme .q-archive-v314 > .q-container {
    min-width:0;
    overflow:hidden;
}
body.quantum-theme .q-page-titlebar-modern h1,
body.quantum-theme .q-archive-v314 .q-archive-head h1 {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    box-sizing:border-box;
}
/* Breadcrumb must use the exact same content frame as the page/archive title.
   Older rules nested another 1180px/calc() width inside .q-container and made it
   visibly narrower than titles such as «وبلاگ». */
body.quantum-theme .q-page-titlebar-modern .q-quantum-breadcrumb,
body.quantum-theme .q-page-titlebar-modern .q-unified-breadcrumb,
body.quantum-theme .q-archive-v314 .q-archive-breadcrumb {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-right:0 !important;
    margin-left:0 !important;
    box-sizing:border-box !important;
}

/* Rebuilt article categories: use the same theme content width as the rest of
   the page instead of stretching independently inside a full-width Elementor row. */
body.quantum-theme .qbc-v124 {
    width:100%;
    max-width:100%;
    min-width:0;
    margin-inline:auto;
}
body.quantum-theme .qbc-v124-inner,
html body.quantum-theme .elementor-widget-quantum_blog_categories_row .qbc-v124-inner {
    width:100% !important;
    max-width:min(var(--q-site-content-width,var(--q-container,1320px)),calc(100vw - 32px)) !important;
    min-width:0;
    margin-inline:auto !important;
    box-sizing:border-box;
}
@media (max-width:767px) {
    body.quantum-theme .qbc-v124-inner,
    html body.quantum-theme .elementor-widget-quantum_blog_categories_row .qbc-v124-inner {
        max-width:calc(100vw - 22px) !important;
    }
}

/* Sidebar latest articles: all metadata starts from the RTL/right edge. */
body.quantum-theme .q-widget-article-list,
body.quantum-theme .q-widget-article-list .q-quantum-mini-post,
body.quantum-theme .q-widget-article-list .q-quantum-mini-post strong,
body.quantum-theme .q-widget-article-list .q-quantum-mini-post small {
    direction:rtl;
    text-align:right;
}
body.quantum-theme .q-widget-article-list .q-quantum-mini-post small {
    width:100%;
    max-width:100%;
    justify-content:flex-start;
    align-items:center;
    flex-direction:row;
}
body.quantum-theme .q-widget-article-list .q-quantum-mini-post small span {
    display:inline-flex;
    direction:rtl;
    text-align:right;
}

/* Instagram card: a subtler natural tilt keeps the uploaded logo seated on the banner. */
body.quantum-theme .qsw-instagram-card-v323 .qsw-insta-v323-logo {
    top:48%;
    transform:translateY(-50%) rotate(8deg) !important;
    transform-origin:center center;
}
@media (max-width:480px) {
    body.quantum-theme .qsw-instagram-card-v323 .qsw-insta-v323-logo {
        top:49%;
        transform:translateY(-50%) rotate(7deg) !important;
    }
}

/* Paginated article grid: Elementor-selected columns win over old fixed
   tablet/mobile media-query values. Rows continue to define posts-per-page. */
body.quantum-theme .qbs-grid-list .qbs-articles-grid {
    grid-template-columns:repeat(var(--qbs-grid-cols,3),minmax(0,1fr)) !important;
}
@media (max-width:900px) {
    body.quantum-theme .qbs-grid-list .qbs-articles-grid {
        grid-template-columns:repeat(var(--qbs-grid-cols-tablet,var(--qbs-grid-cols,2)),minmax(0,1fr)) !important;
    }
}
@media (max-width:640px) {
    body.quantum-theme .qbs-grid-list .qbs-articles-grid {
        grid-template-columns:repeat(var(--qbs-grid-cols-mobile,1),minmax(0,1fr)) !important;
    }
}

/* Quick 1.2.6 - final single-width contract, article widget parity, menu hover and map controls. */

/* Elementor can shrink widgets when a container uses flex auto-width. Quick widgets
   must always occupy the available row; their own inner content then follows the
   single theme content width. */
html body.quantum-theme:not(.elementor-editor-active) .elementor-widget[class*="elementor-widget-quantum_"],
html body.quantum-theme:not(.elementor-editor-active) .elementor-widget[class*="elementor-widget-quick_"] {
    --container-widget-width:100% !important;
    --container-widget-flex-grow:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    box-sizing:border-box !important;
}
html body.quantum-theme:not(.elementor-editor-active) .elementor-widget[class*="elementor-widget-quantum_"] > .elementor-widget-container,
html body.quantum-theme:not(.elementor-editor-active) .elementor-widget[class*="elementor-widget-quick_"] > .elementor-widget-container {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

@media (min-width:1025px) {
    /* Never reuse a calc(100% - gutter) custom property on nested wrappers: the
       percentage gets resolved again and progressively narrows each child. Every
       root/inner below now uses the same absolute theme max width and 100% of its
       parent, so nested Quick wrappers cannot shrink a second time. */
    html body.quantum-theme :where(
        .q-container,
        .q-quantum-projects-inner,
        .q-quantum-blog-inner,
        .q-quantum-pricing-inner,
        .q-quantum-testimonials-inner,
        .q-quantum-services-inner,
        .q-quantum-breadcrumb,
        .q-unified-breadcrumb,
        .q-quantum-project-single-layout,
        .q-quantum-post-breadcrumb,
        .q-project-start-widget,
        .q-blog-suite,
        .q-blog-suite .qbs-inner,
        .qbs-cats-v314-inner,
        .qbc-v124,
        .qbc-v124-inner,
        .qca-boxed,
        .qca-fluid,
        .qca-why-wrap,
        .qca-team-wrap,
        .qca-story-wrap,
        .qca-dist-wrap,
        .qcf-shell,
        .qcx-request-wrap,
        .qcx-map-widget,
        .qsvc-page-hero-inner,
        .qsvc-request-wrap,
        .qsvc-request,
        .qsvc-single,
        .q-service-single-card,
        .q-el-footer-container,
        .q-process-inner,
        .q-user-panel-shell
    ) {
        width:min(100%,var(--q-site-content-width,var(--q-container,1320px))) !important;
        max-width:var(--q-site-content-width,var(--q-container,1320px)) !important;
        min-width:0 !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }

    /* Blog widgets are visual blocks themselves, not just text layers. Their outer
       edge and inner edge must both line up with the page frame. */
    html body.quantum-theme .elementor-widget-quantum_blog_hero_mosaic .qbs-mosaic,
    html body.quantum-theme .elementor-widget-quantum_blog_top_articles .qbs-top,
    html body.quantum-theme .elementor-widget-quantum_blog_articles_grid .qbs-grid-list,
    html body.quantum-theme .elementor-widget-quantum_blog_categories_row .qbc-v124 {
        width:min(100%,var(--q-site-content-width,var(--q-container,1320px))) !important;
        max-width:var(--q-site-content-width,var(--q-container,1320px)) !important;
        margin-inline:auto !important;
    }
    html body.quantum-theme .elementor-widget-quantum_blog_hero_mosaic .qbs-inner,
    html body.quantum-theme .elementor-widget-quantum_blog_top_articles .qbs-inner,
    html body.quantum-theme .elementor-widget-quantum_blog_articles_grid .qbs-inner,
    html body.quantum-theme .elementor-widget-quantum_blog_categories_row .qbc-v124-inner {
        width:100% !important;
        max-width:100% !important;
        margin-inline:0 !important;
    }

    /* Old saved Quick Flex width classes are neutralized. Width is owned by the
       native Elementor container + the theme content-width setting only. */
    html body.quantum-theme .elementor .elementor-element.quick-flex-width-full,
    html body.quantum-theme .elementor .elementor-element.quick-flex-width-boxed,
    html body.quantum-theme .elementor .e-con.quick-flex-width-full,
    html body.quantum-theme .elementor .e-con.quick-flex-width-boxed {
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        --width:100% !important;
        --max-width:100% !important;
    }
}

/* Tablet/mobile: never let rebuilt blog blocks or maps exceed the actual parent
   or the safe viewport. This also avoids horizontal scroll when Elementor uses a
   full-width parent container. */
@media (max-width:1024px) {
    html body.quantum-theme .elementor-widget-quantum_blog_hero_mosaic :where(.qbs-mosaic,.qbs-inner),
    html body.quantum-theme .elementor-widget-quantum_blog_top_articles :where(.qbs-top,.qbs-inner),
    html body.quantum-theme .elementor-widget-quantum_blog_articles_grid :where(.qbs-grid-list,.qbs-inner),
    html body.quantum-theme .elementor-widget-quantum_blog_categories_row :where(.qbc-v124,.qbc-v124-inner),
    html body.quantum-theme .elementor-widget-quantum_map_box .qcx-map-widget {
        width:min(100%,calc(100vw - 24px)) !important;
        max-width:min(100%,calc(100vw - 24px)) !important;
        margin-inline:auto !important;
        box-sizing:border-box !important;
    }
}

/* The responsive category column control must beat the old fallback media rules. */
body.quantum-theme .elementor-widget-quantum_blog_categories_row .qbc-v124-grid {
    grid-template-columns:repeat(var(--qbc-cols,4),minmax(0,1fr)) !important;
}

/* Desktop menu hover: provide real breathing room around both icon and title,
   instead of a tight box that visually hugs the glyph/text. */
@media (min-width:761px) {
    html body.quantum-theme :where(.q-master-nav,.q-el-nav-menu:not(.q-mobile-nav-menu),.q-nav) > ul > li > a,
    html body.quantum-theme :where(.q-master-nav,.q-el-nav-menu:not(.q-mobile-nav-menu),.q-nav) > li > a {
        min-height:46px !important;
        padding:9px 16px !important;
        border:1px solid transparent !important;
        border-radius:14px !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme :where(.q-master-nav,.q-el-nav-menu:not(.q-mobile-nav-menu),.q-nav) > ul > li:hover > a,
    html body.quantum-theme :where(.q-master-nav,.q-el-nav-menu:not(.q-mobile-nav-menu),.q-nav) > ul > li.current-menu-item > a,
    html body.quantum-theme :where(.q-master-nav,.q-el-nav-menu:not(.q-mobile-nav-menu),.q-nav) > li:hover > a,
    html body.quantum-theme :where(.q-master-nav,.q-el-nav-menu:not(.q-mobile-nav-menu),.q-nav) > li.current-menu-item > a {
        border-color:rgba(var(--q-primary-rgb,53,24,176),.12) !important;
        box-shadow:0 7px 18px rgba(var(--q-primary-rgb,53,24,176),.055) !important;
    }
}

/* Neshan/Google map zoom controls. The Neshan SDK path uses these buttons to
   call map.setZoom(); iframe fallback updates the z query value. */
body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls {
    position:absolute;
    top:16px;
    left:16px;
    z-index:12;
    display:flex;
    flex-direction:column;
    width:40px;
    overflow:hidden;
    border:1px solid rgba(5,0,51,.10);
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 24px rgba(5,0,51,.12);
}
body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls button {
    appearance:none;
    -webkit-appearance:none;
    display:grid;
    place-items:center;
    width:40px;
    height:38px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:#fff;
    color:var(--qcx-primary,var(--q-primary,#3518B0));
    font:900 24px/1 Arial,sans-serif;
    cursor:pointer;
    transition:background .18s ease,color .18s ease;
}
body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls button + button {
    border-top:1px solid rgba(5,0,51,.08);
}
body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls button:hover,
body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls button:focus-visible {
    background:var(--qcx-primary,var(--q-primary,#3518B0));
    color:#fff;
    outline:none;
}
@media (max-width:640px) {
    body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls {
        top:12px;
        left:12px;
        width:38px;
    }
    body.quantum-theme .qcx-map-frame .qcx-map-zoom-controls button {
        width:38px;
        height:36px;
        font-size:22px;
    }
}

/* Quick 1.6.1 - promo banner content-frame contract.
 * Do not force Elementor's widget-host flex width. The host follows the parent
 * container while the actual promo surface uses the same readable frame as the
 * theme header/footer. Both legacy and optimized Elementor DOM are supported. */
@media (min-width:1025px) {
    html body.quantum-theme .elementor-widget.elementor-widget-quantum_promo_banner {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        align-self:stretch !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget.elementor-widget-quantum_promo_banner > .elementor-widget-container,
    html body.quantum-theme .elementor-widget.elementor-widget-quantum_promo_banner > .q-quantum-promo {
        width:var(--q-site-frame-width) !important;
        max-width:var(--q-site-content-width,var(--q-container,1440px)) !important;
        min-width:0 !important;
        margin-right:auto !important;
        margin-left:auto !important;
        box-sizing:border-box !important;
    }
    html body.quantum-theme .elementor-widget.elementor-widget-quantum_promo_banner > .elementor-widget-container > .q-quantum-promo {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }
}


/* Quick 1.3.0 — rebuilt keyless address map. */
body.quantum-theme .qcx-map-widget-keyless .qcx-map-frame{position:relative;overflow:hidden;background:#eef1f4;}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-frame>iframe.qcx-map-embed{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:100%;border:0;display:block;}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-actions{position:absolute;z-index:5;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:calc(100% - 24px);}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid rgba(15,23,42,.09);border-radius:11px;background:rgba(255,255,255,.96);color:#1f2937!important;box-shadow:0 7px 20px rgba(15,23,42,.12);font-size:12px;font-weight:900;line-height:1;text-decoration:none!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-action:hover{transform:translateY(-1px);color:var(--qcx-primary,var(--q-primary,#3518B0))!important;}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-action svg{width:17px;height:17px;flex:0 0 17px;}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-location-note{position:absolute;z-index:5;top:12px;right:12px;left:12px;display:flex;flex-direction:column;gap:3px;max-width:520px;padding:10px 12px;border:1px solid rgba(180,83,9,.15);border-radius:11px;background:rgba(255,251,235,.96);color:#78350f;box-shadow:0 7px 20px rgba(15,23,42,.08);font-size:11px;line-height:1.65;pointer-events:none;}
body.quantum-theme .qcx-map-widget-keyless .qcx-map-location-note strong{font-size:12px;color:#92400e;}
@media(max-width:760px){body.quantum-theme .qcx-map-widget-keyless .qcx-map-actions{right:9px;bottom:9px;gap:6px;}body.quantum-theme .qcx-map-widget-keyless .qcx-map-action{min-height:36px;padding:7px 10px;font-size:11px;}body.quantum-theme .qcx-map-widget-keyless .qcx-map-location-note{top:9px;right:9px;left:9px;font-size:10.5px;}}


/* Quick 1.3.0 map visual polish: preserve keyless map logic, restore desktop side-by-side layout, red pin. */
body.quantum-theme .qcx-map-widget-v140{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:stretch;
    gap:22px;
    width:100%;
}
body.quantum-theme .qcx-map-widget-v140 .qcx-map-frame,
body.quantum-theme .qcx-map-widget-v140 .qcx-map-info{
    min-width:0;
    width:100%;
    height:100%;
    min-height:260px;
}
body.quantum-theme .qcx-map-widget-v140 .qcx-map-info{
    box-sizing:border-box;
    align-items:center;
    justify-content:flex-start;
}
body.quantum-theme .qcx-map-widget-v140 .qcx-map-red-pin{
    position:absolute;
    z-index:4;
    top:50%;
    left:50%;
    width:30px;
    height:30px;
    margin:-27px 0 0 -15px;
    border:3px solid #fff;
    border-radius:50% 50% 50% 0;
    background:#e11d2e;
    box-shadow:0 7px 20px rgba(127,29,29,.34);
    transform:rotate(-45deg);
    pointer-events:none;
}
body.quantum-theme .qcx-map-widget-v140 .qcx-map-red-pin i{
    position:absolute;
    top:50%;
    left:50%;
    width:8px;
    height:8px;
    margin:-4px 0 0 -4px;
    border-radius:50%;
    background:#fff;
}
@media(max-width:760px){
    body.quantum-theme .qcx-map-widget-v140{
        grid-template-columns:minmax(0,1fr);
        gap:16px;
    }
    body.quantum-theme .qcx-map-widget-v140 .qcx-map-frame,
    body.quantum-theme .qcx-map-widget-v140 .qcx-map-info{
        min-height:0;
    }
    body.quantum-theme .qcx-map-widget-v140 .qcx-map-frame{
        min-height:280px;
    }
}


/* Quick 1.3.3 — Elementor editor resize-handle compatibility.
 * The frontend still uses Quick's width-stability contract. Inside Elementor's
 * live editor we do not overwrite the widget's sizing custom properties, so
 * Elementor's own drag handles/width controls can update the widget normally. */
body.quantum-theme.elementor-editor-active .elementor-widget-quantum_default_header,
body.quantum-theme.elementor-editor-active .elementor-widget-quantum_default_footer {
    min-width:0;
    box-sizing:border-box;
}
body.quantum-theme.elementor-editor-active .elementor-widget-quantum_default_header > .elementor-element-overlay,
body.quantum-theme.elementor-editor-active .elementor-widget-quantum_default_footer > .elementor-element-overlay {
    z-index:9999 !important;
}
body.quantum-theme.elementor-editor-active .elementor-widget-quantum_default_header > .elementor-element-overlay > .elementor-editor-element-settings,
body.quantum-theme.elementor-editor-active .elementor-widget-quantum_default_footer > .elementor-element-overlay > .elementor-editor-element-settings {
    pointer-events:auto !important;
}
