/*
Theme Name: EAA 1298 Custom
Theme URI: https://eaa1298.org/
Author: OpenAI
Description: Custom WordPress theme for EAA Chapter 1298.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.1
Text Domain: eaa1298
*/

:root{
  --sky:#0d3b66;
  --sky-2:#1d5fa7;
  --sun:#f4b942;
  --cream:#f7f3ea;
  --ink:#13212e;
  --muted:#637381;
  --line:#d9e2ec;
  --success:#1f7a4d;
  --danger:#9f2432;
  --card:#ffffff;
  --shadow:0 12px 32px rgba(14,30,37,.08);
  --radius:18px;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 30%,#fff 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--sky-2);text-decoration:none}
a:hover{text-decoration:underline}
.container{
  width:min(100% - 2rem,var(--max));
  margin-inline:auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(13,59,102,.08);
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  color:var(--ink);
}
.brand img{
  width:70px;
  height:70px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-mark{
  font-weight:800;
  line-height:1.05;
}
.brand-mark small{
  display:block;
  color:var(--muted);
  font-weight:600;
}

.nav-toggle{display:none}
.site-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.6rem;
  flex:1 1 auto;
  min-width:0;
  flex-wrap:nowrap;
}

.site-nav ul{
  list-style:none;
  display:flex;
  gap:.35rem;
  margin:0;
  padding:0;
  align-items:center;
  flex-wrap:nowrap;
}

.nav-end-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  text-decoration:none;
  margin-left:auto;
  padding-left:.65rem;
  flex:0 0 auto;
}

.nav-end-logo img{
  width:70px;
  height:70px;
  object-fit:contain;
  display:block;
}
.site-nav a{
  display:inline-block;
  padding:.58rem .72rem;
  border-radius:999px;
  font-weight:700;
  font-size:.94rem;
  white-space:nowrap;
}
.site-nav a:hover,
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a{
  background:#e7f1ff;
  text-decoration:none;
}

.account-nav{
  list-style:none;
  display:flex;
  gap:.35rem;
  margin:0 0 0 .35rem;
  padding:0;
  align-items:center;
}
.account-nav a{
  display:inline-block;
  padding:.65rem .9rem;
  border-radius:999px;
  font-weight:700;
}
.account-nav a:hover{
  background:#e7f1ff;
  text-decoration:none;
}

.button,
.wp-block-button__link,
button,
input[type="submit"]{
  display:inline-block;
  border:0;
  border-radius:999px;
  padding:.9rem 1.2rem;
  font-weight:800;
  cursor:pointer;
  background:var(--sky);
  color:#fff;
  box-shadow:var(--shadow);
}
.button.alt{
  background:#fff;
  color:var(--sky);
  border:1px solid var(--line);
}

.hero{
  padding:4.5rem 0 3rem;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:2rem;
  align-items:center;
}
.kicker{
  display:inline-block;
  background:#e7f1ff;
  color:var(--sky);
  font-weight:800;
  border-radius:999px;
  padding:.35rem .7rem;
  margin-bottom:1rem;
}
.hero h1{
  font-size:clamp(2.2rem,4vw,4.8rem);
  line-height:.98;
  margin:0 0 1rem;
}
.hero p.lead{
  font-size:1.08rem;
  color:#334e68;
  max-width:62ch;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.5rem;
}

