/* Amber's Last Promise - match static export (archive/amberslastpromise-static) */
/* Base theme: shepherdsloft */

:root {
    --alp-accent: #6687f2;
    --alp-accent-light: #86a3ff;
    --alp-accent-num: #ff6b5a;
    --alp-footer-bg: #222;
    --alp-text-dark: #000;
    /*--color-text-primary: #ffffff;*/
}

body {
    color: var(--alp-text-dark);
    font-family: Verdana, Helvetica, Arial, Lucida, sans-serif;
}

/* Typography: headings match archive */
h1, h2, h3, h4, h5, h6 {
    color: var(--alp-accent);
    font-family: 'Gabriela', Georgia, 'Times New Roman', serif;
}

/* layout_dark: light colors over dark background (sections 4, 6, etc.) */
.layout_dark {
    color: rgba(255, 255, 255, 0.9);
}
.layout_dark h1,
.layout_dark h2,
.layout_dark h3,
.layout_dark h4,
.layout_dark h5,
.layout_dark h6,
.layout_dark p {
    color: #fff;
}
.layout_dark .et_pb_text_inner,
.layout_dark .et_pb_promo_description {
    color: rgba(255, 255, 255, 0.9);
}
.layout_dark .et_pb_text_inner h2,
.layout_dark .et_pb_text_inner h3,
.layout_dark .et_pb_promo_description h2.et_pb_module_header {
    color: #fff;
}
.layout_dark .alp-num {
    color: #ff8a7a;
}
.layout_dark a {
    color: var(--alp-accent-light);
}
.layout_dark a:hover {
    color: #fff;
}

/* ========== HEADER (match archive: tall 166px area, compact 40px) ========== */
#main-header {
    transition: padding 0.3s ease, box-shadow 0.3s ease;
}

#main-header .header-container {
    transition: padding 0.3s ease;
}

#main-header .logo img {
    transition: max-height 0.3s ease;
}

@media (min-width: 981px) {
    /* Export starting height: 166px; logo 55% of that */
    #main-header:not(.header-shrunk) {
        height: 166px;
        display: flex;
        align-items: center;
    }
    #main-header:not(.header-shrunk) .header-container {
        padding: 0.5rem 0;
    }
    #main-header:not(.header-shrunk) .logo img {
        max-height: 91px; /* 55% of 166px */
        width: auto;
    }
    #main-header.header-shrunk .header-container {
        padding: 0.5rem 0;
    }
    #main-header.header-shrunk .logo img {
        max-height: 40px;
    }
}

/* Desktop: page-container clears tall header (166px) or compact (80px) */
@media (min-width: 981px) {
    body:not(.header-shrunk) #page-container {
        padding-top: 166px;
    }
    body.header-shrunk #page-container {
        padding-top: 80px;
    }
}

@media (max-width: 980px) {
    #main-header {
        position: relative;
    }
    body #page-container {
        padding-top: 0;
    }
    #main-header .header-container {
        padding: 0.5rem 0;
    }
    #main-header .logo img {
        max-height: 44px;
        width: auto;
    }
}

/* ========== HERO (match archive: section bg, padding, overlay, type) ========== */
.et_pb_section_0.et_pb_section {
    padding: 0;
    background-color: #b7b9c7 !important;
    min-height: 0;
    z-index: 0;
    overflow: visible;
}

.et_pb_section_0 {
    display: block;
    position: relative;
}

/* Section 1 and help image overlap on top of section 0 */
.et_pb_section_1.et_pb_section {
    position: relative;
    z-index: 1;
}

.et_pb_fullwidth_header_0 {
    width: 100%;
    padding-top: 35px;
    padding-bottom: 324px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0);
}

.alp-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: var(--alp-hero-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.et_pb_fullwidth_header_0 .et_pb_fullwidth_header_overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(83, 90, 128, 0.3);
    pointer-events: none;
    z-index: 1;
}

.et_pb_fullwidth_header_0 .et_pb_fullwidth_header_container {
    position: relative;
    z-index: 2;
    width: 80%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}

