/**
 * Solomon Foundation — site-wide responsive layer (loaded last)
 */

/* ---- Global ---- */
html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    max-width: 100vw;
}

img,
video,
svg,
iframe {
    max-width: 100%;
    height: auto;
}

.container {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
}

/* ---- Typography ---- */
.sol-heading {
    font-size: clamp(1.65rem, 4.5vw, 2.35rem) !important;
    line-height: 1.2 !important;
}

.sol-eyebrow {
    font-size: clamp(0.68rem, 2vw, 0.78rem) !important;
}

.sec-title h2 {
    font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
}

.sec-title p {
    font-size: clamp(0.9rem, 2.5vw, 1rem) !important;
    line-height: 1.7 !important;
}

/* ---- Hero ---- */
@media (max-width: 767px) {
    .sol-hero.main-slider .container.sol-hero__container {
        padding-top: 96px;
        padding-bottom: 72px;
    }

    .sol-hero__glass .big-title h2 {
        font-size: clamp(1.45rem, 6.5vw, 1.85rem) !important;
        line-height: 1.15 !important;
    }

    .sol-hero__glass .btn-box {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    .sol-hero__glass .btn-box .btn-one {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .main-slider__nav {
        display: none;
    }

    .sol-hero__wave svg {
        height: 48px;
    }
}

@media (max-width: 480px) {
    .sol-hero__slide,
    .sol-hero__container {
        min-height: clamp(380px, 72vh, 620px) !important;
    }
}

/* ---- Welcome events ---- */
.sol-events-home {
    padding: 72px 0 80px;
}

.sol-event-card__cap {
    flex-wrap: wrap;
    gap: 12px;
}

@media (max-width: 575px) {
    .sol-events-home {
        padding: 56px 0 64px;
    }

    .sol-events-home .row {
        margin-top: 36px !important;
    }

    .sol-event-card__cap {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .sol-event-card .sol-date-glass + div {
        width: 100%;
    }

    .event-card-home h3 {
        font-size: 1.1rem !important;
    }

    .sol-events-home .btn-one {
        width: 100%;
        padding: 14px 20px !important;
    }
}

/* ---- Gallery home ---- */
@media (max-width: 767px) {
    .sol-gallery-home__head-aside {
        flex-direction: column;
        align-items: stretch !important;
        width: 100%;
    }

    .sol-gallery-home__stat {
        width: 100%;
    }

    .sol-gallery-home__browse {
        justify-content: center;
        padding: 12px 0;
    }

    .sol-gallery-home__cta {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .sol-gallery-home__cta-btn {
        width: 100%;
        justify-content: center;
        white-space: normal;
    }

    .sol-gal-card__title {
        font-size: 1.05rem !important;
    }

    .sol-gal-card--hero .sol-gal-card__title {
        font-size: 1.2rem !important;
    }
}

@media (max-width: 480px) {
    .sol-gallery-home__svg--a,
    .sol-gallery-home__svg--b {
        opacity: 0.35;
    }
}

/* ---- New members & registration ---- */
@media (max-width: 767px) {
    .sol-nm__head {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 16px;
    }

    .sol-nm__cta {
        width: 100%;
        justify-content: center;
    }
}

/* ---- Members connection marquee ---- */
@media (max-width: 767px) {
    .sol-connections {
        padding: 40px 0;
    }

    .sol-chip {
        font-size: 12px;
        padding: 8px 14px;
    }
}

/* ---- Footer ---- */
@media (max-width: 767px) {
    .sol-footer .row > [class*="col-"] {
        margin-bottom: 28px;
    }

    .sol-footer__bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

/* ---- Page banners ---- */
@media (max-width: 767px) {
    .sol-banner__title,
    .breadcrumb-style1 .title h2 {
        font-size: clamp(1.4rem, 5.5vw, 1.85rem) !important;
    }

    .sol-banner__crumbs ul {
        gap: 4px 8px;
    }

    .sol-banner__crumbs li {
        font-size: 12px;
    }
}

/* ---- Cards & tables overflow ---- */
.card,
.table-responsive,
.sol-glass-card {
    max-width: 100%;
}

/* ---- Header ribbon ---- */
@media (max-width: 991px) {
    .sol-header__ribbon-inner {
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
    }

    .sol-header__ribbon-left,
    .sol-header__ribbon-right {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* ---- Touch targets ---- */
@media (hover: none) and (pointer: coarse) {
    .btn-one,
    .sol-gallery-home__cta-btn,
    .sol-nm__cta,
    .sol-magic-nav__link {
        min-height: 44px;
    }

    .event-card-home:hover {
        transform: none;
    }
}

/* ---- Utility ---- */
@media (max-width: 767px) {
    .gutter-y-30 {
        --bs-gutter-y: 1.25rem;
    }

    [style*="margin-top: 60px"] {
        margin-top: 36px !important;
    }

    [style*="margin-top: 50px"] {
        margin-top: 32px !important;
    }
}
