/**
Theme Name:  cultivating-digital-child
Theme URI:   https://cultivatingdigital.com/
Description: Cultivating Digital child theme for Astra. All custom CSS belongs in this file or in css/pages/, never in the Customizer's Additional CSS.
Author:      Cultivating Digital
Author URI:  https://cultivatingdigital.com/
Template:    astra
Version:     2026.09.24
Text Domain: cultivating-digital-child
*/

/* ==========================================================================
   MEDACADEMY DESIGN TOKENS
   Pulled from the Elementor global kit before the rebuild, recorded in
   Rebuild-Readiness.md. Declared here so the rebuild references one source
   instead of eyeballing hexes. These are variables only, they style nothing
   on their own and they do not override any Spectra block attribute.
   ========================================================================== */
:root {
    --ma-primary:    #F58331;
    --ma-secondary:  #267CC0;
    --ma-text:       #383838;
    --ma-accent:     #77AFDB;
    --ma-white:      #FFFFFF;
    --ma-offwhite:   #F7F7F7;
    --ma-navy:       #1B2E4B;

    --ma-font-body:      "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --ma-font-secondary: "Roboto Slab", Georgia, "Times New Roman", serif;

    /* Astra breakpoints in use on this site: 1025 large, 768 medium */
    --ma-bp-large:  1025px;
    --ma-bp-medium: 768px;
}
/* End MEDACADEMY DESIGN TOKENS */

/* ==========================================================================
   INHERITED — migrated from Customizer > Additional CSS on 2026-09-10
   This was the entire contents of the old Additional CSS panel (post 640).
   Moved here per cd-wp-build: Additional CSS is invisible to grep and does
   not survive theme migrations. Kept verbatim so the rebuild stays
   like-for-like. Flagged for review: zeroing .ast-container padding globally
   is broad, and Spectra containers should be owning their own spacing.
   ========================================================================== */
.ast-container {
    padding: 0px;
}
/* End INHERITED */

/* ==========================================================================
   HOMEPAGE — Spectra rebuild, 2026-09-22
   Layout lives here, not in block attrs. CLI-authored Spectra containers do
   not emit dynamic CSS (see cd-wp-build > spectra-layout.md), and when uag
   assets DO regenerate they push flex-flow:column / align-items:center onto
   every container. Hence !important on the contested properties only.
   ========================================================================== */

/* --- shared section rhythm --- */
.ma-hero, .ma-about, .ma-stories, .ma-cta { width: 100%; }
.ma-about, .ma-stories, .ma-cta { padding: 4.5rem 1.25rem !important; }

