/*
Theme Name: Elevate 2027
Theme URI: https://elevateyourimpact.org/
Author: Michele Murray
Author URI: https://www.catalight.org
Description: Child theme for the Elevate yearly conference.
Template: catalight
Version: 1.0.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 5.6
Text Domain: elevateyourimpact
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks, accessibility-ready
*/

:root {
  --wp--preset--color--eyi-dark-purple: #372142;
  --wp--preset--font-family--avant-garde-gothic: "century-gothic", "Century Gothic", "Avant Garde Gothic", sans-serif;
}

*:not(#wpadminbar *) {
  font-family: "century-gothic", "Century Gothic", "Avant Garde Gothic", sans-serif !important;
  font-weight: 400;
}

strong,
b,
a:not(.menu-item a):not(.main-navigation a):not(.current-menu-item a):not(#wpadminbar a),
h1,
h2,
h3,
h4,
h5,
h6,
button,
th {
  font-weight: 600 !important;
}

h1, h2, h3, p.gradient-text-27 {
  word-break: normal;
  overflow-wrap: normal;
}

.text-wrap-balance {
  text-wrap: balance;
}

/* NAV BAR */

#masthead {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: transparent !important;
}

#masthead:after {
  opacity: 0;
}

.site,
.site-content,
#content,
main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.wp-block-cover:first-child,
.hero,
.entry-content > *:first-child {
    margin-top: -86px !important;
}

.main-navigation #primary-menu > li > a {
 padding-bottom: 1px;
  border-radius: unset !important;
  border-bottom: 2px solid transparent;
  font-family: var(--wp--preset--font-family--avant-garde-gothic);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.1;
  text-decoration: none;
  letter-spacing: 0.05em;
  color: white !important;
}

.main-navigation #primary-menu > li > a:hover,
.main-navigation #primary-menu > li > a:active {
  padding-bottom: 1px;
  border-radius: unset !important;
  border-bottom: 2px solid white;
  font-weight: 600 !important;
}

.main-navigation #primary-menu > li > a::before,
.main-navigation #primary-menu > li > a::after {
  display: block;
  height: 0;
  visibility: hidden;
  content: attr(title);
  overflow: hidden;
}

.main-navigation #primary-menu > li > a::before {
  font-weight: 600 !important;
}

.main-navigation #primary-menu > li > a::after {
  font-weight: 500 !important;
}

.main-navigation #primary-menu > li.current-menu-item > a,
.main-navigation #primary-menu > li.current_page_item > a {
 padding-bottom: 1px;
  border-radius: unset !important;
  border-bottom: 2px solid white;
  font-family: var(--wp--preset--font-family--avant-garde-gothic);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: color 0.2s linear;
}

.main-navigation #primary-menu > li.current-menu-item > a:hover,
.main-navigation #primary-menu > li.current-menu-item > a:active,
.main-navigation #primary-menu > li.current_page_item > a:hover,
.main-navigation #primary-menu > li.current_page_item > a:active {
  border-radius: unset !important;
}

.main-navigation #primary-menu > li > a,
.main-navigation #primary-menu > li > .name {
  padding-top: 4px;
}

/* HOMEPAGE / OVERVIEW */

.gradient-text {
background: var(--Pink-Gradient, linear-gradient(104deg, #7E0038 20.53%, #B30051 51.1%, #D5005F 77.08%, #FF0095 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

.gradient-text-27 {
  color: transparent;
  background: linear-gradient(103.92deg, #7E0038 20.53%, #B30051 51.1%, #D5005F 77.08%, #FF0095 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.background-gradient-27 {
  background: linear-gradient(103.92deg, #7E0038 20.53%, #B30051 51.1%, #D5005F 77.08%, #FF0095 100%);
}

#evidence-in-action-stats h2,
#evidence-in-action h2 {
  font-weight: 500 !important;
}

/* REGISTRATION INFO */

.thin-hr {
  border-top: 1px solid;
}


.wp-block-buttons .wp-block-button.is-style-outline.disabled > a.wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.is-style-outline.disabled > a.wp-block-button__link:active {
  border-color: currentColor !important;
  background-color: #ffffff !important;
  cursor: default !important;
}

.wp-block-buttons .wp-block-button.impact-cta.is-style-outline > a.wp-block-button__link {
  border-color: #c00057 !important;
}

.main-navigation #primary-menu > li.current-menu-item > a[href$="/registration"],
.main-navigation #primary-menu > li.current_page_item > a[href$="/registration"],
.main-navigation #primary-menu > li > a[href*="https://www.xcdsystem.com/catalight/attendee/index.cfm?ID=GTnn4Er"] {
  border-radius: 70px !important;
}


/* Nav pill — targets the menu item's CSS class, immune to URL changes */
.main-navigation #primary-menu li.nav-pill > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #ffffff !important;
  border-radius: 70px !important;
  padding: 6px 32px !important;
  font-family: "Century Gothic", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  transition: background 0.2s linear, border-color 0.2s linear !important;
}

.main-navigation #primary-menu li.nav-pill > a:hover,
.main-navigation #primary-menu li.nav-pill > a:active {
  border-color: transparent !important;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%) !important;
  color: #ffffff !important;
}

/* Suppress the standard nav underline effect on the pill */
.main-navigation #primary-menu li.nav-pill > a::before,
.main-navigation #primary-menu li.nav-pill > a::after {
  display: none !important;
  content: none !important;
}

/* CALL FOR PAPERS */

#submission-guidelines .accordion-block {
  position: relative;
  margin-top: 0;
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 32px;
  padding-right: 32px;
  border-radius: 0;
  border-bottom: 1px solid #000 !important;
}

#submission-guidelines .accordion-block .wp-block-columns {
  padding: var(--wp--preset--spacing--50) 0 0 0 !important;
}

#submission-guidelines .accordion-block .block-accordion-panel-title {
  position: relative;
  display: flex;
  box-sizing: border-box;
  padding-left: 0;
}

#submission-guidelines .accordion-block .block-accordion-panel-title h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  padding: 0;
  border-radius: 0;
  font-family: "Century Gothic", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  color: #401543;
  background-color: transparent;
  transition: all .3s;
}

#submission-guidelines .accordion-block .block-accordion-panel-title .icon-close {
  position: absolute;
  top: 7px;
  left: calc(100% - 1.5rem);
  z-index: 10;
  width: 15px;
  height: 19px;
  cursor: pointer;
  transition: all .3s ease-out;
  transition: 0.2s ease-in-out;
  transform: rotate(45deg);
  transform-origin: center center;
  /* justify-self: end; */
}

#submission-guidelines .accordion-block .block-accordion-panel-title .icon-close line {
  stroke: var(--wp--preset--color--pink);
}

#submission-guidelines .accordion-block.active .block-accordion-panel-title .icon-close {
  transform: rotate(45deg) !important;
  transform-origin: center center;
}

#submission-guidelines .accordion-block.active .block-accordion-panel-title .icon-close line:nth-child(2) {
  opacity: 0;
  transition: 0.2s ease-in-out;
}

#submission-guidelines .wp-block-columns {
  padding: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--50) 0;
}

#submission-guidelines .checkbox-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#submission-guidelines .checkbox-list li {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 3rem;
  font-family: sans-serif;
}

#submission-guidelines .checkbox-list li::before {
  position: absolute;
  top: 0.45rem;
  left: 1rem;
  width: 1rem;
  height: 1rem;
  border: 1px solid var(--wp--preset--color--dark-blue);
  border-radius: 3px;
  background: white;
  content: "";
}

/* CONTINUING EDUCATION */

#accreditations sup {
  position: relative;
  top: 3px;
  display: inline-block;
}

/* PAST CONFERENCES / HISTORY */

#backToTopBtn {
  position: fixed;
  top: 50%;
  left: 20px;
  z-index: 99;
  display: none;
  padding: 12px 18px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  color: #af1f57;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  box-shadow: none;
  transition: opacity 0.3s ease-in-out, color 0.3s ease-in-out;
  transform: translateY(-50%);
}

