/* =========================================================
   MAMAHOOD — CAMPAIGNS
   ========================================================= */
/*
 * Mechanical migration from the approved current Additional CSS.
 * No visual changes intended.
 */

/* =========================================================
   CAMPAIGNS PAGE
   Final responsive layout v6 — 12 Sep 2026

   REQUIRED CLASSES USED BY THIS PAGE:
   - campaign-proof-section
   - campaign-proof-title
   - campaign-proof-row
   - campaign-proof-audience
   - campaign-proof-execution
   - campaign-proof-boost
   - campaign-pricing-panel
   - campaign-pricing-intro
   - campaign-price-cards-row
   - campaign-price-card
   - campaign-price-addon
   - campaign-price-details-row
   - campaign-meta-pill
   ========================================================= */


/* ---------------------------------------------------------
   PAGE BACKGROUND + HERO → PROOF TRANSITION
   Keep the entire content canvas stone so no white strip can
   appear between the hero and the proof section.
   --------------------------------------------------------- */

body:has(.campaign-proof-section) .entry-content,
body:has(.campaign-proof-section) .site-main,
body:has(.campaign-proof-section) .content-area {
    background-color: #F0E5D9 !important;
}

body:has(.campaign-proof-section) .entry-content > * {
    margin-block-start: 0 !important;
}

/* Top-level row containing the proof section. */
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-proof-section),
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-proof-section) > .kt-row-layout-inner,
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-proof-section) > .kt-row-layout-inner > .kt-row-column-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    background-color: #F0E5D9 !important;
}

body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-proof-section) > .kt-row-layout-inner,
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-proof-section) > .kt-row-layout-inner > .kt-row-column-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* ---------------------------------------------------------
   PROOF SECTION — BASE
   --------------------------------------------------------- */

