/* 
Theme Name: wp-isp child
Theme URI: https://wp-isp.com
Description: wp-isp child is a child theme of wp-isp
Author: wp-isp
Author URI: https://wp-isp.com/
Template: wp-isp
Version: 3.4.5
Text Domain: wp-isp-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* =========================================================
   QR-CODES.BIZ — Elementor / Hello Elementor layout fixes
   v3
   ========================================================= */

/* Keep Elementor from introducing width / spacing surprises */
.qrb-root {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: clip;
}

.qrb-root,
.qrb-root * {
    box-sizing: border-box;
}

.qrb-root > .e-con,
.qrb-root > .elementor-element {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Main content width */
.qrb-root .qrb-wrap {
    width: calc(100% - 48px) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Vertical section rhythm */
.qrb-root .qrb-section {
    width: 100% !important;
    max-width: none !important;
    padding: 80px 0 !important;
    margin: 0 !important;
}

.qrb-root .qrb-hero {
    padding: 72px 0 80px !important;
}

.qrb-root .qrb-divider {
    padding: 20px 0 !important;
}

.qrb-root .qrb-footer {
    padding: 44px 0 !important;
}

/* Elementor widgets should fill their intended grid/flex column */
.qrb-root .qrb-grid2 > .e-con,
.qrb-root .qrb-grid2 > .elementor-widget,
.qrb-root .qrb-grid3 > .e-con,
.qrb-root .qrb-grid3 > .elementor-widget,
.qrb-root .qrb-grid4 > .e-con,
.qrb-root .qrb-grid4 > .elementor-widget {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

/* Layout grids */
.qrb-root .qrb-grid2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 56px !important;
    align-items: center !important;
}

.qrb-root .qrb-grid3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.qrb-root .qrb-grid4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

/* Stack and row spacing */
.qrb-root .qrb-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
}

.qrb-root .qrb-smallstack {
    display: flex !important;
    flex-direction: column !important;
    gap: 13px !important;
}

.qrb-root .qrb-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.qrb-root .qrb-row > .elementor-widget {
    width: auto !important;
    max-width: 100%;
}

/* Navigation */
.qrb-root .qrb-nav {
    padding: 20px 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 22px !important;
}

.qrb-root .qrb-nav > .elementor-widget {
    width: auto !important;
}

.qrb-root .qrb-links p {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
}

/* Card spacing was most vulnerable to Elementor container rules */
.qrb-root .qrb-card {
    height: 100%;
    padding: 28px !important;
    gap: 16px !important;
}

.qrb-root .qrb-plan {
    height: 100%;
}

.qrb-root .qrb-contact-box {
    padding: 30px !important;
}

.qrb-root .qrb-sample {
    padding: 26px !important;
}

.qrb-root .qrb-banner {
    padding: 16px 18px !important;
}

/* Heading spacing */
.qrb-root .qrb-heading {
    max-width: 760px !important;
    margin: 0 0 40px !important;
    gap: 18px !important;
}

.qrb-root .qrb-heading > .elementor-widget,
.qrb-root .qrb-stack > .elementor-widget,
.qrb-root .qrb-smallstack > .elementor-widget {
    margin: 0 !important;
}

/* Remove Elementor text-widget paragraph spacing inconsistencies */
.qrb-root .elementor-widget-text-editor p:first-child {
    margin-top: 0 !important;
}

.qrb-root .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

/* Buttons */
.qrb-root .elementor-button-wrapper {
    line-height: 1;
}

.qrb-root .elementor-button {
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 14px 22px !important;
}

.qrb-root .qrb-row .elementor-widget-button {
    width: auto !important;
}

/* Workflow preview */
.qrb-root .qrb-workflow {
    width: 100%;
    min-height: 470px;
    padding: 28px;
}

.qrb-root .qrb-workflow .flow-card {
    padding: 19px;
}

/* Tables */
.qrb-root .qrb-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Tablet */
@media (max-width: 900px) {
    .qrb-root .qrb-wrap {
        width: calc(100% - 40px) !important;
    }

    .qrb-root .qrb-section {
        padding: 64px 0 !important;
    }

    .qrb-root .qrb-hero {
        padding: 56px 0 64px !important;
    }

    .qrb-root .qrb-grid2 {
        gap: 36px !important;
    }

    .qrb-root .qrb-grid3 {
        gap: 18px !important;
    }

    .qrb-root .qrb-grid4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    .qrb-root .qrb-card {
        padding: 24px !important;
    }
}

/* Mobile */
@media (max-width: 650px) {
    .qrb-root .qrb-wrap {
        width: calc(100% - 32px) !important;
    }

    .qrb-root .qrb-section {
        padding: 48px 0 !important;
    }

    .qrb-root .qrb-hero {
        padding: 42px 0 50px !important;
    }

    .qrb-root .qrb-divider {
        padding: 16px 0 !important;
    }

    .qrb-root .qrb-footer {
        padding: 34px 0 !important;
    }

    .qrb-root .qrb-grid2,
    .qrb-root .qrb-grid3,
    .qrb-root .qrb-grid4 {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
    }

    .qrb-root .qrb-nav {
        padding: 16px 0 !important;
        gap: 14px !important;
    }

    .qrb-root .qrb-links {
        width: 100% !important;
        order: 3;
    }

    .qrb-root .qrb-links p {
        gap: 10px 16px !important;
        font-size: 12px !important;
    }

    .qrb-root .qrb-row {
        gap: 10px !important;
    }

    .qrb-root .qrb-row .elementor-widget-button {
        width: 100% !important;
    }

    .qrb-root .qrb-row .elementor-button-wrapper,
    .qrb-root .qrb-row .elementor-button {
        width: 100%;
    }

    .qrb-root .qrb-card {
        padding: 24px !important;
    }

    .qrb-root .qrb-contact-box {
        padding: 24px !important;
    }

    .qrb-root .qrb-heading {
        margin-bottom: 28px !important;
    }

    .qrb-root .qrb-workflow {
        min-height: 0;
        padding: 20px;
    }

    .qrb-root .qrb-workflow .flow-card {
        padding: 17px;
    }
}