#backToTopBtn:hover {
  color: #8a1a44;
  background-color: transparent;
}

@media (max-width: 768px) {
  #backToTopBtn {
    left: 15px;
    padding: 10px 15px;
    font-size: 14px;
  }
}

.iframe-container {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.iframe-container.show {
  opacity: 1;
}

.custom-buttons .wp-block-column .wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link {
  border: 2px solid var(--wp--preset--color--pink) !important;
}

.custom-buttons .wp-block-column .wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:hover,
.custom-buttons .wp-block-column .wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:active {
  color: var(--wp--preset--color--white) !important;
}

/* FAQ page (markup in the page content; styles consolidated here) */

.faq-wrap {
  display: flex;
  align-items: flex-start;
  gap: 64px;
  max-width: 1275px;
  margin: 0 auto;
  padding: 96px 20px;
  box-sizing: border-box;
}

.faq-sidebar {
  flex: 0 0 300px;
  position: relative;
}

.faq-sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-sidebar-inner.is-floating {
  position: fixed;
  z-index: 50;
}

.faq-sidebar-inner.is-resting {
  position: absolute;
}

.faq-nav-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.faq-categories-label {
  font-family: "Century Gothic", sans-serif;
  font-weight: 700 !important;
  font-size: 15px;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #c00057;
  margin: 0;
}

.faq-nav-btn {
  display: block;
  width: 300px;
  box-sizing: border-box;
  padding: 8px 24px;
  border: 1px solid transparent;
  border-radius: 8px;
  background-color: #f4f4f4;
  color: #435b73;
  font-family: "Century Gothic", sans-serif;
  font-weight: 700;
  font-size: 18px;
  white-space: nowrap;
  text-align: left;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color 0.2s linear, color 0.2s linear, border-color 0.2s linear;
}

.faq-nav-btn:hover,
.faq-nav-btn:focus-visible {
  background-color: #c00057 !important;
  color: #ffffff !important;
  border-color: #c00057 !important;
  border-radius: 8px;
}

.faq-nav-btn:focus-visible {
  outline: 2px solid #435b73;
  outline-offset: 2px;
}

.faq-nav-btn.is-current {
  background-color: #c00057 !important;
  color: #ffffff !important;
  border-color: #c00057 !important;
}

.faq-content {
  flex: 1 1 0;
  min-width: 0;
}

/* Type scale lives here rather than on the blocks: theme.json turns fluid
   typography on, so a block-level fontSize of 37px/18px would render as a
   clamp() and shrink on narrow viewports. These are the fixed sizes the page
   has always used. Registered as an editor style too, so the block editor
   shows the same sizes. */

/* Section headers: first flush with the Categories label, roomy after that */
.faq-content h2 {
  margin-top: 64px;
  font-size: 37px;
  line-height: 1.2;
}

.faq-content h2:first-child {
  margin-top: 0;
}

/* Q&A rhythm. The margins restate what the browser default (1em) used to give
   these before they were blocks — WP's flow layout zeroes the first and last
   child's block margins via `:root :where(.is-layout-flow) > :first-child`,
   which scores (0,2,0), so these selectors need the extra element to outrank
   it. */
.faq-content .faq-qa h3 {
  margin-top: 18px;
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.8;
}

.faq-content .faq-qa p {
  margin-top: 0;
  margin-bottom: 18px;
  font-size: 18px;
  line-height: 1.8;
}

.faq-content hr.wp-block-separator {
  height: 1px;
  margin-top: 8px;
  margin-bottom: 8px;
  border: none !important;
  background-color: #daddeb !important;
}

#eyi-back-to-top {
  display: none;
  position: fixed;
  right: 16px;
  bottom: 24px;
  z-index: 999;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #c00057;
  color: #ffffff;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

#eyi-back-to-top.is-visible {
  display: flex;
}

@media (min-width: 901px) {
  #eyi-back-to-top {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .faq-wrap {
    flex-direction: column;
  }

  .faq-sidebar {
    width: 100%;
  }

  .faq-nav-links {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .faq-nav-btn {
    width: auto !important;
    white-space: normal;
    flex: 1 1 auto;
  }
}

/* Past Conferences page (markup in the page content; styles consolidated here,
   moved out of the inline <style> the page used to carry). #eyi-back-to-top is
   shared with the FAQ page and already defined above. */

.pastconf-wrap {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 1275px;
  margin: 0 auto;
  padding: 96px 20px;
  box-sizing: border-box;
}

.pastconf-sidebar {
  flex: 0 0 200px;
  position: relative;
}

.pastconf-sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pastconf-sidebar-inner.is-floating {
  position: fixed;
  z-index: 50;
}

.pastconf-sidebar-inner.is-resting {
  position: absolute;
}

.pastconf-nav-btn {
  display: block;
  width: 148px;
  box-sizing: border-box;
  padding: 8px 24px;
  border: 1px solid transparent;
  border-radius: 8px;
  background-color: #f4f4f4;
  color: #435b73;
  font-family: "Century Gothic", sans-serif;
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s linear, color 0.2s linear, border-color 0.2s linear;
}

.pastconf-nav-btn:hover,
.pastconf-nav-btn:focus-visible {
  background-color: #c00057;
  color: #ffffff;
  border-color: #c00057;
}

.pastconf-nav-btn:focus-visible {
  outline: 2px solid #435b73;
  outline-offset: 2px;
}

.pastconf-nav-btn.is-current {
  background-color: #c00057;
  color: #ffffff;
  border-color: #c00057;
}

.pastconf-content {
  flex: 1 1 0;
  min-width: 0;
}

/* The year divider is a core separator block now, which brings the block's own
   styling with it: `.wp-block-separator` sets a 2px border and global styles
   paint it plum. Reset all of that back to the hairline rule this page has
   always used. The descendant selector is what lets `margin` beat WP's
   flow-layout `:last-child { margin-block-end: 0 }`, which scores (0,2,0). */
.pastconf-content hr.pastconf-divider {
  height: 0;
  border: none;
  border-top: 1px solid #dddddd;
  background-color: transparent;
  margin: 48px 0;
}

/* The dividers supply all the spacing between years, so the year groups
   themselves stay flush. */
.pastconf-content .pastconf-year {
  margin-top: 0;
  margin-bottom: 0;
}

.past-conf-title-row {
  margin-top: 0 !important;
}

/* Columns blocks pick up the theme's preset gap; this row has always been
   flush, with the year on the left edge and the dates on the right.

   The doubled class on align-items is load-bearing: style-mobile-fixes.css
   sets `align-items: center !important` on this row below 781px and loads
   after this file. That rule has never actually taken effect — these
   declarations used to live in an inline <style> in the page body, which came
   later still in the cascade — so matching the page's existing rendering
   needs (0,2,0) here. */
.wp-block-columns.past-conf-title-row {
  gap: 0;
  align-items: flex-start !important;
}

.past-conf-title-row h2,
.past-conf-title-row p {
  margin-top: 0 !important;
}

/* Type scale here rather than on the blocks — theme.json fluid typography
   would turn a block-level fontSize into a clamp() and shrink these on
   narrow viewports. */
.past-conf-title-row h2 {
  font-size: 45px;
  line-height: 1;
}

.past-conf-title-row p {
  font-size: 15px;
  line-height: 1.2;
}

/* Below here the extra ancestor is load-bearing: WP's flow layout zeroes the
   first and last child's block margins with `:root :where(.is-layout-flow) >
   :first-child`, which scores (0,2,0), so a plain `.class element` selector
   (0,1,1) loses. These restate the margins the raw markup got from the
   browser's own h2/p/figure defaults. */
.pastconf-year .past-conf-title-row h2 {
  margin-bottom: 0.83em;
}

.pastconf-year .past-conf-title-row p {
  margin-bottom: 1em;
}

.pastconf-year > figure {
  margin-top: 0;
  margin-bottom: 16px;
}