.campaign-proof-section,
.campaign-proof-section > .kt-inside-inner-col,
.campaign-proof-row,
.campaign-proof-audience,
.campaign-proof-execution,
.campaign-proof-boost,
.campaign-proof-audience > .kt-inside-inner-col,
.campaign-proof-execution > .kt-inside-inner-col,
.campaign-proof-boost > .kt-inside-inner-col {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* Each proof item must establish its own positioning context.
   Without this, the divider/accent pseudo-elements anchor to the
   outer row and collect at the wrong edge/card. */
.campaign-proof-audience,
.campaign-proof-execution,
.campaign-proof-boost {
    position: relative !important;
}

.campaign-proof-section {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.campaign-proof-section > .kt-inside-inner-col {
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.campaign-proof-section::before,
.campaign-proof-section::after {
    content: none !important;
    display: none !important;
}


/* ---------------------------------------------------------
   PROOF TITLE — DIRECT H2 HOOK

   This intentionally targets the H2 itself rather than a
   parent selector so Kadence heading line-height cannot make
   the wrapped title fold over itself.
   --------------------------------------------------------- */

.campaign-proof-title {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    letter-spacing: -0.02em !important;
}

.campaign-proof-title,
.campaign-proof-title * {
    line-height: 1.16 !important;
}

.campaign-proof-title * {
    margin: 0 !important;
    padding: 0 !important;
}

/* Supporting line immediately below the proof title. */
.campaign-proof-title + p,
.campaign-proof-section > .kt-inside-inner-col > p:first-of-type {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.5 !important;
}


/* ---------------------------------------------------------
   PROOF ROW — BASE
   --------------------------------------------------------- */

.campaign-proof-row {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
}

.campaign-proof-row > .kt-row-layout-inner,
.campaign-proof-row > .kt-row-layout-inner > .kt-row-column-wrap,
.campaign-proof-row.kt-row-layout-inner,
.campaign-proof-row.kt-row-layout-inner > .kt-row-column-wrap {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
}

.campaign-proof-row > .kt-row-layout-inner > .kt-row-column-wrap,
.campaign-proof-row.kt-row-layout-inner > .kt-row-column-wrap {
    align-items: stretch !important;
}

/* Remove any manual Kadence borders before we add only the
   dividers we actually want at each breakpoint. */
.campaign-proof-row .wp-block-kadence-column,
.campaign-proof-row .kt-inside-inner-col {
    border-left: 0 !important;
    border-right: 0 !important;
}


/* ---------------------------------------------------------
   PROOF — DESKTOP
   Three columns. Execution receives slightly more width so
   its paragraph stays compact rather than breaking into four
   short lines.
   --------------------------------------------------------- */

@media (min-width: 1024px) {

    .campaign-proof-section > .kt-inside-inner-col {
        padding-top: 22px !important;
        padding-bottom: 18px !important;
    }

    .campaign-proof-title {
        font-size: 36px !important;
        line-height: 1.14 !important;
    }

    .campaign-proof-title + p,
    .campaign-proof-section > .kt-inside-inner-col > p:first-of-type {
        font-size: 16px !important;
    }

    .campaign-proof-row {
        margin-top: 18px !important;
    }

    .campaign-proof-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-proof-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 35fr) minmax(0, 40fr) minmax(0, 25fr) !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }

    .campaign-proof-audience,
    .campaign-proof-execution,
    .campaign-proof-boost {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .campaign-proof-audience {
        padding: 0 16px 0 0 !important;
    }

    .campaign-proof-execution {
        padding: 0 16px !important;
    }

    .campaign-proof-boost {
        padding: 0 0 0 16px !important;
    }

    .campaign-proof-audience::before,
    .campaign-proof-execution::before,
    .campaign-proof-boost::before,
    .campaign-proof-boost::after {
        content: none !important;
        display: none !important;
    }

    .campaign-proof-audience::after,
    .campaign-proof-execution::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        right: 0 !important;
        width: 1px !important;
        background: rgba(7, 53, 112, 0.20) !important;
        pointer-events: none !important;
    }
}


/* ---------------------------------------------------------
   PROOF — TABLET
   Audience full width, then Execution + Boosting side by side.
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1023px) {

    .campaign-proof-section > .kt-inside-inner-col {
        padding-top: 20px !important;
        padding-bottom: 14px !important;
    }

    .campaign-proof-title {
        font-size: 34px !important;
        line-height: 1.15 !important;
    }

    .campaign-proof-title + p,
    .campaign-proof-section > .kt-inside-inner-col > p:first-of-type {
        font-size: 16px !important;
    }

    .campaign-proof-row {
        margin-top: 20px !important;
    }

    .campaign-proof-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-proof-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 30px !important;
        row-gap: 18px !important;
    }

    .campaign-proof-audience {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 30px 34px !important;
        background: #FFF8FB !important;
        border: 1px solid rgba(242, 56, 131, 0.10) !important;
        border-radius: 18px !important;
        box-shadow: none !important;
    }

    .campaign-proof-execution,
    .campaign-proof-boost {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .campaign-proof-audience::before,
    .campaign-proof-audience::after,
    .campaign-proof-execution::before,
    .campaign-proof-boost::before,
    .campaign-proof-boost::after {
        content: none !important;
        display: none !important;
    }

    .campaign-proof-execution::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 6px !important;
        bottom: 6px !important;
        right: -15px !important;
        width: 1px !important;
        background: rgba(7, 53, 112, 0.20) !important;
        pointer-events: none !important;
    }
    /* Keep the two lower proof headings visually balanced on tablet.
       The Boosting heading already has an intentional hard break;
       constraining Execution creates the matching two-line treatment
       without affecting desktop or mobile. */
    .campaign-proof-execution h2,
    .campaign-proof-execution h3 {
        width: 180px !important;
        max-width: 180px !important;
    }

}


/* ---------------------------------------------------------
   PROOF — MOBILE
   Audience card + two editorial statements with short pink
   accent bars. No right-side borders remain.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .campaign-proof-section > .kt-inside-inner-col {
        padding-top: 18px !important;
        padding-bottom: 12px !important;
    }

    .campaign-proof-title {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 28px !important;
        line-height: 1.20 !important;
        letter-spacing: -0.015em !important;
        margin: 0 0 10px 0 !important;
        padding: 0 18px !important;
    }

    .campaign-proof-title,
    .campaign-proof-title * {
        line-height: 1.20 !important;
    }

    .campaign-proof-title + p,
    .campaign-proof-section > .kt-inside-inner-col > p:first-of-type {
        font-size: 16px !important;
        line-height: 1.5 !important;
        padding: 0 18px !important;
    }

    .campaign-proof-row {
        margin-top: 22px !important;
    }

    .campaign-proof-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-proof-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 18px !important;
    }

    .campaign-proof-row .kt-row-column-wrap,
    .campaign-proof-row .wp-block-kadence-column,
    .campaign-proof-row .kt-inside-inner-col {
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .campaign-proof-audience {
        width: 100% !important;
        max-width: none !important;
        margin: 0 0 2px 0 !important;
        padding: 26px 24px !important;
        background: #FFF8FB !important;
        border: 1px solid rgba(242, 56, 131, 0.10) !important;
        border-radius: 18px !important;
        box-shadow: none !important;
    }

    .campaign-proof-audience::before,
    .campaign-proof-audience::after,
    .campaign-proof-execution::after,
    .campaign-proof-boost::after {
        content: none !important;
        display: none !important;
    }

    .campaign-proof-execution,
    .campaign-proof-boost {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 14px 8px 14px 30px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .campaign-proof-execution::before,
    .campaign-proof-boost::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        top: 18px !important;
        width: 4px !important;
        height: calc(100% - 36px) !important;
        min-height: 66px !important;
        max-height: 92px !important;
        background: rgba(242, 56, 131, 0.82) !important;
        border-radius: 999px !important;
        pointer-events: none !important;
    }
}

@media (max-width: 430px) {
    .campaign-proof-title {
        font-size: 28px !important;
        line-height: 1.22 !important;
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    .campaign-proof-title,
    .campaign-proof-title * {
        line-height: 1.22 !important;
    }
}


/* =========================================================
   PROOF → PRICING TRANSITION
   The gap is controlled here only; old competing margin rules
   have been removed.
   ========================================================= */

