/*
Theme Name:  MedicPress Child Theme
Theme URI:   https://www.proteusthemes.com/
Description: Child theme for the MedicPress theme
Author:      ProteusThemes
Template:    medicpress-pt
Version:     1.0.0
*/

/* ============================================================
   Upward Focus ABA — Child Theme Overrides
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* ---- Global typography ---- */
body, p, li, td, input, textarea, select, button, label {
    font-family: 'Montserrat', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

/* ---- Brand colors ---- */
a                        { color: #1F8E93; }
a:hover                  { color: #F36B25; }
.entry-title             { color: #1F8E93; }

/* ---- Header background ---- */
.header__container       { background-color: #ffffff; }

/* ---- Nav links ---- */
@media (min-width: 992px) {
    .main-navigation a                          { color: #333333; font-family: 'Montserrat', sans-serif; font-weight: 600; }
    .main-navigation > .menu-item:hover > a,
    .main-navigation > .current-menu-item > a  { color: #1F8E93; }
}
@media (max-width: 991px) {
    .main-navigation                            { background: #1F8E93; }
    .main-navigation a                          { color: #ffffff; border-color: #55C1AC; }
    .main-navigation .sub-menu a               { background-color: #55C1AC; }
}

/* ---- Buttons ---- */
.btn-primary,
input[type="submit"],
.wpcf7-submit,
.wpforms-submit {
    background-color: #F36B25;
    border-color: #F36B25;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #ffffff;
}
.btn-primary:hover,
input[type="submit"]:hover {
    background-color: #1F8E93;
    border-color: #1F8E93;
}

/* ---- Footer ---- */
.site-footer             { background-color: #1F8E93 !important; color: #ffffff; }
.site-footer a           { color: #FFC316; }
.site-footer a:hover     { color: #F36B25; }

/* ---- Person profile ---- */
.person-profile__image   { max-height: 439px; width: 349px; }

/* ============================================================
   SITEORIGIN FULL WIDTH / FULL WIDTH STRETCHED support
   The theme wraps page content in .container which caps the
   width and prevents SO rows from breaking out. Removing the
   constraint on pages running SiteOrigin panels lets stretched
   rows reach 100vw while SO's own inner container keeps
   standard rows properly contained.
   ============================================================ */
body.siteorigin-panels #primary.content-area {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.siteorigin-panels #primary.content-area .article__content {
    padding: 0 !important;
}

/* ============================================================
   LOGO — centered in header dip, 2× size
   The dip is formed by .header::before and ::after circles
   (~160px diameter). We make the logo anchor a flex column,
   position the image at 160px circular, and pull it down to
   sit visually centred in the dip.
   ============================================================ */
@media (min-width: 992px) {
    .header__logo {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding-top: 1rem !important;
        padding-bottom: 0 !important;
        width: 9rem !important;
        min-width: 9rem !important;
        position: relative;
        z-index: 200;
        /* shift left so logo centre aligns with bulb centre:
           bulb left = -2.778rem, bulb width = 8.889rem,
           bulb centre = 1.666rem → translate by -(logo_centre - bulb_centre)
           = -(4.5rem - 1.666rem) = -2.834rem               */
        transform: translateX(-2.834rem) !important;
    }
}

.header__logo img.img-fluid {
    width: 160px !important;
    height: 160px !important;
    max-width: 160px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* ---- Slick carousel hero title ---- */
.pt-slick-carousel__content-title {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 2.7777777778rem;
    line-height: 1.2;
}