.card,
.panel,
article.form-card{
  background:var(--card);
  border:1px solid rgba(13,59,102,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-card{
  overflow:hidden;
}
.hero-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.hero-card .caption{
  padding:1rem 1.15rem;
  color:var(--muted);
  font-size:.95rem;
}

.section{
  padding:1.5rem 0 3.2rem;
}
.section h2{
  font-size:clamp(1.6rem,2.2vw,2.5rem);
  margin:0 0 .6rem;
}
.section-intro{
  color:var(--muted);
  max-width:70ch;
  margin-bottom:1.25rem;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.grid-2{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.25rem;
}

.feature{
  padding:1.25rem;
}
.feature h3{
  margin:.2rem 0 .5rem;
}
.feature p{
  margin:0;
  color:#486581;
}

.info-band{
  background:linear-gradient(135deg,var(--sky) 0%,#164c82 100%);
  color:#fff;
  padding:1.2rem;
  border-radius:var(--radius);
}
.info-band strong{color:#fff}
.info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.info-item{
  padding:1rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
}

.events-list,
.posts-list{
  display:grid;
  gap:1rem;
}
.event-item,
.post-card{
  padding:1.1rem 1.15rem;
}
.meta{
  color:var(--muted);
  font-size:.94rem;
}

.form-shell{
  padding:1.2rem;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.form-grid .full{grid-column:1/-1}
.form-help{
  margin:.45rem 0 0;
  color:var(--muted);
  font-size:.95rem;
}

label{
  display:block;
  font-weight:700;
  margin-bottom:.3rem;
}
input, select, textarea{
  width:100%;
  padding:.9rem 1rem;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:#fff;
  color:var(--ink);
}
textarea{
  min-height:150px;
  resize:vertical;
}

.hp-wrap{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.notice{
  padding:1rem 1.1rem;
  border-radius:14px;
  margin:0 0 1rem;
  font-weight:700;
}
.notice.success{
  background:#e9f8ef;
  color:var(--success);
  border:1px solid #b8e3c7;
}
.notice.error{
  background:#fff0f2;
  color:var(--danger);
  border:1px solid #f0b9c2;
}

.site-footer{
  margin-top:3rem;
  padding:2rem 0 3rem;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1rem;
  align-items:start;
}
.footer-note{
  font-size:.95rem;
}
.footer-note a{
  font-weight:700;
}

.page-hero{
  padding:3rem 0 1.25rem;
}
.page-hero h1{
  margin:0 0 .5rem;
}
.content-card{
  padding:1.4rem;
}

.page-media{
  width:min(100%,400px);
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:14px;
  margin:0 0 1rem;
  box-shadow:var(--shadow);
}
.page-media-logo{
  width:min(100%,320px);
  max-height:220px;
  object-fit:contain;
  background:#fff;
  padding:1rem;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  align-items:start;
}
.gallery-grid > img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  display:block;
}
.gallery-featured-grid{
  margin-bottom:1rem;
}
.gallery-approved-grid{
  margin-top:1rem;
}
.gallery-item{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  align-self:start;
}
.gallery-item img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  display:block;
}
.gallery-caption{
  color:#637381;
  font-size:.95rem;
}
.gallery-caption strong{
  display:block;
  color:var(--ink);
  margin-bottom:.15rem;
}

.gallery-series-grid{
  margin-bottom:1.25rem;
}
.gallery-series-card{
  background:#fff;
  border:1px solid rgba(13,59,102,.08);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.gallery-series-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.gallery-series-link:hover{
  text-decoration:none;
}
.gallery-series-media{
  width:100%;
  aspect-ratio:4/3;
  background:#dfeaf5;
  overflow:hidden;
}
.gallery-series-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:1rem;
  color:var(--sky);
  font-weight:800;
  background:linear-gradient(135deg,#e7f1ff 0%,#d6e8ff 100%);
}
.gallery-series-body{
  padding:1rem 1rem 1.1rem;
}
.gallery-series-body h4{
  margin:0 0 .35rem;
  font-size:1.12rem;
}
.gallery-series-body p{
  margin:0 0 .75rem;
  color:var(--muted);
}
.gallery-series-cta{
  display:inline-block;
  font-weight:800;
  color:var(--sky);
}

.series-header{
  margin-bottom:1.25rem;
}
.series-cover{
  margin:0 0 1.2rem;
}
.series-cover img{
  width:100%;
  max-width:900px;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:16px;
  box-shadow:var(--shadow);
}
.series-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.series-photo-card{
  background:#fff;
  border:1px solid rgba(13,59,102,.08);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.series-photo-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.series-photo-body{
  padding:.85rem .95rem 1rem;
}
.series-photo-body h3{
  margin:0 0 .3rem;
  font-size:1rem;
}
.series-photo-body p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}

@media (max-width: 960px){
  .hero-grid,
  .grid-3,
  .grid-2,
  .info-grid,
  .footer-grid,
  .gallery-grid,
  .series-grid,
  .form-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 820px){
  .site-nav{
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .site-nav ul{
    flex-wrap:wrap;
  }
  .nav-end-logo{
    margin-left:0;
    padding-left:0;
    order:3;
  }

  .nav-end-logo{
    order:3;
  }
  .nav-end-logo img{
    width:70px;
    height:70px;
  }
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#e7f1ff;
    color:var(--sky);
    border:1px solid rgba(13,59,102,.1);
    box-shadow:none;
  }
  .site-nav{display:none}
  .site-nav.open{
    display:block;
    padding:0 0 1rem;
  }
  .site-nav ul{
    flex-direction:column;
    align-items:flex-start;
  }
  .account-nav{
    margin:0;
    padding-top:.35rem;
    flex-direction:column;
    align-items:flex-start;
  }
  .brand img{
    width:52px;
    height:52px;
  }
}
/* LIVE hotfix: desktop navbar layout after logo enlargement */
@media (min-width: 821px){
  .topbar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:1.25rem;
  }

  .brand{
    flex:0 0 auto;
  }

  .site-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.5rem;
    min-width:0;
  }

  .site-nav ul,
  .account-nav{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    min-width:0;
  }

  .site-nav ul{
    gap:.5rem;
  }

  .site-nav li,
  .account-nav li{
    flex:0 0 auto;
  }

  .site-nav a,
  .account-nav a{
    white-space:nowrap;
    padding:.58rem .78rem;
  }

  .account-nav{
    margin:0 0 0 .35rem;
    gap:.5rem;
  }
}

/* LIVE accent pass: home page gold/red polish */
.home .kicker{
  background:linear-gradient(135deg,#fff6df 0%,#ffe29a 100%);
  color:#7a4b00;
  border:1px solid rgba(244,185,66,.45);
  box-shadow:0 10px 24px rgba(244,185,66,.18);
}

.home .section h2{
  position:relative;
  display:inline-block;
  padding-bottom:.35rem;
}

.home .section h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#f4b942 0%,#d55353 100%);
}

.home .button:hover,
.home .button:focus,
.home input[type="submit"]:hover,
.home input[type="submit"]:focus{
  background:#f4b942;
  color:#13212e;
  transform:translateY(-1px);
}

.home .button.alt{
  border:1px solid rgba(244,185,66,.45);
}

.home .button.alt:hover,
.home .button.alt:focus{
  background:#fff4d2;
  color:#13212e;
  border-color:#f4b942;
  transform:translateY(-1px);
}

.home .feature{
  position:relative;
  overflow:hidden;
  border-top:4px solid #f4b942;
}

.home .feature::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:100%;
  background:radial-gradient(circle at top right, rgba(213,83,83,.08), transparent 34%);
  pointer-events:none;
}

.home .feature h3{
  color:#0d3b66;
}

.home .info-band{
  box-shadow:0 18px 40px rgba(13,59,102,.16);
}

.home .info-item{
  border-color:rgba(244,185,66,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.home .info-item strong{
  color:#ffd36b;
}

.home .event-item h2 a:hover,
.home .post-card h2 a:hover{
  color:#d55353;
  text-decoration:none;
}

.home .meta{
  color:#9a3a3a;
  font-weight:700;
}

/* LIVE accent pass: interior page gold/red polish */
body.page:not(.home):not(.page-contact) .page-hero h1,
.post-type-archive-chapter_event .page-hero h1,
.single-chapter_event .page-hero h1,
.single-photo_series .page-hero h1{
  position:relative;
  display:inline-block;
  padding-bottom:.35rem;
}

body.page:not(.home):not(.page-contact) .page-hero h1::after,
.post-type-archive-chapter_event .page-hero h1::after,
.single-chapter_event .page-hero h1::after,
.single-photo_series .page-hero h1::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:78px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#f4b942 0%,#d55353 100%);
}

body.page:not(.home):not(.page-contact) .content-card,
body.page:not(.home):not(.page-contact) .form-card,
body.page:not(.home):not(.page-contact) .gallery-series-card,
body.page:not(.home):not(.page-contact) .gallery-item,
.post-type-archive-chapter_event .event-item,
.single-chapter_event .content-card,
.single-chapter_event aside.card,
.single-photo_series .content-card{
  border-top:4px solid #f4b942;
  box-shadow:0 14px 34px rgba(13,59,102,.10);
}

body.page:not(.home):not(.page-contact) .content-card,
body.page:not(.home):not(.page-contact) .form-card,
body.page:not(.home):not(.page-contact) .gallery-series-card,
.post-type-archive-chapter_event .event-item,
.single-chapter_event .content-card,
.single-chapter_event aside.card,
.single-photo_series .content-card{
  position:relative;
  overflow:hidden;
}

body.page:not(.home):not(.page-contact) .content-card::before,
body.page:not(.home):not(.page-contact) .form-card::before,
body.page:not(.home):not(.page-contact) .gallery-series-card::before,
.post-type-archive-chapter_event .event-item::before,
.single-chapter_event .content-card::before,
.single-chapter_event aside.card::before,
.single-photo_series .content-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:180px;
  height:180px;
  background:radial-gradient(circle at top right, rgba(213,83,83,.08), transparent 65%);
  pointer-events:none;
}

body.page:not(.home):not(.page-contact) .button:hover,
body.page:not(.home):not(.page-contact) .button:focus,
body.page:not(.home):not(.page-contact) input[type="submit"]:hover,
body.page:not(.home):not(.page-contact) input[type="submit"]:focus,
.single-chapter_event .button:hover,
.single-chapter_event .button:focus{
  background:#f4b942;
  color:#13212e;
}

body.page:not(.home):not(.page-contact) .meta,
body.page:not(.home):not(.page-contact) .gallery-series-cta,
.post-type-archive-chapter_event .meta,
.single-chapter_event .meta{
  color:#9a3a3a;
  font-weight:700;
}

body.page:not(.home):not(.page-contact) a:hover h4,
.post-type-archive-chapter_event .event-item h2 a:hover,
.single-chapter_event .button:hover,
.single-photo_series .button:hover{
  color:#d55353;
  text-decoration:none;
}

body.page:not(.home):not(.page-contact) .gallery-series-card,
body.page:not(.home):not(.page-contact) .gallery-item{
  border-color:rgba(244,185,66,.22);
}

/* LIVE home hero card gold topper */
.home .hero-card{
  position:relative;
  overflow:hidden;
  border-top:4px solid #f4b942;
  box-shadow:0 18px 40px rgba(13,59,102,.12);
}

.home .hero-card .caption{
  border-top:1px solid rgba(244,185,66,.24);
  background:linear-gradient(180deg,#fffaf0 0%,#ffffff 100%);
}

/* LIVE desktop navbar spacing refinement */
@media (min-width: 821px){
  .topbar{
    grid-template-columns:minmax(240px,340px) minmax(0,1fr);
    gap:1rem;
  }

  .brand-logo{
    display:block;
    width:100%;
    max-width:340px;
    min-width:240px;
  }

  .brand-logo img{
    display:block;
    width:100% !important;
    height:auto !important;
    max-height:100px !important;
  }

  .site-nav{
    justify-content:flex-end;
    overflow:hidden;
  }

  .site-nav ul{
    gap:.35rem;
  }

  .account-nav{
    margin-left:.2rem;
    gap:.35rem;
  }

  .site-nav a,
  .account-nav a{
    padding:.56rem .72rem;
    font-size:.96rem;
  }
}
/* LIVE home hero title highlight */
.home .hero-title-highlight{
  display:inline-block;
  margin:0 0 1rem;
  padding:.24em .42em .3em;
  background:linear-gradient(180deg,#fff9eb 0%,#ffffff 100%);
  border:1px solid rgba(244,185,66,.55);
  border-left:10px solid #f4b942;
  border-radius:30px;
  box-shadow:0 18px 40px rgba(13,59,102,.12);
}
/* LIVE home hero title highlight refinement */
.home .hero-title-highlight{
  display:inline-block;
  margin:0 0 1rem;
  padding:.24em .42em .3em;
  background:linear-gradient(180deg,#fff9eb 0%,#ffffff 100%);
  border:1px solid rgba(244,185,66,.30);
  border-top:4px solid #f4b942;
  border-left:1px solid rgba(244,185,66,.30);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(13,59,102,.12);
}

/* LIVE restore home hero title highlight */
.home .hero-title-highlight{
  display:inline-block;
  margin:0 0 1rem;
  padding:.24em .42em .3em;
  background:linear-gradient(180deg,#fff9eb 0%,#ffffff 100%);
  border:1px solid rgba(244,185,66,.30);
  border-top:4px solid #f4b942;
  border-left:1px solid rgba(244,185,66,.30);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(13,59,102,.12);
}
/* LIVE membership alert popup */
.required-field-label{
  color:#7c1f2d;
  font-weight:800;
}
.required-star{
  color:#c62839;
}

.membership-alert-backdrop{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(19,33,46,.55);
  padding:1rem;
  z-index:9999;
}
.membership-alert-backdrop.is-visible{
  display:flex;
}
.membership-alert{
  width:min(100%,540px);
  background:#fff;
  border:1px solid rgba(159,36,50,.18);
  border-top:6px solid #c62839;
  border-radius:18px;
  box-shadow:0 24px 64px rgba(0,0,0,.22);
  padding:1.25rem 1.25rem 1.1rem;
  text-align:center;
}
.membership-alert h3{
  margin:0 0 .5rem;
}
.membership-alert p{
  margin:0 0 1rem;
  color:#334e68;
}

/* Membership page single-column refresh */
.membership-layout{
  width:min(100% - 2rem,1320px);
  margin-inline:auto;
}

.membership-stack{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:1.35rem;
}

.membership-basics-card,
.membership-form-card{
  width:100%;
}

.membership-basics-card{
  max-width:1120px;
  margin:0 auto;
}

.membership-form-wrap{
  width:100%;
}

.membership-form-card{
  max-width:1120px;
  margin:0 auto;
}

.membership-form-card .form-shell{
  padding:1.5rem;
}

.membership-form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem 1.15rem;
}

.membership-form-grid .full{
  grid-column:1/-1;
}

.membership-form-grid textarea{
  min-height:130px;
}

@media (max-width: 1120px){
  .membership-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 760px){
  .membership-stack{
    gap:1rem;
  }

  .membership-form-card .form-shell{
    padding:1rem;
  }

  .membership-form-grid{
    grid-template-columns:1fr;
    gap:.9rem;
  }
}


/* Membership checkbox alignment refresh */
.membership-form-grid .grid-3{
  gap:.85rem 1.25rem;
}

.membership-form-grid .grid-3 > label{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0;
  font-weight:600;
  line-height:1.35;
  cursor:pointer;
}

.membership-form-grid input[type="checkbox"]{
  width:1.2rem;
  height:1.2rem;
  min-width:1.2rem;
  flex:0 0 1.2rem;
  margin:0;
  padding:0;
  vertical-align:middle;
  accent-color:var(--sky);
}

@media (max-width: 760px){
  .membership-form-grid .grid-3 > label{
    gap:.6rem;
  }

  .membership-form-grid input[type="checkbox"]{
    width:1.1rem;
    height:1.1rem;
    min-width:1.1rem;
    flex:0 0 1.1rem;
  }
}


/* Membership basics card readability refresh */
.membership-basics-card p{
  font-size:1.08rem;
  line-height:1.75;
}

.membership-basics-card p strong{
  font-size:1rem;
}

@media (max-width: 760px){
  .membership-basics-card p{
    font-size:1.02rem;
    line-height:1.65;
  }
}


/* Membership basics card centered logo layout */
.membership-basics-hero{
  display:block;
}

.membership-basics-logo{
  display:none;
}

.membership-basics-logo img{
  display:block;
  width:min(100%,190px);
  height:auto;
  object-fit:contain;
}

.membership-basics-copy{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.membership-basics-copy h2,
.membership-basics-copy h3{
  text-align:center;
}

.membership-basics-copy p{
  font-size:1.16rem;
  line-height:1.85;
  text-align:center;
  max-width:42ch;
  margin-left:auto;
  margin-right:auto;
}

.membership-basics-copy p strong{
  font-size:1rem;
}

@media (max-width: 900px){
  .membership-basics-hero{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .membership-basics-logo img{
    width:min(100%,143px);
  }

  .membership-basics-copy p{
    font-size:1.08rem;
    line-height:1.72;
  }
}

/* LIVE photo upload series workflow */
.photo-upload-panel{
  padding:1rem;
  border:1px solid rgba(13,59,102,.10);
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}

.photo-upload-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.photo-upload-note{
  margin-top:.65rem;
  font-weight:600;
  color:#486581;
}

.is-hidden{
  display:none !important;
}

@media (max-width: 760px){
  .photo-upload-mode-grid{
    grid-template-columns:1fr;
  }
}

/* LIVE events archive thumbnail sizing */
.post-type-archive-chapter_event .event-archive-media-link,
.post-type-archive-chapter_event .event-item > a:first-of-type{
  display:block;
  width:min(100%,400px);
  aspect-ratio:3/2;
  margin:0 0 .9rem;
  overflow:hidden;
  border-radius:14px;
  box-shadow:var(--shadow);
}

.post-type-archive-chapter_event .event-archive-media-image,
.post-type-archive-chapter_event .event-archive-media-link img,
.post-type-archive-chapter_event .event-item > a:first-of-type img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
  border-radius:0 !important;
}

@media (max-width: 760px){
  .post-type-archive-chapter_event .event-archive-media-link,
  .post-type-archive-chapter_event .event-item > a:first-of-type{
    width:min(100%,350px);
  }
}

/* LIVE header logo size refinement */
@media (min-width: 821px){
  .brand-logo img{
    max-height:68px !important;
  }
}

/* LIVE non-gallery content image sizing */
.single-chapter_event .event-single-media-link{
  display:block;
  width:min(100%,400px);
  aspect-ratio:3/2;
  margin:0 0 1rem;
  overflow:hidden;
  border-radius:14px;
  box-shadow:var(--shadow);
}

.single-chapter_event .event-single-media-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width: 760px){
  .page-media{
    width:min(100%,350px);
  }

  .page-media-logo{
    width:min(100%,280px);
    max-height:190px;
  }

  .single-chapter_event .event-single-media-link{
    width:min(100%,350px);
  }
}


/* LIVE photo upload status panel */
.photo-upload-status{
  margin-top:.25rem;
  padding:1rem;
  border:1px solid #c8d8ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(13,59,102,.06);
}

.photo-upload-status-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.7rem;
}

.photo-upload-status-head strong{
  font-size:1rem;
  color:var(--ink);
}

.photo-upload-status-head span{
  font-weight:800;
  color:var(--sky);
}

.photo-upload-progress{
  width:100%;
  height:12px;
  border-radius:999px;
  overflow:hidden;
  background:#e7f1ff;
  border:1px solid #d6e8ff;
}

.photo-upload-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sky-2) 0%, var(--sun) 100%);
  transition:width .2s ease;
}

.photo-upload-progress.is-indeterminate span{
  width:35%;
  animation:eaa1298-upload-sweep 1.15s linear infinite;
}

.photo-upload-status-message{
  margin:.75rem 0 0;
  color:#334e68;
  font-weight:600;
}

.photo-upload-status-list{
  margin:.75rem 0 0;
  padding-left:1.2rem;
  color:#486581;
}

.photo-upload-status-list li + li{
  margin-top:.25rem;
}

.photo-upload-status.is-ready{
  border-color:#d6e8ff;
  background:#f8fbff;
}

.photo-upload-status.is-uploading{
  border-color:#d6e8ff;
  background:#f8fbff;
}

@keyframes eaa1298-upload-sweep{
  0%{
    transform:translateX(-120%);
  }
  100%{
    transform:translateX(320%);
  }
}


/* LIVE page logo pair */
.page-logo-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
  align-items:center;
  margin:0 0 1.25rem;
}

.page-logo-pair-item{
  display:flex;
  align-items:center;
}

.page-logo-pair-item:first-child{
  justify-content:flex-start;
}

.page-logo-pair-item:last-child{
  justify-content:flex-end;
}

.page-logo-pair img{
  display:block;
  width:min(100%,90px);
  height:auto;
  object-fit:contain;
}

@media (max-width: 700px){
  .page-logo-pair{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .page-logo-pair-item,
  .page-logo-pair-item:first-child,
  .page-logo-pair-item:last-child{
    justify-content:center;
  }
}

/* LIVE unified top logo band */
.logo-band-section{
  padding:.55rem 0 .12rem;
}

.site-logo-band{
  padding:.55rem 1.5rem;
}

.site-logo-band__inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  min-height:156px;
}

.site-logo-band__item{
  display:flex;
  align-items:center;
}

.site-logo-band__item--left{
  justify-content:flex-start;
  padding-left:.8rem;
}

.site-logo-band__item--center{
  justify-content:center;
  min-width:0;
  padding:0 .75rem;
}

.site-logo-band__item--right{
  justify-content:flex-end;
  padding-right:.8rem;
}

.site-logo-band__item--left img,
.site-logo-band__item--right img{
  display:block;
  width:min(100%,126px);
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.site-logo-band__item--center img{
  display:block;
  width:min(100%,360px);
  max-width:100%;
  max-height:82px;
  height:auto;
  object-fit:contain;
}

@media (max-width: 980px){
  .site-logo-band{
    padding:.48rem 1.05rem;
  }

  .site-logo-band__inner{
    min-height:118px;
    gap:.7rem;
  }

  .site-logo-band__item--left{
    padding-left:.2rem;
  }

  .site-logo-band__item--center{
    padding:0 .35rem;
  }

  .site-logo-band__item--right{
    padding-right:.2rem;
  }

  .site-logo-band__item--left img,
  .site-logo-band__item--right img{
    width:min(100%,92px);
  }

  .site-logo-band__item--center img{
    width:min(100%,230px);
    max-height:58px;
  }
}

@media (max-width: 700px){
  .logo-band-section{
    padding:.45rem 0 0;
  }

  .site-logo-band{
    padding:.45rem 1rem;
  }

  .site-logo-band__inner{
    grid-template-columns:1fr;
    min-height:auto;
    gap:.55rem;
  }

  .site-logo-band__item--left,
  .site-logo-band__item--center,
  .site-logo-band__item--right{
    justify-content:center;
    padding-left:0;
    padding-right:0;
    padding-top:0;
    padding-bottom:0;
  }

  .site-logo-band__item--left img,
  .site-logo-band__item--right img{
    width:min(100%,88px);
  }

  .site-logo-band__item--center img{
    width:min(100%,240px);
    max-height:56px;
  }
}

/* LIVE navbar without chapter logo */
.site-header-nav-only .topbar{
  display:block;
  padding:.72rem 0;
  text-align:center;
}

.site-header-nav-only .site-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  flex:0 0 auto;
  width:auto;
  max-width:100%;
  min-width:0;
  margin:0 auto;
  vertical-align:middle;
}

.site-header-nav-only .site-nav ul{
  gap:.2rem;
  justify-content:center;
  flex-wrap:wrap;
}

.site-header-nav-only .site-nav a,
.site-header-nav-only .account-nav a{
  padding:.56rem .64rem;
  font-size:.95rem;
  white-space:nowrap;
}

.site-header-nav-only .account-nav{
  margin:0 0 0 .2rem;
}

@media (max-width: 820px){
  .site-header-nav-only .topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    text-align:left;
  }

  .site-header-nav-only .site-nav{
    display:none;
    width:100%;
    max-width:none;
    margin:.55rem 0 0;
    justify-content:flex-start;
  }

  .site-header-nav-only .site-nav.open{
    display:block;
  }

  .site-header-nav-only .site-nav ul{
    justify-content:flex-start;
  }

  .site-header-nav-only .account-nav{
    margin:0;
  }
}