/* Speaker cards: the gap between them comes from the session paragraph's own
   bottom margin collapsing out, not from the block gap. */
.pastconf-year .wp-block-group {
  margin-top: 0;
}

.pastconf-year p.eyi-speaker-name {
  margin-top: 18px;
  margin-bottom: 0;
}

.pastconf-year p.eyi-speaker-session {
  margin-top: 0;
  margin-bottom: 24px;
}

@media (max-width: 900px) {
  .pastconf-wrap {
    flex-direction: column;
  }

  .pastconf-sidebar {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
  }

  .pastconf-nav-btn {
    width: auto !important;
    flex: 1 1 auto;
  }
}

/* BUTTONS */

:root :where(.wp-element-button, .wp-block-button__link) {
  padding-top: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
  transition: 0.2s linear;
}

.wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link {
  transition: 0.2s linear;
}
.wp-block-buttons .wp-block-button.is-style-outline.pink-hover > a.wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.is-style-outline.pink-hover > a.wp-block-button__link:active {
  border: 1px solid transparent !important;
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  background: linear-gradient(90deg, #8e0045 0%, #ff2d95 100%) !important;
  transition: background 0.2s linear, border-color 0.2s linear !important;
}

.wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link {
  margin-top: 5px;
  padding-top: var(--wp--preset--spacing--30);
  padding-bottom: var(--wp--preset--spacing--30);
  border: 1px solid #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}

.elevate .thin-button a:not(.menu-item a):not(.main-navigation a):not(.current-menu-item a):not(#wpadminbar a) {
  border-width: 1px;
  font-weight: 300 !important;
}

.elevate .thin-button.wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:hover,
.elevate .thin-button.wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:active,
.elevate .thin-button.wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:focus,
.elevate .wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:hover,
.elevate .wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:active,
.elevate .wp-block-buttons .wp-block-button.is-style-outline > a.wp-block-button__link:focus,
:root :where(.elevate .wp-element-button:hover, .wp-block-button__link:hover),
:root :where(.elevate .wp-element-button:hover, .wp-block-button__link:hover),
:root :where(.elevate .wp-element-button:hover, .wp-block-button__link:hover) {
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%);
  border-color: transparent !important;
  background-size: 120%;
  background-position: -10px;
}

/* Gradient hover fade — background-image can't transition, so the hover
   gradient lives on a ::before overlay that fades in above the button's
   real background; background-image:none on hover stops the instant swap
   from the gradient rules above. */
.cta-button .wp-block-button__link,
.eyi-pricing-card .wp-block-button__link,
.eyi-pricing-card-reg .wp-block-button__link {
  position: relative;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
}

.cta-button .wp-block-button__link::before,
.eyi-pricing-card .wp-block-button__link::before,
.eyi-pricing-card-reg .wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%);
  opacity: 0;
  transition: opacity 0.2s linear;
}

.cta-button .wp-block-button__link:hover,
.cta-button .wp-block-button__link:active,
.eyi-pricing-card .wp-block-button__link:hover,
.eyi-pricing-card .wp-block-button__link:active,
.eyi-pricing-card-reg .wp-block-button__link:hover,
.eyi-pricing-card-reg .wp-block-button__link:active {
  background-image: none;
}

.cta-button .wp-block-button__link:hover::before,
.cta-button .wp-block-button__link:active::before,
.eyi-pricing-card .wp-block-button__link:hover::before,
.eyi-pricing-card .wp-block-button__link:active::before,
.eyi-pricing-card-reg .wp-block-button__link:hover::before,
.eyi-pricing-card-reg .wp-block-button__link:active::before {
  opacity: 1;
}

/* theme.json gives every button a 4px transparent border; the base color
   paints under it and shows as a ring around the hover overlay. Drop the
   border on the filled gradient-hover buttons and fold its 4px into the
   padding (!important to beat the editor's inline padding). Outline
   cta-buttons (e.g. Make an Impact) keep their real border. */
.wp-block-button.cta-button:not(.is-style-outline) .wp-block-button__link,
.eyi-pricing-card .wp-block-button__link,
.eyi-pricing-card-reg .wp-block-button__link {
  border: none;
}

.wp-block-button.cta-button:not(.is-style-outline) .wp-block-button__link {
  padding: 6px 52px !important;
}

.eyi-pricing-card .wp-block-button__link,
.eyi-pricing-card-reg .wp-block-button__link {
  padding: 12px 52px !important;
}

/* Timeline "Get Deadline Reminders" CTA — same fade; base + hover styles
   are inline in the homepage content, this id outranks them. The overlay
   extends under the 1px border (inset:-1px, no overflow clip) and the
   border goes transparent on hover so no crimson ring shows. */
a#deadline-reminder-btn {
  position: relative;
  z-index: 0;
  isolation: isolate;
  transition: color 0.2s linear, border-color 0.2s linear;
}

a#deadline-reminder-btn::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%);
  opacity: 0;
  transition: opacity 0.2s linear;
}

a#deadline-reminder-btn:hover,
a#deadline-reminder-btn:active {
  background-image: none;
  border-color: transparent;
  color: #ffffff;
}

a#deadline-reminder-btn:hover::before,
a#deadline-reminder-btn:active::before {
  opacity: 1;
}

/* BUTTONS - SOCIAL MEDIA */
.cta-button .wp-element-button {
  transition: background 0.2s linear, border-color 0.2s linear;
}

.catalight-social-media-buttons {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.catalight-social-media-buttons li {
  margin: 0 0.75rem 0 0;
}

.catalight-social-media-buttons li a {
  display: inline-block;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 50%;
  background: var(--wp--preset--color--plum);
  transition: all 0.2s;
}

.catalight-social-media-buttons li a path {
  transition: all 0.2s;
  fill: var(--wp--preset--color--white);
}

.catalight-social-media-buttons li a:hover {
  background: var(--wp--preset--color--5-percent-plum);
}

.catalight-social-media-buttons li a:hover path {
  fill: var(--wp--preset--color--plum);
}

.catalight-social-media-buttons li svg {
  display: block;
  width: 34px;  /* 75% of the 45px circle; svg letterboxes to preserve aspect */
  height: 34px;
}

.elevate .catalight-social-media-buttons li a {
  background: var(--wp--preset--color--pink);
}

.elevate .catalight-social-media-buttons li a:hover {
  background: var(--wp--preset--color--5-percent-plum);
}

.elevate .catalight-social-media-buttons li a:hover path {
  fill: var(--wp--preset--color--pink-hover);
}

/* FOOTER */

#about-catalight,
.border-bottom {
  border-bottom: 1px solid var(--wp--preset--color--light-blue) !important;
}

footer .footer-logo {
  padding-bottom: var(--wp--preset--spacing--50);
}

footer#colophon {
  /* border-top: 1px solid #435b73; */
	padding: 0;
}

footer [class^="menu-footer"] a {
  font-size: 14px;
  transition: text-shadow 0.2s ease;
}

footer [class^="menu-footer"] a:hover,
footer [class^="menu-footer"] a:active {
  font-weight: 600 !important;
}

footer [class^="menu-footer"] a::before,
footer [class^="menu-footer"] a::after {
  display: block;
  height: 0;
  visibility: hidden;
  content: attr(title);
  overflow: hidden;
}

footer [class^="menu-footer"] a::before {
  font-weight: 600 !important;
}

footer [class^="menu-footer"] a::after {
  font-weight: 500 !important;
}

footer .current-menu-item > a,
footer .current_page_item > a {
  font-weight: 600 !important;
}

