/**
 * Business Impact NW — Launch & Grow Cohort Resources
 * Staff-editable SiteOrigin migration | Visual parity stylesheet
 *
 * Child theme: /assets/css/launch-grow-resources.css
 * Load order: legacy styles -> binw-system.css -> this file.
 *
 * Scoped ONLY to these migrated SiteOrigin rows:
 *   binw-page binw-lgm-intro
 *   binw-page binw-lgm-sessions
 *
 * Content stays editable in SiteOrigin Editor + Accordion widgets.
 * The legacy Custom HTML (.binw-lg-resources) is intentionally untouched.
 */

/* =========================================================
   1. Original page width and type foundation
   ========================================================= */

#content .binw-page.binw-lgm-intro,
#content .binw-page.binw-lgm-sessions {
  width: calc(100% - 40px) !important;
  max-width: 1000px !important;
  min-width: 0;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
  color: #303331;
  font-family: "Trebuchet MS", Arial, sans-serif;
}

#content .binw-page.binw-lgm-intro {
  padding-top: 18px !important;
  padding-bottom: 26px !important;
}

#content .binw-page.binw-lgm-sessions {
  padding-top: 0 !important;
  padding-bottom: 52px !important;
}

/* Prevent the default SiteOrigin spacing between the three intro widgets. */
#content .binw-lgm-intro .panel-grid-cell > .so-panel {
  margin-bottom: 0 !important;
}

/* Restore the intended space between the cohort notice and green reminder. */
#content .binw-lgm-intro .panel-grid-cell > .so-panel.binw-lgm-cohort-note {
  margin-bottom: 20px !important;
}

/* =========================================================
   2. Introduction: typography, notices, spacing
   ========================================================= */

#content .binw-lgm-intro .binw-lgm-intro-copy {
  max-width: 820px;
}

#content .binw-lgm-intro .binw-lgm-intro-copy p:first-child {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #5d8122 !important;
  font: 700 15px/1.3 "Trebuchet MS", Arial, sans-serif !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

#content .binw-lgm-intro .binw-lgm-intro-copy h1 {
  max-width: 800px;
  margin: 0 0 13px !important;
  padding: 0 !important;
  color: #303331 !important;
  font: 700 clamp(32px, 4vw, 42.4px)/1.1 "Trebuchet MS", Arial, sans-serif !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
}

#content .binw-lgm-intro .binw-lgm-intro-copy p:last-child {
  max-width: 720px;
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: #626762 !important;
  font: 400 16.3px/1.65 "Trebuchet MS", Arial, sans-serif !important;
}

#content .binw-lgm-intro .binw-lgm-cohort-note {
  max-width: 720px;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

#content .binw-lgm-intro .binw-lgm-cohort-note p {
  margin: 0 !important;
  padding: 0 !important;
  color: #303331 !important;
  font: 400 15px/1.55 "Trebuchet MS", Arial, sans-serif !important;
}

#content .binw-lgm-intro .binw-lgm-cohort-note strong,
#content .binw-lgm-intro .binw-lgm-template-note strong {
  font-weight: 700 !important;
}

#content .binw-lgm-intro .binw-lgm-template-note {
  width: 100%;
  max-width: 760px;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-left: 4px solid #78a22f !important;
  border-radius: 0 !important;
  background: #f2f5eb !important;
  box-sizing: border-box;
  box-shadow: none !important;
}

#content .binw-lgm-intro .binw-lgm-template-note p {
  margin: 0 !important;
  padding: 0 !important;
  color: #41463f !important;
  font: 400 14.6px/1.5 "Trebuchet MS", Arial, sans-serif !important;
}

/* =========================================================
   3. Accordion: flat original-style session rows
   ========================================================= */

#content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion {
  width: 100%;
  counter-reset: binw-lgm-session;
  border-top: 1px solid #dce1d8;
}

#content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion .sow-accordion-panel {
  counter-increment: binw-lgm-session;
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #dce1d8 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
}

#content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) 34px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 82px;
  margin: 0 !important;
  padding: 13px 14px 13px 20px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #303331 !important;
  text-align: left !important;
  font-family: "Trebuchet MS", Arial, sans-serif !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background-color .16s ease;
}