.et_pb_fullwidth_header_0 .et_pb_fullwidth_header_container.center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.et_pb_fullwidth_header_0 .et_pb_fullwidth_header_container.center .header-content-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.et_pb_fullwidth_header_0 .et_pb_fullwidth_header_container.center .header-content {
    max-width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.et_pb_fullwidth_header_0 .header-content .header-logo,
.et_pb_fullwidth_header_0 .header-image-container img {
    border-radius: 260px;
    overflow: hidden;
    max-width: 215px;
    height: auto;
    margin-bottom: 1rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.et_pb_fullwidth_header_0 .et_pb_module_header {
    font-weight: 700;
    font-size: 5vw;
    line-height: 1.1em;
    text-align: center;
    color: #fff;
    margin: 0 0 0.5rem;
    text-shadow: 0 0 0.3em #121D51;
}

.et_pb_fullwidth_header_0 .et_pb_fullwidth_header_subhead {
    font-size: 25px;
    line-height: 2em;
    text-align: center;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 0 0.3em #121D51;
    display: block;
}
.et_pb_module.et_pb_text_align_center {
    text-align: center;
}

/* Page header shortcode: title over background image (content pages) */
.page-header.et_pb_fullwidth_header {
    position: relative;
    _padding: 50px 0;
    padding-top: 110px;
    padding-bottom: 110px;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-header .et_pb_fullwidth_header_overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(83, 90, 128, 0.3);
    pointer-events: none;
    z-index: 1;
}
.page-header .et_pb_fullwidth_header_container {
    position: relative;
    z-index: 2;
    width: 80%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
}
.page-header .et_pb_module_header {
    font-weight: 700;
    font-size: clamp(28px, 5vw, 48px);
    line-height: 1.1em;
    text-align: center;
    color: #fff;
    margin: 0;
    text-shadow: 0 0 0.3em #121D51;
}

.page-header h1.et_pb_module_header {
    font-family: 'Noto Serif',Georgia,"Times New Roman",serif;
    font-weight: 700;
    font-size: 70px;
    line-height: 1.1em;
    text-align: center;
}

@media (max-width: 980px) {
    .et_pb_fullwidth_header_0 .et_pb_module_header {
        font-size: 60px;
    }
    .et_pb_fullwidth_header_0 {
        padding-top: 100px;
    }
}

@media (max-width: 767px) {
    .et_pb_fullwidth_header_0 .et_pb_fullwidth_header_subhead {
        font-size: 20px;
        line-height: 1.5em;
    }
}

/* ========== SECTION 1 (image overlap, CTA spacing) ========== */
.et_pb_section_1.et_pb_section {
    padding-bottom: 3px;
}

.et_pb_row_0.et_pb_row {
    padding-bottom: 1px !important;
}

.et_pb_image_0 .et_pb_image_wrap {
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 33px 52px 80px rgba(0, 36, 73, 0.07);
}

.et_pb_image_0 {
    margin-top: -137px !important;
    text-align: right;
    margin-right: 0;
    position: relative;
    z-index: 1;
}

.et_pb_cta_0.et_pb_promo {
    margin-top: -29px !important;
}

@media (max-width: 980px) {
    .et_pb_image_0 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
    .et_pb_image_0 .et_pb_image_wrap img {
        width: auto;
    }
}

/* ========== CTA / PROMO typography (sections 1 & 2) ========== */
.et_pb_cta_0.et_pb_promo h2.et_pb_module_header,
.et_pb_cta_0.et_pb_promo h1.et_pb_module_header,
.et_pb_cta_1.et_pb_promo h2.et_pb_module_header,
.et_pb_cta_1.et_pb_promo h1.et_pb_module_header {
    font-weight: 700 !important;
    font-size: 44px !important;
    color: #86A3FF !important;
    line-height: 1.5em !important;
}

.et_pb_cta_0.et_pb_promo .et_pb_promo_description div,
.et_pb_cta_1.et_pb_promo .et_pb_promo_description div {
    font-family: 'Noto Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 17px;
    line-height: 2em;
}

/* Section 2: row and CTA padding */
.et_pb_row_1.et_pb_row {
    padding: 27px 0 !important;
}

.et_pb_cta_1.et_pb_promo {
    padding-right: 129px !important;
    padding-left: 129px !important;
    margin-top: -20px !important;
}

@media (max-width: 980px) {
    .et_pb_cta_1.et_pb_promo {
        padding-right: 55px !important;
        padding-left: 55px !important;
    }
}

@media (max-width: 767px) {
    .et_pb_cta_0.et_pb_promo h2.et_pb_module_header,
    .et_pb_cta_1.et_pb_promo h2.et_pb_module_header {
        font-size: 34px !important;
    }
    .et_pb_cta_1.et_pb_promo {
        padding-right: 21px !important;
        padding-left: 21px !important;
    }
}

/* ========== SECTIONS (default + background sections) ========== */
.et_pb_section {
    padding: 54px 0;
}

.et_pb_section_2.et_pb_section {
    background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 50%), var(--alp-section-2-bg);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    padding-top: 0;
    padding-bottom: 571px;
    position: relative;
    z-index: 0;
    overflow: visible;
}

/* Section 3: hands image overlaps on top of section 2 */
.et_pb_section_3.et_pb_section {
    position: relative;
    z-index: 1;
}

.et_pb_image_1 {
    margin-top: -124px !important;
    position: relative;
    z-index: 1;
}

.et_pb_section_4.et_pb_section {
    background-image: var(--alp-section-4-bg);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    padding-top: 12px;
    padding-bottom: 324px;
}

/* Section 4: dark shadow overlay (like export) when layout-dark is used */
.et_pb_section_4.layout-dark.et_pb_section {
    position: relative;
}
.et_pb_section_4.layout-dark.et_pb_section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    pointer-events: none;
    z-index: 0;
}
.et_pb_section_4.layout-dark .et_pb_row,
.et_pb_section_4.layout-dark .et_pb_column,
.et_pb_section_4.layout-dark .et_pb_module {
    position: relative;
    z-index: 1;
}