@media screen and (max-width: 768px) {
  #colophon-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem 1rem 0.5rem;
    text-align: center;
  }

  #colophon-navs {
    order: 1;
    width: 100%;
    margin: 0 0 1rem;
    padding: 0;
  }

  #colophon-navs ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #colophon-navs ul li {
    margin: 0.25rem 0;
  }

  #colophon-navs a {
    font-size: 16px;
    text-decoration: none;
  }

  #colophon-mid {
    order: 2;
    margin: 0.5rem 0 1rem;
  }

  #colophon-mid .wp-block-button a {
    font-size: 16px !important;
    text-decoration: none !important;
    color: #8f6c94 !important;
  }

  #colophon-end {
    order: 3;
    margin: 0.5rem 0 0.5rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-align: center;
    color: #435B73;
  }

  #colophon-end .copyright {
    margin: 0 0 0.75rem;
  }

  .social-media-icons {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin-bottom: 0.5rem;
  }

  .social-media-icons a {
    font-size: 22px;
    color: #8f6c94;
  }

  #colophon-navs > div {
    margin-bottom: 0;
  }

  footer.site-footer {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

}

span.bounce {
  display: inline-block;
  animation: bounce 1.2s ease-in-out infinite;
}

/* inner element handles scale */
span.bounce span {
  display: inline-block;
  transform: scaleX(1.25) scaleY(1);
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }

  30% {
    transform: translateY(-8px);
  }

  50% {
    transform: translateY(-8px);
  }

  70% {
    transform: translateY(0);
  }

  85% {
    transform: translateY(-4px);
  }

  100% {
    transform: translateY(0);
  }
}

.elevate #eyi-hero-home {
  background-position: calc(50vw - 2177px) center !important;
}

@media screen and (max-width: 1350px) {
  .elevate #eyi-hero-home {
    background-position: calc(-1500px) center !important;
  }
}

@media screen and (max-width: 768px) {
  .elevate #eyi-hero-home {
    background-position: calc(-1560px) center !important;
  }
}

@media screen and (max-width: 768px) {
  .elevate #eyi-hero-home .wp-block-columns:first-of-type .wp-block-column {
    display: flex;
    justify-content: center;
  }

  .elevate #evidence-in-action-stats .wp-block-columns {
    row-gap: 1em;
  }

  .elevate #evidence-in-action .wp-block-columns .wp-block-column:nth-child(1),
  .elevate #evidence-in-action .wp-block-columns .wp-block-column:nth-child(1) h2 {
    text-align: left !important;
  }

  .elevate #evidence-in-action .wp-block-group > * { 
    max-width: unset !important;
  }

  .elevate #evidence-in-action .wp-block-columns .wp-block-column:nth-child(2) {
    margin-top: var(--wp--preset--spacing--60);
    padding: var(--wp--preset--spacing--60) !important;
  }
}

.elevate .full-width-border {
  border-width: 1px 0 1px 0;
  border-color: #ccc !important;
  border-style: solid;
}

@media (min-width: 768px) {
  .vertical-border {
    border-style: solid;
    border-width: 0 1px 0 1px;
    border-color: #ccc;
  }
}



/* Michele's Edits/Additions */


.main-navigation #primary-menu > li {
    text-transform: none;
}
.main-navigation #primary-menu > li > a {
    font-size: 15px;
	font-weight: 700!important;
}

