/* Appily Eightyeight — Tideboard theme bridge (site-wide)
   Aligns DNA pages with index.php tokens while keeping page-local layouts.
   Lagoon / apricot / foam / ink from Tideboard. */

:root {
  --a88-lagoon: #024E4A;
  --a88-lagoon-deep: #013533;
  --a88-apricot: #FF9B71;
  --a88-apricot-deep: #E87A4F;
  --a88-foam: #EFFFFA;
  --a88-mint: #B8F2E0;
  --a88-ink: #042A28;
  --a88-mute: #2F5C58;
  --a88-paper: #F4FBF8;
  --a88-white: #FFFFFF;
  --a88-danger: #B42318;
  --a88-display: "Bricolage Grotesque", "Outfit", system-ui, sans-serif;
  --a88-body: "Plus Jakarta Sans", "Manrope", system-ui, sans-serif;
}

/* Readable defaults inside page main */
body.has-nv-nexus .page-main {
  color: var(--a88-ink);
}

body.has-nv-nexus .page-main a:not([class]) {
  color: var(--a88-lagoon);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

/* Primary CTA pattern — dark lagoon + foam text
   DNA page CTAs owned by page CSS (apricot / local) */
body.has-nv-nexus:not(.fl-flux):not(.pd-passport):not(.lm-loom):not(.cf-chrono):not(.fb-forge):not(.ma-atlas):not(.sd-deck):not(.wd-wire):not(.sg-sunrise):not(.gm-glass):not(.sx-signal) .page-main button[type="submit"]:not([class*="ghost"]):not([class*="quiet"]):not([class*="line"]) {
  background-color: var(--a88-lagoon) !important;
  color: var(--a88-foam) !important;
  border-color: var(--a88-lagoon) !important;
}

body.has-nv-nexus:not(.fl-flux):not(.pd-passport):not(.lm-loom):not(.cf-chrono):not(.fb-forge):not(.ma-atlas):not(.sd-deck):not(.wd-wire):not(.sg-sunrise):not(.gm-glass):not(.sx-signal) .page-main button[type="submit"]:not([class*="ghost"]):hover {
  background-color: var(--a88-lagoon-deep) !important;
  color: var(--a88-foam) !important;
}

/* Ghost / line buttons — ink on light (exclude Tideboard .tb-quiet + Loom dark label) */
body.has-nv-nexus:not(.lm-loom) .page-main [class*="btn--ghost"],
body.has-nv-nexus:not(.lm-loom) .page-main [class*="btn--line"],
body.has-nv-nexus:not(.lm-loom) .page-main [class*="btn--quiet"] {
  color: var(--a88-ink) !important;
  background-color: transparent !important;
  border-color: var(--a88-lagoon) !important;
}

body.has-nv-nexus:not(.lm-loom) .page-main [class*="btn--ghost"]:hover,
body.has-nv-nexus:not(.lm-loom) .page-main [class*="btn--line"]:hover {
  background-color: var(--a88-mint) !important;
  color: var(--a88-ink) !important;
}

/* Lumina account buttons — owned by a88-lumina-desk.css (do not force lagoon here) */

/* Accent / strike / hot actions — apricot with dark ink */
body.has-nv-nexus .page-main [class*="btn--strike"],
body.has-nv-nexus .page-main [class*="btn--hot"],
body.has-nv-nexus .page-main [class*="btn--accent"],
body.has-nv-nexus .page-main .fb-btn--strike {
  background-color: var(--a88-apricot) !important;
  color: var(--a88-ink) !important;
  border-color: var(--a88-apricot-deep) !important;
}

body.has-nv-nexus .page-main [class*="btn--strike"]:hover,
body.has-nv-nexus .page-main .fb-btn--strike:hover {
  background-color: #FFB08E !important;
  color: var(--a88-ink) !important;
}

/* Form fields on light DNA surfaces (exclude Echo seek field) */
body.dna-exclusive .page-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.eh-seek input),
body.dna-exclusive .page-main textarea,
body.dna-exclusive .page-main select {
  color: var(--a88-ink) !important;
  background-color: var(--a88-white) !important;
  border-color: rgba(4, 42, 40, 0.22) !important;
}

body.dna-exclusive .page-main input::placeholder,
body.dna-exclusive .page-main textarea::placeholder {
  color: var(--a88-mute) !important;
  opacity: 1 !important;
}

