/* GTA Master blocks. Colors, sizes and spacing come from theme presets so Global Styles changes carry through. */
[class*="wp-block-gtam-"] { --gtam-accent: var(--gtam-game-accent, var(--wp--preset--color--accent, #f08a3c)); --gtam-r: var(--wp--custom--radius--sm, 4px); --gtam-line: var(--wp--preset--color--line, #d6cdb8); box-sizing: border-box; }
[class*="wp-block-gtam-"] *, [class*="wp-block-gtam-"] *::before { box-sizing: border-box; }
.gtam-icon { display: inline-flex; flex: none; width: 1.25em; height: 1.25em; }
.gtam-icon svg { width: 100%; height: 100%; }
.gtam-empty { padding: 1rem; border: 1px dashed currentColor; opacity: .7; font-size: .875rem; margin: 0; }
.gtam-editor-tag { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; opacity: .6; margin-bottom: 4px; }
.gtam-chip { display: inline-block; padding: .1em .55em; border-radius: var(--wp--custom--radius--sm, 4px); background: rgba(127,127,127,.18); font-size: var(--wp--preset--font-size--xs); font-weight: 600; line-height: 1.6; }
.gtam-chip.is-accent { background: var(--gtam-game-accent, var(--wp--preset--color--accent)); color: var(--wp--preset--color--ink); }
.gtam-chip.is-warn { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--ink); }
.gtam-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .5rem 1.25rem; margin: 0; font-size: var(--wp--preset--font-size--sm); }
.gtam-facts dt { font-size: var(--wp--preset--font-size--xs); opacity: .75; }
.gtam-facts dd { margin: 0; font-weight: 600; }
.gtam-stats { margin: 0; display: grid; gap: .5rem; font-size: var(--wp--preset--font-size--sm); }
.gtam-stats__row { display: grid; grid-template-columns: minmax(6rem, 30%) 1fr; gap: .75rem; align-items: center; }
.gtam-stats dd { margin: 0; display: grid; grid-template-columns: 2.5em 1fr; gap: .5rem; align-items: center; font-weight: 600; }
.gtam-stats__bar { display: block; height: 8px; border-radius: 4px; background: rgba(127,127,127,.25); overflow: hidden; }
.gtam-stats__bar span { display: block; height: 100%; background: var(--gtam-game-accent, var(--wp--preset--color--accent)); }
.gtam-box__title { display: flex; align-items: center; gap: .5rem; margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--lg); }
.gtam-table-wrap { overflow-x: auto; }
.gtam-table-wrap:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.gtam-filters { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: center; margin: 0 0 1rem; font-size: var(--wp--preset--font-size--sm); }
.gtam-filters[hidden] { display: none; }
.gtam-filters input[type=search], .gtam-filters select { min-height: 44px; padding: .4rem .7rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--text); font: inherit; }
.gtam-filters__check { display: inline-flex; gap: .4rem; align-items: center; min-height: 44px; }
.gtam-filters__count { margin-left: auto; font-weight: 600; }
.gtam-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--wp--preset--spacing--40); }
.gtam-pager { margin-top: 1.5rem; display: flex; gap: .25rem; flex-wrap: wrap; }
.gtam-pager .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); text-decoration: none; }
.gtam-pager .current { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); }

/* Tables shared */
.wp-block-gtam-collectible-table table, .wp-block-gtam-data-table table, .wp-block-gtam-compare table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); }
.wp-block-gtam-collectible-table th, .wp-block-gtam-collectible-table td, .wp-block-gtam-data-table th, .wp-block-gtam-data-table td, .wp-block-gtam-compare th, .wp-block-gtam-compare td { padding: .6rem .7rem; border-bottom: 1px solid var(--wp--preset--color--line); text-align: left; vertical-align: top; }
.wp-block-gtam-collectible-table thead th, .wp-block-gtam-data-table thead th, .wp-block-gtam-compare thead th { position: sticky; top: 0; background: var(--wp--preset--color--charcoal); color: var(--wp--preset--color--text-invert); font-family: var(--wp--preset--font-family--display); text-transform: uppercase; letter-spacing: .02em; }
.wp-block-gtam-data-table tbody tr:nth-child(even), .wp-block-gtam-collectible-table tbody tr:nth-child(even) { background: rgba(127,127,127,.07); }
.wp-block-gtam-data-table th button { all: unset; cursor: pointer; display: block; width: 100%; }
.wp-block-gtam-data-table th button:focus-visible { outline: 2px solid var(--wp--preset--color--accent); }
.wp-block-gtam-data-table th[aria-sort=ascending] button::after { content: " \25B2"; font-size: .7em; }
.wp-block-gtam-data-table th[aria-sort=descending] button::after { content: " \25BC"; font-size: .7em; }
.wp-block-gtam-data-table caption { caption-side: top; text-align: left; font-weight: 600; padding-bottom: .5rem; }
.wp-block-gtam-data-table .is-money, .wp-block-gtam-data-table .is-number { text-align: right; font-variant-numeric: tabular-nums; }
.wp-block-gtam-data-table .is-yes { color: var(--wp--preset--color--success); }
.wp-block-gtam-data-table .is-no { color: var(--wp--preset--color--danger); }
.gtam-col-num { white-space: nowrap; font-weight: 700; }
.gtam-col-num .gtam-icon { margin-right: .35rem; vertical-align: -.2em; }
.gtam-col-shot img { display: block; width: 120px; height: auto; border-radius: var(--wp--custom--radius--sm, 4px); }
.gtam-col-check input { width: 22px; height: 22px; accent-color: var(--gtam-game-accent, var(--wp--preset--color--accent)); }
tr.is-found { opacity: .55; }
.gtam-maplink { white-space: nowrap; }
.gtam-maplink .gtam-icon { vertical-align: -.2em; }
@media (max-width: 781px) {
	.wp-block-gtam-data-table .is-low { display: none; }
	.wp-block-gtam-collectible-table.is-cards table, .wp-block-gtam-collectible-table.is-cards tbody, .wp-block-gtam-collectible-table.is-cards td, .wp-block-gtam-collectible-table.is-cards tbody th { display: block; width: 100%; }
	.wp-block-gtam-collectible-table.is-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.wp-block-gtam-collectible-table.is-cards tbody tr { display: block; padding: .75rem; margin-bottom: .75rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); }
	.wp-block-gtam-collectible-table.is-cards tbody tr[hidden] { display: none; }
	.wp-block-gtam-collectible-table.is-cards td, .wp-block-gtam-collectible-table.is-cards tbody th { border: 0; padding: .25rem 0; }
	.wp-block-gtam-collectible-table.is-cards td:empty { display: none; }
	.wp-block-gtam-collectible-table.is-cards .gtam-col-shot img { width: 100%; }
	.wp-block-gtam-collectible-table.is-scroll tbody th { position: sticky; left: 0; background: var(--wp--preset--color--paper-2); }
}