.wp-block-buttons .pink-hover.is-style-text-only .wp-element-button {
  text-decoration: none!important;
}
.wp-block-buttons .is-style-text-only .wp-element-button,
.wp-block-buttons .is-style-text-only .wp-element-button:hover,
.wp-block-buttons .is-style-text-only .wp-element-button:focus,
.wp-block-buttons .is-style-text-only .wp-element-button:visited {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.wp-block-buttons .is-style-text-only .wp-element-button::after,
.wp-block-buttons .is-style-text-only .wp-element-button::before {
  display: none !important;
}


/* EYI FAQ page */

.eyi-faq-layout {
  display: flex;
  gap: 72px;
  align-items: flex-start;
}
.faq-nav-col {
  position: sticky;
  top: 24px;
  width: 314px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.faq-nav-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-content-col {
  flex: 1 1 0px;
  display: flex;
  flex-direction: column;
  gap: 0px;
  height: calc(100vh - 150px); /* 150px = sticky header height + top gap */
  overflow-y: auto;
  padding-right: 16px;
}
.faq-qa {
  display: flex;
  flex-direction: column;
  gap: 0;
}

@media (max-width: 781px) {
  .eyi-faq-layout {
    flex-direction: column;
    gap: 32px;
  }
  .faq-nav-col {
    position: static;
    top: auto;
    width: 100%;
  }
  .faq-content-col {
    height: auto;
    overflow-y: visible;
    padding-right: 0;
  }
}

/* EYI Testimonial Carousel */

/* Widen this section's constrained container to a 1600px grid so the side
   marks spread out instead of hugging the default content width */
.section-block.is-layout-constrained:has(.eyi-quotes-carousel) > .container {
  max-width: 1600px;
}

.eyi-quotes-carousel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  background-color: #1c0a23 !important;
  padding: 81px 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}


 .eyi-side-mark {
  position: absolute !important;
  top: 50% !important;
  width: 20.8vw !important;
  max-width: 304px !important;
  height: auto !important;
  aspect-ratio: 272 / 206 !important;
  object-fit: contain !important;
  transform: translateY(-50%) !important;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s ease !important;
  z-index: 1 !important;
}

/* The percent SVG (b6b69530…) is near-square with preserveAspectRatio="none",
   so the quote marks' 272/206 box distorts it — give it a 1:1 box instead */
.eyi-side-mark[src*="b6b69530"] {
  aspect-ratio: 1 / 1 !important;
}
.eyi-side-mark--left {
  left: 0 !important;
}

.eyi-side-mark--right {
  right: 0 !important;
  transform: translateY(-50%) rotate(180deg) !important;
}

.eyi-side-mark.is-hidden-left {
  transform: translateY(-50%) translateX(-160px) !important;
  opacity: 0 !important;
}

.eyi-side-mark.is-hidden-right {
  transform: translateY(-50%) rotate(180deg) translateX(-160px) !important;
  opacity: 0 !important;
}

.eyi-quotes-track {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
  transition: height 0.4s ease !important;
}

  .eyi-quote-slide {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .eyi-quote-slide.is-active {
    position: relative !important;
    top: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .eyi-quote-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    text-align: center !important;
    color: #ffffff !important;
    width: 100% !important;
    padding: 32px !important;
    opacity: 0 !important;
    transform: scale(0.9) translateY(10px) !important;
    transition: opacity 0.45s ease 0.12s, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.12s !important;
  }

  .eyi-quote-slide.is-active .eyi-quote-content {
    opacity: 1 !important;
    transform: scale(1) translateY(0) !important;
  }

  .eyi-quote-headline {
    font-family: "Century Gothic", sans-serif !important;
    font-weight: 700 !important;
    font-size: 37px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }

  .eyi-quote-body {
    font-family: "Century Gothic", sans-serif !important;
    font-weight: 400 !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
  }

  .eyi-quote-attribution {
    font-family: "Century Gothic", sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    margin: 0 !important;
  }

  .eyi-stat-content {
    flex-direction: row !important;
    gap: 24px !important;
    white-space: nowrap !important;
  }

  .eyi-stat-number {
    font-family: "Century Gothic", sans-serif !important;
    font-weight: 700 !important;
    font-size: 94px !important;
    margin: 0 !important;
  }

  /* Testimonial slides read as one bold block: single size/weight, even
     line-height, no gap between headline and body sentences */
  .eyi-quote-slide[data-mark="quote"] .eyi-quote-content {
    gap: 0 !important;
  }

  .eyi-quote-slide[data-mark="quote"] .eyi-quote-headline,
  .eyi-quote-slide[data-mark="quote"] .eyi-quote-body {
    font-weight: 700 !important;
    font-size: 32px !important;
    line-height: 1.35 !important;
  }

  .eyi-quote-slide[data-mark="quote"] .eyi-quote-attribution {
    margin-top: 24px !important;
  }

  /* Stat slides: copy sits left-aligned beside the number, not centered */
  .eyi-stat-content .eyi-quote-body {
    text-align: left !important;
  }

  .eyi-quotes-dots {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 12px !important;
    margin-top: 12px !important;
  }

  .eyi-quote-dot {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    border: none !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: opacity 0.2s ease, background-color 0.2s ease !important;
  }

  .eyi-quote-dot.is-active {
    background-color: #af1f57 !important;
    opacity: 1 !important;
  }

  .eyi-quote-pause {
    flex-basis: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 8px !important;
    background: none !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1 !important;
    padding: 0 !important;
    cursor: pointer !important;
  }

  @media (max-width: 900px) {
    .eyi-side-mark {
      display: none !important;
    }
    .eyi-quote-headline,
    .eyi-stat-number {
      font-size: 28px !important;
    }
    .eyi-quote-body {
      font-size: 18px !important;
    }
    .eyi-stat-content {
      flex-direction: column !important;
    }
  }

.stats-full-width {
  height: 1px !important;
  border: none !important;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* EYI Registration */

.eyi-pricing-columns {
  column-gap: var(--wp--preset--spacing--50);
  row-gap: var(--wp--preset--spacing--50);
}

.eyi-impact-columns {
  column-gap: 48px;
  row-gap: 48px;
}

/* EYI Footer */

.eyi-footer-grid {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 100%;
  max-width: 1275px;
  margin: 0 auto;
  padding: 120px 20px;
  box-sizing: border-box;
}

/* Kill the side padding on the footer grid (parent's spacing-60/80 and the
   20px above) so it aligns with the main nav / content column; mobile keeps
   its own padding from the max-768 rules */
@media screen and (min-width: 769px) {
  #colophon #colophon-inner.eyi-footer-grid {
    padding-left: 0;
    padding-right: 0;
  }
}

.eyi-footer-row--top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.eyi-footer-logo {
  width: 364px;
  height: auto;
  max-width: 100%;
}

/* Footer signup rules: see FOOTER SIGNUP FORM section below */

.eyi-footer-divider {
  border: none;
  border-top: 1px solid #435B73;
  opacity: 0.3;
  margin: 0;
  width: 100%;
}

.eyi-footer-row--middle {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.eyi-footer-address .site-address {
  font-family: "Century Gothic", sans-serif;
  font-size: 18px;
  line-height: 1.8;
  color: #435B73;
  margin: 0;
}

.eyi-footer-contact-link {
  margin: 0;
}

.eyi-footer-contact-link a {
  font-family: "Century Gothic", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  color: #c00057;
  text-decoration: none;
}

.eyi-footer-sitelinks {
  display: flex;
  justify-content: space-between;
  flex: 1;
  margin-left: 64px;
}

.eyi-footer-sitelinks-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.eyi-footer-sitelinks a {
  font-family: "Century Gothic", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  color: #c00057;
  text-decoration: none;
  white-space: nowrap;
}

.eyi-footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 16px;
  width: 100%;
}

#colophon #colophon-inner .eyi-footer-legal a {
  font-family: "Century Gothic", sans-serif;
  font-size: 13px;
  line-height: 1.8;
  color: #c00057;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 1;
  font-weight: 400 !important;
}
.eyi-footer-row--bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.eyi-footer-row--bottom .copyright {
  font-family: "Century Gothic", sans-serif;
  font-size: 13px;
  color: #435B73;
  margin: 0;
}
.eyi-footer-row--bottom .catalight-social-media-buttons {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.eyi-footer-row--bottom .catalight-social-media-buttons li {
  margin: 0 !important;
}

.eyi-footer-row--bottom .catalight-social-media-buttons li a {
  width: 2rem;
  height: 2rem;
}

.eyi-footer-row--bottom .catalight-social-media-buttons svg {
  width: 60%;
  height: 60%;
}

@media (max-width: 900px) {
  .eyi-footer-row--top,
  .eyi-footer-row--middle,
  .eyi-footer-legal,
  .eyi-footer-row--bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .eyi-footer-sitelinks {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-left: 0;
  }

  .eyi-footer-sitelinks-col {
    align-items: center;
  }
}
/* Stats bar: widen the row (Figma cells are ~620px) so the letter-spaced
   figures get breathing room from the cell dividers. The section's own
   constrained layout caps its .container child at content-size, so that
   wrapper needs the raise too. */
.eyi-stats-row.is-layout-constrained > .container,
.eyi-stats-row .wp-block-group.alignwide {
  max-width: 1860px;
}

/* Stats bar: the cells are vertically centered, so the shorter ones didn't
   reach the top/bottom rules and their right-border dividers floated short of
   them. Stretch every cell to the full row height and center its content
   internally so the dividers meet both horizontal lines. */
.eyi-stats-row .wp-block-columns {
  align-items: stretch !important;
}
.eyi-stats-row .wp-block-column {
  align-self: stretch !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.eyi-ceus-logos .wp-block-image {
  width: auto;
  max-width: 100%;
  /* The generated layout gives every figure an equal flex-basis cell with the
     art left-aligned inside — gaps look uneven and the row reads off-center.
     Size each figure to its logo so space-between spaces the art evenly. */
  flex: 0 0 auto !important;
}

.eyi-ceus-logos .wp-block-image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
  /* The logos are the full-colour artwork; they are desaturated here and come
     back to colour on hover. Same idea as the Academy site's footer credential
     row, but with `filter` rather than `mix-blend-mode: luminosity` — blend
     modes can't be transitioned and are relative to whatever is painted
     behind, whereas grayscale() animates and looks identical on any panel.
     Straight grayscale with no brightness or opacity change measures within a
     few points of the greyed PNGs this row used before. */
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.eyi-ceus-logos .wp-block-image img:hover {
  filter: grayscale(0%);
}

/* The seven logos need about 965px on one line. The block's own layout sets
   flex-wrap:nowrap from core-block-supports, which is printed after this file,
   so wrapping them below that width needs !important. Without this the row
   spills past its container on tablet and phone. */
@media (max-width: 1199px) {
  .eyi-ceus-logos .wp-block-group.alignwide {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 40px 48px;
  }
}

@media (max-width: 900px) {
  .eyi-ceus-logos .wp-block-image img {
    max-height: 64px;
  }

  .eyi-ceus-logos .wp-block-group.alignwide {
    gap: 32px 40px;
  }
}

/* Touch devices have no hover, so leave the logos in full colour there rather
   than permanently greyed out. */
@media (hover: none) {
  .eyi-ceus-logos .wp-block-image img {
    filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eyi-ceus-logos .wp-block-image img {
    transition: none;
  }
}
/* Empty paragraphs (stray editor artifacts) add phantom vertical space.
   Hero eyebrows are excluded — legal pages use an empty eyebrow as the
   spacer that positions the page title. */
p:empty:not(.eyi-hero-eyebrow) {
  display: none;
}

/* ==========================================================================
   Copy converted out of Classic blocks
   These paragraphs used to be wp:freeform, which carried raw inline styles.
   Everything that maps to a block attribute now lives on the block; the
   properties below cannot, so they live here:
     - font-size: theme.json enables fluid typography, so a block-level
       fontSize renders as a clamp() and would shrink these on narrow
       viewports. They have always been a fixed size.
     - max-width / auto side margins: paragraphs have no block attribute for
       a measure.
   ========================================================================== */

.eyi-hero-subtitle {
  font-size: 18px;
}

/* The interior-page hero lede is deliberately NOT .eyi-hero-subtitle:
   style-mobile-fixes.css drops that class to 16px below 781px, and these two
   have always stayed at 18px. */
.eyi-hero-lede {
  font-size: 18px;
  max-width: 1056px;
  margin-left: auto;
  margin-right: auto;
}

.cta-body {
  font-size: 18px;
  margin-left: auto;
  margin-right: auto;
}

.cta-body--600 {
  max-width: 600px;
}

.cta-body--720 {
  max-width: 720px;
}

/* Small letterspaced label above a heading ("Buy One, Give One", "Credits
   provided by"). Sizing only — colour and spacing stay on the block. */
.eyi-eyebrow {
  font-size: 15px;
}

/* style-mobile-fixes.css targets these labels with
   `p[style*="letter-spacing:6px"]` and adds a 16px bottom margin below 781px.
   That matches on the text of the inline style, so the Registration label
   escaped it purely because its old Classic-block markup wrote
   `letter-spacing: 6px` with a space. Now that the block serializer writes it
   without one the rule would start applying, so keep that label flush as it
   has always rendered. An attribute selector scores the same as a class, so
   that rule is (0,4,1) and — loading after this file — wins a tie; both
   classes are named here to reach (0,5,1). */
@media (max-width: 781px) {
  .eyi-pricing-section .wp-block-columns.are-vertically-aligned-center p.eyi-eyebrow.eyi-eyebrow--flush {
    margin-bottom: 0 !important;
  }
}

/* History page speaker lists (classes replace repeated inline styles) */
.eyi-speakers-heading {
  color: #c00057;
  margin-top: 64px;
  margin-bottom: 8px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
}

.eyi-speaker-name {
  color: #435b73;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.3;
}

.eyi-speaker-session {
  color: #435b73;
  margin-top: 0;
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.2;
}

/* Accreditation grid: theme default block gap is ~80px; Figma uses even
   48px gutters between the cards and inside the featured IACET box */
.eyi-accred-row.wp-block-columns,
.eyi-accred-featured .wp-block-columns,
.eyi-ce-intro .wp-block-columns,
.wp-block-columns:has(.eyi-speaker-name) {
  gap: 48px !important;
}

.program-nav-col {
  position: sticky;
  top: 100px;
  align-self: flex-start;
}

.program-content-col {
  max-height: calc(100vh - 140px);
  overflow-y: auto;
  scroll-behavior: smooth;
  padding-right: 12px;
}
.eyi-legal-content h1 {
  font-size: 54px !important;
  font-weight: 400 !important;
  color: #435b73 !important;
  line-height: 1.2 !important;
}
.eyi-legal-content h2 {
  font-size: 37px !important;
  font-weight: 400 !important;
  color: #435b73 !important;
  line-height: 1.2 !important;
}
.eyi-legal-content h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #435b73 !important;
  line-height: 1.2 !important;
}
.eyi-legal-content h4 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #435b73 !important;
  line-height: 1.2 !important;
}
.eyi-legal-content p,
.eyi-legal-content li {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #435b73 !important;
  line-height: 1.8 !important;
}
.eyi-legal-content a {
  color: #c00057 !important;
}
.eyi-display-heading {
  font-weight: 400 !important;
}
.past-conf-nav-col .wp-block-button__link.is-active {
  background-color: #c00057 !important;
  color: #fff !important;
  border-color: #c00057 !important;
}
.past-conf-nav-col .wp-block-buttons .wp-block-button__link.is-current,
.past-conf-nav-col .wp-block-buttons .wp-block-button__link.is-current:hover {
  border: 2px solid #c00057 !important;
  background-color: #f4f4f4 !important;
  color: #435b73 !important;
}

/* Nav positioning handled by JS (position:fixed on scroll); CSS sticky is blocked by ancestor overflow:hidden */
/* ==========================================================================
   FOOTER SIGNUP FORM (Formstack 6558404)
   ========================================================================== */

.eyi-footer-signup {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 510px !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-left: auto !important; /* align right in footer row */
}

/* Heading */
.eyi-footer-signup .eyi-footer-signup-heading {
  font-family: "Century Gothic", sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  color: #435b73 !important;
  text-align: center !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
}

/* Reset Formstack wrapper spacing and overflow */
#fsform-container-6558404,
#fsform-container-6558404 .fsBody,
#fsform-container-6558404 .fsPage,
#fsform-container-6558404 .fsSection,
#fsform-container-6558404 .fsRow,
#fsform-container-6558404 .fsFieldRow,
#fsform-container-6558404 .fsCell,
#fsform-container-6558404 .InnerFormBody {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Input and button sit side by side in one row */
#fsForm6558404 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  background: none !important;
  border: none !important;
  overflow: visible !important;
  margin-bottom: 0 !important;
}

#fsForm6558404 .fsPage {
  flex: 1 !important;
  margin: 0 !important;
}

