/* Static-conversion helpers for zachballantyne.com (faithful rebuild) */

/* --- ICS schedule (replaces the dead events-calendar widget) --- */
.zb-schedule {
  width: 100%; max-width: 1140px; margin: 0 auto;
  padding: 10px 24px 60px; box-sizing: border-box;
  font-family: "Roboto", sans-serif;
}
.zb-sched-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 28px; }
.zb-flex { flex: 1; }
.zb-chip {
  padding: 8px 18px; border-radius: 30px; border: 1px solid #e3e3e3; background: #fff;
  color: #666; font-size: 14px; font-weight: 500; cursor: pointer;
  font-family: "Poppins", "Roboto", sans-serif; transition: all .2s;
}
.zb-chip:hover { border-color: #B31942; color: #B31942; }
.zb-chip.on { background: #B31942; border-color: #B31942; color: #fff; }
.zb-loading, .zb-no-events { text-align: center; color: #888; padding: 40px 0; }
.zb-month {
  font-family: "Roboto Slab", serif; font-size: 22px; color: #041E42;
  margin: 34px 0 14px; padding-bottom: 8px; border-bottom: 2px solid #f0e9e7;
}
.zb-event {
  display: flex; gap: 20px; align-items: center; background: #fff;
  border: 1px solid #eee; border-radius: 10px; padding: 14px 20px; margin-bottom: 10px;
  box-shadow: 0 2px 10px rgba(4, 30, 66, .05); transition: box-shadow .2s, transform .2s;
}
.zb-event:hover { box-shadow: 0 6px 18px rgba(4, 30, 66, .12); transform: translateY(-2px); }
.zb-event.zb-cancelled { opacity: .5; }
.zb-event.zb-cancelled .zb-ev-title { text-decoration: line-through; }
.zb-date {
  min-width: 62px; text-align: center; border-right: 1px solid #f0f0f0; padding-right: 16px;
}
.zb-date b { display: block; font-family: "Roboto Slab", serif; font-size: 28px; line-height: 1.1; color: #B31942; }
.zb-date small { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #999; }
.zb-ev-main { flex: 1; min-width: 0; }
.zb-ev-title { font-weight: 600; font-size: 15.5px; color: #041E42; }
.zb-ev-meta { color: #888; font-size: 13px; margin-top: 3px; display: flex; flex-wrap: wrap; gap: 3px 16px; }
.zb-tag {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 6px; white-space: nowrap;
}
.zb-tag.game { background: rgba(179, 25, 66, .12); color: #B31942; }
.zb-tag.practice { background: rgba(10, 49, 97, .15); color: #0A3161; }
.zb-tag.other { background: #f2f2f2; color: #888; }
.zb-tag.home { background: rgba(10, 49, 97, .15); color: #0A3161; }
.zb-tag.away { background: rgba(4, 30, 66, .1); color: #041E42; }
@media (max-width: 620px) { .zb-event { padding: 12px 14px; } .zb-tag { display: none; } }

/* CF7 spinner never applies on the static build */
.wpcf7 .wpcf7-spinner { display: none; }

/* --- Team USA polish --- */
:root {
  --zb-red: #B31942;
  --zb-blue: #0A3161;
  --zb-navy: #041E42;
}

/* league logo strip: single compact auto-rotating row, never taller than the
   profile image area */
.elementor-element-7596059 { max-height: 96px; overflow: hidden; display: block !important; padding: 8px 0 !important; }
.elementor-element-7596059 .zb-marquee-track {
  display: flex; align-items: center; gap: 56px; width: max-content;
  animation: zb-slide 30s linear infinite;
}
.elementor-element-7596059.zb-marquee:hover .zb-marquee-track { animation-play-state: paused; }
@keyframes zb-slide { to { transform: translateX(-50%); } }
.elementor-element-7596059 .elementor-widget-image { flex: 0 0 auto; width: auto !important; }
.elementor-element-7596059 .elementor-widget-image img { max-height: 72px; width: auto; }
img.zb-league-logo { height: 64px !important; width: auto; }
@media (prefers-reduced-motion: reduce) { .elementor-element-7596059 .zb-marquee-track { animation: none; flex-wrap: wrap; width: 100%; justify-content: center; } }

/* Personal Info: fixed label column, values aligned left beside it */
.pw-parsonal-info { width: 100%; padding: 30px 26px !important; box-sizing: border-box; }
.pw-parsonal-info .pw-custom-heading { margin-bottom: 18px; }
.pw-parsonal-info__list li {
  display: flex; align-items: baseline; justify-content: flex-start;
  gap: 0; flex-wrap: nowrap; font-size: 14px;
  padding: 13px 0 !important; margin: 0 !important;
}
.pw-parsonal-info__list li > span:first-child {
  white-space: nowrap; flex: 0 0 104px;
}
.pw-parsonal-info__list li > span:last-child, .pw-parsonal-info__list li b {
  text-align: left; white-space: nowrap; flex: 1; min-width: 0;
}

/* widen the left profile column so the info card breathes (main area was 68%) */
@media (min-width: 1025px) {
  .elementor-8624 .elementor-element.elementor-element-c17ff25 { --width: 62% !important; }
}

/* Zach has no socials — hide the placeholder icon row */
.pw-hero-social { display: none !important; }

/* header logo: bigger, centered over the profile column on desktop */
@media (min-width: 1025px) {
  .adas-wp-logo { min-width: 350px; display: flex; justify-content: center; }
}
#masthead .site-logo img { transition: transform .2s; }
#masthead .site-logo:hover img { transform: scale(1.04); }

/* teams grid: one column on phones, equal-height cards everywhere */
@media (max-width: 767px) {
  .elementor-8624 .elementor-element.elementor-element-f48205e {
    --e-con-grid-template-columns: 1fr !important;
  }
}
.elementor-element-f48205e .elementor-widget-pw-service-list,
.elementor-element-f48205e .elementor-widget-pw-service-list .elementor-widget-container,
.elementor-element-f48205e .pw-services-list,
.elementor-element-f48205e .pw-services-list__inner,
.elementor-element-f48205e .pw-services-list__single {
  height: 100%; box-sizing: border-box;
}

/* team cards: bold navy takeover on hover (replaces the washed pink tint) */
.elementor-8624 .elementor-widget-pw-service-list .elementor-widget-container {
  transition: background .28s ease, transform .28s ease, box-shadow .28s ease;
  border-radius: 10px; position: relative; overflow: hidden;
}
.elementor-8624 .elementor-widget-pw-service-list .elementor-widget-container::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 0;
  background: linear-gradient(180deg, var(--zb-red), #7d1230);
  transition: width .28s ease;
}
.elementor-8624 .elementor-widget-pw-service-list:hover .elementor-widget-container {
  background: linear-gradient(135deg, #041E42 0%, #0A3161 100%) !important;
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(4, 30, 66, .35);
}
.elementor-8624 .elementor-widget-pw-service-list:hover .elementor-widget-container::before { width: 5px; }
.elementor-8624 .elementor-widget-pw-service-list:hover .pw-services-list__title { color: #fff; }
.elementor-8624 .elementor-widget-pw-service-list:hover .pw-services-list__content p { color: #c9d4e4; }
.elementor-8624 .elementor-widget-pw-service-list:hover .pw-services-list__label {
  background: var(--zb-red); color: #fff;
}
.elementor-8624 .elementor-widget-pw-service-list .pw-services-list__icon img { transition: transform .28s ease; }
.elementor-8624 .elementor-widget-pw-service-list:hover .pw-services-list__icon img { transform: scale(1.08) rotate(-2deg); }

/* contact: full-width stacked fields in the form column, Google Map beside it */
.pw-contact-form { max-width: none; }
.pw-contact-form .block-form-contact .form-group { width: 100%; display: flex; align-items: baseline; }
.pw-contact-form .block-form-contact .form-group > p,
.pw-contact-form .block-form-contact .form-group p:has(.wpcf7-form-control-wrap) { flex: 1; width: 100%; }
.pw-contact-form .wpcf7-form-control-wrap { display: block; width: 100%; }
.pw-contact-form input.wpcf7-form-control,
.pw-contact-form textarea.wpcf7-form-control { width: 100% !important; }
@media (min-width: 1025px) {
  .elementor-8624 .elementor-element.elementor-element-b5b1a50 {
    --flex-direction: row !important; --flex-wrap: wrap; --gap: 30px 48px;
    align-items: stretch;
  }
  .elementor-8624 .elementor-element.elementor-element-88be37f { --width: 100% !important; }
  .elementor-8624 .elementor-element.elementor-element-b5bb9c3 { --width: 55% !important; flex-grow: 1; }
  .elementor-8624 .elementor-element.elementor-element-f656318 { --width: 38% !important; flex-grow: 1; }
  .elementor-element-f656318 .elementor-widget-google_maps,
  .elementor-element-f656318 .elementor-widget-container,
  .elementor-element-f656318 iframe { height: 100%; min-height: 420px; border-radius: 10px; }
}

/* accent colors readable in dark mode */
body.dark-theme {
  --e-global-color-secondary: #6FA8FF;
  --e-global-color-accent: #E3EAF6;
}

/* sidebar one-page nav: make sure dashicons sit centered in their pills */
.menu-item-sidebar .dashicons { line-height: inherit; width: auto; height: auto; font-size: 18px; }


/* floating light/dark toggle */
.zb-theme-toggle {
  position: fixed; left: 22px; bottom: 22px; z-index: 999;
  width: 46px; height: 46px; border-radius: 50%; cursor: pointer;
  background: var(--zb-navy); color: #fff; display: grid; place-items: center;
  box-shadow: 0 6px 18px rgba(4, 30, 66, .35); transition: transform .2s, background .2s;
}
.zb-theme-toggle:hover { transform: scale(1.08); background: var(--zb-red); }
.zb-theme-toggle a { color: #fff; display: grid; place-items: center; width: 100%; height: 100%; }
.zb-theme-toggle i { font-size: 18px; }
body.dark-theme .zb-theme-toggle { background: #f5f5f5; color: #041E42; }
body.dark-theme .zb-theme-toggle a { color: #041E42; }
body.dark-theme .zb-theme-toggle i::before { content: "\f185"; } /* sun */

/* events tabs: room for the injected schedule rows */
.e-n-tabs-content .zb-event { text-align: left; }
.e-n-tabs-content .zb-no-events { padding: 24px 0; }

/* dark-theme support for the injected schedule rows */
body.dark-theme .zb-event { background: #232426; border-color: #333; }
body.dark-theme .zb-ev-title { color: #f5f5f5; }
body.dark-theme .zb-ev-meta, body.dark-theme .zb-date small { color: #9aa3b2; }
body.dark-theme .zb-month { color: #c9d4e4; border-color: #333; }
body.dark-theme .zb-chip { background: #232426; border-color: #444; color: #a6a6a6; }
body.dark-theme .zb-chip.on { background: var(--zb-red); border-color: var(--zb-red); color: #fff; }
body.dark-theme .zb-tag.home { background: rgba(96, 170, 255, .18); color: #7ab5ff; }
body.dark-theme .zb-tag.away { background: rgba(255, 255, 255, .1); color: #cfd6e2; }
body.dark-theme .zb-tag.game { background: rgba(255, 99, 132, .16); color: #ff7d9c; }
body.dark-theme .zb-tag.practice { background: rgba(96, 170, 255, .18); color: #7ab5ff; }
body.dark-theme .zb-tag.other { background: rgba(255, 255, 255, .08); color: #aab2c0; }
body.dark-theme .zb-no-events { color: #9aa3b2; }

/* dark-theme contrast repairs for theme surfaces */
body.dark-theme .adas-sidebars__contact,
body.dark-theme .adas-sidebars__contact .e-con,
body.dark-theme .adas-sidebars__contact .e-con-inner {
  background-color: #1e2127 !important;
}
body.dark-theme .pw-parsonal-info { background: #1e2127 !important; }
body.dark-theme .pw-parsonal-info .pw-custom-heading,
body.dark-theme .pw-parsonal-info__list li,
body.dark-theme .pw-parsonal-info__list li span,
body.dark-theme .pw-parsonal-info__list li b { color: #e8ebf2 !important; }
body.dark-theme .pw-parsonal-info__list li { border-color: #333 !important; }
body.dark-theme .title-section .title-bg { opacity: .06; }

/* contact: form-only layout */
.zb-turnstile { margin: 18px 0 6px; min-height: 65px; }
.zb-form-note { margin-top: 12px; font-size: 14.5px; }
.zb-form-note.zb-ok { color: #2e7d4f; font-weight: 600; }
.zb-form-note.zb-err { color: var(--zb-red); font-weight: 600; }
body.dark-theme .zb-form-note.zb-ok { color: #6fd39a; }

/* auto-generated: brighten former-secondary accents in dark mode */
body.dark-theme .elementor-7583 .elementor-element.elementor-element-38a51f9 .elementor-nav-menu--main .elementor-item { color: #6FA8FF !important; }
body.dark-theme .elementor-7583 .elementor-element.elementor-element-38a51f9 .e--pointer-framed .elementor-item:before,
					.elementor-7583 .elementor-element.elementor-element-38a51f9 .e--pointer-framed .elementor-item:after { border-color: #6FA8FF !important; }

/* dark mode: icons and form fields */
body.dark-theme .pw-parsonal-info i,
body.dark-theme .form-icon i { color: #d63c60 !important; }
body.dark-theme .wpcf7 input.wpcf7-form-control,
body.dark-theme .wpcf7 textarea.wpcf7-form-control {
  color: #eef1f6; border-color: #3a3f47;
}
body.dark-theme .wpcf7 input.wpcf7-form-control::placeholder,
body.dark-theme .wpcf7 textarea.wpcf7-form-control::placeholder { color: #8b94a3; }

/* ===== mobile menu: full-screen Team USA overlay ===== */
.zb-mnav .modal-dialog.offcanvas-dialog {
  position: fixed !important; inset: 0 !important;
  width: 100vw !important; max-width: 100vw !important;
  height: 100dvh !important; margin: 0 !important;
  transform: none !important; transition: none !important;
}
.zb-mnav.modal.fade .modal-dialog { transform: none !important; }
.zb-mnav .modal-content { width: 100vw; opacity: 0; transition: opacity .25s ease; }
.zb-mnav.show .modal-content { opacity: 1; }
.zb-mnav .modal-content {
  height: 100vh; height: 100dvh; border: 0; border-radius: 0;
  background: linear-gradient(165deg, #041E42 0%, #0A3161 70%, #123c74 100%);
  display: flex; flex-direction: column; overflow: hidden; position: relative;
}
.zb-mnav .offcanvas-header { border: 0; padding: 18px 20px 0; justify-content: flex-end; }
.zb-mnav .btn-close {
  width: 46px; height: 46px; border-radius: 50%; opacity: 1;
  background: rgba(255,255,255,.1); color: #fff; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.2); font-size: 18px; transition: background .2s, transform .2s;
}
.zb-mnav .btn-close:hover { background: #B31942; transform: rotate(90deg); }
.zb-mnav .btn-close i { color: #fff; }
.zb-mnav-logo { text-align: center; padding: 0 0 10px; }
.zb-mnav-logo a { display: inline-block; }
.zb-mnav-logo img {
  display: inline-block; max-width: 168px; height: auto;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.35));
}
.zb-mnav .offcanvas-menu {
  flex: 1; display: flex; align-items: flex-start; justify-content: center;
  overflow-y: auto; padding: 14px 0 12px;
}
.zb-mnav .nav-menu { width: min(360px, 86vw); margin: 0 auto; padding: 0; }
.zb-mnav .nav-menu li { list-style: none; margin: 0 0 8px; opacity: 0; transform: translateX(-24px); }
.zb-mnav.show .nav-menu li { animation: zb-mnav-in .45s cubic-bezier(.22,1,.36,1) forwards; }
.zb-mnav.show .nav-menu li:nth-child(1) { animation-delay: .05s; }
.zb-mnav.show .nav-menu li:nth-child(2) { animation-delay: .11s; }
.zb-mnav.show .nav-menu li:nth-child(3) { animation-delay: .17s; }
.zb-mnav.show .nav-menu li:nth-child(4) { animation-delay: .23s; }
.zb-mnav.show .nav-menu li:nth-child(5) { animation-delay: .29s; }
.zb-mnav.show .nav-menu li:nth-child(6) { animation-delay: .35s; }
@keyframes zb-mnav-in { to { opacity: 1; transform: none; } }
.zb-mnav .nav-menu a {
  display: flex; align-items: center; gap: 16px;
  padding: 13px 16px; border-radius: 12px;
  font-family: "Poppins", "Roboto", sans-serif; font-size: 19px; font-weight: 600;
  color: #fff !important; text-decoration: none;
  transition: background .2s, transform .2s;
}
.zb-mnav .nav-menu a:hover, .zb-mnav .nav-menu a:active { background: rgba(255,255,255,.08); transform: translateX(4px); }
.zb-mnav .nav-menu .current-menu-item a { background: rgba(179,25,66,.28); }
.zb-mnav .nav-menu .current-menu-item .zb-mnav-ico { background: #B31942; }
.zb-mnav-ico {
  width: 42px; height: 42px; border-radius: 12px; flex: 0 0 42px;
  display: grid; place-items: center;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14);
}
.zb-mnav-ico i { color: #fff; font-size: 17px; }
.zb-mnav-foot { padding: 14px 0 40px; text-align: center; position: relative; }
.zb-mnav-badge {
  display: inline-block; padding: 9px 20px; border-radius: 999px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16);
  color: #cfe0ff; font-size: 13px; font-weight: 600; letter-spacing: .04em;
}
.zb-mnav-stripes { position: absolute; left: 0; right: 0; bottom: 0; height: 12px; display: flex; }
.zb-mnav-stripes i { flex: 1; }
.zb-mnav-stripes i:nth-child(1) { background: #B31942; }
.zb-mnav-stripes i:nth-child(2) { background: #fff; }
.zb-mnav-stripes i:nth-child(3) { background: #B31942; }

/* ===== mobile team cards: compact horizontal rows ===== */
@media (max-width: 767px) {
  .elementor-8624 .pw-services-list__single {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    align-items: center; gap: 14px;
    text-align: left; padding: 14px 16px;
  }
  .elementor-8624 .pw-services-list__icon {
    flex: 0 0 58px !important; width: 58px !important; height: 58px !important;
    margin: 0 !important; padding: 0 !important; display: grid; place-items: center;
  }
  .elementor-8624 .pw-services-list__icon img { width: 54px; height: 54px; object-fit: contain; }
  .elementor-8624 .pw-services-list__content { flex: 1; min-width: 0; }
  .elementor-8624 .pw-services-list__title { font-size: 16px; margin: 0 0 2px; }
  .elementor-8624 .pw-services-list__content p { font-size: 13px; margin: 0; }
  .elementor-8624 .pw-services-list__label { font-size: 11px; }
  /* let rows size to content on phones */
  .elementor-element-f48205e .elementor-widget-pw-service-list,
  .elementor-element-f48205e .elementor-widget-pw-service-list .elementor-widget-container,
  .elementor-element-f48205e .pw-services-list,
  .elementor-element-f48205e .pw-services-list__inner,
  .elementor-element-f48205e .pw-services-list__single { height: auto; }
  .elementor-element-f48205e .pw-services-list__icon { height: auto !important; }
  .elementor-8624 .elementor-element.elementor-element-f48205e { --e-con-grid-template-rows: auto !important; grid-auto-rows: auto; }
}

/* ===== mobile hero: app-style profile row (photo left, identity right) ===== */
@media (max-width: 767px) {
  .elementor-8624 .pw-hero-profiles {
    display: flex !important; flex-direction: row !important; align-items: center;
    gap: 16px; text-align: left !important; padding: 4px 2px;
  }
  .elementor-8624 .pw-hero-profiles .about-img { flex: 0 0 104px; margin: 0 !important; }
  .elementor-8624 .pw-hero-profiles .about-img img {
    width: 104px !important; height: 104px !important; border-radius: 50%;
    object-fit: cover; border: 3px solid var(--zb-red);
    box-shadow: 0 8px 20px rgba(4, 30, 66, .25);
  }
  .elementor-8624 .pw-hero-contact { flex: 1; min-width: 0; margin: 0 !important; text-align: left !important; }
  .elementor-8624 .pw-hero-contact__label {
    display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .05em;
    background: rgba(179, 25, 66, .1); color: var(--zb-red);
    padding: 4px 12px; border-radius: 999px; margin: 0 0 6px;
  }
  .elementor-8624 .pw-hero-contact__title { font-size: 22px; margin: 0 0 4px; text-align: left !important; }
  .elementor-8624 .pw-hero-contact__text { font-size: 13px; line-height: 1.55; margin: 0; text-align: left !important; }
  body.dark-theme .elementor-8624 .pw-hero-contact__label { background: rgba(214, 60, 96, .22); color: #ff7d9c; }
}

/* ===== profile photo click-to-expand overlay ===== */
.zb-photo-overlay {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(4, 12, 24, .94); display: grid; place-items: center;
  cursor: zoom-out; animation: zb-fade .2s ease;
}
@keyframes zb-fade { from { opacity: 0; } }
.zb-photo-overlay img {
  max-width: 94vw; max-height: 88vh; border-radius: 14px;
  box-shadow: 0 30px 80px rgba(0,0,0,.6); border: 0 !important;
}
.zb-photo-close {
  position: fixed; top: 16px; right: 20px; width: 44px; height: 44px;
  border-radius: 50%; background: rgba(255,255,255,.12); color: #fff;
  display: grid; place-items: center; font-size: 26px; line-height: 1;
}

/* ===== expertise cards: drop the icons, use the space for text ===== */
.elementor-8624 .creative-services__icon { display: none !important; }
.elementor-8624 .creative-services__single {
  padding: 22px 24px !important; border-left: 4px solid var(--zb-red);
}
.elementor-8624 .creative-services__title { margin-top: 0 !important; }

/* ===== personal info: tighter card ===== */
.pw-parsonal-info { padding: 20px 22px !important; }
.pw-parsonal-info .pw-custom-heading { margin-bottom: 8px; font-size: 20px; }
.pw-parsonal-info__list li { padding: 8px 0 !important; font-size: 13.5px; }

/* ===== mobile rhythm: consistent gutters, less vertical air ===== */
@media (max-width: 767px) {
  /* profile photo a touch bigger */
  .elementor-8624 .pw-hero-profiles .about-img { flex: 0 0 122px; }
  .elementor-8624 .pw-hero-profiles .about-img img { width: 122px !important; height: 122px !important; }
  /* consistent side gutters — no cards kissing the screen edge */
  .elementor-8624 > .e-con.e-parent > .e-con-inner,
  .elementor-8624 .adas-main-area { --padding-left: 14px; --padding-right: 14px; }
  /* the personal-info sidebar containers: slim the nested padding */
  .elementor-8624 .elementor-element.elementor-element-1002b47 { --padding-top: 10px; --padding-bottom: 10px; --padding-left: 12px; --padding-right: 12px; }
  .elementor-8624 .elementor-element.elementor-element-23ef8f3 { --padding-top: 8px; --padding-bottom: 8px; --padding-left: 8px; --padding-right: 8px; }
  /* calmer section spacing overall */
  .elementor-8624 .e-con.e-parent { --padding-top: 34px; --padding-bottom: 34px; }
}