/* Mission header */
.wp-block-gtam-mission-header { position: relative; overflow: hidden; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); border-radius: var(--wp--custom--radius--md, 8px); border-top: 4px solid var(--gtam-accent); }
.gtam-mh__bg { position: absolute; inset: 0; }
.gtam-mh__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.gtam-mh__inner { position: relative; padding: var(--wp--preset--spacing--50); display: grid; gap: .75rem; }
.gtam-mh__eyebrow { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.gtam-mh__title { margin: 0; font-size: var(--wp--preset--font-size--xxxl); color: inherit; }
.wp-block-gtam-mission-header.is-compact .gtam-mh__title { font-size: var(--wp--preset--font-size--xl); }
.wp-block-gtam-mission-header.is-compact .gtam-mh__inner { padding: var(--wp--preset--spacing--30); }

/* Steps */
.wp-block-gtam-step-list { counter-reset: gtam-step; display: grid; gap: var(--wp--preset--spacing--50); }
.gtam-progress-line { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.gtam-progress-line[hidden] { display: none; }
.gtam-progress-line progress, .wp-block-gtam-progress-meter progress { flex: 1 1 10rem; height: 10px; accent-color: var(--gtam-game-accent, var(--wp--preset--color--accent)); }
.wp-block-gtam-step { counter-increment: gtam-step; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0 var(--wp--preset--spacing--30); }
.gtam-step__badge { grid-column: 1; width: 2.75rem; height: 2.75rem; display: flex; align-items: center; justify-content: center; border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: var(--wp--preset--font-size--lg); }
.gtam-step__badge::before { content: counter(gtam-step); }
.wp-block-gtam-step.is-gold .gtam-step__badge { background: var(--gtam-accent); color: var(--wp--preset--color--ink); }
.wp-block-gtam-step.is-optional .gtam-step__badge { background: transparent; color: inherit; border: 2px dashed currentColor; }
.wp-block-gtam-step.is-done .gtam-step__badge { background: var(--wp--preset--color--success); }
.gtam-step__check { grid-column: 1; grid-row: 2; align-self: start; display: flex; justify-content: center; align-items: center; min-height: 44px; }
.gtam-step__check input { width: 22px; height: 22px; accent-color: var(--wp--preset--color--success); }
.gtam-step__body { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
.gtam-step__body > :first-child { margin-top: 0; }
.gtam-step__tag { margin: 0 0 .35rem; }
.gtam-step__video a { display: inline-flex; gap: .35rem; align-items: center; font-size: var(--wp--preset--font-size--sm); min-height: 44px; }
.is-editing-container .gtam-step__badge { display: none; }

/* Screenshot set */
.wp-block-gtam-screenshot-set { display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: repeat(6, minmax(0, 1fr)); margin-block: var(--wp--preset--spacing--30); counter-reset: gtam-shot; }
.wp-block-gtam-screenshot-set > * { grid-column: span 6; margin: 0 !important; counter-increment: gtam-shot; position: relative; min-width: 0; }
.wp-block-gtam-screenshot-set img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--sm, 4px); cursor: zoom-in; }
.wp-block-gtam-screenshot-set.has-aspect img { aspect-ratio: var(--gtam-aspect, 16/9); object-fit: cover; }
.wp-block-gtam-screenshot-set img:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.wp-block-gtam-screenshot-set.is-numbered > *::before { content: counter(gtam-shot); position: absolute; z-index: 1; top: .4rem; left: .4rem; min-width: 1.6em; text-align: center; border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); font-size: var(--wp--preset--font-size--xs); font-weight: 700; }
.wp-block-gtam-screenshot-set figcaption { margin-top: .25rem; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-muted); }
@media (min-width: 600px) {
	.is-layout-2 > *, .is-layout-2x2 > * { grid-column: span 3; }
	.is-layout-3 > *, .is-layout-3p3 > * { grid-column: span 3; }
	.is-layout-2p1 > * { grid-column: span 3; }
	.is-layout-2p1 > :nth-child(3n) { grid-column: span 6; }
}
@media (min-width: 1024px) {
	.is-layout-3 > *, .is-layout-3p3 > * { grid-column: span 2; }
}

