/**
 * Aqua Studio Theme — assets/css/aqua-worlds.css — v2.6.0 — NEW.
 * Job 2026-07-16-egfs-foundation-wave (Ali) — Worlds CPT front-end layout.
 * FOUNDATION-wave infra only, deliberately plain/functional: token-driven
 * (no hardcoded hex — see build/tokens.json "refuses" list) and built on
 * top of the shared .aqua-card / .aqua-card-grid / .aqua-cta primitives
 * already in style.css, so a future visual reskin of those shared
 * primitives reaches Worlds automatically with zero rework here. The
 * incoming Claude Design layout pass owns the final visual treatment of
 * these templates — this file only has to make the system correct,
 * on-brand, and never-broken in the meantime.
 */

/* v2.9.0 (Ali) — the un-versioned `@import url("tokens.css")` that stood
   here is REMOVED. A CSS @import carries no ?ver= cache-buster, so behind
   LiteSpeed Cache production was still resolving it to the PRE-REBRAND
   "Living Water" blue token set (verified live on v2.8.0), and because an
   imported :root block later in the document order beats an earlier one,
   this import could re-poison the locked brand values even after
   style.css declared them correctly. Custom properties cascade from :root
   globally, so this file needs no import of its own: tokens.css is now
   enqueued as a real versioned stylesheet (functions.php, handle
   `aqua-studio-tokens`) and style.css §1 re-declares the locked values.
   Every var(--token) reference below resolves exactly as before. */

/* -- World card (template-parts/world-card.php), used in the archive grid -- */

.aqua-world-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var(--surfaces-lifted-tint);
	/* v2.9.1 — D2 P2 (audit row 4.5): this slot's rounding and clipping were
	   borrowed entirely from `.aqua-card { overflow:hidden }` above it. True
	   today, silently false the moment this card is reused outside
	   `.aqua-card` — at which point a 4:3 photo would spill square corners
	   past a rounded card. Declared locally so the component carries its own
	   contract instead of depending on an ancestor's. */
	overflow: hidden;
	border-radius: var(--radii-card) var(--radii-card) 0 0;
}

.aqua-world-card__excerpt {
	color: var(--color-ink-text-primary);
	opacity: 0.82;
	font-size: 0.95em;
	margin: 6px 0 0;
}

.aqua-world-card__spec-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

.aqua-world-card__pill,
.aqua-world__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: var(--radii-badge-pill);
	background: var(--surfaces-lifted-tint);
	border: 1px solid var(--elevation-hairline);
	font-size: var(--type-badge-label-px);
	color: var(--color-ink-text-primary);
	font-weight: 600;
}

.aqua-world-card__cost {
	color: var(--cta-signal-primary);
	font-weight: 700;
	margin: 8px 0 0;
}

/* -- Worlds archive (archive-aqua_world.php) -- */

.aqua-worlds-archive__intro {
	max-width: 60ch;
	margin: 0 0 28px;
	color: var(--color-ink-text-primary);
	opacity: 0.85;
}

.aqua-worlds-archive__grid {
	margin-top: 8px;
}

/* -- Single World template (single-aqua_world.php) -- */

.aqua-world__header {
	margin-bottom: 20px;
}

.aqua-world__intro {
	color: var(--color-ink-text-primary);
	opacity: 0.85;
	max-width: 70ch;
	margin: 6px 0 12px;
}

.aqua-world__hero {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 520px;
	border-radius: var(--radii-card);
	overflow: hidden;
	margin-bottom: 28px;
	background: var(--surfaces-lifted-tint);
}

.aqua-world__hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.aqua-world__layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 32px;
	align-items: start;
}

@media (max-width: 900px) {
	.aqua-world__layout {
		grid-template-columns: 1fr;
	}
}

.aqua-world__section {
	margin-bottom: 28px;
}

.aqua-world__section-title {
	font-family: var(--type-display-en), sans-serif;
	color: var(--color-ink-text-primary);
	font-size: 1.15em;
	margin: 0 0 12px;
}

.aqua-world__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.aqua-world__list-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	background: var(--surfaces-lifted-opaque);
	border-radius: var(--radii-card-small);
	box-shadow: var(--elevation-card-shadow);
}

.aqua-world__list-row-label {
	font-weight: 600;
	color: var(--color-ink-text-primary);
}

.aqua-world__list-row-qty {
	color: var(--color-base-clear-mid);
	font-weight: 700;
	margin-right: 8px;
}

.aqua-world__shop-link {
	font-size: 0.85em;
	color: var(--cta-signal-primary);
	font-weight: 600;
	white-space: nowrap;
}

.aqua-world__cost-callout {
	background: var(--surfaces-lifted-deep-opaque);
	color: var(--color-ink-text-inverse);
	border-radius: var(--radii-card-small);
	padding: 18px 20px;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.aqua-world__cost-value {
	color: var(--color-ink-text-inverse);
	font-size: 1.4em;
	font-weight: 700;
}

.aqua-world__sidebar .aqua-cta {
	display: inline-block;
}

.aqua-world__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
	margin-top: 4px;
}

.aqua-world__gallery-item {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: var(--radii-card-small);
	overflow: hidden;
	background: var(--surfaces-lifted-tint);
}