/* LIVE logo band tablet/mobile override */
.site-logo-band{
  overflow:hidden;
}

.site-logo-band__inner{
  grid-template-columns:minmax(96px,126px) minmax(0,1fr) minmax(96px,126px) !important;
  min-height:140px !important;
}

.site-logo-band__item--left img,
.site-logo-band__item--right img{
  width:min(100%,110px) !important;
}

.site-logo-band__item--center{
  min-width:0 !important;
  padding:0 .5rem !important;
}

.site-logo-band__item--center img{
  display:block !important;
  width:min(100%,280px) !important;
  max-width:100% !important;
  max-height:72px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

@media (max-width: 980px){
  .site-logo-band{
    padding:.45rem .9rem !important;
  }

  .site-logo-band__inner{
    grid-template-columns:minmax(74px,92px) minmax(0,1fr) minmax(74px,92px) !important;
    min-height:104px !important;
    gap:.45rem !important;
  }

  .site-logo-band__item--left{
    padding-left:0 !important;
  }

  .site-logo-band__item--right{
    padding-right:0 !important;
  }

  .site-logo-band__item--center{
    padding:0 .2rem !important;
  }

  .site-logo-band__item--left img,
  .site-logo-band__item--right img{
    width:min(100%,84px) !important;
  }

  .site-logo-band__item--center img{
    width:min(100%,210px) !important;
    max-height:54px !important;
  }
}

@media (max-width: 700px){
  .site-logo-band{
    padding:.42rem .85rem !important;
  }

  .site-logo-band__inner{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    gap:.45rem !important;
  }

  .site-logo-band__item--left,
  .site-logo-band__item--center,
  .site-logo-band__item--right{
    justify-content:center !important;
    padding:0 !important;
  }

  .site-logo-band__item--left img,
  .site-logo-band__item--right img{
    width:min(100%,80px) !important;
  }

  .site-logo-band__item--center img{
    width:min(100%,200px) !important;
    max-height:48px !important;
  }
}

/* LIVE middle airport logo enlargement without changing band or outer logos */
@media (min-width: 701px) and (max-width: 960px){
  .site-logo-band__item--center img{
    width:min(100%,430px);
    max-height:96px;
  }
}

@media (min-width: 961px){
  .site-logo-band__item--center img{
    width:min(100%,500px);
    max-height:112px;
  }
}

/* LIVE single-logo top band layout */
.site-logo-band__inner{
  grid-template-columns:1fr;
  gap:0;
}

.site-logo-band__item--center,
.site-logo-band__item--right{
  display:none;
}

.site-logo-band__item--left{
  justify-content:center;
  padding-left:0;
  padding-right:0;
}

.site-logo-band__item--left img{
  width:min(100%,230px);
  max-width:100%;
  max-height:138px;
  height:auto;
  object-fit:contain;
}

@media (max-width: 700px){
  .site-logo-band__item--left img{
    width:min(100%,170px);
    max-height:102px;
  }
}

/* LIVE single-logo top band layout plus 10 percent size bump */
.site-logo-band__item--left img{
  width:min(100%,253px);
  max-width:100%;
  max-height:152px;
  height:auto;
  object-fit:contain;
}

@media (max-width: 700px){
  .site-logo-band__item--left img{
    width:min(100%,187px);
    max-height:112px;
  }
}

/* LIVE single-logo band force-center dark-blue card and 10 percent size bump */
.site-logo-band,
.site-logo-band.card{
  background:linear-gradient(135deg,var(--sky) 0%,#164c82 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 40px rgba(13,59,102,.16) !important;
}

.site-logo-band__inner{
  grid-template-columns:1fr !important;
  justify-items:center !important;
}

.site-logo-band__item--center,
.site-logo-band__item--right{
  display:none !important;
}

.site-logo-band__item--left{
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  padding:0 !important;
  text-align:center !important;
}

.site-logo-band__item--left > *,
.site-logo-band__item--left a,
.site-logo-band__item--left picture,
.site-logo-band__item--left img{
  margin-left:auto !important;
  margin-right:auto !important;
}

.site-logo-band__item--left img{
  width:min(100%,278px) !important;
  max-width:100% !important;
  max-height:167px !important;
  height:auto !important;
  object-fit:contain !important;
}

@media (max-width: 980px){
  .site-logo-band__item--left img{
    width:min(100%,230px) !important;
    max-height:138px !important;
  }
}

@media (max-width: 700px){
  .site-logo-band__item--left img{
    width:min(100%,206px) !important;
    max-height:123px !important;
  }
}


/* LIVE home motto four-card grid */
.grid-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
}

@media (max-width: 1100px){
  .grid-4{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 700px){
  .grid-4{
    grid-template-columns:1fr;
  }
}


/* EAA1298 private tool submenus and event editor */
@media (min-width: 821px){
  .site-nav .menu-item-has-children{
    position:relative;
  }

  .site-nav .menu-item-has-children > .sub-menu{
    position:absolute;
    top:calc(100% + .35rem);
    left:0;
    min-width:220px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:.25rem;
    margin:0;
    padding:.45rem;
    list-style:none;
    background:#fff;
    border:1px solid rgba(13,59,102,.12);
    border-radius:16px;
    box-shadow:0 18px 40px rgba(13,59,102,.12);
    z-index:60;
  }

  .site-nav .menu-item-has-children:hover > .sub-menu,
  .site-nav .menu-item-has-children:focus-within > .sub-menu{
    display:flex;
  }

  .site-nav .sub-menu li{
    width:100%;
  }

  .site-nav .sub-menu a{
    display:block;
    width:100%;
    padding:.65rem .85rem;
    border-radius:12px;
    white-space:normal;
  }
}

@media (max-width: 820px){
  .site-nav .menu-item-has-children > .sub-menu{
    display:flex;
    flex-direction:column;
    gap:.2rem;
    margin:.2rem 0 0 .6rem;
    padding:.2rem 0 0 .8rem;
    list-style:none;
    border-left:2px solid rgba(13,59,102,.12);
  }

  .site-nav .sub-menu a{
    padding:.5rem .72rem;
  }
}

.event-editor-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:1.25rem;
  align-items:start;
}

.event-editor-panel{
  padding:1.25rem;
}

.event-editor-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.1rem;
}

