/* ── Beyond Blue Statuspage · Custom CSS ── */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* ===== BASE ===== */
body {
  font-family: 'Montserrat', sans-serif !important;
  background-color: #F1F5F9 !important;
  -webkit-font-smoothing: antialiased;
  color: rgb(35, 39, 108) !important;
}

#container {
  max-width: 860px !important;
}


/* ===== HEADER / LOGO (desktop) ===== */
.masthead-container,
.masthead-container.basic {
  text-align: center !important;
  width: 100% !important;
}

.masthead-container .masthead.has-logo {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  float: none !important;
}

.masthead-container .logo-container {
  float: none !important;
  display: inline-block !important;
  text-align: center !important;
  margin: 0 auto !important;
  width: auto !important;
  max-width: 100% !important;
}

.masthead-container .logo-container a {
  display: inline-block !important;
  float: none !important;
}

.masthead-container .logo-container img {
  max-width: 75% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  float: none !important;
}


/* ===== STATUS BANNER (page-status) ===== */
.page-status {
  border-radius: 10px !important;
  padding: 16px 22px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.1px;
  border: none !important;
  box-shadow: 0 4px 14px rgba(0, 107, 60, 0.2) !important;
}

.page-status.status-none {
  background: #006B3C !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.page-status.status-minor {
  background: #B45309 !important;
  box-shadow: 0 4px 14px rgba(180, 83, 9, 0.2) !important;
}

.page-status.status-major,
.page-status.status-critical {
  background: #B91C1C !important;
  box-shadow: 0 4px 14px rgba(185, 28, 28, 0.2) !important;
}

/* Replace 'All Systems Operational' with 'Systems Operational', centred */
.page-status.status-none h2.status {
  font-size: 0 !important;
  line-height: 1 !important;
  margin: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

.page-status.status-none h2.status::before {
  content: "Systems Operational";
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #FFFFFF !important;
  letter-spacing: 0.1px !important;
}


/* ===== UNRESOLVED INCIDENT BANNER ===== */
/* Collapse wrapper, hide body, keep only the title bar */
.unresolved-incident,
.unresolved-incidents {
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  border: none !important;
  background: transparent !important;
}

.unresolved-incident > *:not(.incident-title),
.unresolved-incidents .incident-updates-container,
.unresolved-incidents .update,
.unresolved-incidents .updates {
  display: none !important;
}

/* Title bar — light red bg, dark red border, dark red text (matches MAJOR OUTAGE badge) */
.incident-title.font-large {
  background: #FEF2F2 !important;
  border: 2px solid #991B1B !important;
  border-radius: 6px !important;
  margin-bottom: 0 !important;
}

.incident-title.font-large .actual-title,
.incident-title.font-large a {
  color: #991B1B !important;
}

/* Hide real incident title text, inject generic replacement */
.incident-title.font-large .actual-title {
  visibility: hidden !important;
  position: relative !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  display: block !important;
  width: 100% !important;
}

.incident-title.font-large .actual-title::before {
  content: "Service disruption - we're investigating";
  visibility: visible !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #991B1B !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* ===== COMPONENTS SECTION ===== */
.components-section {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0, 48, 135, 0.08) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 4px 14px rgba(0,48,135,0.06) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

/* Group headers (if any) */
.components-section h3,
.component-group-header {
  background: #F8FAFC !important;
  padding: 10px 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #94A3B8 !important;
  border-bottom: 1px solid #EDF1F7 !important;
  margin: 0 !important;
}

/* Component rows */
.component-container {
  border-bottom: 1px solid #EDF1F7 !important;
  padding: 13px 20px !important;
  transition: background 0.15s ease !important;
}

.component-container:last-child {
  border-bottom: none !important;
}

.component-container:hover {
  background: #FAFBFC !important;
}

/* Component name */
.component-container .name,
.component-inner-container .name {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1D3461 !important;
}

span.name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1D3461 !important;
}


/* ===== STATUS BADGES ===== */
.component-status {
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
}

.component-inner-container.status-green .component-status {
  background: #ECFDF5 !important;
  color: #065F46 !important;
}

.component-inner-container.status-yellow .component-status {
  background: #FFFBEB !important;
  color: #92400E !important;
}

.component-inner-container.status-orange .component-status {
  background: #FFF7ED !important;
  color: #9A3412 !important;
}

.component-inner-container.status-red .component-status {
  background: #FEF2F2 !important;
  color: #991B1B !important;
}

.component-inner-container.status-blue .component-status {
  background: #EFF6FF !important;
  color: #1E40AF !important;
}


/* ===== UPTIME LEGEND (retained in case uptime re-enabled at component level) ===== */
.uptime-legend,
.uptime-legend span,
.font-small {
  font-size: 11px !important;
  color: #94A3B8 !important;
}

.uptime-legend .percent-uptime {
  color: #64748B !important;
  font-weight: 500 !important;
}


/* ===== PAST INCIDENTS / HISTORY (hidden) ===== */
.incidents-list {
  display: none !important;
}

.incident-history,
a[href$="/history"] {
  display: none !important;
}

a[href*="history"],
.uptime-historical-link {
  color: #0066CC !important;
  font-size: 11px !important;
}

/* Incidents section card styling (kept for future use) */
.incidents-section {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0, 48, 135, 0.08) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 4px 14px rgba(0,48,135,0.06) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
}