.ma-section__head { max-width: 900px; margin: 0 auto 2.5rem !important; }
.ma-eyebrow .uagb-heading-text {
    font-size: 1.6rem; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; margin: 0 0 .35rem;
}
.ma-eyebrow--light .uagb-heading-text { color: #fff; font-size: .8rem; letter-spacing: .18em; }
.ma-eyebrow--orange .uagb-heading-text { color: var(--ma-primary, #F58331); }
.ma-eyebrow--blue   .uagb-heading-text { color: var(--ma-secondary, #267CC0); }
.ma-section__title .uagb-heading-text {
    color: var(--ma-navy, #1B2E4B); font-size: 1.6rem; font-weight: 700; margin: 0;
}

/* --- HERO --- */
.ma-hero {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; gap: 3rem;
    background: linear-gradient(105deg, #2B7FC4 0%, #1B4A7A 100%);
    padding: 4rem 3rem !important;
}
.ma-hero > .ma-hero__text, .ma-hero > .ma-hero__media {
    display: block !important; flex: 1 1 380px; min-width: 300px; padding: 0 !important;
}
.ma-hero__title .uagb-heading-text {
    color: #fff; font-size: 2.9rem; line-height: 1.15; font-weight: 700; margin: 0 0 1rem;
}
.ma-hero__lede { color: rgba(255,255,255,.92); font-size: 1rem; line-height: 1.7; max-width: 46ch; }
.ma-hero__ctas {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    gap: 1rem; margin-top: 1.75rem !important; padding: 0 !important;
}
.ma-hero__media .wp-block-image { margin: 0; }
.ma-hero__img img {
    width: 100%; height: auto; border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0,0,0,.28); display: block;
}

/* --- buttons (pill, matching the Customizer) --- */
.ma-btn .uagb-buttons-repeater-link,
.ma-btn a.wp-block-button__link {
    display: inline-block; border-radius: 999px; padding: .85rem 1.6rem;
    font-weight: 700; font-size: 1rem; text-decoration: none; line-height: 1.2;
    transition: background-color .18s ease, color .18s ease;
}
.ma-btn--solid a { background: #fff !important; color: #267CC0 !important; border: 2px solid #fff !important; }
.ma-btn--solid a:hover { background: transparent !important; color: #fff !important; }
.ma-btn--ghost a { background: transparent !important; color: #fff !important; border: 2px solid #fff !important; }
.ma-btn--ghost a:hover { background: #fff !important; color: #267CC0 !important; }
.ma-btn--primary a { background: #267CC0 !important; color: #fff !important; border: 2px solid #267CC0 !important; }
.ma-btn--primary a:hover { background: #1B2E4B !important; border-color: #1B2E4B !important; }

/* --- ABOUT --- */
.ma-about { background: #fff; }
.ma-about__cols {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; gap: 3rem; max-width: 1140px; margin: 0 auto !important;
    padding: 0 !important;
}
.ma-about__cols > .ma-about__media, .ma-about__cols > .ma-about__text {
    display: block !important; flex: 1 1 360px; min-width: 300px; padding: 0 !important;
}
.ma-about__img img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 12px 34px rgba(0,0,0,.14); display: block; }
.ma-about__text p { color: #383838; line-height: 1.75; margin: 0 0 1.1rem; }
.ma-checklist { list-style: none; margin: 1.25rem 0 1.75rem !important; padding: 0 !important; }
.ma-checklist li {
    position: relative; padding-left: 2rem; margin-bottom: .7rem;
    color: #1B2E4B; font-weight: 500; list-style: none;
}
.ma-checklist li::before {
    content: ""; position: absolute; left: 0; top: .15rem; width: 1.25rem; height: 1.25rem;
    border-radius: 50%; background: #F58331;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='black'/></svg>") center/contain no-repeat;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='12' fill='black'/></svg>") center/contain no-repeat;
}
.ma-checklist li::after {
    content: ""; position: absolute; left: .38rem; top: .42rem; width: .5rem; height: .28rem;
    border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg);
}

/* --- STUDENT STORIES --- */
.ma-stories { background: #F4F6F8; }
.ma-quote { max-width: 760px; margin: 0 auto !important; text-align: center; padding: 0 !important; }
.ma-quote__text { font-size: 1.15rem; line-height: 1.8; color: #1B2E4B; font-style: italic; margin: 0 0 1rem; }
.ma-quote__attrib { font-size: .9rem; color: #6B7A8D; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; margin: 0; }

/* --- CTA BAND --- */
.ma-cta {
    display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
    align-items: center !important; gap: 3rem; background: #267CC0;
}
.ma-cta > .ma-cta__text, .ma-cta > .ma-cta__card {
    display: block !important; flex: 1 1 380px; min-width: 300px;
}
.ma-cta__text { padding: 0 !important; }
.ma-cta__title .uagb-heading-text { color: #fff; font-size: 2.1rem; line-height: 1.2; font-weight: 700; margin: 0 0 1rem; }
.ma-cta__lede { color: rgba(255,255,255,.92); line-height: 1.7; margin: 0 0 1.75rem; max-width: 42ch; }
.ma-cta__card {
    background: #fff !important; border-radius: 14px;
    padding: 2rem !important; box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.ma-cta__card-title .uagb-heading-text { color: #267CC0; font-size: 1.15rem; font-weight: 700; margin: 0 0 1rem; }
.ma-wishlist { margin: 0 0 1.5rem !important; padding: 0 !important; list-style: none; }
.ma-wishlist li {
    position: relative; padding-left: 1.5rem; margin-bottom: .55rem;
    color: #383838; font-size: .95rem; list-style: none;
}
.ma-wishlist li::before { content: ""; position: absolute; left: 0; top: .5rem; width: .5rem; height: .5rem; border-radius: 50%; background: #F58331; }

/* --- responsive --- */
@media (max-width: 921px) {
    .ma-hero { padding: 3rem 1.5rem !important; gap: 2rem; }
    .ma-hero__title .uagb-heading-text { font-size: 2.1rem; }
    .ma-cta__title .uagb-heading-text { font-size: 1.7rem; }
    .ma-about, .ma-stories, .ma-cta { padding: 3rem 1.25rem !important; }
    .ma-about__cols, .ma-hero { gap: 2rem; }
}
@media (max-width: 544px) {
    .ma-hero__ctas { flex-direction: column !important; align-items: stretch !important; }
    .ma-btn a { text-align: center; }
}
/* End HOMEPAGE */

/* --- HOMEPAGE fixes 2026-09-22.1 — uag defaults were winning on these --- */
.ma-section__head {
    display: block !important; text-align: center !important;
    flex-direction: column !important;
}
.ma-section__head .uagb-heading-text { text-align: center !important; }
.ma-section__title .uagb-heading-text { font-size: 2rem !important; }
.ma-eyebrow .uagb-heading-text { font-size: 1rem !important; }
.ma-eyebrow--orange .uagb-heading-text,
.ma-eyebrow--blue .uagb-heading-text { font-size: 1.5rem !important; letter-spacing: .14em; }

/* hero CTA row: stop uag forcing children to 100% width */
.ma-hero__ctas > .wp-block-uagb-buttons,
.ma-cta__text > .wp-block-uagb-buttons,
.ma-about__text > .wp-block-uagb-buttons,
.ma-cta__card > .wp-block-uagb-buttons {
    width: auto !important; max-width: none !important; flex: 0 0 auto !important; margin: 0 !important;
}
.ma-hero__ctas { align-items: center !important; justify-content: flex-start !important; }
.wp-block-uagb-buttons .uagb-buttons__wrap { display: flex !important; }

/* columns must not be forced to center-stack */
.ma-about__cols > *, .ma-hero > *, .ma-cta > * { align-self: stretch !important; }
.ma-about__media, .ma-hero__media { align-self: center !important; }

/* kill the Astra page title on the front page */
.home .entry-header, .home .ast-single-post-title, .home .page-title { display: none !important; }
/* End HOMEPAGE fixes */

/* --- 2026-09-22.2 — root sections stack, they are not columns --- */
.ma-about, .ma-stories { display: block !important; }

/* --- SITE FOOTER (child-theme rendered, replaces the Elementor footer) --- */
.ma-footer { background: #1B2E4B; color: #fff; padding: 3.5rem 1.5rem 1.5rem; }
.ma-footer__inner {
    max-width: 1140px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 3rem;
}
.ma-footer__col { flex: 1 1 260px; min-width: 240px; }
.ma-footer__logo { max-width: 190px; height: auto; display: block; margin-bottom: 1rem; }
.ma-footer p { color: rgba(255,255,255,.82); line-height: 1.7; font-size: .95rem; }
.ma-footer h3 {
    color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; margin: 0 0 1rem;
}
.ma-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.ma-footer a:hover { color: #F58331; }
.ma-footer__links { list-style: none; margin: 0; padding: 0; }
.ma-footer__links li { margin-bottom: .6rem; }
.ma-footer__social { display: flex; gap: .75rem; margin-top: 1.25rem; }
.ma-footer__social img { width: 34px; height: 34px; border-radius: 8px; display: block; }
.ma-footer__badges { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1.25rem 0; }
.ma-footer__badges img { height: 50px; width: auto; object-fit: contain; display: block; }
.ma-footer__mkay { margin-top: 1.25rem; }
.ma-footer__mkay img { width: 200px; height: auto; display: block; }
.ma-footer__bottom {
    max-width: 1140px; margin: 2.5rem auto 0; padding-top: 1.25rem;
    border-top: 1px solid rgba(255,255,255,.16); font-size: .8rem; color: rgba(255,255,255,.65);
}
.ma-footer__bottom a { color: rgba(255,255,255,.8); }
.ast-footer-copyright, .site-footer .ast-builder-footer-grid-columns { display: none !important; }
@media (max-width: 768px) { .ma-footer__inner { gap: 2rem; } }
/* End SITE FOOTER */

/* 2026-09-22.3 */
.ma-quote, .ma-hero__text, .ma-about__text, .ma-cta__text, .ma-cta__card { display: block !important; }
.ma-hero__ctas { display: flex !important; }

/* ---------------------------------------------------------------------------
   Gravity Forms
   GF ships its own theme (--gf-* custom properties) defaulting to GF blue
   #204ce5. Re-point those at the MedAcademy palette rather than fighting the
   inline <style> block GF prints, and match the site's pill button.
   --------------------------------------------------------------------------- */

.gform_wrapper.gform-theme {
    --gf-color-primary:                  var(--ma-secondary);
    --gf-color-primary-rgb:              38, 124, 192;
    --gf-color-primary-contrast:         var(--ma-white);
    --gf-color-primary-darker:           var(--ma-navy);
    --gf-color-primary-lighter:          var(--ma-accent);
    --gf-color-in-ctrl-primary:          var(--ma-secondary);
    --gf-color-in-ctrl-primary-rgb:      38, 124, 192;
    --gf-color-in-ctrl-primary-contrast: var(--ma-white);
    --gf-color-in-ctrl-primary-darker:   var(--ma-navy);
    --gf-color-in-ctrl-primary-lighter:  var(--ma-accent);
    --gf-radius:                         8px;
    --gf-font-size-secondary:            15px;
}

.gform_wrapper .gfield_label,
.gform_wrapper .ginput_container input,
.gform_wrapper .ginput_container textarea {
    font-family: var(--ma-font-body);
    color: var(--ma-text);
}

.gform_wrapper .gfield_label {
    font-weight: 600;
}

.gform_wrapper .gfield_required {
    color: var(--ma-primary);
}

/* Submit button matches .ma-btn--primary elsewhere on the site. */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer .gform_button {
    display: inline-block;
    border-radius: 999px;
    padding: .85rem 1.9rem;
    font-family: var(--ma-font-body);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    background: var(--ma-secondary);
    color: var(--ma-white);
    border: 2px solid var(--ma-secondary);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer .gform_button:hover {
    background: var(--ma-navy);
    border-color: var(--ma-navy);
}

.gform_wrapper .gform_footer input[type="submit"]:focus-visible,
.gform_wrapper .gform_footer .gform_button:focus-visible {
    outline: 3px solid var(--ma-primary);
    outline-offset: 2px;
}

/* The contact container already provides its own spacing. */
.cn-form .gform_wrapper {
    margin-top: 1.25rem;
}

/* ---------------------------------------------------------------------------
   2026-10-02: homepage sections restored after a production/staging diff
   showed the rebuild had dropped them.
   - Our Mission section and its image
   - the three attributed student testimonials (staging had one, unattributed)
   - the interest form, which was a plain list after Elementor came off
   --------------------------------------------------------------------------- */

/* --- Our Mission: mirror of ma-about, text left, image right -------------- */

.ma-mission {
    background: #fff;
    padding: 0 1.25rem 4.5rem !important;
}

.ma-mission__cols {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    max-width: 1140px;
    margin: 0 auto !important;
    padding: 0 !important;
}

.ma-mission__cols > .ma-mission__text,
.ma-mission__cols > .ma-mission__media {
    padding: 0 !important;
    display: block !important;
}

.ma-mission__title .uagb-heading-text {
    color: #1B2E4B;
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 1rem;
    line-height: 1.25;
}

.ma-mission__text p {
    color: #383838;
    line-height: 1.75;
    margin: 0;
}

.ma-mission__img img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .14);
    display: block;
}

/* --- Three testimonials side by side -------------------------------------- */

.ma-quotes {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    max-width: 1140px;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: stretch;
}

/* Override the single centred quote this section used to hold. */
.ma-quotes .ma-quote {
    max-width: none;
    margin: 0 !important;
    background: #fff;
    border-radius: 12px;
    padding: 1.75rem !important;
    box-shadow: 0 8px 26px rgba(27, 46, 75, .10);
    display: flex !important;
    flex-direction: column;
    text-align: center;
}

.ma-quotes .ma-quote__text {
    font-size: 1rem;
    line-height: 1.75;
    color: #1B2E4B;
    font-style: italic;
    margin: 0 0 1.25rem;
    flex: 1 1 auto;
}

.ma-quote__name {
    font-size: .95rem;
    font-weight: 700;
    color: #F58331;
    margin: 0 0 .15rem;
}

.ma-quotes .ma-quote__attrib {
    font-size: .82rem;
    color: #267CC0;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: none;
    margin: 0;
}

/* --- The interest form, sitting inside the white CTA card ----------------- */

.ma-cta__card .gform_wrapper {
    margin: 0;
}

.ma-cta__card .gform_wrapper .gfield_label {
    font-size: .9rem;
    font-weight: 600;
    color: #1B2E4B;
}

.ma-cta__card .gform_wrapper .gfield_checkbox label {
    font-size: .95rem;
    line-height: 1.5;
    color: #383838;
}

.ma-cta__card .gform_wrapper .gform_footer {
    margin-bottom: 0;
    padding-bottom: 0;
}

@media (max-width: 921px) {
    .ma-mission {
        padding: 0 1.25rem 3rem !important;
    }

    .ma-mission__cols,
    .ma-quotes {
        display: block !important;
    }

    .ma-mission__cols > .ma-mission__media {
        margin-top: 2rem;
    }

    .ma-quotes .ma-quote {
        margin-bottom: 1.25rem !important;
    }
}

/* ---------------------------------------------------------------------------
   Shop mega menu
   Astra Pro's nav-menu module builds the right DOM from the menu structure
   (ul.astra-megamenu > li.menu-item-heading > ul.sub-menu) but does not emit
   the column layout CSS when the menu item's meta is written from WP-CLI
   rather than through the Customizer. Same dynamic-CSS trap Spectra has.
   The layout lives here instead, where it is version-controlled.

   Desktop only. On mobile Astra's own accordion is the right behaviour and is
   left alone.
   --------------------------------------------------------------------------- */

@media (min-width: 922px) {

    .ast-desktop .astra-megamenu-li > ul.astra-megamenu {
        display: flex !important;
        flex-wrap: nowrap;
        gap: 0;
        width: auto;
        min-width: 620px;
        padding: 1.5rem 1.75rem;
        background: var(--ma-white, #fff);
        border-radius: 0 0 10px 10px;
        box-shadow: 0 14px 38px rgba(27, 46, 75, .16);
        border-top: 3px solid var(--ma-secondary, #267CC0);
    }

    /* Each top-level child becomes a column rather than a flyout parent. */
    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item {
        flex: 1 1 0;
        position: static !important;
        padding: 0 1.25rem;
        border-right: 1px solid rgba(27, 46, 75, .10);
    }

    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item:last-child {
        border-right: 0;
    }

    /* Column heading. */
    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item > a.menu-link {
        font-weight: 700;
        font-size: .82rem;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--ma-navy, #1B2E4B) !important;
        padding: 0 0 .6rem !important;
        margin-bottom: .6rem;
        border-bottom: 2px solid var(--ma-primary, #F58331);
        display: block;
    }

    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item > a.menu-link:hover {
        color: var(--ma-secondary, #267CC0) !important;
    }

    /*
     * The nested list is a real part of the panel here, not a flyout, so the
     * absolute positioning and hide/show behaviour Astra gives sub-menus has
     * to come off.
     */
    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item > ul.sub-menu {
        position: static !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        width: auto !important;
        min-width: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item > ul.sub-menu > li > a.menu-link {
        padding: .4rem 0 !important;
        font-size: .92rem;
        color: var(--ma-text, #383838) !important;
        border: 0 !important;
        background: transparent !important;
    }

    .ast-desktop .astra-megamenu-li > ul.astra-megamenu > li.menu-item > ul.sub-menu > li > a.menu-link:hover {
        color: var(--ma-secondary, #267CC0) !important;
        text-decoration: underline;
    }

    /* Column headings are not expandable, so their arrows are noise. */
    .ast-desktop .astra-megamenu-li > ul.astra-megamenu .ast-header-navigation-arrow,
    .ast-desktop .astra-megamenu-li > ul.astra-megamenu .ast-menu-toggle {
        display: none !important;
    }
}

/* ---------------------------------------------------------------------------
   Plain content on a plain-container page
   ---------------------------------------------------------------------------
   The site-wide Astra content layout is Full Width / Stretched (plain-container),
   which is required for the Spectra alignfull sections every marketing page is
   built from. plain-container removes .ast-container entirely, so there is no
   width cap left for anything that ISN'T one of those sections.

   The result: any page made of ordinary blocks (a paragraph, a heading, a
   shortcode) renders edge to edge with no gutter. That has now caught us more
   than once, most recently on the Events page.

   This constrains ordinary top-level blocks and deliberately leaves alone:
     - .alignfull        so Astra's own full-bleed escape still fires
     - .wp-block-uagb-container  the Spectra section roots, which are full-width
                                 by design and carry no .alignfull class
     - .alignwide        blocks explicitly asked to run wider

   Adding a page of plain blocks now needs no special handling. If a new page
   DOES render edge to edge, check it isn't wrapped in something this misses.
   --------------------------------------------------------------------------- */

.ast-plain-container.ast-no-sidebar .entry-content > *:not(.alignfull):not(.alignwide):not(.wp-block-uagb-container) {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

/* Gutters once the viewport gets close to the cap. */
@media (max-width: 1220px) {
    .ast-plain-container.ast-no-sidebar .entry-content > *:not(.alignfull):not(.alignwide):not(.wp-block-uagb-container) {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (max-width: 544px) {
    .ast-plain-container.ast-no-sidebar .entry-content > *:not(.alignfull):not(.alignwide):not(.wp-block-uagb-container) {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* ---------------------------------------------------------------------------
   2026-10-06: homepage changes from MedAcademy Website updates.docx
   - mission statement moved into the hero
   - checkmark list replaced by plain bullets, now five items
   - testimonials rotate
   --------------------------------------------------------------------------- */

/* "Our Mission" label above the hero paragraph. */
.ma-hero__eyebrow .uagb-heading-text {
    color: var(--ma-white, #fff);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin: 0 0 .6rem;
}

/* Plain bullets, not the ticks the old .ma-checklist used. */
.ma-bullets {
    margin: 0 0 1.75rem !important;
    padding-left: 1.15rem !important;
    list-style: disc;
}

.ma-bullets li {
    color: var(--ma-text, #383838);
    line-height: 1.75;
    margin-bottom: .4rem;
    padding-left: .25rem;
}

.ma-bullets li::marker {
    color: var(--ma-primary, #F58331);
}

/* --- Testimonial rotation -------------------------------------------------
   Without JS this class is never added, the grid stays as three cards, and
   every testimonial is still readable. Everything below only applies once the
   script has upgraded it.
   -------------------------------------------------------------------------- */

.ma-quotes.is-carousel {
    display: block !important;
    max-width: 760px;
    margin: 0 auto !important;
    position: relative;
}

.ma-quotes.is-carousel .ma-quote {
    display: none !important;
    margin: 0 !important;
}

.ma-quotes.is-carousel .ma-quote.is-active {
    display: flex !important;
    animation: ma-quote-in .4s ease both;
}

@keyframes ma-quote-in {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ma-quotes__dots {
    display: flex;
    justify-content: center;
    gap: .55rem;
    margin-top: 1.25rem;
}

.ma-quotes__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 50%;
    border: 0;
    background: rgba(27, 46, 75, .22);
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

.ma-quotes__dot:hover {
    background: rgba(27, 46, 75, .4);
}

.ma-quotes__dot.is-active {
    background: var(--ma-secondary, #267CC0);
    transform: scale(1.25);
}

.ma-quotes__dot:focus-visible {
    outline: 3px solid var(--ma-primary, #F58331);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .ma-quotes.is-carousel .ma-quote.is-active {
        animation: none;
    }

    .ma-quotes__dot {
        transition: none;
    }
}

/* ---------------------------------------------------------------------------
   2026-10-06: "What would you like to see" card
   Seven checkboxes in a single column left a tall card with dead space to its
   right, and an equally tall blue band to its left. Two columns halves the
   height of the list and the whole section comes down with it.
   --------------------------------------------------------------------------- */

@media (min-width: 782px) {
    .ma-cta__card .gfield_checkbox {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.25rem;
        row-gap: .35rem;
        align-items: start;
    }

    /*
     * The last option is much longer than the others; letting it span both
     * columns stops it wrapping to three lines in a half-width cell.
     */
    .ma-cta__card .gfield_checkbox .gchoice:nth-child(6) {
        grid-column: 1 / -1;
    }
}

.ma-cta__card .gfield_checkbox .gchoice {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
}

/*
 * Gravity Forms prints a per-form inline <style> keyed on the wrapper ID, so an
 * ID selector sets --gf-color-primary to its own blue (#204ce5) and beats a
 * class rule here on specificity. !important beats it regardless of
 * specificity, which is why it is used on these custom properties.
 */
.ma-cta__card .gform_wrapper.gform-theme,
.cn-form .gform_wrapper.gform-theme {
    --gf-color-primary: #267CC0 !important;
    --gf-color-primary-rgb: 38, 124, 192 !important;
    --gf-color-primary-darker: #1B2E4B !important;
    --gf-color-primary-lighter: #77AFDB !important;
    --gf-color-in-ctrl-primary: #267CC0 !important;
    --gf-color-in-ctrl-primary-darker: #1B2E4B !important;
}

/* Match the pill buttons used everywhere else on the site. */
.ma-cta__card .gform_footer .gform_button,
.ma-cta__card .gform_footer input[type="submit"] {
    border-radius: 999px !important;
    background: #267CC0 !important;
    border: 2px solid #267CC0 !important;
    color: #fff !important;
    font-weight: 700;
    padding: .7rem 1.6rem;
}

.ma-cta__card .gform_footer .gform_button:hover,
.ma-cta__card .gform_footer input[type="submit"]:hover {
    background: #1B2E4B !important;
    border-color: #1B2E4B !important;
}

/* Trim the dead blue on the left now the card is shorter. */
@media (min-width: 922px) {
    .ma-cta > .ma-cta__text {
        align-self: center;
    }
}

/* ---------------------------------------------------------------------------
   2026-10-06: MedAcademy mark in the CTA band, under the button.
   Fills the empty blue on the left and balances the form card on the right.
   --------------------------------------------------------------------------- */

.ma-cta__logo {
    margin: 2.25rem 0 0 !important;
}

.ma-cta__logo img {
    width: 230px;
    max-width: 60%;
    height: auto;
    display: block;
    /*
     * The white logo on a mid-blue band is lower contrast than it is on the
     * navy footer, so it is held slightly back rather than competing with the
     * heading above it.
     */
    opacity: .92;
}

@media (max-width: 921px) {
    .ma-cta__logo {
        margin-top: 1.75rem !important;
    }

    .ma-cta__logo img {
        width: 190px;
    }
}
