/*
Theme Name: American Legion Post
Description: Managed website presentation for American Legion posts.
Author: Toledo Web Designs
Version: 0.3.0
Template: Divi
License: GPL-2.0-or-later
Text Domain: american-legion-post
*/

:root {
    --post-navy: #17365f;
    --post-navy-dark: #0d2442;
    --post-red: #b91f32;
    --post-red-dark: #8f1525;
    --post-blue-light: #eaf1f8;
    --post-red-light: #fff1f2;
    --post-gold: #b18a2e;
    --post-ink: #18202a;
    --post-muted: #5b6573;
    --post-border: #d7dde5;
    --post-surface: #ffffff;
    --post-surface-muted: #f5f7fa;
    --post-shadow: 0 8px 24px rgba(13, 36, 66, 0.1);
    --post-radius: 8px;
    --post-content-width: 1140px;
}

.pwm-events,
.pwm-officers,
.pwm-announcements,
.pwm-contact {
    box-sizing: border-box;
    color: var(--post-ink);
    margin-inline: auto;
    max-width: var(--post-content-width);
}

.pwm-events *,
.pwm-officers *,
.pwm-announcements *,
.pwm-contact * {
    box-sizing: border-box;
}

.pwm-events,
.pwm-officers,
.pwm-announcements {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pwm-event,
.pwm-officer,
.pwm-announcement,
.pwm-contact section {
    background: var(--post-surface);
    border: 1px solid var(--post-border);
    border-radius: var(--post-radius);
    box-shadow: var(--post-shadow);
    overflow: hidden;
    padding: 1.5rem;
}

.pwm-event,
.pwm-officer,
.pwm-announcement {
    border-top: 5px solid var(--post-navy);
    display: flex;
    flex-direction: column;
}

.pwm-event h3,
.pwm-officer h3,
.pwm-announcement h2,
.pwm-contact h2 {
    color: var(--post-navy-dark);
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    line-height: 1.25;
    margin: 0 0 0.75rem;
    padding: 0;
}

.pwm-event h3 a,
.pwm-announcement h2 a {
    color: inherit;
    text-decoration: none;
}

.pwm-event h3 a:hover,
.pwm-announcement h2 a:hover {
    color: var(--post-red-dark);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.pwm-event-when,
.pwm-officer-position,
.pwm-announcement-date {
    color: var(--post-red-dark);
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    margin: 0 0 0.65rem;
}

.pwm-event-location {
    color: var(--post-muted);
    font-weight: 600;
    margin: 0 0 0.85rem;
}

.pwm-event-summary,
.pwm-officer-bio,
.pwm-announcement-summary {
    color: var(--post-ink);
    line-height: 1.65;
}

.pwm-event-summary > :last-child,
.pwm-officer-bio > :last-child,
.pwm-announcement-summary > :last-child {
    margin-bottom: 0;
}

.pwm-officer {
    text-align: center;
}

.pwm-officer-photo,
.pwm-announcement-image {
    display: block;
    height: auto;
    margin: -1.5rem -1.5rem 1.25rem;
    max-width: calc(100% + 3rem);
    object-fit: cover;
    width: calc(100% + 3rem);
}

.pwm-officer-photo {
    aspect-ratio: 4 / 3;
    object-position: center top;
}

.pwm-announcement-image {
    aspect-ratio: 16 / 9;
}

.pwm-officer a,
.pwm-contact a,
.pwm-announcement > p:last-child a {
    color: var(--post-navy);
    font-weight: 700;
}

.pwm-announcement-featured {
    background: var(--post-red-light);
    border-color: var(--post-red);
    border-top-color: var(--post-red);
    position: relative;
}

.pwm-announcement-featured::before {
    background: var(--post-red);
    color: var(--post-surface);
    content: "Featured";
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: -1.5rem -1.5rem 1rem;
    padding: 0.45rem 0.8rem;
    text-transform: uppercase;
}

.pwm-contact {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pwm-contact section {
    border-left: 5px solid var(--post-navy);
    box-shadow: 0 4px 16px rgba(13, 36, 66, 0.08);
}

.pwm-contact address {
    color: var(--post-ink);
    font-style: normal;
    line-height: 1.7;
    margin-bottom: 0.75rem;
}

.pwm-contact-details p,
.pwm-contact-hours p {
    margin-bottom: 0.65rem;
}

.pwm-contact-social {
    background: var(--post-blue-light);
    border-radius: var(--post-radius);
    grid-column: 1 / -1;
    margin: 0;
    padding: 1rem 1.25rem;
    text-align: center;
}

.pwm-events a:focus-visible,
.pwm-officers a:focus-visible,
.pwm-announcements a:focus-visible,
.pwm-contact a:focus-visible {
    border-radius: 2px;
    outline: 3px solid var(--post-gold);
    outline-offset: 3px;
}

@media (max-width: 980px) {
    .pwm-events,
    .pwm-officers,
    .pwm-announcements {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .pwm-events,
    .pwm-officers,
    .pwm-announcements,
    .pwm-contact {
        grid-template-columns: 1fr;
    }

    .pwm-event,
    .pwm-officer,
    .pwm-announcement,
    .pwm-contact section {
        padding: 1.15rem;
    }

    .pwm-officer-photo,
    .pwm-announcement-image {
        margin: -1.15rem -1.15rem 1rem;
        max-width: calc(100% + 2.3rem);
        width: calc(100% + 2.3rem);
    }

    .pwm-contact-social {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pwm-events *,
    .pwm-officers *,
    .pwm-announcements *,
    .pwm-contact * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Pioneer-inspired managed homepage template. */
.alp-home{background:#fff;color:#172033}.alp-shell{width:min(1160px,calc(100% - 40px));margin:auto}.alp-info-bar{background:#fff;padding:18px 0}.alp-info-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr 1fr;gap:28px;align-items:center}.alp-brand-lockup{color:#163b70;line-height:.86;position:relative;padding-left:34px}.alp-brand-lockup strong{font-size:28px;letter-spacing:3px}.alp-brand-lockup small{display:block;color:#b42035;font-weight:800;letter-spacing:1.5px;margin-top:8px}.alp-brand-lines{position:absolute;left:0;top:-5px;color:#cf243d;font-size:38px;transform:rotate(-8deg)}.alp-info-item{display:flex;gap:12px;align-items:flex-start}.alp-info-item>span{color:#cf243d;font-size:25px}.alp-info-item b{color:#163b70;font-size:14px;letter-spacing:1.5px}.alp-info-item p{font-size:13px;line-height:1.45;margin:4px 0}.alp-hero-new{min-height:630px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,#0a2446 0%,rgba(21,59,112,.86) 42%,rgba(15,42,78,.58) 100%),radial-gradient(circle at 75% 30%,#788da3 0,#334c68 35%,#101b2c 75%)}.alp-hero-new:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 70px,rgba(255,255,255,.035) 71px 73px)}.alp-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,14,31,.65),transparent 55%)}.alp-hero-content{position:relative;text-align:center;color:#fff;padding:90px 0 130px}.alp-eyebrow,.alp-kicker{color:#ca2a40;font-size:13px;font-weight:900;letter-spacing:3px}.alp-hero-content h1{color:#fff;font-size:clamp(42px,6.2vw,78px);line-height:.98;margin:18px auto;max-width:1040px;text-shadow:0 3px 16px rgba(0,0,0,.35)}.alp-hero-content>p:not(.alp-eyebrow){font-size:20px;max-width:760px;margin:0 auto 32px;line-height:1.6}.alp-btn{display:inline-block;padding:15px 24px;border:2px solid transparent;font-weight:900;letter-spacing:1px;text-decoration:none!important}.alp-btn-red{background:#c9203a;color:#fff}.alp-btn-ghost{border-color:#fff;color:#fff}.alp-hero-actions{display:flex;gap:14px;justify-content:center}.alp-star-stripe{position:absolute;bottom:0;left:0;right:0;background:#193978;color:#fff;font-size:45px;line-height:82px;text-align:center;white-space:nowrap;transform:skewY(-1.5deg);transform-origin:left}.alp-section{padding:92px 0}.alp-split{display:grid;grid-template-columns:1.6fr .8fr;gap:80px;align-items:center}.alp-section h2,.alp-welcome h2{font-size:clamp(34px,4vw,52px);line-height:1.08;color:#112c52;margin:14px 0 24px}.alp-section p{font-size:17px;line-height:1.75}.alp-text-link{color:#b51e34;font-weight:900;letter-spacing:1px;text-decoration:none}.alp-mission-card{background:#102f5a;color:#fff;padding:46px;border-bottom:7px solid #c9203a;box-shadow:0 20px 45px rgba(16,47,90,.22)}.alp-mission-card span{font-size:35px;color:#fff}.alp-mission-card h3{color:#fff;font-size:24px;margin:20px 0 8px}.alp-mission-card p{color:#dce6f2;font-size:16px}.alp-services{background:#f2f5f8}.alp-center{text-align:center}.alp-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:45px}.alp-service-card{min-height:360px;padding:190px 26px 26px;position:relative;overflow:hidden;color:#fff!important;text-decoration:none!important;background:#17365f;box-shadow:0 12px 35px rgba(13,36,66,.18)}.alp-service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c2446 0%,rgba(12,36,70,.25) 65%),radial-gradient(circle at 60% 25%,#778da7,#203c5d 65%);transition:.25s}.alp-service-card:hover:before{transform:scale(1.04)}.alp-service-card>*{position:relative}.alp-service-card span{font-size:11px;letter-spacing:2px;color:#ffb3bd}.alp-service-card h3{color:#fff;font-size:27px;margin:6px 0}.alp-service-card p{font-size:14px;line-height:1.55}.alp-service-card b{font-size:12px;letter-spacing:1px}.alp-card-membership:before{background:linear-gradient(0deg,#591420 0%,rgba(89,20,32,.22) 65%),radial-gradient(circle at 50% 20%,#a7846f,#3e2d35 70%)}.alp-card-honor:before{background:linear-gradient(0deg,#102f5a 0%,rgba(16,47,90,.25) 65%),radial-gradient(circle at 55% 20%,#92a29b,#334d53 70%)}.alp-card-events:before{background:linear-gradient(0deg,#132c4f 0%,rgba(19,44,79,.25) 65%),radial-gradient(circle at 55% 20%,#b18a53,#3c4655 70%)}.alp-impact{background:#102f5a;color:#fff}.alp-impact h2{color:#fff}.alp-impact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.alp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.alp-stats div{border:1px solid rgba(255,255,255,.25);padding:28px 12px;text-align:center}.alp-stats strong{display:block;font-size:38px;color:#fff}.alp-stats span{font-size:12px;letter-spacing:1px;text-transform:uppercase}.alp-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.alp-events-section .pwm-events{grid-template-columns:repeat(3,1fr)}.alp-cta{background:#e9eef4;padding:75px 20px;text-align:center}.alp-cta h2{font-size:42px;color:#102f5a;margin:12px auto 28px;max-width:780px}.alp-footer-new{background:#081b33;color:#dce6f2;padding:65px 0 0}.alp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px}.alp-footer-new h3,.alp-footer-new h4{color:#fff}.alp-footer-new h3{font-size:27px}.alp-footer-new h4{font-size:13px;letter-spacing:2px}.alp-footer-new a{color:#dce6f2}.alp-footer-new ul{list-style:none;padding:0}.alp-footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:45px;padding:20px;text-align:center;font-size:12px}.alp-home~#main-footer{display:none}
@media(max-width:900px){.alp-info-grid{grid-template-columns:1fr 1fr}.alp-card-grid{grid-template-columns:1fr 1fr}.alp-split,.alp-impact-grid{grid-template-columns:1fr}.alp-footer-grid{grid-template-columns:1fr 1fr}.alp-hero-new{min-height:560px}}
@media(max-width:620px){.alp-info-grid,.alp-card-grid,.alp-footer-grid{grid-template-columns:1fr}.alp-info-item{display:none}.alp-brand-lockup{text-align:center;padding-left:0}.alp-brand-lines{display:none}.alp-hero-content{padding-top:65px}.alp-hero-actions{flex-direction:column}.alp-section{padding:65px 0}.alp-service-card{min-height:300px;padding-top:145px}.alp-stats{grid-template-columns:1fr}.alp-section-heading{display:block}.alp-events-section .pwm-events{grid-template-columns:1fr}}
.home #main-header,.home #top-header{display:none}.home #page-container{padding-top:0!important;margin-top:0!important}.alp-main-nav{background:#153b70}.alp-main-nav .alp-shell{display:flex;align-items:center;justify-content:center;gap:28px;min-height:58px}.alp-main-nav a{color:#fff;font-size:13px;font-weight:900;letter-spacing:.7px;text-decoration:none}.alp-main-nav a:hover{color:#ff5368}@media(max-width:800px){.alp-main-nav .alp-shell{justify-content:center;flex-wrap:wrap;overflow:visible;padding:10px 12px;gap:8px 16px}.alp-main-nav a{font-size:11px;white-space:nowrap}}

/* Pioneer header system: official brand, UI-driven identity, adaptable menus. */
.alp-brand-lockup{padding-left:0;width:min(100%,300px)}
.alp-official-logo{display:block;width:100%;aspect-ratio:480/138;overflow:hidden}
.alp-official-logo img{display:block;width:100%;height:auto}
.alp-brand-lockup small[data-fit-brand]{display:block;width:100%;margin-top:6px;color:#d7193f;font-weight:900;letter-spacing:.16em;line-height:1;white-space:nowrap;text-align:center}
.alp-main-nav .alp-shell{list-style:none;margin:0 auto;padding:0}
.alp-main-nav .alp-shell>li{position:relative;margin:0;padding:0}
.alp-main-nav .sub-menu{display:none;position:absolute;z-index:20;top:100%;left:0;min-width:230px;margin:0;padding:8px 0;list-style:none;background:#0d2b52;box-shadow:0 12px 28px rgba(0,0,0,.24)}
.alp-main-nav li:hover>.sub-menu,.alp-main-nav li:focus-within>.sub-menu{display:block}
.alp-main-nav .sub-menu a{display:block;padding:11px 16px;line-height:1.3}
@media(max-width:800px){.alp-main-nav .alp-shell>li{position:static}.alp-main-nav .sub-menu{position:static;display:block;width:100%;min-width:0;box-shadow:none;background:rgba(0,0,0,.12);padding:0}.alp-main-nav .sub-menu a{padding:7px 10px}.alp-brand-lockup{margin:auto}}

/* Official American Legion navy sampled from the supplied brand artwork. */
.alp-info-bar{background:#fff}
.alp-main-nav{background:#1b3d6d}
.alp-brand-lockup{box-sizing:border-box;background:#fff;padding:12px 14px;box-shadow:none}
.alp-info-item b{color:#1b3d6d}
.alp-info-item p{color:#172033;opacity:1}
.alp-info-item>span{color:#d72131}


/* Original presentation primitives used by the clean starter blueprint. */
.alp-header {
    background: var(--post-navy-dark);
    border-bottom: 4px solid var(--post-red);
}

.alp-header .et_pb_fullwidth_menu {
    background: transparent;
    padding-inline: clamp(1rem, 4vw, 3rem);
}

.alp-header .et_pb_menu__menu > nav > ul > li > a,
.alp-header .mobile_menu_bar::before {
    color: var(--post-surface);
    font-weight: 700;
}

.alp-header a:focus-visible,
.alp-hero a:focus-visible,
.alp-footer a:focus-visible {
    border-radius: 2px;
    outline: 3px solid var(--post-gold);
    outline-offset: 3px;
}

.alp-hero {
    background: linear-gradient(135deg, var(--post-navy-dark), var(--post-navy));
    color: var(--post-surface);
    padding-block: clamp(3rem, 8vw, 7rem);
    text-align: center;
}

.alp-hero h1,
.alp-hero p {
    color: var(--post-surface);
}

.alp-hero h1 {
    font-size: clamp(2.1rem, 6vw, 4.75rem);
    line-height: 1.05;
}

.alp-hero .et_pb_button {
    background: var(--post-red);
    border-color: var(--post-red);
    color: var(--post-surface);
}

.alp-hero .et_pb_button:hover {
    background: var(--post-red-dark);
    border-color: var(--post-red-dark);
}

.alp-footer {
    background: var(--post-navy-dark);
    border-top: 4px solid var(--post-red);
    color: var(--post-surface);
}

.alp-footer p,
.alp-footer a {
    color: var(--post-surface);
}