body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-pricing-panel),
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) > .kt-row-layout-inner,
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) > .kt-row-layout-inner > .kt-row-column-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) > .kt-row-layout-inner > .kt-row-column-wrap {
    padding-bottom: 0 !important;
}

/* The proof section itself now supplies the small deliberate
   transition space. Do not add a second gap above pricing. */
body:has(.campaign-proof-section) .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) {
    padding-top: 0 !important;
}


/* =========================================================
   CAMPAIGN PRICING PANEL — BASE
   ========================================================= */

.campaign-pricing-panel,
.campaign-pricing-intro,
.campaign-price-cards-row,
.campaign-price-card,
.campaign-price-addon,
.campaign-price-details-row {
    position: relative !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.campaign-pricing-panel {
    overflow: hidden !important;
    margin-top: 0 !important;
}

.campaign-pricing-panel > .kt-inside-inner-col,
.campaign-pricing-intro > .kt-inside-inner-col,
.campaign-price-card > .kt-inside-inner-col,
.campaign-price-addon > .kt-inside-inner-col {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.campaign-pricing-panel .kt-row-column-wrap:has(> .campaign-pricing-intro) {
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: stretch !important;
}

.campaign-price-cards-row > .kt-row-layout-inner > .kt-row-column-wrap,
.campaign-price-cards-row.kt-row-layout-inner > .kt-row-column-wrap,
.campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap,
.campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap {
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: stretch !important;
}

.campaign-pricing-intro h2,
.campaign-price-card h2,
.campaign-price-card h3,
.campaign-price-addon h2,
.campaign-price-addon h3 {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}


/* ---------------------------------------------------------
   META BOOST PILL
   --------------------------------------------------------- */

.campaign-price-card .campaign-meta-pill {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 8px 14px !important;
    background: #F23883 !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    font-family: "DM Sans", sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    z-index: 3 !important;
}


/* ---------------------------------------------------------
   PRICING — DESKTOP
   --------------------------------------------------------- */

@media (min-width: 1024px) {

    .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) > .kt-row-layout-inner {
        padding-bottom: 58px !important;
    }

    .campaign-pricing-panel .kt-row-column-wrap:has(> .campaign-pricing-intro) {
        display: grid !important;
        grid-template-columns: minmax(240px, 29fr) minmax(0, 71fr) !important;
        column-gap: 36px !important;
        row-gap: 0 !important;
    }

    .campaign-pricing-intro {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .campaign-price-cards-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-cards-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 2.15fr) minmax(180px, 0.85fr) !important;
        column-gap: 20px !important;
        row-gap: 0 !important;
        align-items: stretch !important;
    }

    .campaign-price-card,
    .campaign-price-addon,
    .campaign-price-card > .kt-inside-inner-col,
    .campaign-price-addon > .kt-inside-inner-col {
        height: 100% !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child {
        border-right: 1px solid rgba(7, 53, 112, 0.22) !important;
    }

    .campaign-price-card .campaign-meta-pill {
        position: absolute !important;
        top: 18px !important;
        right: 18px !important;
        margin: 0 !important;
        font-size: 13px !important;
    }
}


/* ---------------------------------------------------------
   PRICING — TABLET
   Intro full width; Campaign and Add-on cards remain beside
   one another and stretch to the same height.
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1023px) {

    .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) > .kt-row-layout-inner {
        padding-bottom: 44px !important;
    }

    .campaign-pricing-panel {
        padding: 36px 30px 32px !important;
        border-radius: 20px !important;
    }

    .campaign-pricing-panel .kt-row-column-wrap:has(> .campaign-pricing-intro) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 28px !important;
    }

    .campaign-pricing-intro {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .campaign-pricing-intro > .kt-inside-inner-col {
        padding-bottom: 0 !important;
    }

    .campaign-pricing-intro h2 {
        font-size: 38px !important;
        line-height: 1.08 !important;
        margin-bottom: 16px !important;
    }

    .campaign-price-cards-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-cards-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 2.1fr) minmax(190px, 0.9fr) !important;
        column-gap: 20px !important;
        row-gap: 0 !important;
        align-items: stretch !important;
    }

    .campaign-price-card,
    .campaign-price-addon,
    .campaign-price-card > .kt-inside-inner-col,
    .campaign-price-addon > .kt-inside-inner-col {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        margin: 0 !important;
        align-self: stretch !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child {
        border-right: 1px solid rgba(7, 53, 112, 0.22) !important;
    }

    .campaign-price-card .campaign-meta-pill {
        position: static !important;
        margin: 0 0 20px 0 !important;
        font-size: 12px !important;
    }
}


/* ---------------------------------------------------------
   PRICING — MOBILE
   One clean vertical sequence. The desktop/tablet vertical
   divider between First Day and Additional Days is completely
   removed and replaced with one horizontal divider.
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .wp-block-kadence-rowlayout:has(.campaign-pricing-panel) > .kt-row-layout-inner {
        padding-bottom: 36px !important;
    }

    .campaign-pricing-panel {
        width: calc(100% - 28px) !important;
        max-width: none !important;
        margin: 0 14px !important;
        padding: 30px 20px 26px !important;
        border-radius: 20px !important;
    }

    .campaign-pricing-panel > .kt-inside-inner-col {
        min-height: 0 !important;
        height: auto !important;
    }

    .campaign-pricing-panel .kt-row-column-wrap:has(> .campaign-pricing-intro) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 26px !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .campaign-pricing-panel .kt-row-column-wrap:has(> .campaign-pricing-intro) > .wp-block-kadence-column {
        min-height: 0 !important;
        height: auto !important;
        align-self: start !important;
    }

    .campaign-pricing-intro {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .campaign-pricing-intro > .kt-inside-inner-col {
        padding: 0 !important;
    }

    .campaign-pricing-intro h2 {
        font-size: 34px !important;
        line-height: 1.10 !important;
        letter-spacing: -0.02em !important;
        margin: 0 0 16px 0 !important;
    }

    .campaign-pricing-intro p:last-child {
        margin-bottom: 0 !important;
    }

    .campaign-price-cards-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-cards-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 20px !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .campaign-price-card,
    .campaign-price-addon {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        border-radius: 18px !important;
    }

    .campaign-price-card > .kt-inside-inner-col,
    .campaign-price-addon > .kt-inside-inner-col {
        min-height: 0 !important;
        height: auto !important;
        padding: 26px 22px !important;
    }

    .campaign-price-card .campaign-meta-pill {
        position: static !important;
        display: inline-block !important;
        margin: 0 0 22px 0 !important;
        padding: 8px 13px !important;
        font-size: 12px !important;
        white-space: normal !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        min-height: 0 !important;
    }

    /* Strong reset: remove every possible inherited left/right
       divider from this nested pricing row on mobile. */
    .campaign-price-details-row,
    .campaign-price-details-row > .kt-row-layout-inner,
    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap,
    .campaign-price-details-row .wp-block-kadence-column,
    .campaign-price-details-row .kt-inside-inner-col,
    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > *,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > * {
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .campaign-price-details-row .wp-block-kadence-column::before,
    .campaign-price-details-row .wp-block-kadence-column::after,
    .campaign-price-details-row .kt-inside-inner-col::before,
    .campaign-price-details-row .kt-inside-inner-col::after {
        content: none !important;
        display: none !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:first-child,
    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > *:first-child,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > *:first-child {
        padding-right: 0 !important;
        padding-bottom: 24px !important;
        margin-bottom: 24px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(7, 53, 112, 0.20) !important;
    }

    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:last-child,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > .wp-block-kadence-column:last-child,
    .campaign-price-details-row > .kt-row-layout-inner > .kt-row-column-wrap > *:last-child,
    .campaign-price-details-row.kt-row-layout-inner > .kt-row-column-wrap > *:last-child {
        padding-top: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .campaign-price-addon,
    .campaign-price-addon > .kt-inside-inner-col {
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .campaign-price-addon::before,
    .campaign-price-addon::after {
        content: none !important;
        display: none !important;
    }
}


/* ---------------------------------------------------------
   PRICING — SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 430px) {

    .campaign-pricing-panel {
        width: calc(100% - 20px) !important;
        margin-right: 10px !important;
        margin-left: 10px !important;
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .campaign-pricing-intro h2 {
        font-size: 32px !important;
        line-height: 1.10 !important;
    }

    .campaign-price-card > .kt-inside-inner-col,
    .campaign-price-addon > .kt-inside-inner-col {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }
}