.incidents-section h2 {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #94A3B8 !important;
  padding: 12px 20px !important;
  border-bottom: 1px solid #EDF1F7 !important;
  background: #F8FAFC !important;
  margin: 0 !important;
}

.incident-container {
  padding: 14px 20px !important;
  border-bottom: 1px solid #EDF1F7 !important;
  font-size: 13px !important;
}


/* ===== FOOTER ===== */
.powered-by,
footer.footer {
  font-size: 11px !important;
  color: #CBD5E1 !important;
}


/* ===== 'NEED SUPPORT NOW?' CALLOUT (formerly About This Site) ===== */
.text-section {
  background: #FFF8E5 !important;
  border: 1px solid #F5A623 !important;
  border-left: 6px solid #F5A623 !important;
  border-radius: 6px !important;
  padding: 22px 26px 22px 78px !important;
  margin: 24px 0 28px 0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  position: relative !important;
}

/* Circle-exclamation icon matching beyondblue.org.au */
.text-section::before {
  content: "!" !important;
  position: absolute !important;
  left: 22px !important;
  top: 28px !important;
  width: 36px !important;
  height: 36px !important;
  border: 3px solid #F5A623 !important;
  border-radius: 50% !important;
  color: #F5A623 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  font-family: 'Montserrat', sans-serif !important;
  line-height: 30px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Hide the 'About This Site' heading */
.text-section h2.font-largest {
  display: none !important;
}

/* Body paragraph */
.text-section p.color-secondary {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #1D1D1D !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

/* First line — 'Need support now?' — promoted to heading style */
.text-section p.color-secondary::first-line {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1D1D1D !important;
}


/* ===== MOBILE (≤600px) ===== */
@media (max-width: 600px) {

  /* Pin the '?' tooltip button next to the component name */
  .component-inner-container {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .component-inner-container .name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .component-inner-container .tooltip-base,
  .component-inner-container button.tool {
    flex: 0 0 auto !important;
    margin: 0 !important;
    align-self: center !important;
  }

  .component-inner-container .component-status {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
  
  /* Logo */
  .logo-container img,
  .logo img,
  header img,
  .header img,
  img[alt*="logo" i],
  img[alt*="Beyond Blue" i] {
    max-width: 140px !important;
    height: auto !important;
  }

  /* Status banner — 'Systems Operational' */
  .page-status.status-none h2.status::before {
    font-size: 15px !important;
  }

  /* Incident title bar — full width, single line */
  .unresolved-incident,
  .unresolved-incidents {
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
  }

  .incident-title.font-large {
    width: 100% !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .incident-title.font-large .actual-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }

  .incident-title.font-large .actual-title::before {
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  /* Component rows */
  .component-container {
    padding: 12px 14px !important;
  }

  .component-container .name,
  .component-inner-container .name,
  span.name {
    font-size: 15px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.3 !important;
  }

  /* Status badges */
  .component-status {
    font-size: 9px !important;
    padding: 2px 7px !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  /* Support callout */
  .text-section {
    padding: 18px 18px 18px 60px !important;
    margin: 8px 0 20px 0 !important;
  }

  .text-section::before {
    width: 30px !important;
    height: 30px !important;
    font-size: 20px !important;
    line-height: 24px !important;
    left: 16px !important;
    top: 18px !important;
    border-width: 2.5px !important;
  }

  .text-section p.color-secondary {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .text-section p.color-secondary::first-line {
    font-size: 18px !important;
  }
}