#fsForm6558404 .fsFieldCell {
  margin: 0 !important;
  padding: 2px !important; /* buffer so input border isn't clipped */
}

#fsForm6558404 .fsLabel {
  display: none !important;
}

#fsForm6558404 .fsSubFieldGroup,
#fsForm6558404 .fsSubField {
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
}

#fsForm6558404 input[type="email"] {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 40px !important;
  padding: 0 16px !important;
  border: 1px solid #daddeb !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  outline: none !important;
}

#fsSubmit6558404 {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

#fsSubmit6558404 .required-fields {
  display: none !important;
}

/* Submit button */
#fsSubmitButton6558404 {
  height: 40px !important;
  padding: 0 24px !important;
  border: 1px solid var(--wp--preset--color--pink) !important;
  border-radius: 8px !important;
  background-color: var(--wp--preset--color--pink) !important;
  color: #ffffff !important;
  text-transform: none !important;
  font-size: 14px !important;
  white-space: nowrap !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

#fsSubmitButton6558404:hover,
#fsSubmitButton6558404:focus {
  background-color: var(--wp--preset--color--pink-hover) !important;
  border-color: var(--wp--preset--color--pink-hover) !important;
}

.eyi-footer-signup-disclaimer {
  font-size: 12px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* Formstack validation error: compact, radius matches the email field.
   This Formstack build renders errors via styled-components
   (StyledErrorBanner / #inline-error-field<id>), not .fsError. */
#fsForm6558404 [id^="inline-error-field"],
#fsForm6558404 [class*="StyledErrorBanner"],
#fsForm6558404 [class*="StyledErrorBannerText"],
#fsForm6558404 [class*="StyledErrorBannerText"] div {
  font-size: 11px !important;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  border-radius: 8px !important;
}

.eyi-footer-signup-disclaimer a {
  text-decoration: underline !important;
}

.eyi-footer-grid {
  max-width: 1315px; /* 1275px content + 20px side padding */
}

/* Early Bird banner — border-box, else its 24px side padding + 1px border
   render outside the 1150px content constraint and its edges overhang the
   card columns below */
.eyi-pricing-section p.has-border-color {
  box-sizing: border-box;
}

.eyi-pricing-card {
  transition: background-color 0.2s linear;
}

.eyi-pricing-card:hover {
  background-color: #401543;
  border-color: #401543!important;
}

.eyi-pricing-card:hover .eyi-pricing-price,
.eyi-pricing-card:hover p span[style*="color:#c00057"] {
  color: #ffffff !important;
  transition: color 0.2s linear;
}

.eyi-pricing-card .wp-element-button {
  transition: background 0.2s linear, border-color 0.2s linear;
}

.main-navigation #primary-menu a[href$="/registration"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #ffffff !important;
  border-radius: 70px !important;
  padding: 6px 32px !important;
  font-family: "Century Gothic", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  transition: background 0.2s linear, border-color 0.2s linear !important;
}

.main-navigation #primary-menu a[href$="/registration"]:hover,
.main-navigation #primary-menu a[href$="/registration"]:active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  border-radius: 70px !important;
  padding: 6px 32px !important;
  font-family: "Century Gothic", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%) !important;
}
#button1 a {
  border: 1px solid #ffffff !important;
  border-radius: 8px !important;
  padding: 12px 48px !important;
  line-height: 1 !important;
  text-transform: none !important;
  transition: background 0.2s linear, border-color 0.2s linear !important;
}

#button1 a:hover,
#button1 a:active {
  border: 1px solid transparent !important;
  background: linear-gradient(90deg, #8e0045 0%, #ff2d95 100%) !important;
  color: #ffffff !important;
}
#page-header-call-for-papers .wp-block-columns {
  align-items: stretch;
}

#page-header-call-for-papers .wp-block-column:first-child {
  display: flex;
}

#page-header-call-for-papers .wp-block-column:first-child .wp-block-group {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

hr.wp-block-separator.eyi-thin-line {
  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;
  border: none !important;
  border-width: 0 !important;
}