/* Boxes */
.wp-block-gtam-gold-objectives, .wp-block-gtam-collectible-checklist { padding: var(--wp--preset--spacing--30); border: 1px solid var(--wp--preset--color--line); border-left: 4px solid var(--gtam-accent); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); }
.gtam-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.gtam-checks label { display: flex; gap: .55rem; align-items: center; min-height: 44px; }
.gtam-checks input, .gtam-numcheck input { width: 20px; height: 20px; flex: none; accent-color: var(--gtam-game-accent, var(--wp--preset--color--accent)); }
.gtam-checks small { display: block; margin: -.4rem 0 .35rem 1.8rem; color: var(--wp--preset--color--text-muted); }
.gtam-checks__count { margin-left: auto; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--sm); }
.gtam-numcheck { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(4rem, 1fr)); gap: .25rem; }
.gtam-numcheck label { display: flex; gap: .35rem; align-items: center; min-height: 44px; font-variant-numeric: tabular-nums; }
.wp-block-gtam-callout { --c: var(--wp--preset--color--accent-2); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); padding: var(--wp--preset--spacing--30); border: 1px solid var(--c); border-left-width: 4px; border-radius: var(--wp--custom--radius--sm, 4px); background: color-mix(in srgb, var(--c) 9%, var(--wp--preset--color--paper-2)); color: var(--wp--preset--color--text); margin-block: var(--wp--preset--spacing--30); }
.wp-block-gtam-callout.is-tip { --c: var(--wp--preset--color--success); }
.wp-block-gtam-callout.is-warning { --c: var(--wp--preset--color--warning); }
.wp-block-gtam-callout.is-missable { --c: var(--wp--preset--color--danger); }
.wp-block-gtam-callout.is-trophy { --c: var(--wp--preset--color--warning); }
.wp-block-gtam-callout.is-money { --c: var(--wp--preset--color--success); }
.gtam-callout__icon { color: var(--c); width: 1.5rem; height: 1.5rem; }
.gtam-callout__title { margin: 0 0 .15rem; font-weight: 700; }
.gtam-callout__body > :last-child { margin-bottom: 0; }
.gtam-callout__body > p { margin-top: 0; }
.wp-block-gtam-missable-alert { padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); background: var(--wp--preset--color--danger); color: #fff; border-radius: var(--wp--custom--radius--sm, 4px); margin-block: var(--wp--preset--spacing--30); }
.wp-block-gtam-missable-alert > :last-child { margin-bottom: 0; }
.wp-block-gtam-missable-alert a { color: inherit; }
.gtam-missable__title { display: flex; gap: .5rem; align-items: center; margin: 0 0 .35rem; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); font-weight: 700; text-transform: uppercase; }
.wp-block-gtam-spoiler { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); margin-block: var(--wp--preset--spacing--30); }
.wp-block-gtam-spoiler summary { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; min-height: 48px; padding: .5rem .75rem; cursor: pointer; font-weight: 600; }
.wp-block-gtam-spoiler[open] summary .gtam-icon { opacity: .5; }
.gtam-spoiler__content { padding: 0 .75rem .75rem; }
.gtam-spoiler__all { margin: .5rem 0 0; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-muted); }
.gtam-spoiler__all label { display: inline-flex; gap: .35rem; align-items: center; min-height: 32px; }
.wp-block-gtam-choice-branch { margin-block: var(--wp--preset--spacing--30); }
.gtam-tabs__list { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 2px solid var(--wp--preset--color--ink); }
.gtam-tabs__list[hidden] { display: none; }
.gtam-tabs__list button { min-height: 44px; padding: .4rem .9rem; border: 0; background: var(--wp--preset--color--line); color: var(--wp--preset--color--text); font: 600 var(--wp--preset--font-size--sm)/1.2 var(--wp--preset--font-family--body); cursor: pointer; border-radius: var(--wp--custom--radius--sm, 4px) var(--wp--custom--radius--sm, 4px) 0 0; }
.gtam-tabs__list button[aria-selected=true] { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); }
.gtam-tabs__list button:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.wp-block-gtam-choice-tab { padding: var(--wp--preset--spacing--30) 0; }
.is-tabbed .gtam-tabs__nojs { display: none; }
.wp-block-gtam-video-timestamp { margin: var(--wp--preset--spacing--30) 0; }
.gtam-video__link { position: relative; display: block; aspect-ratio: 16/9; background: var(--wp--preset--color--ink); border-radius: var(--wp--custom--radius--sm, 4px); overflow: hidden; }
.gtam-video__link img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gtam-video__play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(20,20,23,.85); color: #fff; }
.wp-block-gtam-video-timestamp iframe { width: 100%; aspect-ratio: 16/9; border: 0; display: block; }
.wp-block-gtam-video-timestamp figcaption { margin-top: .35rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.wp-block-gtam-progress-meter p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin: 0 0 .35rem; font-size: var(--wp--preset--font-size--sm); }
.wp-block-gtam-progress-meter progress { width: 100%; display: block; }
.wp-block-gtam-requirements { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: .6rem .8rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); font-size: var(--wp--preset--font-size--sm); }
.wp-block-gtam-requirements p { margin: 0; display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }

/* Navigation inside guides */
.wp-block-gtam-step-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--wp--preset--spacing--30); }
.gtam-stepnav__card { display: flex; gap: .75rem; align-items: center; padding: .6rem; min-height: 72px; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--text); text-decoration: none; }
.gtam-stepnav__card:hover { border-color: var(--gtam-accent); }
.gtam-stepnav__card img { width: 96px; height: 54px; object-fit: cover; border-radius: 2px; }
.gtam-stepnav__card.is-next { flex-direction: row-reverse; text-align: right; }
.gtam-stepnav__text { display: grid; gap: .1rem; min-width: 0; }
.gtam-stepnav__text small { display: flex; gap: .3rem; align-items: center; color: var(--wp--preset--color--text-muted); }
.gtam-stepnav__card.is-next small { justify-content: flex-end; flex-direction: row-reverse; }
.wp-block-gtam-chapter-nav details, .wp-block-gtam-toc details { font-size: var(--wp--preset--font-size--sm); }
.wp-block-gtam-chapter-nav summary, .wp-block-gtam-toc summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: var(--wp--preset--font-size--lg); text-transform: uppercase; }
.wp-block-gtam-chapter-nav ol, .wp-block-gtam-toc ol { list-style: none; margin: 0; padding: 0; }
.wp-block-gtam-chapter-nav a, .wp-block-gtam-toc a { display: flex; align-items: center; min-height: 36px; padding: .25rem .6rem; border-left: 2px solid var(--wp--preset--color--line); text-decoration: none; color: inherit; line-height: 1.3; }
.wp-block-gtam-chapter-nav a:hover, .wp-block-gtam-toc a:hover { border-left-color: var(--gtam-accent); }
.wp-block-gtam-chapter-nav a[aria-current], .wp-block-gtam-toc a[aria-current] { border-left-color: var(--gtam-accent); font-weight: 700; }
.wp-block-gtam-chapter-nav .is-depth-1 a { padding-left: 1.25rem; font-size: .95em; }
.wp-block-gtam-chapter-nav .is-depth-2 a { padding-left: 2rem; font-size: .9em; }
.wp-block-gtam-toc .is-h3 a { padding-left: 1.25rem; }
.wp-block-gtam-toc .is-h4 a { padding-left: 2rem; }
.wp-block-gtam-toc.is-sticky, .wp-block-gtam-chapter-nav { position: static; }
@media (min-width: 1024px) {
	.wp-block-gtam-toc.is-sticky { position: sticky; top: calc(var(--wp--custom--header--height, 64px) + 3.5rem + var(--wp-admin--admin-bar--height, 0px)); max-height: calc(100vh - 8rem); overflow-y: auto; }
}

/* Cards */
.gtam-card, .wp-block-gtam-collectible-card { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--text); overflow: hidden; }
.gtam-card__media { display: block; }
.gtam-card__media img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.gtam-card__media.is-portrait img { aspect-ratio: 1; }
.gtam-card__body { padding: var(--wp--preset--spacing--30); display: grid; gap: .6rem; align-content: start; }
.gtam-card__title { margin: 0; font-size: var(--wp--preset--font-size--xl); }
.gtam-card__title a { text-decoration: none; color: inherit; }
.gtam-card__note { display: flex; gap: .35rem; margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-muted); }
.gtam-vehicle.is-compact { display: grid; grid-template-columns: 7rem minmax(0, 1fr); }
.gtam-vehicle.is-compact .gtam-card__media { position: relative; }
.gtam-vehicle.is-compact .gtam-card__media img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.wp-block-gtam-collectible-card { padding: var(--wp--preset--spacing--30); display: grid; gap: .6rem; }
.wp-block-gtam-collectible-card header { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.wp-block-gtam-collectible-card h2 { margin: 0; font-size: var(--wp--preset--font-size--lg); }
.wp-block-gtam-collectible-card p { margin: 0; }
.gtam-badge { display: inline-flex; align-items: center; gap: .3rem; padding: .15rem .5rem; border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); font-weight: 700; }
.gtam-collectible__shots { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .4rem; }
.gtam-collectible__shots img { display: block; width: 100%; height: auto; border-radius: 2px; }
.wp-block-gtam-game-icon { display: inline-flex; align-items: center; gap: .35rem; vertical-align: middle; }
.wp-block-gtam-game-icon.is-sm { font-size: .8em; }
.wp-block-gtam-game-icon.is-lg { font-size: 1.5em; }
.wp-block-gtam-game-icon img { width: 1.5em; height: 1.5em; object-fit: contain; }