.et_pb_section_8.et_pb_section {
    background-image: var(--alp-section-8-bg);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    padding-top: 27px;
    padding-bottom: 26vw;
    background-color: inherit !important;
}

.et_pb_section_8 .et_pb_promo_description,
.et_pb_section_8 .et_pb_promo_description h2.et_pb_module_header {
    text-align: center;
}

@media (max-width: 980px) {
    .et_pb_section_2.et_pb_section {
        padding-bottom: min(571px, 45vw);
    }
}

/* Fullwidth row (Mission) */
.et_pb_row_fullwidth.et_pb_row {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.et_pb_promo_description h2.et_pb_module_header {
    color: var(--alp-accent);
    margin-top: 0;
}

.et_pb_text_inner h2,
.et_pb_text_inner h3 {
    color: var(--alp-accent);
}

.alp-num {
    font-size: 36px;
    color: var(--alp-accent-num);
    font-family: 'Noto Serif', Georgia, serif;
}

/* ========== BUTTONS (archive: #ff6b5a, pill hover) ========== */
.et_pb_button_0.et_pb_bg_layout_dark {
    background-color: #86a3ff;
    color: #fff !important;
    border: 1px solid #ff6b5a !important;
    border-radius: 9px;
    padding: 0.3em 1em;
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    font-family: Verdana, Helvetica, Arial, Lucida, sans-serif;
}

.et_pb_button_0.et_pb_bg_layout_dark:hover {
    color: #000 !important;
    background-color: #fff !important;
    border-color: #ff6b5a !important;
    letter-spacing: 4px;
}

/* ========== FOOTER ========== */
#main-footer {
    background-color: var(--alp-footer-bg);
    color: #fff;
}

#footer-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    padding: 2rem 0;
}

#footer-widgets .footer-widget {
    min-width: 0;
}

#footer-widgets .textwidget p {
    margin: 0 0 0.5rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
}

#footer-widgets .textwidget a {
    color: #fff;
}

#footer-widgets .widget_media_image img {
    max-width: 225px;
    height: auto;
}

#et-footer-nav {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 1rem 0;
}

#et-footer-nav .bottom-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

#et-footer-nav .bottom-nav a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
}

#et-footer-nav .bottom-nav a:hover {
    color: #fff;
}

#main-footer #footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

#main-footer #footer-info,
#main-footer .et-social-icons a {
    color: rgba(255, 255, 255, 0.8);
}

#main-footer .et-social-icons a:hover {
    color: #fff;
}

/* ========== IMAGES ========== */
.has-box-shadow-overlay {
    position: relative;
    display: inline-block;
}

.has-box-shadow-overlay .box-shadow-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.et_pb_image_wrap img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ========== CONTENT PAGE TEXT SPACING (Amber's Story, Note From Mom, etc.) ========== */
.entry-content {
    padding: 100px;
}

/* Page-header hero stays full-bleed, breaking out of the padding above */
.entry-content > .page-header.et_pb_fullwidth_header {
    margin: -100px -100px 0;
}

@media (max-width: 980px) {
    .entry-content {
        padding: 60px 40px;
    }
    .entry-content > .page-header.et_pb_fullwidth_header {
        margin: -60px -40px 0;
    }
}

@media (max-width: 767px) {
    .entry-content {
        padding: 40px 20px;
    }
    .entry-content > .page-header.et_pb_fullwidth_header {
        margin: -40px -20px 0;
    }
}