/* Interior page heroes: standardized geometry. Content is pinned to the
   top and starts at padding-top — tweak the numbers here, never with
   spacer paragraphs or margins in page content. */
.eyi-page-hero.wp-block-cover {
  align-items: flex-start;
  /* the theme pulls covers up 86px under the transparent masthead, so
     padding-top includes that 86px (278px → content at y≈192) */
  padding-top: 278px !important;
  padding-bottom: 118px !important;
}

.eyi-page-hero .eyi-hero-eyebrow {
  margin-top: 0 !important;
}

.eyi-page-hero {
  /* Figma interior-page hero art (exported from the Program Hero frame) */
  background-image: url('/wp-content/uploads/2026/07/Page-Hero.png');
  background-size: cover;
  background-position: center center;
}

.eyi-page-hero .wp-block-cover__image-background {
  display: none !important;
}

.eyi-pricing-card-reg {
  transition: background-color 0.2s linear;
}

.eyi-pricing-card-reg:hover {
  background-color: #401543;
}

.eyi-pricing-card-reg:hover,
.eyi-pricing-card-reg:hover * {
  color: #ffffff !important;
}

.eyi-pricing-card-reg .wp-element-button {
  transition: background 0.2s linear, border-color 0.2s linear;
}

/* Past Conferences floating nav (positioning classes toggled by JS) */
.past-conf-nav-col {
  position: relative;
}

.past-conf-nav-col .wp-block-buttons.is-floating {
  position: fixed;
  z-index: 50;
}

.past-conf-nav-col .wp-block-buttons.is-resting {
  position: absolute;
}
#button1 a:hover,
#button1 a:active {
  border: 1px solid transparent !important;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%) !important;
  color: #ffffff !important;
}
/* eyi-gradient-hover — fade via ::before overlay (gradients can't transition).
   Same shape as a#deadline-reminder-btn above: the transitions live on the
   base rule so hover-out matches hover-in, and the overlay reaches under the
   1px border (inset:-1px, no overflow clip) so no ring shows through. */
.wp-block-buttons .wp-block-button.eyi-gradient-hover > a.wp-block-button__link {
  position: relative;
  z-index: 0;
  isolation: isolate;
  transition: background-color 0.2s linear, border-color 0.2s linear, color 0.2s linear;
}

.wp-block-buttons .wp-block-button.eyi-gradient-hover > a.wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%);
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.2s linear;
}

/* The .elevate hover rules above set the `background` shorthand, which resets
   background-color to transparent. On a filled button that dropped the fill in
   a single frame while the overlay was still at opacity 0 — the flash. Restate
   the resting fill here so only the overlay changes. */
.wp-block-buttons .wp-block-button.eyi-gradient-hover > a.wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.eyi-gradient-hover > a.wp-block-button__link:active {
  background-color: var(--wp--preset--color--pink);
  background-image: none !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

/* Outline variants rest on a transparent fill, not the pink one. */
.wp-block-buttons .wp-block-button.eyi-gradient-hover.is-style-outline > a.wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.eyi-gradient-hover.is-style-outline > a.wp-block-button__link:active {
  background-color: transparent;
}

.wp-block-buttons .wp-block-button.eyi-gradient-hover > a.wp-block-button__link:hover::before,
.wp-block-buttons .wp-block-button.eyi-gradient-hover > a.wp-block-button__link:active::before {
  opacity: 1;
}

/* Tier card Select buttons — same overlay fade, but theme.json's 4px
   transparent border let the pink fill paint through as a ring around the
   overlay. Drop the border and fold its 4px back into the padding so the
   button keeps its height. */
.eyi-tier-card .wp-block-button__width-100 .wp-block-button__link {
  position: relative;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
  border: none;
  padding-top: 3px;
  padding-bottom: 3px;
  transition: color 0.2s linear;
}

.eyi-tier-card .wp-block-button__width-100 .wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%);
  border-radius: inherit;
  opacity: 0;
  transition: opacity 0.2s linear;
}

.eyi-tier-card .wp-block-button__width-100 .wp-block-button__link:hover,
.eyi-tier-card .wp-block-button__width-100 .wp-block-button__link:active {
  background-image: none !important;
  color: #ffffff !important;
}

.eyi-tier-card .wp-block-button__width-100 .wp-block-button__link:hover::before,
.eyi-tier-card .wp-block-button__width-100 .wp-block-button__link:active::before {
  opacity: 1;
}


/* ==========================================================================
   SPONSORSHIP PAGE
   ========================================================================== */

/* Why Partner stats row — the big numbers inherit a 1.6 line-height, which
   reads as dead space above each number and between it and its label. */
.eyi-stats-row .wp-block-column > p:first-child {
  line-height: 1.2;
}

/* Audience pills */
.eyi-audience-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.eyi-audience-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 16px;
  border: 0.5px solid #435b73;
  border-radius: 91px;
  font-family: "Century Gothic", sans-serif;
  font-size: 15px;
  line-height: 1.2;
  color: #435b73;
  white-space: nowrap;
  transition: border-color 0.2s linear, color 0.2s linear;
}

.eyi-audience-pill:hover {
  border-color: #c00057;
  color: #c00057;
}

/* Tier card check lists */
.eyi-check-list {
  list-style: none;
  padding-left: 0;
  margin: 0 0 var(--wp--preset--spacing--60) 0;
}

.eyi-check-list li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.2;
}

.eyi-check-list li:last-child {
  margin-bottom: 0;
}

.eyi-check-list li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 17px;
  height: 17px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'><circle cx='9' cy='9' r='9' fill='%23c00057'/><path d='M12.5 6.2L7.9 11.2L5.5 8.8' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}

/* Full Benefits accordion */
.eyi-tier-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.eyi-tier-detail {
  background: #ffffff;
  border: 0.5px solid #435b73;
  border-radius: 8px;
  overflow: hidden;
}

.eyi-tier-detail > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 24px;
}

.eyi-tier-detail > summary::-webkit-details-marker {
  display: none;
}

.eyi-tier-detail-info {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  font-family: "Century Gothic", sans-serif;
  font-size: 18px;
  line-height: 1.8;
}

.eyi-tier-detail-name {
  font-weight: 700;
  color: #401543;
  width: 190px;
  flex-shrink: 0;
}

.eyi-tier-detail-price {
  width: 80px;
  flex-shrink: 0;
}

.eyi-tier-detail-benefit {
  flex: 1;
}

.eyi-tier-detail-price,
.eyi-tier-detail-benefit {
  color: #435b73;
}

.eyi-tier-detail-sep {
  width: 1px;
  height: 32px;
  background: #daddeb;
  flex-shrink: 0;
}

.eyi-tier-detail-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #c00057;
  font-family: "Century Gothic", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.eyi-tier-detail[open] .eyi-tier-detail-toggle svg {
  transform: rotate(180deg);
}

.eyi-tier-detail-toggle svg {
  transition: transform 0.2s ease;
}

.eyi-tier-detail-body {
  padding: 16px 24px 24px;
  border-top: 0.5px solid #daddeb;
  font-family: "Century Gothic", sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: #435b73;
}

.eyi-tier-detail-body ul {
  margin: 0;
  padding-left: 20px;
}

/* Contact form (replace with Formstack embed when ready) */
.eyi-contact-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.eyi-contact-form-row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.eyi-contact-form-row > label {
  flex: 1 1 160px;
}

.eyi-contact-form label,
.eyi-contact-form-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.eyi-contact-form-label {
  font-family: "Century Gothic", sans-serif;
  font-size: 18px;
  line-height: 1.8;
  color: #435b73;
}

/* !important throughout: these rules double as editor styles inside the
   Custom HTML block's sandboxed preview, where wp-admin form styles compete —
   the front-end values must win in both places. */
