/*
Theme Name: Go Child
Template: go
Version: 1.0.0
Description: Floridian Bay Estates — Dark editorial child theme for Go by GoDaddy
*/

/* === RESET & BASE === */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.site,
.site-content,
.site-main,
.entry-content,
.wp-block-group,
.wp-block-group__inner-container,
.wp-site-blocks,
.alignwide,
.alignfull {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.site-header,
.site-footer,
.navigation,
.site-branding,
.main-navigation {
  display: none !important;
}

.entry-header,
.entry-footer,
.post-thumbnail {
  display: none !important;
}

.go-container,
.go-columns,
.go-site-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#page {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--bg) !important;
}

#content {
  padding: 0 !important;
  margin: 0 !important;
}

article.post,
article.page {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

/* === CSS VARIABLES === */

:root {
  --bg:          #1b3d6b;
  --bg-alt:      #214878;
  --bg-card:     #285588;
  --accent:      #22d3ee;
  --accent-dark: #06b6d4;
  --text:        #f0f0f0;
  --muted:       rgba(255,255,255,0.4);
  --border:      rgba(255,255,255,0.06);
  --border-md:   rgba(255,255,255,0.12);
  --green-deep:  #1b3d6b;
  --font:        'Inter', system-ui, -apple-system, sans-serif;
}

/* === TYPOGRAPHY === */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--text);
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  color: var(--text);
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border-md); }

/* === NAVIGATION === */

.fbe-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2rem !important;
  height: 56px;
  gap: 1rem !important;
}

.fbe-nav__logo {
  font-size: 0.85rem !important;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text);
  line-height: 1.3;
}

.fbe-nav__logo span {
  display: block;
  color: var(--muted);
  font-weight: 400;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
}

.fbe-nav__links {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  list-style: none !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  white-space: nowrap !important;
}

.fbe-nav__links li {
  position: relative !important;
  list-style: none !important;
  padding-bottom: 0 !important;
}

.fbe-nav__links li::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  height: 12px !important;
  width: 100% !important;
  bottom: -12px !important;
  left: 0 !important;
}

.fbe-nav__links li a {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: block !important;
  padding: 4px 0 !important;
}

.fbe-nav__links > li > a {
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
}

.fbe-nav__links li a:hover {
  color: #ffffff !important;
}

.fbe-nav__login {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bg);
  background: var(--accent);
  border: none;
  padding: 0.45rem 1.1rem;
  cursor: pointer;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.2s;
}

.fbe-nav__login:hover {
  background: var(--accent-dark);
  color: var(--bg);
}

/* Dropdown */
.fbe-nav__links li ul {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 0 !important;
  background: #1b3d6b !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 4px !important;
  min-width: 220px !important;
  z-index: 9999 !important;
  padding: 8px 0 !important;
  list-style: none !important;
  margin-top: 0 !important;
}

.fbe-nav__links li:hover > ul,
.fbe-nav__links li ul:hover {
  display: block !important;
}

.fbe-nav__links li ul li {
  width: 100% !important;
}

.fbe-nav__links li ul li a {
  display: block !important;
  padding: 10px 20px !important;
  font-size: 0.7rem !important;
  color: rgba(255,255,255,0.55) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  letter-spacing: 0.1em !important;
  white-space: nowrap !important;
}

.fbe-nav__links li ul li:last-child a {
  border-bottom: none !important;
}

.fbe-nav__links li ul li a:hover {
  color: #22d3ee !important;
  background: rgba(255,255,255,0.03) !important;
}

/* Invisible hover bridge — keeps dropdown open during mouse travel */
.fbe-nav__links li.menu-item-has-children > a::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  width: 100% !important;
  height: 20px !important;
  bottom: -20px !important;
  left: 0 !important;
  background: transparent !important;
}