.event-editor-form .full{
  grid-column:1/-1;
}

.event-editor-list{
  display:grid;
  gap:1rem;
}

.event-editor-card{
  padding:1.1rem 1.15rem;
}

.event-editor-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:.45rem;
}

.event-editor-card-head h3{
  margin:0;
}

.event-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.3rem .65rem;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:#e7f1ff;
  color:var(--sky);
}

.event-status-badge.status-publish{
  background:#e9f8ef;
  color:var(--success);
}

.event-status-badge.status-draft,
.event-status-badge.status-pending{
  background:#fff6df;
  color:#7a4b00;
}

.event-status-badge.status-future{
  background:#f3edff;
  color:#5b21b6;
}

.event-status-badge.status-private{
  background:#eef2f7;
  color:#486581;
}

.event-editor-summary{
  color:var(--muted);
  margin:.35rem 0 0;
}

.event-editor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
}

.event-editor-actions form{
  margin:0;
}

.button.alt.button-danger{
  background:#fff0f2;
  color:var(--danger);
  border:1px solid #f0b9c2;
  box-shadow:none;
}

.tool-note{
  color:var(--muted);
  margin-top:.4rem;
}

@media (max-width: 960px){
  .event-editor-layout,
  .event-editor-form{
    grid-template-columns:1fr;
  }
}

