/*
 * Site-wide contrast audit.
 *
 * The base theme uses dark global tokens for night and field use. Some legacy
 * light sections used those tokens with the opposite semantic meaning, which
 * produced white text on pale backgrounds and pale text on lime panels.
 * Keep lime as a compact accent and set explicit foreground/background pairs.
 */

:root {
	--isonosuke-dark: #062f33;
	--isonosuke-dark-soft: #12383a;
	--isonosuke-paper: #f7f5ef;
	--isonosuke-sand: #f5f2e9;
	--isonosuke-teal: #18b7b1;
	--isonosuke-lime: #cbea45;
	--isonosuke-muted-dark: #526b6d;
	--isonosuke-muted-light: #b8ccca;
}

/* Keyboard and global utility contrast. */
.screen-reader-text:focus {
	background: var(--isonosuke-paper);
	color: var(--isonosuke-dark-soft);
}

.site-brand__link--footer .site-brand__mark {
	color: var(--isonosuke-dark-soft);
}

/* Home: lime is an accent, never a large reading surface. */
.gateway-card--lime {
	background: var(--isonosuke-paper);
	box-shadow: inset 0 6px 0 var(--isonosuke-lime);
	color: var(--isonosuke-dark-soft);
}

.gateway-card--lime p,
.gateway-card--lime i {
	color: #087c7d;
}

.izu-hub h2 em {
	color: var(--isonosuke-paper);
	box-shadow: inset 0 -0.17em 0 rgba(203, 234, 69, 0.3);
}

.izu-hub-card--active {
	background: var(--isonosuke-paper);
	box-shadow: inset 0 6px 0 var(--isonosuke-lime);
	color: var(--isonosuke-dark-soft);
}

.izu-hub-card--active .izu-hub-card__number {
	color: rgba(18, 56, 58, 0.52);
}

.izu-hub-card--active > p {
	color: #087c7d;
}

.izu-hub-card--active h3 {
	color: var(--isonosuke-dark-soft);
}

.izu-hub-card--active > strong {
	border-color: rgba(18, 56, 58, 0.2);
	color: var(--isonosuke-dark-soft);
}

.izu-hub-card--active > strong i {
	color: #087c7d;
}

/* Journal cards: avoid dark-on-dark category labels. */
.journal-card__meta span {
	background: var(--isonosuke-dark-soft);
	color: var(--isonosuke-paper);
}

/*
 * Shop pages were authored as light surfaces, while the global theme tokens
 * are dark. Scope the intended light palette to the tackle database only.
 */
.tackle-database {
	--ink: #12383a;
	--ink-soft: #526b6d;
	--ocean: #18b7b1;
	--ocean-dark: #062f33;
	--ocean-pale: #dcece8;
	--lime: #cbea45;
	--sand: #eee8dc;
	--paper: #f5f2e9;
	--white: #f7f5ef;
	--line: rgba(18, 56, 58, 0.16);
	--shadow: 0 22px 60px rgba(6, 47, 51, 0.16);
	background: var(--paper);
	color: var(--ink);
}

.tackle-hero h1 em {
	color: var(--white);
	box-shadow: inset 0 -0.16em 0 rgba(203, 234, 69, 0.34);
}

.tackle-categories {
	background: var(--ocean-dark);
	color: var(--white);
}

.tackle-categories .tackle-section-heading h2 {
	color: var(--white);
}

.tackle-categories .tackle-section-heading > p {
	color: rgba(247, 245, 239, 0.74);
}

.tackle-category-card {
	background: var(--white);
	color: var(--ink);
}

.tackle-category-card--active {
	background: var(--ink);
	border-color: var(--ocean);
	box-shadow: inset 0 6px 0 var(--lime);
	color: var(--white);
}

.tackle-category-card--active h3 {
	color: var(--white);
}

.tackle-category-card--active ul {
	color: rgba(247, 245, 239, 0.76);
}

.tackle-category-card--active > p,
.tackle-category-card--active a {
	color: var(--lime);
}

.database-purpose {
	background: var(--ocean-dark);
	color: var(--white);
}

.database-purpose .tackle-section-heading h2,
.database-purpose__grid h3 {
	color: var(--white);
}

.database-purpose__grid p {
	color: rgba(247, 245, 239, 0.72);
}

.database-purpose__grid,
.database-purpose__grid article {
	border-color: rgba(247, 245, 239, 0.18);
}

.product-archive {
	background: #e9f0ed;
	color: var(--ink);
}

/* Forms and controls must retain visible text in both themes. */
.tackle-database select,
.tackle-database input,
.tackle-database textarea {
	color: var(--ink);
}

/* Explicit contrast for common dark tool surfaces. */
.field-dock,
.facility-directory,
.trip-planner,
.latest,
.about {
	color: #edf7f5;
}

.facility-card__actions a,
.facility-detail__actions a,
.planner-panel,
.planner-field input,
.planner-field select,
.planner-field textarea {
	color: #edf7f5;
}

@media (max-width: 720px) {
	.gateway-card--lime,
	.izu-hub-card--active,
	.tackle-category-card--active {
		box-shadow: inset 0 5px 0 var(--isonosuke-lime);
	}
}


/* Launch legal links */
.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.site-footer__legal a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: rgba(237, 247, 245, 0.42);
	text-underline-offset: 4px;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	color: #d7ef68;
}