/* Remove all Go theme dropdown arrows */
.menu-item-has-children > a::after,
.menu-item-has-children > a::before,
.main-navigation .menu-item-has-children > a::after,
.main-navigation .menu-item-has-children > a::before,
.fbe-nav__links .menu-item-has-children > a::after,
.fbe-nav__links .menu-item-has-children > a::before,
nav .menu-item-has-children > a::after,
nav .menu-item-has-children > a::before,
.nav-menu .menu-item-has-children > a::after,
.nav-menu .menu-item-has-children > a::before {
  display: none !important;
  content: "" !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Hide Go theme SVG icons in nav */
.fbe-nav svg, .fbe-nav .svg-icon, .fbe-nav img[src*="chevron"], nav.fbe-nav svg,
.fbe-nav__links svg, .fbe-nav__links img, .menu-item-has-children svg, .menu-item svg {
  display: none !important; visibility: hidden !important; width: 0 !important; height: 0 !important;
}

/* === HERO === */

.fbe-hero {
  width: 100%;
  min-height: calc(100vh - 56px);
  display: grid;
  grid-template-columns: 1fr 340px;
  border-bottom: 1px solid var(--border);
}

.fbe-hero__main {
  padding: 5rem 3rem 5rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--border);
}

.fbe-hero__eyebrow {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 2rem;
}

.fbe-hero__headline {
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.03em;
  color: var(--text);
  max-width: 760px;
}

.fbe-hero__headline em {
  font-style: normal;
  color: var(--accent);
}

.fbe-hero__sub {
  margin-top: 2rem;
  font-size: 1rem;
  color: var(--muted);
  max-width: 480px;
  line-height: 1.7;
}

.fbe-hero__actions {
  margin-top: 3rem;
  display: flex;
  gap: 1rem;
  align-items: center;
}

.fbe-btn {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.75rem 1.8rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s;
}

.fbe-btn--primary {
  background: var(--accent);
  color: var(--bg);
  border-radius: 999px;
}

.fbe-btn--primary:hover {
  background: var(--accent-dark);
  color: var(--bg);
}

.fbe-btn--ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-md);
  border-radius: 999px;
}

.fbe-btn--ghost:hover {
  border-color: var(--text);
  color: var(--text);
}

.fbe-hero__stats {
  background: var(--green-deep);
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
}

.fbe-stat {
  padding: 2rem 0;
  border-bottom: 1px solid var(--border);
}

.fbe-stat:last-child {
  border-bottom: none;
}

.fbe-stat__label {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.5rem;
}

.fbe-stat__value {
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--accent);
  line-height: 1;
}

.fbe-stat__detail {
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 0.35rem;
}

/* === TICKER === */

.fbe-ticker {
  width: 100%;
  background: var(--accent);
  height: 40px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.fbe-ticker__label {
  flex-shrink: 0;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bg);
  padding: 0 1.5rem;
  border-right: 1px solid rgba(0,0,0,0.15);
  height: 100%;
  display: flex;
  align-items: center;
  background: var(--accent);
  z-index: 2;
}

.fbe-ticker__track {
  display: flex;
  animation: ticker-scroll 35s linear infinite;
  white-space: nowrap;
}

.fbe-ticker__track:hover {
  animation-play-state: paused;
}

.fbe-ticker__item {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--bg);
  padding: 0 2.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.fbe-ticker__dot {
  width: 4px;
  height: 4px;
  background: rgba(0,0,0,0.35);
  border-radius: 50%;
  flex-shrink: 0;
}

@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* === BENTO GRID === */

.fbe-bento {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  width: 100%;
  border-bottom: 1px solid var(--border);
}

.fbe-cell {
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 2.5rem;
  overflow: visible;
  overflow-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
}

.fbe-cell:last-child,
.fbe-cell--no-right-border {
  border-right: none;
}

/* Grid placements — auto-placement in DOM order fills rows correctly */
.fbe-cell--news        { grid-column: span 12 !important; grid-row: 1 !important; border-right: none; }
.fbe-cell--docs        { grid-column: span 4; }
.fbe-cell--guidelines  { grid-column: span 4; }
.fbe-cell--contact     { grid-column: span 12; border-right: none; border-bottom: none; }

/* Cell header */
.fbe-cell__tag {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.fbe-cell__tag::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--accent);
  border-radius: 50%;
}

.fbe-cell--board .fbe-cell__tag {
  color: rgba(6,13,31,0.5);
}