/* EAA1298 nav dropdown visibility fix */
@media (min-width: 821px){
  .site-nav,
  .site-header-nav-only .site-nav,
  .site-nav ul,
  .site-header-nav-only .site-nav ul{
    overflow:visible !important;
  }

  .site-nav .menu-item-has-children{
    position:relative;
  }

  .site-nav .menu-item-has-children > .sub-menu{
    z-index:200;
  }
}

/* EAA1298 event editor archive-style refresh */
.page-template-page-event-editor .event-editor-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.page-template-page-event-editor .event-editor-form .full{
  grid-column:1/-1;
}

.page-template-page-event-editor .event-editor-list{
  display:grid;
  gap:1rem;
}

.page-template-page-event-editor .event-editor-event-item{
  padding:1.1rem 1.15rem;
}

.page-template-page-event-editor .event-editor-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.75rem;
}

.page-template-page-event-editor .event-editor-card-head h3{
  margin:0;
}

.page-template-page-event-editor .event-editor-event-item .event-archive-media-link{
  display:block;
  width:min(100%,400px);
  aspect-ratio:3/2;
  margin:0 0 .9rem;
  overflow:hidden;
  border-radius:14px;
  box-shadow:var(--shadow);
}

.page-template-page-event-editor .event-editor-event-item .event-archive-media-image,
.page-template-page-event-editor .event-editor-event-item .event-archive-media-link img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
  border-radius:0 !important;
}