/* Maps */
.gtam-map__stage { width: 100%; background: var(--wp--preset--color--ink); border-radius: var(--wp--custom--radius--sm, 4px); overflow: hidden; z-index: 0; }
.gtam-map__stage.is-live { aspect-ratio: 4/3; }
@media (min-width: 782px) { .gtam-map__stage.is-live { aspect-ratio: auto; height: var(--gtam-map-h, 560px); } }
.gtam-map__static { display: block; width: 100%; height: auto; }
.gtam-map__static[hidden] { display: none; }
.gtam-map__layers { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .5rem 0; font-size: var(--wp--preset--font-size--sm); }
.gtam-map__layers label { display: inline-flex; gap: .35rem; align-items: center; min-height: 44px; }
.gtam-map__layers[hidden] { display: none; }
.gtam-map__list summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.gtam-map__list ol { columns: 14rem; font-size: var(--wp--preset--font-size--sm); }
.wp-block-gtam-map-pin-image, .wp-block-gtam-route-map { margin: var(--wp--preset--spacing--30) 0; }
.gtam-pinmap__stage { position: relative; }
.gtam-pinmap__stage img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--sm, 4px); }
.gtam-pinmap__stage svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.gtam-pinmap__stage polyline { stroke: var(--gtam-game-accent, var(--wp--preset--color--accent)); stroke-width: 4; stroke-dasharray: 10 6; stroke-linejoin: round; }
.gtam-pin { position: absolute; transform: translate(-50%, -50%); min-width: 1.75rem; height: 1.75rem; display: flex; align-items: center; justify-content: center; border: 2px solid var(--wp--preset--color--ink); border-radius: 50%; background: var(--gtam-game-accent, var(--wp--preset--color--accent)); color: var(--wp--preset--color--ink); font-size: .75rem; font-weight: 700; }
.gtam-pin.is-start { background: var(--wp--preset--color--paper-2); }
.gtam-pinmap__legend { margin: .5rem 0 0; padding-left: 1.5rem; columns: 14rem; font-size: var(--wp--preset--font-size--sm); }

/* Site: game card, tile, hero, subnav */
.wp-block-gtam-game-card { display: flex; flex-direction: column; padding: 4px; height: 100%; border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); text-decoration: none; box-shadow: var(--wp--preset--shadow--card); transition: transform .15s; }
.wp-block-gtam-game-card:hover { transform: translateY(-3px); color: var(--wp--preset--color--text-invert); }
.gtam-gamecard__art { display: block; aspect-ratio: 1280/1580; overflow: hidden; border-radius: 2px; background: var(--wp--preset--color--charcoal); }
.gtam-gamecard__art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gtam-gamecard__label { padding: .5rem .25rem .4rem; text-align: center; font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.wp-block-gtam-shortcut-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .55rem; min-height: 96px; height: 100%; padding: .9rem .5rem; text-align: center; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--text); text-decoration: none; transition: border-color .15s, transform .15s; }
a.wp-block-gtam-shortcut-tile:hover { border-color: var(--gtam-accent); color: var(--wp--preset--color--text); transform: translateY(-2px); }
.wp-block-gtam-shortcut-tile .gtam-icon { width: 2rem; height: 2rem; }
.wp-block-gtam-shortcut-tile svg { stroke-width: 1.5; }
.gtam-tile__label { font-size: var(--wp--preset--font-size--sm); font-weight: 500; line-height: 1.25; }
.gtam-tile__text { display: grid; gap: .15rem; }
.gtam-tile__note { font-size: var(--wp--preset--font-size--xs, .75rem); color: var(--wp--preset--color--text-muted, currentColor); opacity: .85; }
/* Wide tiles (home Guide Shortcuts): icon beside the text, 4 across, 2 across on phones. */
.gtam-tiles.gtam-tiles--wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 781px) { .gtam-tiles.gtam-tiles--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gtam-tiles--wide .wp-block-gtam-shortcut-tile { flex-direction: row; justify-content: flex-start; gap: .85rem; min-height: 76px; padding: .85rem 1rem; text-align: left; }
.gtam-tiles--wide .wp-block-gtam-shortcut-tile .gtam-icon { flex: none; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper, transparent); color: var(--gtam-accent); transition: background-color .15s, color .15s; }
.gtam-tiles--wide .wp-block-gtam-shortcut-tile .gtam-icon svg { width: 1.45rem; height: 1.45rem; }
.gtam-tiles--wide .gtam-tile__label { font-size: var(--wp--preset--font-size--base, 1rem); font-weight: 600; }
.gtam-tiles--wide a.wp-block-gtam-shortcut-tile:hover .gtam-icon, .gtam-tiles--wide a.wp-block-gtam-shortcut-tile:focus-visible .gtam-icon { background: var(--gtam-accent); color: var(--wp--preset--color--text-invert, #fff); }
a.wp-block-gtam-shortcut-tile:focus-visible { border-color: var(--gtam-accent); outline: 2px solid var(--gtam-accent); outline-offset: 2px; }
@media (max-width: 480px) { .gtam-tiles--wide .wp-block-gtam-shortcut-tile { gap: .6rem; padding: .7rem .75rem; } .gtam-tiles--wide .wp-block-gtam-shortcut-tile .gtam-icon { width: 2.2rem; height: 2.2rem; } .gtam-tiles--wide .gtam-tile__label { font-size: var(--wp--preset--font-size--sm); } }
.wp-block-gtam-game-hero { position: relative; overflow: hidden; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); border-bottom: 4px solid var(--gtam-accent); }
.gtam-gh__bg { position: absolute; inset: 0; }
.gtam-gh__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .4; }
.gtam-gh__inner { position: relative; padding: var(--wp--preset--spacing--60) var(--gtam-gutter, var(--wp--preset--spacing--40)); display: grid; gap: var(--wp--preset--spacing--50); grid-template-columns: minmax(0, 1fr); align-items: end; }
.gtam-gh__art { width: min(180px, 46vw); }
.gtam-gh__art img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--sm, 4px); box-shadow: var(--wp--preset--shadow--raised); }
.gtam-gh__text { display: grid; gap: .75rem; }
.gtam-gh__text h1 { margin: 0; color: inherit; font-size: var(--wp--preset--font-size--display); }
.gtam-gh__logo { height: 84px; width: auto; max-width: 240px; object-fit: contain; object-position: left; }
@media (min-width: 782px) { .gtam-gh__inner { grid-template-columns: 220px minmax(0, 1fr); } .gtam-gh__art { width: 100%; } }
.wp-block-gtam-game-subnav { background: var(--wp--preset--color--charcoal); color: var(--wp--preset--color--text-invert); }
.wp-block-gtam-game-subnav ul { list-style: none; margin: 0; padding: 0 var(--gtam-gutter, var(--wp--preset--spacing--40)); display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; }
.wp-block-gtam-game-subnav a { display: flex; align-items: center; min-height: 48px; padding: 0 .75rem; white-space: nowrap; text-decoration: none; color: inherit; font-size: var(--wp--preset--font-size--sm); font-weight: 500; border-bottom: 3px solid transparent; }
.wp-block-gtam-game-subnav a:hover { color: inherit; border-bottom-color: var(--wp--preset--color--graphite); }
.wp-block-gtam-game-subnav a[aria-current] { border-bottom-color: var(--gtam-accent); }
.wp-block-gtam-related-content { list-style: none; margin: 0; padding: 0; }
.wp-block-gtam-related-content.is-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: var(--wp--preset--spacing--40); }
.wp-block-gtam-related-content.is-cards li { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--text); overflow: hidden; }
.wp-block-gtam-related-content.is-cards img { display: block; width: 100%; height: auto; }
.wp-block-gtam-related-content.is-cards li > div { padding: .75rem; }
.wp-block-gtam-related-content.is-list li { padding: .6rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.wp-block-gtam-related-content p { margin: .25rem 0 0; font-size: var(--wp--preset--font-size--sm); }
.gtam-rc__title { font-weight: 700; }
.wp-block-gtam-scroller { position: relative; }
.gtam-scroller__track { display: flex; gap: var(--wp--preset--spacing--30); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: .5rem; }
.gtam-scroller__track > * { flex: 0 0 min(42vw, 11rem); scroll-snap-align: start; margin: 0 !important; }
.gtam-scroller__btn { position: absolute; top: 40%; z-index: 2; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); box-shadow: var(--wp--preset--shadow--card); cursor: pointer; }
.gtam-scroller__btn[hidden] { display: none; }
.gtam-scroller__btn.is-prev { left: -.5rem; }
.gtam-scroller__btn.is-next { right: -.5rem; }
.wp-block-gtam-account-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: inherit; }
.wp-block-gtam-ad-slot { display: flex; align-items: center; justify-content: center; font-size: var(--wp--preset--font-size--xs); opacity: .8; }