.fbe-cell--board .fbe-cell__tag::before {
  background: var(--bg);
}

/* Cell heading */
.fbe-cell__heading {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
  margin-bottom: 1.5rem;
  line-height: 1.1;
}

.fbe-cell--board .fbe-cell__heading {
  color: var(--bg);
}

/* ---- News cell ---- */
.fbe-news-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.fbe-news-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1.5rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--border);
  align-items: start;
}

.fbe-news-item:last-child { border-bottom: none; }

.fbe-news-item__date {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--accent);
  text-transform: uppercase;
  padding-top: 0.1rem;
}

.fbe-news-item__title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0.35rem;
  line-height: 1.3;
}

.fbe-news-item__body {
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.6;
}

/* ---- Meeting cell ---- */
.fbe-meeting-date {
  font-size: clamp(3rem, 5vw, 4.5rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  color: var(--accent);
  line-height: 0.9;
  margin: 1.5rem 0;
}

.fbe-meeting-detail {
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.8;
}

.fbe-meeting-detail strong {
  color: var(--text);
  font-weight: 600;
}

/* ---- Docs cell ---- */
.fbe-doc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.fbe-doc-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 1px solid var(--border);
  gap: 1rem;
}

.fbe-doc-item:last-child { border-bottom: none; }

.fbe-doc-item__name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text);
}

.fbe-doc-item__type {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.fbe-doc-item__dl {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
  flex-shrink: 0;
  border: 1px solid var(--accent);
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  transition: all 0.2s;
}

.fbe-doc-item__dl:hover {
  background: var(--accent);
  color: var(--bg);
}

.fbe-doc-item__dl--login {
  color: var(--accent);
  border-color: var(--accent);
  white-space: nowrap;
}

.fbe-doc-item__dl--login:hover {
  background: var(--accent);
  color: var(--bg);
}

/* ---- Guidelines cell ---- */
.fbe-guideline-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.fbe-guideline-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.5;
}

.fbe-guideline-item::before {
  content: '—';
  color: var(--accent);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0;
}

/* === BOARD SECTION === */

.fbe-cell--board-inner {
  grid-column: span 4 !important;
  background: #1b3d6b !important;
  border-top: 2px solid #22d3ee !important;
  border-right: none !important;
}

.fbe-board-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 1rem;
}

.fbe-board-member {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}

.fbe-board-member:last-child {
  border-bottom: none;
}

.fbe-board-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(34,211,238,0.12);
  border: 1px solid rgba(34,211,238,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--accent);
  flex-shrink: 0;
}

.fbe-board-member__name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}

.fbe-board-member__role {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 2px;
}

/* === CONTACT === */

.fbe-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin-top: 1rem;
}

.fbe-contact-block__label {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 0.6rem;
}

.fbe-contact-block__value {
  font-size: 0.9rem;
  color: var(--text);
  line-height: 1.7;
}

.fbe-contact-block__value a {
  color: var(--accent);
}

.fbe-contact-block__value a:hover {
  color: var(--text);
}

/* === FOOTER === */

.fbe-footer {
  width: 100%;
  padding: 1.5rem 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--border);
}

.fbe-footer__copy {
  font-size: 0.65rem;
  color: var(--muted);
  letter-spacing: 0.05em;
}

.fbe-footer__mgmt {
  font-size: 0.65rem;
  color: var(--muted);
}

.fbe-footer__mgmt a {
  color: var(--muted);
}

.fbe-footer__mgmt a:hover {
  color: var(--accent);
}

/* === PAGE TEMPLATES === */

.fbe-page-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 36px;
}