.page-template-page-event-editor .event-editor-current-image{
  margin-top:.9rem;
  display:grid;
  gap:.75rem;
}

.page-template-page-event-editor .event-remove-image-toggle{
  display:flex;
  align-items:center;
  gap:.65rem;
  margin:0;
  font-weight:600;
  line-height:1.35;
  cursor:pointer;
}

.page-template-page-event-editor .event-remove-image-toggle input[type="checkbox"]{
  width:1.1rem;
  height:1.1rem;
  min-width:1.1rem;
  margin:0;
  padding:0;
  accent-color:var(--sky);
}

.page-template-page-event-editor .event-editor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1rem;
}

.page-template-page-event-editor .event-editor-actions form{
  margin:0;
}

@media (max-width: 760px){
  .page-template-page-event-editor .event-editor-form{
    grid-template-columns:1fr;
  }

  .page-template-page-event-editor .event-editor-event-item .event-archive-media-link{
    width:min(100%,350px);
  }

  .page-template-page-event-editor .event-editor-card-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* EAA1298 submenu clickability hotfix */
@media (min-width: 821px){
  .site-nav .menu-item-has-children{
    position:relative;
    padding-bottom:.38rem;
    margin-bottom:-.38rem;
  }

  .site-nav .menu-item-has-children > .sub-menu{
    top:100% !important;
  }

  .site-nav .menu-item-has-children::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:.42rem;
  }
}


/* LIVE roster manager frontend tool */
.roster-manager-layout{
  display:grid;
  gap:1rem;
}

.roster-manager-card{
  padding:1.2rem;
}

.roster-manager-head h2{
  margin:0 0 .35rem;
}

.roster-manager-intro{
  margin:0;
}

.roster-manager-toolbar{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem;
  margin:1rem 0;
  align-items:center;
}

.roster-manager-search{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}

.roster-manager-search input[type="search"]{
  width:min(100%,360px);
}

.roster-manager-help{
  margin-bottom:1rem;
}

.roster-manager-section{
  margin-top:1rem;
  background:var(--card);
  border:1px solid rgba(13,59,102,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.15rem;
}

.eaa-roster-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:0 0 1rem;
}

.eaa-roster-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.roster-manager-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
}

.roster-manager-table th,
.roster-manager-table td{
  padding:.85rem .9rem;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  text-align:left;
}

.roster-manager-table thead th{
  background:#f8fbff;
  font-size:.92rem;
}

.roster-manager-table tbody tr:nth-child(even){
  background:#fcfdff;
}

.roster-manager-table th a{
  color:var(--ink);
  text-decoration:none;
}

.eaa-roster-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  white-space:nowrap;
}

.eaa-roster-actions form{
  display:inline;
  margin:0;
}

.roster-delete-button{
  background:none;
  border:0;
  padding:0;
  margin:0;
  color:var(--danger);
  box-shadow:none;
  font-weight:700;
}

.roster-delete-button:hover,
.roster-delete-button:focus{
  text-decoration:underline;
}

.eaa-roster-card-list{
  display:none;
}

.eaa-roster-card{
  background:#fff;
  border:1px solid rgba(13,59,102,.08);
  border-radius:16px;
  padding:1rem 1.05rem;
  box-shadow:var(--shadow);
  margin-bottom:1rem;
}

.eaa-roster-card h3{
  margin:0 0 .75rem;
}

.eaa-roster-card-grid,
.eaa-roster-view-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem 1rem;
}

.eaa-roster-card-item,
.eaa-roster-view-item{
  background:#f8fbff;
  border:1px solid #e5edf5;
  border-radius:14px;
  padding:.8rem .9rem;
}

.eaa-roster-card-item span,
.eaa-roster-view-item span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin-bottom:.2rem;
}

.eaa-roster-view-subtitle{
  margin:-.2rem 0 .95rem;
  color:var(--muted);
}

.roster-manager-form-table{
  width:100%;
  border-collapse:collapse;
}

.roster-manager-form-table th,
.roster-manager-form-table td{
  padding:.6rem 0;
  vertical-align:top;
}

.roster-manager-form-table th{
  width:240px;
  padding-right:1rem;
}

.roster-manager-form-table input[type="text"],
.roster-manager-form-table input[type="email"],
.roster-manager-form-table input[type="date"],
.roster-manager-form-table input[type="number"],
.roster-manager-form-table textarea{
  width:100%;
  max-width:560px;
}

.roster-manager-form-table textarea{
  min-height:110px;
}

.roster-checkbox{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}

.roster-checkbox input[type="checkbox"]{
  width:1.1rem;
  height:1.1rem;
  min-width:1.1rem;
  margin:0;
  padding:0;
  accent-color:var(--sky);
}

.roster-manager-form-actions{
  margin:1rem 0 0;
}

.roster-manager-pagination{
  margin-top:1rem;
}

.roster-manager-pagination .page-numbers{
  display:inline-block;
  margin:0 .25rem .25rem 0;
  padding:.55rem .8rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  text-decoration:none;
  font-weight:700;
}

.roster-manager-pagination .current{
  background:#e7f1ff;
}

