/* Game Addict client identity r1; shared project v1.0.178. */
:root,
html[data-palette="cyan"] {
    --brand-action: #006d7d;
    --brand-hover: #005564;
    --brand-accent: #006d7d;
    --brand-strong: #004954;
    --brand-on-action: #ffffff;
    --brand-focus: #00889b;
    --brand-bright: #13d6e7;
    --brand-contrast-accent: #63e7ef;
    --ga-tint: #ecf9fb;
    --ga-dark-tint: #10262d;
    --ga-dark-border: #29454e;
}
html[data-palette="crimson"] {
    --brand-action: #bc1534;
    --brand-hover: #99112a;
    --brand-accent: #bc1534;
    --brand-strong: #7d0b22;
    --brand-focus: #d72647;
    --brand-bright: #ff3b5c;
    --brand-contrast-accent: #ff8fa4;
    --ga-tint: #fff1f4;
    --ga-dark-tint: #2d1722;
    --ga-dark-border: #53323e;
}
html[data-palette="lime"] {
    --brand-action: #486b00;
    --brand-hover: #355100;
    --brand-accent: #486b00;
    --brand-strong: #2a4000;
    --brand-focus: #5d8500;
    --brand-bright: #b4e900;
    --brand-contrast-accent: #d0ee7c;
    --ga-tint: #f4fae9;
    --ga-dark-tint: #202817;
    --ga-dark-border: #414d2e;
}
html:root {
    --gz-blue: var(--brand-accent);
    --gz-deep: #152329;
    --gz-ink: #1b282e;
    --gz-soft: var(--ga-tint);
    --gz-line: #dce5e8;
    --gz-bg: #f6f8f9;
    --gz-card: #ffffff;
    --gz-muted: #536670;
    --gz-input: #f1f5f7;
    --gz-shadow: #13232a12;
    --brand-soft: var(--gz-soft);
    --brand-shadow: color-mix(in srgb, var(--brand-action) 16%, transparent);
    --gz-skeleton-base: var(--gz-soft);
    --gz-skeleton-shine: var(--gz-card);
    --gz-skeleton-accent: var(--gz-line);
    --gz-skeleton-sweep: #ffffff66;
    --ga-success: #16834a;
    --ga-error: #c8283f;
    --ga-warning: #9c6600;
    --store-action: var(--brand-action);
    --store-hover: var(--brand-hover);
    --store-on-action: var(--brand-on-action);
    --store-accent: var(--brand-accent);
    --store-focus: var(--brand-focus);
    --store-surface: var(--gz-card);
    --store-text: var(--gz-ink);
    --store-muted: var(--gz-muted);
    --store-border: var(--gz-line);
    accent-color: var(--brand-action);
}
html:root[data-theme="dark"] {
    --brand-accent: var(--brand-contrast-accent);
    --brand-focus: var(--brand-bright);
    --gz-blue: var(--brand-accent);
    --gz-deep: #edf4f7;
    --gz-ink: #eaf1f4;
    --gz-soft: var(--ga-dark-tint);
    --gz-line: var(--ga-dark-border);
    --gz-bg: #10151c;
    --gz-card: #171e27;
    --gz-muted: #acbdc6;
    --gz-input: #202934;
    --gz-shadow: #00000030;
    --ga-success: #75d69b;
    --ga-error: #ff91a3;
    --ga-warning: #f4c66c;
}
/* Each colour uses the original, supplied artwork without recolouring. */
.ga-logo-art { display: none !important; }
html:not([data-palette]) .ga-logo-art[data-ga-logo="cyan"],
html[data-palette="cyan"] .ga-logo-art[data-ga-logo="cyan"],
html[data-palette="crimson"] .ga-logo-art[data-ga-logo="crimson"],
html[data-palette="lime"] .ga-logo-art[data-ga-logo="lime"] { display: block !important; }
#app .gz-logo { flex-shrink: 0; }
#app .gz-logo img { width: 210px; height: 70px; max-height: none; object-fit: contain; filter: none; }
#app .gz-header.is-compact .gz-logo img { width: 165px; height: 55px; max-height: none; }
#app .gz-footer-brand > img { width: 240px; height: 80px; object-fit: contain; filter: none; }
#app .ga-auth-logo img { width: 260px; height: auto; max-width: 100%; object-fit: contain; }
.ga-standalone-selector { position: sticky; z-index: 65; top: 0; }
.ga-palette-bar { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 3px 16px; background: var(--gz-soft); border-top: 1px solid var(--gz-line); color: var(--gz-muted); }
.ga-palette-bar > span { font-size: 13px; font-weight: 700; }
.ga-palette-choices { display: flex; align-items: center; gap: 5px; }
.ga-palette-button { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 80px; min-height: 44px; border: 1px solid transparent; border-radius: 11px; padding: 6px 10px; background: transparent; color: var(--gz-ink); font: 700 12px DINNextLTArabic,sans-serif; cursor: pointer; transition: background .18s,border-color .18s; }
.ga-palette-button::before { content: ""; flex-shrink: 0; width: 17px; height: 17px; border-radius: 50%; background: var(--ga-swatch); box-shadow: inset 0 0 0 1px #00000025; }
.ga-palette-button[data-ga-palette="cyan"] { --ga-swatch: #13d6e7; }
.ga-palette-button[data-ga-palette="crimson"] { --ga-swatch: #ff3b5c; }
.ga-palette-button[data-ga-palette="lime"] { --ga-swatch: #b4e900; }
.ga-palette-button:hover { background: var(--gz-card); border-color: var(--gz-line); }
.ga-palette-button[aria-pressed="true"] { border-color: var(--brand-accent); background: var(--gz-card); color: var(--brand-accent); }
.ga-palette-button[aria-pressed="true"]::after { content: "✓"; font-size: 12px; }
.ga-palette-button:focus-visible, .ga-hero-link:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 3px; }
.ga-palette-button:active { transform: scale(.97); }
.ga-palette-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ga-hero { position: relative; isolation: isolate; overflow: hidden; max-width: 1380px; min-height: 510px; display: flex; align-items: center; margin: 28px auto 0; border: 1px solid var(--gz-line); border-radius: 28px; background: #edf5f9; }
.ga-hero-background { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.ga-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(to left,#f4f9fded 0%,#f4f9fdc9 43%,#f4f9fd00 72%); }
.ga-hero-content { width: 58%; margin-inline-start: 0; margin-inline-end: auto; padding: 54px 64px 54px 32px; }
.ga-hero-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 20px; border: 1px solid color-mix(in srgb,var(--brand-action) 24%,transparent); border-radius: 999px; padding: 7px 14px; color: var(--brand-action); background: #ffffffb8; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.ga-hero-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-action); }
.ga-hero h1 { margin: 0; color: #152329; font-size: clamp(35px,4.5vw,61px); line-height: 1.4; font-weight: 900; letter-spacing: -.025em; }
.ga-hero h1 em { display: block; color: var(--brand-action); font-style: normal; }
.ga-hero-description { max-width: 440px; margin: 20px 0 0; color: #405a68; font-size: 17px; line-height: 1.9; }
.ga-hero-link { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; margin-top: 28px; border: 1px solid var(--brand-action); border-radius: 13px; padding: 11px 24px; background: var(--brand-action); color: #fff; font-size: 15px; font-weight: 800; transition: background .18s,transform .18s; }
.ga-hero-link:hover { background: var(--brand-hover); border-color: var(--brand-hover); color: #fff; transform: translateY(-2px); }
.ga-hero-link b { font: 400 22px Arial,sans-serif; }
.ga-hero-note { margin: 19px 0 0; color: #536670; font-size: 12px; line-height: 1.8; }
.ga-welcome { max-width: 1180px; margin: 52px auto 66px; padding: 0 24px; text-align: center; }
.ga-welcome-kicker { margin: 0 0 7px; color: var(--brand-accent); font-size: 12px; font-weight: 800; }
.ga-welcome h2 { margin: 0; color: var(--gz-ink); font-size: 27px; font-weight: 900; }
.ga-welcome > p { max-width: 610px; margin: 12px auto 0; color: var(--gz-muted); line-height: 1.9; font-size: 15px; }
.ga-empty-state { display: flex; align-items: center; gap: 20px; max-width: 780px; margin: 28px auto 0; padding: 25px 30px; border: 1px solid var(--gz-line); border-radius: 19px; background: var(--gz-card); text-align: start; box-shadow: 0 8px 28px var(--gz-shadow); }
.ga-empty-icon { display: grid; flex: 0 0 54px; width: 54px; height: 54px; place-items: center; border-radius: 16px; background: var(--gz-soft); color: var(--brand-accent); }
.ga-empty-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ga-empty-state h3 { margin: 0 0 4px; color: var(--gz-ink); font-size: 16px; font-weight: 800; }
.ga-empty-state p { margin: 0; color: var(--gz-muted); font-size: 13px; line-height: 1.8; }
.ga-empty-state a { color: var(--brand-accent); text-decoration: underline; text-underline-offset: 3px; }
.ga-feature-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 28px 0 0; }
.ga-feature { padding: 23px 20px; border: 1px solid var(--gz-line); border-radius: 18px; background: var(--gz-card); text-align: start; }
.ga-feature strong { display: block; margin-bottom: 7px; color: var(--gz-ink); font-size: 15px; font-weight: 800; }
.ga-feature p { margin: 0; color: var(--gz-muted); font-size: 13px; line-height: 1.9; }
.ga-feature-number { display: block; margin-bottom: 11px; color: var(--brand-accent); font: 700 12px Arial,sans-serif; letter-spacing: .08em; }
/* Legacy controls use the action role so white labels keep readable contrast. */
#app :is(.gz-search button,.gz-login-button,.gz-product-cart-button,.gz-registration-primary,.gz-review-submit-button,.gz-account-save-button) { background: var(--brand-action) !important; border-color: var(--brand-action) !important; color: var(--brand-on-action) !important; }
#app :is(.gz-search button,.gz-login-button,.gz-product-cart-button,.gz-registration-primary,.gz-review-submit-button,.gz-account-save-button):hover:not(:disabled) { background: var(--brand-hover) !important; border-color: var(--brand-hover) !important; }
#app :is(button,a,input,select,textarea):focus-visible { outline-color: var(--brand-focus); }
#app .ga-hover-accent:hover { color: var(--brand-accent) !important; }
#app .ga-focus-border:focus, #app .ga-focus-within-border:focus-within { border-color: var(--brand-focus) !important; }
#app input[type="checkbox"],#app input[type="radio"] { accent-color: var(--brand-action); }
html[data-theme="dark"] .ga-hero { background: #17232c; }
html[data-theme="dark"] .ga-hero::after { background: linear-gradient(to left,#101820f7 0%,#101820df 43%,#10182045 85%); }
html[data-theme="dark"] .ga-hero-background { opacity: .64; }
html[data-theme="dark"] .ga-hero h1 { color: #f3f8fb; }
html[data-theme="dark"] .ga-hero h1 em { color: var(--brand-contrast-accent); }
html[data-theme="dark"] .ga-hero-description { color: #c2d0d8; }
html[data-theme="dark"] .ga-hero-note { color: #acbdc6; }
html[data-theme="dark"] .ga-hero-eyebrow { border-color: var(--gz-line); background: #171e27cc; color: var(--brand-contrast-accent); }
html[data-theme="dark"] .ga-hero-eyebrow::before { background: var(--brand-bright); }
@media(min-width:901px) { #app .gz-header.is-compact .ga-palette-bar { min-height: 50px; padding-block: 0; } }
@media(max-width:1440px) { .ga-hero { margin-inline: 24px; } }
@media(max-width:900px) {
    #app .gz-header .gz-header-main { gap: 10px !important; padding-inline: 15px; }
    #app .gz-logo img,#app .gz-header.is-compact .gz-logo img { width: 142px; height: 48px; }
    #app .gz-actions { gap: 5px !important; }
    #app .gz-account-trigger,#app .gz-cart-link { padding-inline: 7px !important; }
    .ga-hero { min-height: 460px; margin: 18px 16px 0; }
    .ga-hero-content { width: 66%; padding: 34px 30px 34px 15px; }
    .ga-hero h1 { font-size: 39px; }
    .ga-hero-description { font-size: 15px; }
}
@media(max-width:600px) {
    .ga-palette-bar { gap: 5px; padding-inline: 8px; }
    .ga-palette-bar > span { font-size: 11px; }
    .ga-palette-choices { gap: 0; }
    .ga-palette-button { min-width: 68px; padding-inline: 6px; gap: 5px; font-size: 11px; }
    .ga-hero { display: block; min-height: 590px; margin: 14px 12px 0; border-radius: 21px; }
    .ga-hero-background { object-fit: cover; object-position: 15% center; }
    .ga-hero::after { background: linear-gradient(to bottom,#f4f9fd00 0%,#f4f9fd33 32%,#f4f9fdf2 53%,#f4f9fd 100%); }
    .ga-hero-content { width: 100%; padding: 268px 25px 28px; }
    .ga-hero-eyebrow { margin-bottom: 11px; padding: 5px 10px; font-size: 10px; }
    .ga-hero h1 { font-size: 34px; line-height: 1.3; }
    .ga-hero-description { margin-top: 12px; font-size: 14px; }
    .ga-hero-link { margin-top: 19px; min-height: 46px; padding: 9px 20px; font-size: 13px; }
    .ga-hero-note { margin-top: 12px; font-size: 11px; }
    .ga-welcome { margin: 36px auto 40px; padding: 0 16px; }
    .ga-welcome h2 { font-size: 23px; }
    .ga-welcome > p { font-size: 13px; }
    .ga-empty-state { gap: 13px; padding: 20px 17px; }
    .ga-empty-icon { flex-basis: 44px; width: 44px; height: 44px; border-radius: 12px; }
    .ga-feature-row { grid-template-columns: 1fr; gap: 10px; }
    .ga-feature { padding: 18px 20px; }
    .ga-feature-number { float: left; margin: 2px 0 0; }
    html[data-theme="dark"] .ga-hero::after { background: linear-gradient(to bottom,#10182000 0%,#10182055 30%,#101820f7 53%,#101820 100%); }
}
@media(max-width:360px) {
    #app .gz-header .gz-header-main { gap: 5px !important; padding-inline: 9px; }
    #app .gz-logo img,#app .gz-header.is-compact .gz-logo img { width: 107px; height: 40px; }
    #app .gz-actions { gap: 3px !important; }
    #app .gz-account-trigger,#app .gz-cart-link { padding-inline: 4px !important; }
    .ga-palette-bar > span { max-width: 57px; line-height: 1.4; }
    .ga-palette-button { min-width: 66px; }
    .ga-hero h1 { font-size: 29px; }
}
@media(prefers-reduced-motion:reduce) { .ga-palette-button,.ga-hero-link { transition: none; } }

.ga-error-logo { display: flex; justify-content: center; margin-bottom: 20px; }
.ga-error-logo img { width: 230px; max-width: 100%; height: auto; object-fit: contain; }

/* Keep the installed slider runtime on the selected client palette. */
html:root { --swiper-theme-color: var(--brand-accent); --swiper-navigation-color: var(--brand-accent); --swiper-pagination-color: var(--brand-accent); --swiper-scrollbar-drag-bg-color: var(--brand-action); }

/* theme-r5: compact three-square side picker, matching the owner's reference. */
.ga-palette-dock {
    position: fixed;
    z-index: 85;
    top: 45%;
    left: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 18px;
    transform: translateY(-50%);
}
.ga-palette-dock .ga-palette-button {
    display: grid;
    place-items: center;
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 1px;
    background: transparent;
    line-height: 0;
    cursor: pointer;
    transition: none;
}
.ga-palette-dock .ga-palette-button::before {
    display: block;
    width: 14px;
    height: 14px;
    border: 1px solid color-mix(in srgb, var(--gz-ink) 35%, transparent);
    border-radius: 0;
    background: var(--ga-swatch);
    box-shadow: none;
}
.ga-palette-dock .ga-palette-button::after { content: none !important; }
.ga-palette-dock .ga-palette-button:hover,
.ga-palette-dock .ga-palette-button[aria-pressed="true"] { border: 0; background: transparent; }
.ga-palette-dock .ga-palette-button[aria-pressed="true"]::before { outline: 1px solid var(--gz-ink); outline-offset: 1px; }
.ga-palette-dock .ga-palette-button:focus-visible { outline: 2px solid var(--brand-focus); outline-offset: 2px; }
.ga-palette-dock .ga-palette-button:active { transform: none; }

/* Preserve a client-coloured gallery selection in both display modes. */
html[data-theme] .gz-product-swiper-thumbs .swiper-slide-thumb-active,html[data-theme] .gz-product-swiper-thumbs .swiper-slide:hover { border-color:var(--brand-accent); }
html[data-theme] .gz-product-swiper-thumbs .swiper-slide-thumb-active { box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 18%,transparent); }

/* Client showroom context; review provenance remains visible per imported review. */
.ga-demo-notice{flex:0 0 auto;border-bottom:1px solid var(--gz-line);background:var(--gz-soft);padding:5px 14px;color:var(--gz-muted);font-size:12px;line-height:1.7;text-align:center}