/* Plain green number rather than a filled number badge. */
#content .binw-lgm-sessions .sow-accordion-panel-header::before {
  content: counter(binw-lgm-session, decimal-leading-zero);
  display: block;
  grid-column: 1;
  align-self: center;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #78a22f;
  font: 700 15px/1 "Trebuchet MS", Arial, sans-serif;
  letter-spacing: .025em;
}

/* The native Accordion has ONE editable title field. Preserve its text
   ('Session 1 · 9 resources') without embedding HTML in the widget title. */
#content .binw-lgm-sessions .sow-accordion-panel-header .sow-accordion-title {
  display: block !important;
  grid-column: 2;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #303331 !important;
  font: 700 18px/1.3 "Trebuchet MS", Arial, sans-serif !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  text-align: left !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-header:hover {
  background: #f3f4f2 !important;
}

#content .binw-lgm-sessions .sow-accordion-panel.sow-accordion-panel-open > .sow-accordion-panel-header-container .sow-accordion-panel-header {
  background: #f3f4f2 !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-header:focus-visible {
  outline: 3px solid rgba(120, 162, 47, .45) !important;
  outline-offset: -3px !important;
}

/* Draw the green +/- circle while leaving the native toggle functional. */
#content .binw-lgm-sessions .sow-accordion-panel-header .sow-accordion-open-close-button {
  position: relative !important;
  display: block !important;
  grid-column: 3;
  justify-self: end;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #78a22f !important;
  border-radius: 50% !important;
  background: #fff !important;
  line-height: 0 !important;
  box-sizing: border-box;
}

#content .binw-lgm-sessions .sow-accordion-open-close-button .sow-accordion-open-button,
#content .binw-lgm-sessions .sow-accordion-open-close-button .sow-accordion-close-button {
  display: none !important;
}

#content .binw-lgm-sessions .sow-accordion-open-close-button::before,
#content .binw-lgm-sessions .sow-accordion-open-close-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 2px;
  border-radius: 2px;
  background: #5d8122;
  transform: translate(-50%, -50%);
}

#content .binw-lgm-sessions .sow-accordion-open-close-button::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

#content .binw-lgm-sessions .sow-accordion-panel.sow-accordion-panel-open .sow-accordion-open-close-button {
  background: #78a22f !important;
}

#content .binw-lgm-sessions .sow-accordion-panel.sow-accordion-panel-open .sow-accordion-open-close-button::before,
#content .binw-lgm-sessions .sow-accordion-panel.sow-accordion-panel-open .sow-accordion-open-close-button::after {
  background: #fff;
}

#content .binw-lgm-sessions .sow-accordion-panel.sow-accordion-panel-open .sow-accordion-open-close-button::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

/* =========================================================
   4. Expanded panel and original two-column resource lists
   ========================================================= */