.fbe-page-eyebrow {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #22d3ee;
  margin-bottom: 1rem;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-page-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #ffffff;
  margin-bottom: 1rem;
  line-height: 1.1;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-page-subtitle {
  font-size: 1rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 3rem;
  max-width: 560px;
  line-height: 1.7;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-page-body {
  color: rgba(255,255,255,0.7);
  font-size: 0.95rem;
  line-height: 1.8;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-page-body h2 {
  font-size: 1.5rem;
  color: #ffffff;
  margin: 2rem 0 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.fbe-page-body h3 {
  font-size: 1.2rem;
  color: #22d3ee;
  margin: 1.5rem 0 0.75rem;
  font-weight: 700;
}

.fbe-page-body p { margin-bottom: 1rem; }

.fbe-page-body ul,
.fbe-page-body ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.fbe-page-body li {
  margin-bottom: 0.5rem;
  color: rgba(255,255,255,0.7);
}

.fbe-page-body a { color: #22d3ee; }
.fbe-page-body a:hover { color: #ffffff; }

.fbe-doc-section {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.fbe-doc-section:last-child { border-bottom: none; }

.fbe-doc-section__eyebrow {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #22d3ee;
  margin-bottom: 0.5rem;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-doc-section__desc {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.45);
  margin-bottom: 1.5rem;
  line-height: 1.6;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-locked-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  padding: 60px 40px;
  text-align: center;
  max-width: 480px;
  margin: 40px auto;
}

.fbe-locked-card__icon { font-size: 2rem; margin-bottom: 1rem; }

.fbe-locked-card__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.75rem;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-locked-card__text {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.45);
  margin-bottom: 2rem;
  line-height: 1.6;
  font-family: 'Inter', system-ui, sans-serif;
}

.fbe-optin-notice {
  max-width: 560px;
  margin: 16px auto 0;
  padding: 16px 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
}

.fbe-optin-notice p {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.35);
  line-height: 1.6;
  text-align: center;
  margin: 0;
}

.fbe-registration-disclaimer {
  max-width: 560px;
  margin: 16px auto 0;
  padding: 16px 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 4px;
  text-align: center;
}

.fbe-registration-disclaimer p {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.35);
  line-height: 1.6;
  margin: 0;
}

.fbe-browser-note {
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.3) !important;
  margin-bottom: 12px !important;
  font-style: italic !important;
}

.fbe-login-footer {
  text-align: center !important;
  margin-top: 20px !important;
  padding: 20px !important;
}

.fbe-login-footer p {
  color: rgba(255,255,255,0.8) !important;
  font-size: 14px !important;
  margin-bottom: 8px !important;
}

.fbe-login-footer a {
  color: #22d3ee !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(34,211,238,0.4) !important;
  padding-bottom: 2px !important;
}

.fbe-login-footer a:hover {
  color: #ffffff !important;
  border-bottom-color: rgba(255,255,255,0.4) !important;
}

/* === WP-MEMBERS FORMS === */

/* Form container */
body .wpmem_form,
body #wpmem_login,
body #wpmem_reg {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(34,211,238,0.2) !important;
  padding: 40px !important;
  border-radius: 4px !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}

/* Fieldset */
body .wpmem_form fieldset,
body #wpmem_reg fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Legend */
#wpmem_login legend,
#wpmem_reg legend,
.wpmem_form legend {
  display: none !important;
}

/* Field spacing */
#wpmem_login p,
#wpmem_reg p,
.wpmem_form p {
  margin: 0 !important;
}

/* Labels */
body .wpmem_form label,
body #wpmem_login label,
body #wpmem_reg label {
  color: #22d3ee !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 8px !important;
  margin-top: 20px !important;
  font-weight: 500 !important;
}

/* Remember me label */
body .wpmem_form label[for="rememberme"],
body #wpmem_login label[for="rememberme"] {
  color: rgba(255,255,255,0.5) !important;
  font-size: 0.75rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Text inputs */
body .wpmem_form input[type="text"],
body .wpmem_form input[type="email"],
body .wpmem_form input[type="password"],
body .wpmem_form input[type="number"],
body .wpmem_form input[type="tel"],
body .wpmem_form input[type="url"] {
  background-color: #1b3d6b !important;
  border: 1px solid #22d3ee !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  padding: 14px 18px !important;
  width: 100% !important;
  border-radius: 2px !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  box-shadow: none !important;
}

/* Input focus */
body .wpmem_form input[type="text"]:focus,
body .wpmem_form input[type="email"]:focus,
body .wpmem_form input[type="password"]:focus,
body .wpmem_form input[type="number"]:focus {
  background-color: #285588 !important;
  border-color: #22d3ee !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(34,211,238,0.2) !important;
}

/* Input placeholder */
.wpmem_form input::placeholder { color: rgba(255,255,255,0.2) !important; }

/* Autofill override */
body .wpmem_form input:-webkit-autofill,
body .wpmem_form input:-webkit-autofill:hover,
body .wpmem_form input:-webkit-autofill:focus,
body .wpmem_form input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #1b3d6b inset !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
}