.eyi-contact-form input,
.eyi-contact-form select {
  height: 44px !important;
  min-height: 44px !important;
  max-width: none !important;
  padding: 0 12px !important;
  line-height: normal !important;
  /* 1px at half alpha, not 0.5px solid: fractional borders round to a full
     dark pixel on non-retina/scaled contexts (editor sandbox, selects) —
     this renders the same light hairline everywhere */
  border: 1px solid rgba(67, 91, 115, 0.5) !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  font-family: "Century Gothic", sans-serif !important;
  font-size: 15px !important;
  color: #435b73 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* The parent theme's `form input[type="text"]` rules out-specify the base rule
   above and drop those fields to a 4px radius, so tel/select ended up rounder
   than the rest. Pin every field to the site's 8px. */
.eyi-contact-form input[type],
.eyi-contact-form select {
  border-radius: 8px !important;
}

.eyi-contact-form select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 36px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%23435b73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 10px 6px !important;
}

/* What is Elevate: on desktop the text column hugs the divider line height */
@media (min-width: 901px) {
  .eyi-about-section .wp-block-column:last-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Pop feedback when a Select-tier link jumps to the form */
/* Sponsor form submission UI */
.eyi-hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.eyi-contact-form-status {
  margin: 12px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #c00057 !important;
}
.eyi-form-thankyou {
  display: none;
}
.eyi-form-thankyou.is-visible {
  display: block;
  animation: eyi-thankyou-fade 0.4s ease both;
}
@keyframes eyi-thankyou-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* Submit success: form fades out before the thank-you fades in */
.eyi-contact-form {
  transition: opacity 0.3s ease;
}
.eyi-contact-form.is-fading {
  opacity: 0;
}
/* Our display:flex above outranks the UA's [hidden] rule, so the faded form
   kept its height — collapse it for real once the JS hides it */
.eyi-contact-form[hidden] {
  display: none !important;
}

@keyframes eyi-form-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.02) translateY(-8px); }
  100% { transform: scale(1); }
}

.eyi-form-pop {
  animation: eyi-form-pop 0.5s ease;
}

.eyi-contact-form-submit {
  align-self: flex-start !important;
  width: auto !important;
  margin-top: 16px;
  background: #c00057;
  border: 1px solid #c00057;
  color: #ffffff;
  padding: 8px 48px !important;
  border-radius: 8px;
  font-family: "Century Gothic", sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  position: relative;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
  transition: border-color 0.2s linear;
}

.eyi-contact-form-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(155.76deg, #FF007F 15.53%, #FF00FF 84.47%);
  opacity: 0;
  transition: opacity 0.2s linear;
}

.eyi-contact-form-submit:hover,
.eyi-contact-form-submit:focus {
  border-color: transparent;
}

.eyi-contact-form-submit:hover::before,
.eyi-contact-form-submit:focus::before {
  opacity: 1;
}

.wp-block-button.is-style-text-only .wp-block-button__link span[aria-hidden="true"] {
  display: inline-block;
  margin-left: 6px;
  transition: transform 0.2s ease;
}

.wp-block-button.is-style-text-only .wp-block-button__link:hover span[aria-hidden="true"] {
  transform: translateX(4px);
}
/* ==========================================================================
   SPONSORSHIP — TIER CARDS & ACCORDION STATES
   ========================================================================== */

/* Tier card hover */
.eyi-tier-card {
  transition: background-color 0.2s linear, border-color 0.2s linear;
}

.eyi-tier-card:hover {
  background-color: #401543;
  border-color: #401543 !important;
}

.eyi-tier-card:hover p[style*="color:#c00057"] {
  color: #ffffff !important;
  transition: color 0.2s linear;
}

.eyi-tier-card .wp-element-button {
  transition: background 0.2s linear, border-color 0.2s linear;
}

/* Tier cards — pin CTA button + link to the bottom so they align across cards */
/* Tier cards — pin CTA button + link to the bottom, aligned across cards */
.eyi-tier-card {
  display: flex;
  flex-direction: column;
}

.eyi-tier-card > .wp-block-buttons {
  margin-top: auto;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 24px !important;
}

.eyi-tier-card > .wp-block-buttons > .wp-block-button {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.eyi-tier-card > .wp-block-buttons > .wp-block-button .wp-block-button__link {
  width: 100% !important;
  box-sizing: border-box !important;
}

.eyi-tier-card > .wp-block-buttons > .wp-block-button.is-style-text-only,
.eyi-tier-card > .wp-block-buttons > .wp-block-button.is-style-text-only .wp-block-button__link {
  width: auto !important;
}
/* Accordion summary */
.eyi-tier-detail > summary {
  padding: 8px 24px;
}

.eyi-tier-detail-sep {
  height: 41px;
}

/* Accordion chevron */
.eyi-tier-detail-toggle svg {
  color: #401543;
  transition: transform 0.2s ease;
  transform-origin: center;
}

.eyi-tier-detail[open] .eyi-tier-detail-toggle svg {
  color: #c00057;
  transform: rotate(180deg);
}

/* DETAILS / CLOSE label */
.eyi-tier-detail-toggle-label::before {
  content: "DETAILS";
}

.eyi-tier-detail[open] .eyi-tier-detail-toggle-label::before {
  content: "CLOSE";
}

/* Accordion body (height/padding animated by JS for smooth open/close) */
.eyi-tier-detail-body {
  padding: 32px 24px;
  border-top: 0.5px solid #daddeb;
  font-family: "Century Gothic", sans-serif;
  color: #435b73;
  overflow: hidden;
  box-sizing: border-box;
  transition: height 0.35s ease, padding-top 0.35s ease, padding-bottom 0.35s ease;
}

/* Intro paragraph */
.eyi-tier-detail-intro {
  font-size: 17px;
  line-height: 1.8;
  margin: 0 0 24px 0;
}

/* Signature Benefit callout */
.eyi-tier-detail-signature {
  background: #f4f4f4;
  padding: 24px;
  border-radius: 8px;
  margin: 0 0 32px 0;
}

.eyi-tier-detail-signature-body {
  font-size: 17px;
  line-height: 1.8;
  margin: 0;
  color: #435b73;
}

/* Signature Benefit inline subtitle */
.eyi-tier-detail-label-subtitle {
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
}

/* Signature Benefit list */
.eyi-tier-detail-signature-list {
  margin: 8px 0 0 0;
  padding-left: 20px;
  font-size: 17px;
  line-height: 1.8;
  color: #435b73;
}

.eyi-tier-detail-signature-list li {
  margin-bottom: 8px;
}

.eyi-tier-detail-signature-list li:last-child {
  margin-bottom: 0;
}

/* Section labels */
.eyi-tier-detail-label {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #401543;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin: 0 0 8px 0;
}

/* Subsections */
.eyi-tier-detail-section {
  margin-bottom: 32px;
}

.eyi-tier-detail-section:last-child {
  margin-bottom: 0;
}

.eyi-tier-detail-section ul {
  margin: 8px 0 0 0;
  padding-left: 20px;
  font-size: 17px;
  line-height: 1.8;
  color: #435b73;
}

.eyi-tier-detail-section li {
  margin-bottom: 4px;
}

.eyi-tier-detail-section li:last-child {
  margin-bottom: 0;
}

/* Footnote */
.eyi-tier-detail-footnote {
  font-size: 15px;
  line-height: 1.8;
  color: #435b73;
  margin: 24px 0 0 0;
}
.eyi-tier-detail-signature-body strong {
  font-weight: 700 !important;
}
/* Bold overrides (700) */
.eyi-tier-detail-name,
.eyi-tier-detail-label,
.eyi-tier-detail-toggle-label,
.eyi-tier-detail-signature-body strong {
  font-weight: 700 !important;
}
/* Open accordion summary bar */
.eyi-tier-detail[open] > summary {
  background-color: #f4f4f4;
}

/* Icon rows (red Sponsorship Impact section + gray Why Partner row):
   tighten the icon-to-text gap */
.eyi-ready-sponsor .wp-block-column .wp-block-columns,
.eyi-why-icons .wp-block-column .wp-block-columns {
  gap: 20px !important;
}

.eyi-ready-sponsor strong {
  font-weight: 700 !important;
}