@media (max-width: 960px){
  .eaa-roster-card-grid,
  .eaa-roster-view-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 782px){
  .eaa-roster-table-wrap{
    display:none;
  }

  .eaa-roster-card-list{
    display:block;
  }

  .roster-manager-form-table,
  .roster-manager-form-table tbody,
  .roster-manager-form-table tr,
  .roster-manager-form-table th,
  .roster-manager-form-table td{
    display:block;
    width:100%;
  }

  .roster-manager-form-table th{
    padding:.45rem 0 .2rem;
  }

  .roster-manager-form-table td{
    padding:0 0 .8rem;
  }
}

@media (max-width: 640px){
  .roster-manager-toolbar,
  .roster-manager-search{
    flex-direction:column;
    align-items:stretch;
  }

  .roster-manager-search input[type="search"]{
    width:100%;
  }
}

/* EAA1298 chapter videos */
.gallery-video-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,340px));
  justify-content:center;
  gap:1rem;
  margin-top:1rem;
}

.gallery-video-card{
  width:100%;
  background:#fff;
  border:1px solid rgba(13,59,102,.08);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.gallery-video-launch{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:inherit;
  cursor:pointer;
}

.gallery-video-poster{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#0d3b66 0%, #164c82 100%);
}

.gallery-video-play{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:84px;
  height:84px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:2px solid rgba(255,255,255,.3);
  color:#fff;
  font-size:2rem;
  line-height:1;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.gallery-video-body{
  padding:1rem 1rem 1.1rem;
  text-align:center;
}

.gallery-video-body h4{
  margin:0 0 .35rem;
  font-size:1.08rem;
}

.gallery-video-body p{
  margin:0 0 .7rem;
  color:var(--muted);
}

.gallery-video-cta{
  display:inline-block;
  font-weight:800;
  color:var(--sky);
}

.gallery-video-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(1rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
  overflow:auto;
}

.gallery-video-modal.is-hidden{
  display:none;
}

.gallery-video-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(7,18,32,.78);
}

.gallery-video-modal-dialog{
  position:relative;
  z-index:1;
  width:min(92vw,960px);
  max-width:92vw;
  max-height:calc(100dvh - 2rem);
  margin:auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.3);
  padding:1rem 1rem 1.2rem;
  overflow:auto;
}

.gallery-video-modal-close{
  position:absolute;
  top:.6rem;
  right:.65rem;
  width:44px;
  height:44px;
  border-radius:999px;
  padding:0;
  box-shadow:none;
  font-size:1.6rem;
  line-height:1;
}

.gallery-video-modal-title{
  margin:0 3.2rem .75rem 0;
  line-height:1.25;
}

#gallery-video-modal-player{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:16/9;
  max-height:min(70dvh, 56vw);
  background:#0b1726;
  border-radius:14px;
  object-fit:contain;
}

body.video-modal-open{
  overflow:hidden;
}

@media (max-width: 700px){
  .gallery-video-grid{
    grid-template-columns:1fr;
  }

  .gallery-video-modal{
    padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));
    align-items:flex-start;
  }

  .gallery-video-modal-dialog{
    width:min(100vw - 1rem, 100%);
    max-width:calc(100vw - 1rem);
    max-height:calc(100dvh - 1rem);
    margin:.5rem auto;
    padding:.8rem .75rem .9rem;
    border-radius:16px;
  }

  .gallery-video-modal-title{
    margin:0 2.6rem .6rem 0;
    font-size:1rem;
  }

  .gallery-video-modal-close{
    top:.45rem;
    right:.45rem;
    width:40px;
    height:40px;
    font-size:1.35rem;
  }

  #gallery-video-modal-player{
    max-height:min(58dvh, 52vw);
    border-radius:12px;
  }
}

@media (max-width: 430px){
  .gallery-video-modal-dialog{
    width:calc(100vw - .5rem);
    max-width:calc(100vw - .5rem);
    padding:.7rem .6rem .8rem;
  }

  #gallery-video-modal-player{
    max-height:min(52dvh, 56vw);
  }
}

@media (max-height: 430px) and (orientation: landscape){
  .gallery-video-modal{
    align-items:flex-start;
    padding:.35rem max(.5rem, env(safe-area-inset-right)) .5rem max(.5rem, env(safe-area-inset-left));
  }

  .gallery-video-modal-dialog{
    width:min(96vw, 1100px);
    max-width:96vw;
    max-height:calc(100dvh - .75rem);
    margin:.25rem auto;
    padding:.65rem .7rem .75rem;
  }

  .gallery-video-modal-title{
    margin:0 2.4rem .45rem 0;
    font-size:.98rem;
  }

  .gallery-video-modal-close{
    top:.35rem;
    right:.35rem;
    width:38px;
    height:38px;
  }

  #gallery-video-modal-player{
    max-height:calc(100dvh - 5.5rem);
  }
}


/* EAA1298 photo series lightbox */
.series-photo-launch{
  display:block;
  cursor:zoom-in;
}

.series-photo-launch:hover img{
  filter:brightness(.98);
}

.series-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
}

.series-lightbox.is-hidden{
  display:none;
}

.series-lightbox-backdrop{
  position:fixed;
  inset:0;
  background:rgba(7,18,32,.86);
}

.series-lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(96vw,1200px);
  max-height:92dvh;
  display:flex;
  align-items:center;
  justify-content:center;
}

.series-lightbox-figure{
  margin:0;
  width:100%;
  text-align:center;
}

.series-lightbox-figure img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:78dvh;
  margin:0 auto;
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  background:#fff;
}

.series-lightbox-caption{
  margin-top:.85rem;
  color:#fff;
}

.series-lightbox-caption strong{
  display:block;
  font-size:1.05rem;
}

.series-lightbox-caption span{
  display:block;
  margin-top:.25rem;
  color:rgba(255,255,255,.88);
}

.series-lightbox-close,
.series-lightbox-nav{
  position:absolute;
  z-index:2;
  border:0;
  border-radius:999px;
  width:46px;
  height:46px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  color:#0d3b66;
  box-shadow:none;
  font-size:1.75rem;
  line-height:1;
}

.series-lightbox-close{
  top:-.35rem;
  right:-.35rem;
}

.series-lightbox-prev{
  left:.35rem;
  top:50%;
  transform:translateY(-50%);
}

.series-lightbox-next{
  right:.35rem;
  top:50%;
  transform:translateY(-50%);
}

body.series-lightbox-open{
  overflow:hidden;
}

@media (max-width: 700px){
  .series-lightbox{
    padding:.5rem;
  }

  .series-lightbox-dialog{
    width:100%;
  }

  .series-lightbox-figure img{
    max-height:70dvh;
  }

  .series-lightbox-close{
    top:.15rem;
    right:.15rem;
    width:40px;
    height:40px;
  }

  .series-lightbox-prev,
  .series-lightbox-next{
    width:40px;
    height:40px;
  }

  .series-lightbox-prev{
    left:.15rem;
  }

  .series-lightbox-next{
    right:.15rem;
  }
}