/* Select */
.wpmem_form select {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #ffffff !important;
  padding: 12px 16px !important;
  width: 100% !important;
  border-radius: 2px !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Submit button */
body .wpmem_form input[type="submit"],
body .wpmem_form button[type="submit"],
body #wpmem_login input[type="submit"],
body #wpmem_reg input[type="submit"] {
  background-color: #22d3ee !important;
  color: #1b3d6b !important;
  border: none !important;
  padding: 14px 40px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  border-radius: 2px !important;
  width: auto !important;
  display: block !important;
  margin: 24px auto 0 !important;
}

/* Checkbox / radio */
body .wpmem_form input[type="checkbox"],
body .wpmem_form input[type="radio"] {
  accent-color: #22d3ee !important;
  width: 16px !important;
  height: 16px !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}

/* Email optin checkbox */
.wpmem_form input#email_optin,
.wpmem_form input[name="email_optin"],
.wpmem_form tr.email_optin input,
.wpmem_form .email_optin input {
  width: 20px !important;
  height: 20px !important;
  accent-color: #22d3ee !important;
  margin-right: 10px !important;
  cursor: pointer !important;
  display: inline-block !important;
  vertical-align: middle !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  appearance: checkbox !important;
  -webkit-appearance: checkbox !important;
}

.wpmem_form tr.email_optin td:last-child,
.wpmem_form .email_optin {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 10px !important;
}

/* Required asterisk */
body span.req,
body .wpmem_form span.req {
  color: #22d3ee !important;
}

/* Error messages */
.wpmem_msg,
div.wpmem_msg,
p.wpmem_msg,
.wpmem-error {
  background: rgba(255,0,0,0.1) !important;
  border: 1px solid rgba(255,0,0,0.3) !important;
  color: #ff6b6b !important;
  padding: 12px 16px !important;
  border-radius: 2px !important;
  margin-bottom: 16px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.8rem !important;
}

/* Success messages */
.wpmem_msg.success,
div.wpmem_success,
.wpmem-success {
  background: rgba(34,211,238,0.1) !important;
  border: 1px solid rgba(34,211,238,0.3) !important;
  color: #22d3ee !important;
  padding: 12px 16px !important;
  border-radius: 2px !important;
}

/* TOS text */
.wpmem_form .wpmem_tos {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.3) !important;
}