/* Mega menu */
.wp-block-gtam-games-mega-menu { position: relative; font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.wp-block-gtam-games-mega-menu summary { display: inline-flex; align-items: center; gap: .15rem; min-height: 44px; cursor: pointer; list-style: none; }
.wp-block-gtam-games-mega-menu summary::-webkit-details-marker { display: none; }
.wp-block-gtam-games-mega-menu summary .gtam-icon { width: 1em; height: 1em; }
.gtam-mega__panel { position: absolute; top: 100%; left: -1rem; z-index: 200; width: min(44rem, 80vw); padding: 1rem; border: 1px solid var(--wp--preset--color--graphite); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); box-shadow: var(--wp--preset--shadow--raised); }
.gtam-mega__panel ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .25rem; max-height: 60vh; overflow-y: auto; }
.gtam-mega__panel li a { display: flex; align-items: center; gap: .5rem; padding: .3rem; border-radius: var(--wp--custom--radius--sm, 4px); text-decoration: none; color: inherit; line-height: 1.2; }
.gtam-mega__panel li a:hover { background: var(--wp--preset--color--charcoal); color: inherit; }
.gtam-mega__panel img { width: 34px; height: 42px; object-fit: cover; border-radius: 2px; }
.gtam-mega__panel p { margin: .75rem 0 0; }
.gtam-mega__panel p a { display: inline-flex; gap: .35rem; align-items: center; color: inherit; }