/* Labels & body copy */
body.dna-exclusive .page-main label,
body.dna-exclusive .page-main p,
body.dna-exclusive .page-main li,
body.dna-exclusive .page-main dd,
body.dna-exclusive .page-main dt,
body.dna-exclusive .page-main th,
body.dna-exclusive .page-main td {
  color: inherit;
}

/* Dark panels: force light readable text */
body.dna-exclusive .page-main [class*="-manifest"],
body.dna-exclusive .page-main [class*="-mural"],
body.dna-exclusive .page-main [class*="-slate"],
body.dna-exclusive .page-main .eh-raft-inner {
  color: var(--a88-foam);
}

body.dna-exclusive .page-main .eh-raft-inner a:not(.eh-raft-btn) {
  color: var(--a88-mint) !important;
}

/* Echo help buttons owned by a88-echo-lattice.css */

/* Notices */
body.has-nv-nexus .page-main .notice,
body.has-nv-nexus .page-main [role="alert"]:not(.nv-nexus *) {
  color: var(--a88-ink) !important;
}
body.eh-echo.has-nv-nexus .page-main .notice,
body.eh-echo.has-nv-nexus .page-main [role="alert"] {
  color: #042A28 !important;
}

/* Dark Echo help desk: keep light text on lagoon panels */
body.eh-echo.dna-exclusive .page-main,
body.eh-echo.dna-exclusive .page-main p,
body.eh-echo.dna-exclusive .page-main li,
body.eh-echo.dna-exclusive .page-main h1,
body.eh-echo.dna-exclusive .page-main h2,
body.eh-echo.dna-exclusive .page-main h3,
body.eh-echo.dna-exclusive .page-main h4,
body.eh-echo.dna-exclusive .page-main label {
  color: #EFFFFA;
}
body.eh-echo.dna-exclusive .page-main a:not(.eh-raft-btn):not(.eh-raft-mail) {
  color: #B8F2E0 !important;
}
body.eh-echo.dna-exclusive .page-main .eh-raft-btn {
  color: #042A28 !important;
}
body.eh-echo.dna-exclusive .page-main .eh-raft-mail {
  color: #FF9B71 !important;
}
body.eh-echo.dna-exclusive .page-main .eh-raft-nav a {
  color: #FFFFFF !important;
}
body.eh-echo.dna-exclusive .page-main .eh-signal-a,
body.eh-echo.dna-exclusive .page-main .eh-signal-q {
  color: #EFFFFA !important;
}
body.eh-echo.dna-exclusive .page-main input:not(.eh-seek input),
body.eh-echo.dna-exclusive .page-main textarea {
  color: #042A28 !important;
  background: #EFFFFA !important;
}
body.eh-echo.dna-exclusive .page-main .eh-seek input {
  color: #EFFFFA !important;
  background: transparent !important;
  border-color: transparent !important;
}
body.eh-echo.dna-exclusive .page-main .eh-seek input::placeholder {
  color: rgba(184, 242, 224, 0.65) !important;
}
body.eh-echo.dna-exclusive .page-main .notice,
body.eh-echo.dna-exclusive .page-main [role="alert"] {
  color: #042A28 !important;
  background: #B8F2E0 !important;
  border-color: #024E4A !important;
}

/* Signal mast / wire strip — dark bars need light text */
body.sx-signal .sx-mast,
body.sx-signal .sx-mast a,
body.wd-wire .wd-strip,
body.wd-wire .wd-strip a {
  color: #EFFFFA !important;
}
body.sx-signal .sx-mast a:hover,
body.wd-wire .wd-strip a:hover {
  color: #FF9B71 !important;
}

/* Forge dark steel panels */
body.fb-forge .fb-manifest,
body.fb-forge .fb-due,
body.fb-forge .fb-manifest * {
  color: #EFFFFA;
}
body.fb-forge .fb-manifest a,
body.fb-forge .fb-due a {
  color: #B8F2E0 !important;
}

/* Tide footer — light foam surface, always visible */
body.has-nv-nexus .tf-reef {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background-color: #EFFFFA !important;
  color: #042A28 !important;
}
.tf-news-form input {
  color: #EFFFFA !important;
  background: #013533 !important;
  border-color: rgba(2, 78, 74, 0.35) !important;
}
.tf-news-form input::placeholder {
  color: rgba(239, 255, 250, 0.5) !important;
}
.tf-news-form button {
  background: #FF9B71 !important;
  color: #042A28 !important;
}
.tf-news-form button:hover,
.tf-news-form button:focus-visible {
  background: #FFB08E !important;
  color: #042A28 !important;
}