/* New user / login links */
body #wpmem_login a,
body #wpmem_login p,
body .wpmem_login_form a,
body .wpmem_login_form p,
body .wpmem_form a,
body .wpmem_form p,
body div#wpmem_login a,
body div#wpmem_login p,
body div.wpmem_form a,
body div.wpmem_form p {
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body #wpmem_login a,
body .wpmem_login_form a,
body .wpmem_form a,
body div#wpmem_login a,
body div.wpmem_form a {
  color: #22d3ee !important;
  text-decoration: underline !important;
}

body #wpmem_login a:hover,
body .wpmem_form a:hover {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* === SHAREONEDRIVE === */

.wcp-filebrowser,
.wcp-filebrowser-wrapper,
.shareonedrive-browser,
[class*="shareonedrive"],
[class*="wcp-"] {
  background: #214878 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 4px !important;
  color: #f0f0f0 !important;
}

.wcp-filebrowser-toolbar,
.wcp-toolbar,
[class*="toolbar"] {
  background: #285588 !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #f0f0f0 !important;
}

.wcp-breadcrumb,
.wcp-breadcrumb a,
[class*="breadcrumb"] {
  background: #285588 !important;
  color: rgba(255,255,255,0.6) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

.wcp-breadcrumb a:hover {
  color: #22d3ee !important;
}

.wcp-item,
.wcp-file,
.wcp-folder,
[class*="wcp-item"],
[class*="wcp-file"],
[class*="wcp-folder"] {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 4px !important;
  color: #f0f0f0 !important;
}

.wcp-item:hover,
.wcp-file:hover,
.wcp-folder:hover {
  background: rgba(34,211,238,0.08) !important;
  border-color: rgba(34,211,238,0.2) !important;
}

.wcp-item-name,
.wcp-filename,
[class*="item-name"],
[class*="filename"] {
  color: #f0f0f0 !important;
  font-size: 0.8rem !important;
}

.wcp-item-icon,
[class*="item-icon"] {
  filter: brightness(0.9) !important;
}

.wcp-filebrowser ::-webkit-scrollbar {
  width: 4px !important;
  background: #214878 !important;
}

.wcp-filebrowser ::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.15) !important;
  border-radius: 2px !important;
}

.wcp-search input,
[class*="search"] input {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  border-radius: 2px !important;
}

.wcp-btn,
.wcp-button,
[class*="wcp-btn"] {
  background: transparent !important;
  color: rgba(255,255,255,0.6) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}

.wcp-btn:hover,
.wcp-button:hover {
  color: #22d3ee !important;
  border-color: rgba(34,211,238,0.3) !important;
}

.wcp-info-panel,
[class*="info-panel"] {
  background: #285588 !important;
  border-left: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.6) !important;
}

.wcp-loading,
[class*="loading"] {
  color: #22d3ee !important;
}

.wcp-pagination,
[class*="pagination"] {
  background: #285588 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.5) !important;
}

/* === FONT SIZE OVERRIDES === */

/* Hero */
.fbe-hero__headline   { font-size: clamp(3.5rem, 7vw, 6rem) !important; }
.fbe-hero__sub        { font-size: 1.1rem !important; }
.fbe-stat__value      { font-size: 2.5rem !important; }
.fbe-stat__label      { font-size: 0.7rem !important; }
.fbe-stat__detail     { font-size: 0.85rem !important; }

/* Ticker */
.fbe-ticker__item     { font-size: 0.8rem !important; }

/* Bento grid */
.fbe-cell__tag        { font-size: 0.65rem !important; }
.fbe-cell__heading    { font-size: 1.8rem !important; }
.fbe-news-item__title { font-size: 1.05rem !important; }
.fbe-news-item__body  { font-size: 0.9rem !important; }
.fbe-news-item__date  { font-size: 0.7rem !important; }
.fbe-meeting-date     { font-size: clamp(3.5rem, 6vw, 5.5rem) !important; }
.fbe-meeting-detail   { font-size: 0.9rem !important; }
.fbe-doc-item__name   { font-size: 0.9rem !important; }
.fbe-guideline-item   { font-size: 0.9rem !important; }
.fbe-board-member__name { font-size: 1rem !important; }
.fbe-board-member__role { font-size: 0.7rem !important; }

/* Contact */
.fbe-contact-block__value { font-size: 1rem !important; }
.fbe-contact-block__label { font-size: 0.65rem !important; }

/* Footer */
.fbe-footer__copy     { font-size: 0.75rem !important; }

/* Page templates */
.fbe-page-title       { font-size: clamp(2.5rem, 5vw, 4rem) !important; }
.fbe-page-subtitle    { font-size: 1.1rem !important; }
.fbe-page-body        { font-size: 1rem !important; }

/* === RESPONSIVE === */