/* Drawer */
.gtam-drawer__open, .gtam-drawer__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.gtam-drawer__open .gtam-icon, .gtam-drawer__close .gtam-icon { width: 1.6rem; height: 1.6rem; }
.gtam-drawer__dialog { width: min(100vw, 26rem); max-width: none; height: 100dvh; max-height: none; margin: 0 0 0 auto; padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); border: 0; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--text-invert); overflow-y: auto; }
.gtam-drawer__dialog::backdrop { background: rgba(0,0,0,.6); }
.gtam-drawer__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 64px; background: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); text-transform: uppercase; }
.gtam-drawer__search input, .gtam-drawer__filter { width: 100%; min-height: 44px; padding: .4rem .75rem; border: 1px solid var(--wp--preset--color--graphite); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--charcoal); color: inherit; font: inherit; }
.gtam-drawer__links, .gtam-drawer__games { list-style: none; margin: .75rem 0; padding: 0; }
.gtam-drawer__links a { display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid var(--wp--preset--color--graphite); text-decoration: none; color: inherit; font-weight: 500; }
.gtam-drawer__heading { margin: 1.25rem 0 .5rem; color: inherit; font-size: var(--wp--preset--font-size--xl); text-transform: uppercase; }
.gtam-drawer__games a { display: flex; gap: .75rem; align-items: center; min-height: 56px; text-decoration: none; color: inherit; }
.gtam-drawer__games img { width: 36px; height: 44px; object-fit: cover; border-radius: 2px; }
.gtam-drawer__games li[hidden] { display: none; }

/* Vehicle cards follow the space they are given, not the viewport. */
.wp-block-gtam-vehicle-card { container-type: inline-size; }
@container (min-width: 34rem) {
	.gtam-vehicle.is-horizontal { display: grid; grid-template-columns: 42% minmax(0, 1fr); }
	.gtam-vehicle.is-horizontal .gtam-card__media { position: relative; min-height: 14rem; }
	.gtam-vehicle.is-horizontal .gtam-card__media img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
}
.gtam-filters input[type=search], .gtam-filters select { max-width: 100%; }
.gtam-progress-line progress, .wp-block-gtam-progress-meter progress { appearance: none; border: 0; border-radius: 5px; overflow: hidden; background: rgba(127,127,127,.25); }
.gtam-progress-line progress::-webkit-progress-bar, .wp-block-gtam-progress-meter progress::-webkit-progress-bar { background: rgba(127,127,127,.25); }
.gtam-progress-line progress::-webkit-progress-value, .wp-block-gtam-progress-meter progress::-webkit-progress-value { background: var(--gtam-game-accent, var(--wp--preset--color--accent)); }
.gtam-progress-line progress::-moz-progress-bar, .wp-block-gtam-progress-meter progress::-moz-progress-bar { background: var(--gtam-game-accent, var(--wp--preset--color--accent)); }

/* Inline icons in text. The editor draws them with a mask; the front end has a real SVG inside. */
.gtam-inline-icon { white-space: nowrap; }
.gtam-inline-icon .gtam-icon { width: 1.1em; height: 1.1em; margin-right: .25em; vertical-align: -.2em; }
.editor-styles-wrapper .gtam-inline-icon::before { content: ""; display: inline-block; width: 1.1em; height: 1.1em; margin-right: .25em; vertical-align: -.2em; background: currentColor; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }

/* Controls the script reveals keep their space beforehand, so nothing shifts when they appear. */
.gtam-filters[hidden] { display: flex; visibility: hidden; }
.gtam-progress-line[hidden] { display: flex; visibility: hidden; min-height: 1.5em; }
.wp-block-gtam-step-list[data-key] > .wp-block-gtam-step { min-height: calc(2.75rem + 44px); }

/* Galleries: framed screenshots. On phones two or three stack, so nothing hides behind a swipe, and four or more become a carousel. */
.wp-block-gtam-screenshot-set img, .wp-block-gallery.has-nested-images figure.wp-block-image img { border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); background: var(--wp--preset--color--ink); cursor: zoom-in; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: var(--wp--preset--font-size--xs); }
.gtam-gallery-ui { display: none; }
@media (max-width: 800px) {
	.wp-block-gtam-screenshot-set:has(> figure:nth-child(4)), .wp-block-gallery.has-nested-images:has(> figure:nth-child(4)) { position: relative; display: flex !important; flex-wrap: nowrap !important; gap: 12px !important; align-items: stretch !important; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding: 0 6%; overscroll-behavior-x: contain; scrollbar-width: none; padding: 0 6% 4px; margin-inline: -12px; margin-block-end: 0; }
	.wp-block-gtam-screenshot-set:has(> figure:nth-child(4))::-webkit-scrollbar, .wp-block-gallery.has-nested-images:has(> figure:nth-child(4))::-webkit-scrollbar { display: none; }
	.wp-block-gtam-screenshot-set:has(> figure:nth-child(4)) > figure, .wp-block-gallery.has-nested-images:has(> figure:nth-child(4)) > figure.wp-block-image { flex: 0 0 88% !important; width: 88% !important; max-width: 88% !important; margin: 0 !important; scroll-snap-align: center; scroll-snap-stop: always; }
	/* Never crop screenshots on phones: letterbox to 16:9. */
	.wp-block-gtam-screenshot-set.wp-block-gtam-screenshot-set img, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image a, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: contain !important; flex: none !important; }
	.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static !important; background: none !important; color: var(--wp--preset--color--text-muted) !important; padding: 6px 2px 0 !important; text-shadow: none !important; -webkit-mask-image: none !important; mask-image: none !important; }
	/* The controls row arrives with the script. Hold its space so nothing shifts. */
	.wp-block-gtam-screenshot-set:not([data-gtam-carousel]):has(> figure:nth-child(4)), .wp-block-gallery.has-nested-images:not([data-gtam-carousel]):has(> figure:nth-child(4)) { padding-bottom: 50px; margin-block-end: var(--wp--preset--spacing--30); }
	.gtam-gallery-ui { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 6px 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-muted); font-variant-numeric: tabular-nums; }
	.gtam-gallery-ui button { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: var(--wp--preset--color--text); background: var(--wp--preset--color--paper-2); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm, 4px); cursor: pointer; }
	.gtam-gallery-ui button:disabled { opacity: .35; cursor: default; }
	.gtam-gallery-prev svg { transform: scaleX(-1); }
	.gtam-gallery-status { display: flex; align-items: center; gap: 12px; min-width: 0; }
	.gtam-gallery-dots { display: flex; gap: 6px; }
	/* Long galleries keep only the counter, so dots never stretch the page. */
	.gtam-gallery-dots:has(> i:nth-child(9)) { display: none; }
	.gtam-gallery-dots i { width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--gtam-game-accent, var(--wp--preset--color--accent)); }
	.gtam-gallery-dots i.is-active { background: var(--gtam-game-accent, var(--wp--preset--color--accent)); }
}

