/* Site-wide spacing and responsive layout fixes */

:root {
    --iasc-header-height: 96px;
    --iasc-page-top: clamp(1.25rem, 3vw, 2rem);
    --iasc-page-bottom: clamp(2rem, 4vw, 3rem);
    --iasc-section-y: clamp(3rem, 6vw, 5rem);
}

@media (max-width: 767px) {
    :root {
        --iasc-header-height: 76px;
    }
}

/* --------------------------------------------------------------------------
   Fixed header + content offset
   -------------------------------------------------------------------------- */

#masthead.site-header--centered {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    width: 100%;
}

#content.site-content {
    padding-top: var(--iasc-header-height);
}

.home #content.site-content {
    padding-top: 0;
}

html {
    scroll-padding-top: var(--iasc-header-height);
}

/* --------------------------------------------------------------------------
   Containers — prevent stacked top margins
   -------------------------------------------------------------------------- */

.container .container {
    margin-top: 0 !important;
}

body:not(.home) .site-main > .container:first-child,
body:not(.home) .site-main > article:first-child > .entry-content.container,
.iasc-page-shell > .container:first-child,
.iasc-archive.container {
    margin-top: 0;
    padding-top: var(--iasc-page-top);
    padding-bottom: var(--iasc-page-bottom);
}

.single .site-main > .container.clearfix {
    margin-top: 0;
    padding-top: clamp(0.75rem, 2vw, 1.25rem);
    padding-bottom: 0;
}

.single .entry-content.container {
    margin-top: 0 !important;
    padding-top: 0;
    padding-bottom: var(--iasc-page-bottom);
}

.initiative-single .container {
    margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   Standard pages
   -------------------------------------------------------------------------- */

.iasc-page-content {
    margin-top: 0 !important;
    padding-top: var(--iasc-page-top) !important;
    padding-bottom: var(--iasc-page-bottom);
}

.page-mission .iasc-page-content,
.page-vision .iasc-page-content {
    padding-top: clamp(1rem, 2.5vw, 1.5rem) !important;
}

/* --------------------------------------------------------------------------
   Contact & Join us
   -------------------------------------------------------------------------- */

.iasc-contact-page,
.global-collaboration-page {
    padding: clamp(2.5rem, 5vw, 3.5rem) 0 clamp(3rem, 5vw, 5rem);
    min-height: calc(100vh - var(--iasc-header-height));
}

.iasc-contact-page .container,
.global-collaboration-page .container {
    margin-top: 0 !important;
}

.contact-sec.iasc-contact-page .contact-details,
.contact-sec.global-collaboration-page .contact-details {
    width: 100%;
    margin-left: 0;
    margin-top: 0;
    padding-top: 0;
}

@media (max-width: 991px) {
    .iasc-contact-page,
    .global-collaboration-page {
        padding-top: clamp(1.5rem, 3vw, 2rem);
        padding-bottom: 3.75rem;
    }

    .contact-sec.iasc-contact-page .contact-details,
    .contact-sec.global-collaboration-page .contact-details {
        margin-top: 2rem;
    }
}

/* --------------------------------------------------------------------------
   Archives & blog
   -------------------------------------------------------------------------- */

.archive .site-main > .container,
.search .site-main > .container,
.blog .site-main > .container {
    margin-top: 0;
}

.archive .archive-title.mb-5,
.blog .page-header.mb-5 {
    margin-bottom: clamp(1.25rem, 3vw, 2rem) !important;
}

.archiveArticleImage {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 7 / 6;
    min-height: 220px;
}

/* --------------------------------------------------------------------------
   Team / Leadership archive
   -------------------------------------------------------------------------- */

.post-type-archive-team .site-main > .container {
    margin-top: 0;
}

.post-type-archive-team .team-member-card__inner {
    height: auto;
    min-height: 0;
}

@media (max-width: 767px) {
    .post-type-archive-team .team-member-card__inner {
        min-height: 0;
    }
}

/* --------------------------------------------------------------------------
   Initiative template
   -------------------------------------------------------------------------- */

.initiative-hero {
    padding: clamp(2rem, 4vw, 3rem) 0 clamp(2.5rem, 5vw, 4.5rem);
}

.initiative-section {
    scroll-margin-top: var(--iasc-header-height);
}

/* --------------------------------------------------------------------------
   Homepage carousels
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    .homeDesign {
        min-height: auto;
        max-height: none;
    }

    .elementor-5 .elementor-element-7816b92,
    .elementor-5 .elementor-element-7c18d79 {
        padding-bottom: 1rem !important;
    }
}

/* --------------------------------------------------------------------------
   Header — mobile padding
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    .site-header__inner {
        padding: 0.65rem 3.25rem 0.65rem 1rem;
    }
}

/* --------------------------------------------------------------------------
   Legacy full-page template only
   -------------------------------------------------------------------------- */

.page-template-page_home section:not(.p-0):not(.iasc-home-hero) {
    padding-top: var(--iasc-section-y);
    padding-bottom: var(--iasc-section-y);
}

.home .elementor-section {
    padding-top: 0;
    padding-bottom: 0;
}