/* -- Tablet (max 1024px) -- */
@media (max-width: 1024px) {
  .fbe-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .fbe-hero__main {
    padding: 3rem 1.5rem;
    border-right: none;
    border-bottom: 1px solid var(--border);
  }

  .fbe-hero__stats {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 1.5rem;
    gap: 1rem;
  }

  .fbe-stat { border-bottom: none; border-right: 1px solid var(--border); padding: 1rem; }
  .fbe-stat:last-child { border-right: none; }

  .fbe-contact-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* -- Mobile (max 768px) — single column everything -- */
@media (max-width: 768px) {
  /* Prevent horizontal scroll */
  body, html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* Universal box-sizing for mobile */
  *, *::before, *::after {
    box-sizing: border-box !important;
  }

  /* Hide nav links on mobile */
  .fbe-nav__links {
    display: none !important;
  }

  .fbe-nav {
    padding: 0 1rem !important;
  }

  .fbe-nav__logo {
    font-size: 0.75rem !important;
  }

  /* Hero */
  .fbe-hero__headline {
    font-size: 2.5rem !important;
  }

  .fbe-hero__sub {
    font-size: 0.9rem;
  }

  .fbe-hero__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .fbe-hero__stats {
    flex-direction: column;
    padding: 1.5rem;
    gap: 0;
  }

  .fbe-stat {
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding: 1.25rem 0;
  }

  /* Bento grid — single column */
  .fbe-bento {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .fbe-cell--news,
  .fbe-cell--docs,
  .fbe-cell--guidelines,
  .fbe-cell--board-inner,
  .fbe-cell--contact {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    border-right: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .fbe-cell {
    padding: 1.5rem !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    box-sizing: border-box !important;
    max-width: 100vw !important;
  }

  /* Cell headings — normal horizontal text */
  .fbe-cell__heading {
    font-size: 1.3rem !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  /* Cell tags — force horizontal */
  .fbe-cell__tag {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  /* Contact grid — single column */
  .fbe-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }

  .fbe-contact-block__value {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* News items — stack on mobile */
  .fbe-news-item {
    grid-template-columns: 1fr !important;
    gap: 0.5rem;
  }

  /* Share One Drive / embedded iframes — contain within cell */
  .fbe-cell iframe,
  .fbe-cell .UseyourDrive,
  .fbe-cell [class*="onedrive"],
  .fbe-cell [class*="shareonedrive"] {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: auto !important;
  }

  /* Footer — stack */
  .fbe-footer {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
    padding: 1.5rem 1rem !important;
  }

  /* Ticker */
  .fbe-ticker__label {
    padding: 0 0.75rem;
    font-size: 0.5rem;
  }
}

/* -- Small mobile (max 480px) -- */
@media (max-width: 480px) {
  .fbe-hero__main {
    padding: 2rem 1rem;
  }

  .fbe-hero__headline {
    font-size: 2rem !important;
  }

  .fbe-cell {
    padding: 1.25rem !important;
  }

  .fbe-cell__heading {
    font-size: 1.15rem !important;
  }
}

/* Force disclosure acknowledgment checkbox visible */
.wpmem_form input#opt_in,
.wpmem_form input#email_disclosure_ack,
.wpmem_form input[name="opt_in"],
.wpmem_form input[name="email_disclosure_ack"] {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  accent-color: #22d3ee !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  cursor: pointer !important;
}

/* Style the disclosure label */
label[for="opt_in"],
label[for="email_disclosure_ack"] {
  color: rgba(255,255,255,0.7) !important;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

/* ===== DISCLOSURE CHECKBOX NUCLEAR FIX ===== */
div.div_checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 16px 0 !important;
  min-height: 30px !important;
}

div.div_checkbox input[type="checkbox"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 2px 8px 0 0 !important;
  border: 2px solid #22d3ee !important;
  background: rgba(34,211,238,0.1) !important;
  accent-color: #22d3ee !important;
  -webkit-appearance: checkbox !important;
  appearance: checkbox !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

div.div_checkbox label {
  display: block !important;
  visibility: visible !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.6 !important;
  cursor: pointer !important;
  flex: 1 !important;
  font-weight: 400 !important;
}

/* === WP-MEMBERS LINK TEXT (Forgot password / New User) === */
.link-text,
.link-text *,
div.link-text,
div.link-text *,
span.link-text-forgot,
span.link-text-register {
  color: rgba(255,255,255,0.55) !important;
  font-size: 14px !important;
}
.link-text a,
div.link-text a,
.link-text-forgot a,
.link-text-register a {
  color: #22d3ee !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.link-text a:hover,
div.link-text a:hover {
  color: #ffffff !important;
}