/* Guide navigation: one group open at a time, so the list never needs its own scrollbar. */
.gtam-chapters__top { margin-bottom: .25rem; }
.wp-block-gtam-chapter-nav .gtam-chapters__group { border-top: 1px solid var(--wp--preset--color--line); }
.wp-block-gtam-chapter-nav .gtam-chapters__group > summary { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 44px; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--sm); font-weight: 600; text-transform: none; list-style: none; }
.gtam-chapters__group > summary::-webkit-details-marker { display: none; }
.gtam-chapters__group > summary::after { content: ""; flex: none; width: .5em; height: .5em; margin-right: .25em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s; }
.gtam-chapters__group[open] > summary::after { transform: rotate(-135deg); }
.gtam-chapters__group:has(a[aria-current]) > summary { color: var(--gtam-game-accent-text, inherit); }
.gtam-chapters__group > ol { padding-bottom: .4rem; }
.wp-block-gtam-chapter-nav a { min-height: 44px; }
.wp-block-gtam-chapter-nav a.is-ancestor { font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .gtam-chapters__group > summary::after { transition: none; } }
@media (min-width: 1024px) {
	.wp-block-gtam-chapter-nav a { min-height: 30px; padding-block: .15rem; }
	.wp-block-gtam-chapter-nav .gtam-chapters__group > summary { min-height: 36px; }
}

/* Lightbox: a native dialog. Works for every screenshot, including those in collectible tables. */
html:has(dialog.gtam-lightbox[open]) { overflow: hidden; }
.gtam-lightbox { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(20, 20, 23, .96); color: var(--wp--preset--color--text-invert); overflow: hidden; }
.gtam-lightbox::backdrop { background: rgba(20, 20, 23, .96); }
.gtam-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.gtam-lightbox__bar { display: flex; align-items: center; gap: .5rem; min-height: 56px; padding: 6px var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--sm); font-variant-numeric: tabular-nums; }
.gtam-lightbox__count { margin-right: auto; }
.gtam-lightbox.is-single .gtam-lightbox__count, .gtam-lightbox.is-single .gtam-lightbox__prev, .gtam-lightbox.is-single .gtam-lightbox__next { display: none; }
.gtam-lightbox button { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .85rem; color: inherit; font: 600 var(--wp--preset--font-size--sm)/1 var(--wp--preset--font-family--body); background: rgba(20, 20, 23, .75); border: 1px solid var(--wp--preset--color--graphite); border-radius: var(--wp--custom--radius--sm, 4px); cursor: pointer; }
.gtam-lightbox button:hover:not(:disabled) { background: var(--wp--preset--color--graphite); }
.gtam-lightbox button:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.gtam-lightbox button:disabled { opacity: .3; cursor: default; }
.gtam-lightbox__zoom[aria-pressed=true] { background: var(--wp--preset--color--paper-2); color: var(--wp--preset--color--ink); }
.gtam-lightbox figure { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; margin: 0; }
.gtam-lightbox__stage { display: flex; min-height: 0; overflow: hidden; touch-action: pan-y pinch-zoom; }
.gtam-lightbox__stage img { display: block; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; cursor: zoom-in; }
.gtam-lightbox.is-zoomed .gtam-lightbox__stage { display: block; overflow: auto; touch-action: auto; }
.gtam-lightbox.is-zoomed .gtam-lightbox__stage img { width: 200%; max-width: none; max-height: none; margin: 0; cursor: zoom-out; }
.gtam-lightbox figcaption { padding: .5rem var(--wp--preset--spacing--30); text-align: center; font-size: var(--wp--preset--font-size--sm); }
.gtam-lightbox figcaption:empty { display: none; }
.gtam-lightbox__prev, .gtam-lightbox__next { position: absolute; top: 50%; transform: translateY(-50%); padding: 0 !important; width: 48px; height: 48px; }
.gtam-lightbox__prev { left: .5rem; }
.gtam-lightbox__prev svg { transform: scaleX(-1); }
.gtam-lightbox__next { right: .5rem; }
.gtam-lightbox.is-zoomed .gtam-lightbox__prev, .gtam-lightbox.is-zoomed .gtam-lightbox__next { display: none; }
@media (prefers-reduced-motion: no-preference) { .gtam-lightbox[open] { animation: gtam-fade .15s ease-out; } }
@keyframes gtam-fade { from { opacity: 0; } }