/* EAA1298 gallery single photo lightbox */
.gallery-photo-launch{
  display:block;
  cursor:zoom-in;
}

.gallery-photo-launch:hover img{
  filter:brightness(.98);
}

.gallery-photo-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
}

.gallery-photo-lightbox.is-hidden{
  display:none;
}

.gallery-photo-lightbox-backdrop{
  position:fixed;
  inset:0;
  background:rgba(7,18,32,.86);
}

.gallery-photo-lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(96vw,1200px);
  max-height:92dvh;
  display:flex;
  align-items:center;
  justify-content:center;
}

.gallery-photo-lightbox-figure{
  margin:0;
  width:100%;
  text-align:center;
}

.gallery-photo-lightbox-figure img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:78dvh;
  margin:0 auto;
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  background:#fff;
}

.gallery-photo-lightbox-caption{
  margin-top:.85rem;
  color:#fff;
}

.gallery-photo-lightbox-caption strong{
  display:block;
  font-size:1.05rem;
}

.gallery-photo-lightbox-caption span{
  display:block;
  margin-top:.25rem;
  color:rgba(255,255,255,.88);
}

.gallery-photo-lightbox-close,
.gallery-photo-lightbox-nav{
  position:absolute;
  z-index:2;
  border:0;
  border-radius:999px;
  width:46px;
  height:46px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  color:#0d3b66;
  box-shadow:none;
  font-size:1.75rem;
  line-height:1;
}

.gallery-photo-lightbox-close{
  top:-.35rem;
  right:-.35rem;
}

.gallery-photo-lightbox-prev{
  left:.35rem;
  top:50%;
  transform:translateY(-50%);
}

.gallery-photo-lightbox-next{
  right:.35rem;
  top:50%;
  transform:translateY(-50%);
}

body.gallery-photo-lightbox-open{
  overflow:hidden;
}

@media (max-width: 700px){
  .gallery-photo-lightbox{
    padding:.5rem;
  }

  .gallery-photo-lightbox-dialog{
    width:100%;
  }

  .gallery-photo-lightbox-figure img{
    max-height:70dvh;
  }

  .gallery-photo-lightbox-close{
    top:.15rem;
    right:.15rem;
    width:40px;
    height:40px;
  }

  .gallery-photo-lightbox-prev,
  .gallery-photo-lightbox-next{
    width:40px;
    height:40px;
  }

  .gallery-photo-lightbox-prev{
    left:.15rem;
  }

  .gallery-photo-lightbox-next{
    right:.15rem;
  }
}


/* EAA1298 Manage Alerts frontend */
.eaa1298-home-alert-wrap{
  width:min(100% - 2rem,960px);
  margin:2rem auto 1rem;
  position:relative;
  z-index:2;
}

.eaa1298-home-alert{
  position:relative;
  padding:1.6rem 1.8rem;
  text-align:center;
  border-top:6px solid #c62839;
  box-shadow:0 22px 54px rgba(13,59,102,.16);
  background:linear-gradient(180deg,#fff8ed 0%,#ffffff 100%);
}

.eaa1298-home-alert-kicker{
  display:inline-block;
  margin:0 0 .7rem;
  padding:.32rem .75rem;
  border-radius:999px;
  background:#fff0f2;
  color:#9f2432;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.82rem;
}

.eaa1298-home-alert h2,
.eaa1298-prehome-alert h1{
  margin:.1rem 0 .8rem;
  color:var(--sky);
}

.eaa1298-home-alert-message,
.eaa1298-prehome-alert-message{
  color:#334e68;
  font-size:1.08rem;
}

.eaa1298-home-alert-message p,
.eaa1298-prehome-alert-message p{
  margin:.45rem 0;
}

.eaa1298-home-alert-action{
  margin:1rem 0 0;
}

.eaa1298-home-alert-dismiss{
  position:absolute;
  top:.75rem;
  right:.75rem;
  width:40px;
  height:40px;
  padding:0;
  border-radius:999px;
  box-shadow:none;
  background:#fff;
  color:#9f2432;
  border:1px solid #f0b9c2;
  font-size:1.45rem;
  line-height:1;
}

.eaa1298-home-alert-dismiss:hover,
.eaa1298-home-alert-dismiss:focus{
  background:#fff0f2;
  color:#7c1f2d;
}

.eaa1298-prehome-alert{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:linear-gradient(135deg,rgba(13,59,102,.96) 0%,rgba(22,76,130,.96) 100%);
  transition:opacity .25s ease, visibility .25s ease;
}

.eaa1298-prehome-alert.is-closing{
  opacity:0;
  visibility:hidden;
}

.eaa1298-prehome-alert-card{
  width:min(100%,820px);
  background:#fff;
  border-radius:24px;
  border-top:8px solid #f4b942;
  padding:2rem;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  text-align:center;
}

.eaa1298-prehome-alert-message{
  font-size:1.13rem;
  max-width:62ch;
  margin:0 auto;
}

.eaa1298-prehome-alert-countdown{
  margin:1.25rem 0 1rem;
  color:#486581;
  font-weight:800;
}

.eaa1298-prehome-count{
  color:#9f2432;
}

body.eaa1298-prehome-active{
  overflow:hidden;
}

.alert-manager-card{
  max-width:1000px;
  margin:0 auto;
}

.alert-manager-form{
  margin-top:1rem;
}

.alert-manager-toggle label{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0;
}

.alert-manager-toggle input[type="checkbox"]{
  width:1.2rem;
  height:1.2rem;
  min-width:1.2rem;
  margin:0;
  accent-color:var(--sky);
}

.alert-manager-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:1.2rem 0 0;
}

@media (max-width: 700px){
  .eaa1298-home-alert{
    padding:1.25rem 1rem;
  }

  .eaa1298-home-alert-dismiss{
    top:.55rem;
    right:.55rem;
    width:36px;
    height:36px;
  }

  .eaa1298-prehome-alert{
    align-items:flex-start;
    overflow:auto;
  }

  .eaa1298-prehome-alert-card{
    margin:1rem auto;
    padding:1.4rem 1rem;
  }

  .alert-manager-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .alert-manager-actions .button,
  .alert-manager-actions button{
    width:100%;
    text-align:center;
  }
}


/* EAA1298 alert centered overlay refinement */
.eaa1298-home-alert-wrap{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  z-index:999998 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:1.25rem !important;
  background:rgba(13,59,102,.26) !important;
  backdrop-filter:blur(3px);
  transition:opacity .22s ease, visibility .22s ease;
}

.eaa1298-home-alert-wrap.is-closing{
  opacity:0;
  visibility:hidden;
}

.eaa1298-home-alert-wrap .eaa1298-home-alert{
  width:min(100%,760px) !important;
  max-height:calc(100dvh - 2.5rem);
  overflow:auto;
  margin:0 auto !important;
}

@media (max-width:700px){
  .eaa1298-home-alert-wrap{
    align-items:flex-start !important;
    padding:.75rem !important;
    overflow:auto;
  }

  .eaa1298-home-alert-wrap .eaa1298-home-alert{
    margin:1rem auto !important;
    max-height:none;
  }
}