#content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-content .sow-accordion-panel-border {
  margin: 0 !important;
  padding: 8px 18px 22px 52px !important;
  border: 0 !important;
  border-top: 1px solid #e6e9e3 !important;
  border-radius: 0 !important;
  background: #fbfcfa !important;
  box-shadow: none !important;
  color: #303331 !important;
  overflow: visible !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 36px !important;
  list-style: none !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li {
  list-style: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li::before,
#content .binw-lgm-sessions .sow-accordion-panel-content ul li::after {
  display: none !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li a,
#content .binw-lgm-sessions .sow-accordion-panel-content ul li a:visited {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0;
  min-height: 64px;
  margin: 0 !important;
  padding: 11px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid #e6e9e3 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #303331 !important;
  text-decoration: none !important;
  font: 600 15px/1.42 "Trebuchet MS", Arial, sans-serif !important;
  transition: padding-left .16s ease, border-color .16s ease, color .16s ease;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li a:hover {
  padding-left: 9px !important;
  border-bottom-color: #a7c078 !important;
  color: #5d8122 !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li a:focus-visible {
  outline: 3px solid rgba(120, 162, 47, .42) !important;
  outline-offset: 2px !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li a strong {
  display: inline-flex !important;
  grid-column: 1;
  align-items: center;
  justify-content: center;
  width: 46px;
  min-width: 0;
  min-height: 27px;
  margin: 0 !important;
  padding: 4px 5px !important;
  border: 1px solid #d5ddc9;
  border-radius: 4px;
  background: #f7f9f3;
  box-sizing: border-box;
  color: #5d8122 !important;
  font: 700 9.5px/1 "Trebuchet MS", Arial, sans-serif !important;
  letter-spacing: .035em;
  text-align: center;
  text-transform: uppercase;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li a span {
  grid-column: 2;
  display: block;
  min-width: 0;
  color: inherit !important;
  font: inherit !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content ul li a::after {
  content: "↗";
  display: block;
  grid-column: 3;
  margin: 0 !important;
  color: #78a22f;
  font: 700 15px/1 "Trebuchet MS", Arial, sans-serif;
  text-align: right;
  text-decoration: none !important;
}

#content .binw-lgm-sessions .sow-accordion-panel-content a[href$=".docx"]::after,
#content .binw-lgm-sessions .sow-accordion-panel-content a[href$=".pptx"]::after,
#content .binw-lgm-sessions .sow-accordion-panel-content a[href$=".xlsx"]::after,
#content .binw-lgm-sessions .sow-accordion-panel-content a[href$=".xls"]::after {
  content: "↓";
}

/* =========================================================
   5. Responsive matches to legacy layout
   ========================================================= */

@media (max-width: 800px) {
  #content .binw-lgm-sessions .sow-accordion-panel-content ul {
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-header {
    min-height: 78px;
    padding: 12px 12px 12px 17px !important;
  }

  #content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-content .sow-accordion-panel-border {
    padding: 8px 15px 20px 52px !important;
  }
}

@media (max-width: 520px) {
  #content .binw-page.binw-lgm-intro,
  #content .binw-page.binw-lgm-sessions {
    width: calc(100% - 20px) !important;
  }

  #content .binw-page.binw-lgm-intro {
    padding-top: 16px !important;
    padding-bottom: 25px !important;
  }

  #content .binw-page.binw-lgm-sessions {
    padding-bottom: 38px !important;
  }

  #content .binw-lgm-intro .binw-lgm-intro-copy p:first-child {
    font-size: 11.2px !important;
    letter-spacing: .09em !important;
  }

  #content .binw-lgm-intro .binw-lgm-intro-copy h1 {
    font-size: 29.8px !important;
    line-height: 1.12 !important;
  }

  #content .binw-lgm-intro .binw-lgm-intro-copy p:last-child {
    font-size: 15.4px !important;
    line-height: 1.58 !important;
  }

  #content .binw-lgm-intro .binw-lgm-template-note {
    padding: 11px 13px !important;
  }

  #content .binw-lgm-intro .binw-lgm-template-note p {
    font-size: 13.9px !important;
  }

  #content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-header {
    grid-template-columns: 24px minmax(0, 1fr) 30px !important;
    min-height: 74px;
    gap: 8px !important;
    padding: 11px 8px 11px 14px !important;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-header::before {
    font-size: 13.6px;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-header .sow-accordion-title {
    font-size: 16.6px !important;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-header .sow-accordion-open-close-button {
    width: 28px !important;
    height: 28px !important;
  }

  #content .binw-lgm-sessions .widget_sow-accordion .so-widget-sow-accordion .sow-accordion .sow-accordion-panel .sow-accordion-panel-content .sow-accordion-panel-border {
    padding: 5px 12px 17px !important;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-content ul li a,
  #content .binw-lgm-sessions .sow-accordion-panel-content ul li a:visited {
    grid-template-columns: 43px minmax(0, 1fr) 18px !important;
    min-height: 61px;
    gap: 9px !important;
    padding: 10px 2px !important;
    font-size: 14px !important;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-content ul li a strong {
    width: 41px;
    min-height: 25px;
    font-size: 9px !important;
  }

  #content .binw-lgm-sessions .sow-accordion-panel-content ul li a::after {
    font-size: 13.8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #content .binw-lgm-sessions .sow-accordion-panel-header,
  #content .binw-lgm-sessions .sow-accordion-panel-content a {
    transition: none !important;
  }
}
