:root {
    --bg-main: #060b15;
    --bg-header: #070d19;
    --bg-header-2: #0c1528;
    --bg-panel: #0f1a30;
    --bg-panel-2: #162544;
    --bg-surface: #f5f8ff;
    --bg-surface-2: #ecf2ff;
    --text-main: #e8efff;
    --text-muted: #9fb0d0;
    --text-dark: #0d1b35;
    --line-dark: #26385d;
    --line-light: #d9e3f7;
    --accent-blue: #2f75ff;
    --accent-cyan: #cbbcff;
    --accent-green: #7eb2ff;
    --accent-red: #f55353;
    --accent-orange: #ff8f28;
    --accent-violet: #8f5dff;
    --radius: 8px;
    --shadow-soft: 0 12px 30px rgba(3, 9, 20, 0.3);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height: 1.45;
}

a {
    color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 2px solid var(--accent-cyan);
    outline-offset: 2px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
}

body.frontend {
    background:
        radial-gradient(circle at 15% 10%, rgba(47, 117, 255, 0.18), transparent 46%),
        radial-gradient(circle at 85% 0%, rgba(143, 93, 255, 0.14), transparent 38%),
        var(--bg-main);
    color: var(--text-main);
}

.promo-bar {
    background: linear-gradient(90deg, #0f2d75 0%, #1543aa 46%, #165ca4 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.promo-bar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0;
}

.promo-bar p {
    margin: 0;
    font-size: 0.9rem;
    color: #eef5ff;
}

.promo-tag {
    display: inline-flex;
    align-items: center;
    margin-right: 0.45rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.2);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.04rem 0.42rem;
}

.promo-bar a {
    color: #eef5ff;
    text-decoration: none;
    font-weight: 700;
}

.promo-bar a:hover {
    text-decoration: underline;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    background: linear-gradient(180deg, var(--bg-header), var(--bg-header-2));
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}

.header-row {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(220px, 0.82fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.05rem 0;
}

.brand-link {
    text-decoration: none;
}

.brand-block {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
}

.brand-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(160deg, var(--accent-blue), var(--accent-violet));
    box-shadow: 0 10px 22px rgba(47, 117, 255, 0.35);
}

.brand-logo {
    display: block;
    width: clamp(220px, 23vw, 260px);
    aspect-ratio: 4 / 1;
    max-width: 260px;
    max-height: 62px;
    height: auto;
    object-fit: contain;
}

.brand-copy strong {
    display: block;
    color: #fff;
    font-size: 1rem;
}

.brand-copy small {
    display: block;
    color: var(--text-muted);
    font-size: 0.74rem;
}

.header-search {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    max-width: 560px;
    width: 100%;
}

.header-search input[type="search"] {
    width: 100%;
    border: 1px solid var(--line-dark);
    border-radius: 8px;
    padding: 0.7rem 0.85rem;
    font: inherit;
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.header-search input[type="search"]::placeholder {
    color: #9caecf;
}

.header-search button {
    border: 1px solid #2f84ff;
    border-radius: 8px;
    background: linear-gradient(180deg, #2f84ff, #2462f0);
    color: #fff;
    font: inherit;
    font-weight: 700;
    padding: 0.66rem 1rem;
    cursor: pointer;
}

.header-search button:hover {
    background: linear-gradient(180deg, #3a91ff, #2f75ff);
}

.header-quicklinks {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

.header-quicklinks a {
    text-decoration: none;
    color: #dce8ff;
    font-size: 0.88rem;
}

.header-quicklinks a:hover {
    color: #fff;
}

.mobile-menu-toggle {
    display: none;
    border: 1px solid var(--line-dark);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    padding: 0.62rem 0.9rem;
    font: inherit;
    font-weight: 700;
}

.main-nav {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.main-nav-inner {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0.6rem 0;
}

.main-nav-inner a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    text-decoration: none;
    color: #dce7ff;
    padding: 0.48rem 0.72rem;
    border-radius: 8px;
    border: 1px solid transparent;
    font-size: 0.88rem;
}

.main-nav-inner a:hover {
    border-color: rgba(47, 214, 255, 0.5);
    color: #fff;
    background: rgba(47, 117, 255, 0.16);
}

.page-shell {
    padding-top: 1.35rem;
    padding-bottom: 3rem;
}

.hero-panel {
    border: 1px solid rgba(143, 176, 227, 0.2);
    border-radius: 8px;
    background:
        radial-gradient(circle at 0 0, rgba(47, 117, 255, 0.15), transparent 52%),
        radial-gradient(circle at 100% 0, rgba(143, 93, 255, 0.18), transparent 44%),
        linear-gradient(180deg, #111d36, #0d182d);
    box-shadow: var(--shadow-soft);
    padding: 1.5rem;
    margin-bottom: 1rem;
}

.hero-panel.compact {
    padding: 1.2rem 1.3rem;
}

.hero-panel.premium {
    background:
        radial-gradient(circle at 0 0, rgba(143, 93, 255, 0.22), transparent 52%),
        radial-gradient(circle at 100% 0, rgba(47, 214, 255, 0.2), transparent 44%),
        linear-gradient(180deg, #1a1637, #101428);
}

.hero-panel h1 {
    margin: 0.2rem 0 0.7rem;
    line-height: 1.2;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    color: #fff;
}

.hero-panel p {
    margin: 0.5rem 0;
    color: #dce7ff;
}

.hero-trust-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.38rem;
    margin: 0.7rem 0 0.3rem;
}

.hero-trust-chips span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(157, 193, 255, 0.44);
    background: rgba(255, 255, 255, 0.08);
    color: #dff0ff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.16rem 0.52rem;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    color: #9ac6ff;
    text-transform: uppercase;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: 1.1rem;
    align-items: stretch;
}

.hero-search {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

.hero-search input {
    flex: 1;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    padding: 0.72rem 0.85rem;
    font: inherit;
}

.hero-search button {
    border: 1px solid #2f84ff;
    border-radius: 8px;
    background: linear-gradient(180deg, #2f84ff, #2462f0);
    color: #fff;
    font: inherit;
    font-weight: 700;
    padding: 0.68rem 1.05rem;
    cursor: pointer;
}

.hero-cta-row {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-top: 0.95rem;
}

.hero-featured-grid {
    display: grid;
    gap: 0.65rem;
}

.hero-feature-card {
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 0.85rem 0.9rem;
    background: rgba(255, 255, 255, 0.06);
}

.hero-feature-provider {
    margin: 0 0 0.35rem;
    color: #9fc4ff;
    font-size: 0.82rem;
    font-weight: 600;
}

.hero-feature-card h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.3;
}

.hero-feature-price {
    margin: 0.45rem 0 0.6rem;
    color: #fff;
    font-weight: 700;
}

.hero-feature-card a {
    color: #8ddcff;
    text-decoration: none;
    font-size: 0.9rem;
}

.hub-section {
    background: linear-gradient(180deg, var(--bg-panel), var(--bg-panel-2));
    border: 1px solid rgba(143, 176, 227, 0.2);
    border-radius: 8px;
    padding: 1.12rem 1.2rem;
    margin-bottom: 1.25rem;
}

.premium-section {
    background:
        radial-gradient(circle at 0 0, rgba(143, 93, 255, 0.16), transparent 50%),
        linear-gradient(180deg, #181d3c, #141d35);
}

.section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.45rem 0.8rem;
    margin-bottom: 0.8rem;
}

.section-head h2 {
    margin: 0;
    font-size: 1.2rem;
    color: #fff;
}

.section-head a {
    color: #8ddcff;
    text-decoration: none;
    font-size: 0.92rem;
}

.section-head a:hover {
    text-decoration: underline;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.55rem;
}

.category-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(47, 117, 255, 0.45);
    border-radius: 8px;
    min-height: 44px;
    padding: 0.5rem 0.7rem;
    text-decoration: none;
    color: #dce8ff;
    background: rgba(47, 117, 255, 0.1);
    text-align: center;
    font-size: 0.9rem;
}

.category-chip:hover {
    background: rgba(47, 117, 255, 0.22);
    color: #fff;
}

.deals-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
}

@media (min-width: 600px) {
    .deals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 860px) {
    .deals-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1120px) {
    .deals-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1320px) {
    .deals-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (min-width: 1650px) {
    .deals-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.deals-grid-inline-ad {
    grid-column: 1 / -1;
}

.ad-unit {
    border: 1px solid rgba(143, 176, 227, 0.3);
    border-radius: 8px;
    background: linear-gradient(165deg, rgba(32, 51, 87, 0.9), rgba(20, 32, 57, 0.95));
    padding: 0.8rem;
    color: #eaf2ff;
}

.ad-unit-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 0.35rem;
}

.ad-unit-label {
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    background: rgba(47, 214, 255, 0.16);
    border: 1px solid rgba(47, 214, 255, 0.35);
    color: #c8f5ff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.08rem 0.45rem;
}

.ad-unit-body {
    display: grid;
    grid-template-columns: minmax(120px, 260px) minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
}

.ad-unit-media {
    min-height: 82px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}

.ad-unit-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 82px;
    max-height: 230px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.ad-unit-copy h3 {
    margin: 0.1rem 0 0.35rem;
    color: #fff;
    font-size: 1.05rem;
}

.ad-unit-copy p {
    margin: 0.35rem 0;
    color: #ceddfa;
}

.ad-unit-subtitle {
    margin: 0;
    color: #9ec5ff;
    font-size: 0.84rem;
    font-weight: 700;
}

.ad-unit-cta {
    margin-top: 0.35rem;
}

.ad-unit-inline .ad-unit-body {
    grid-template-columns: minmax(0, 1fr);
}

.ad-unit-inline .ad-unit-media {
    aspect-ratio: 5 / 2;
}

.ad-unit-inline .ad-unit-media img {
    max-height: 160px;
}

.ad-unit-hero {
    border-color: rgba(143, 93, 255, 0.45);
    background:
        radial-gradient(circle at 0 0, rgba(143, 93, 255, 0.2), transparent 55%),
        linear-gradient(180deg, #261f48, #161b35);
}

.ad-unit-wide {
    background:
        radial-gradient(circle at 0 0, rgba(47, 117, 255, 0.24), transparent 50%),
        linear-gradient(180deg, #13213f, #101b34);
}

.filter-panel {
    background: linear-gradient(180deg, #111f39, #101b33);
    border-color: rgba(126, 166, 228, 0.34);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.filter-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.56rem;
    align-items: end;
}

.filter-form-grid > label,
.filter-form-grid > .filter-checkbox-group {
    border: 1px solid rgba(143, 176, 227, 0.2);
    border-radius: 8px;
    padding: 0.4rem 0.52rem;
    background: rgba(255, 255, 255, 0.025);
    min-height: 66px;
}

.filter-form-grid > label {
    font-size: 0.8rem;
    color: #dbe8ff;
}

.filter-form-grid > label input,
.filter-form-grid > label select {
    margin-top: 0.25rem;
    min-height: 34px;
    padding: 0.42rem 0.54rem;
    background: rgba(7, 16, 34, 0.44);
    border: 1px solid rgba(143, 176, 227, 0.26);
    color: #ecf2ff;
    font-size: 0.82rem;
}

.filter-reset-link {
    color: #9ed3ff;
    font-size: 0.79rem;
    opacity: 0.92;
}

.filter-checkbox-group {
    display: grid;
    gap: 0.32rem;
    align-content: start;
}

.filter-checkbox-group .checkbox {
    margin: 0;
    font-size: 0.77rem;
    color: #d6e4fd;
    gap: 0.4rem;
    align-items: center;
}

.filter-checkbox-group .checkbox input {
    width: 14px;
    height: 14px;
}

.filter-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 0;
}

.filter-actions button {
    min-width: 170px;
    padding: 0.45rem 0.7rem;
    font-size: 0.8rem;
}

.filter-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.66rem;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    border: 1px solid rgba(143, 176, 227, 0.25);
    background: rgba(255, 255, 255, 0.02);
    color: #bfd2f4;
    font-size: 0.73rem;
    padding: 0.12rem 0.42rem;
}

.deal-card {
    border: 1px solid var(--line-light);
    border-radius: 8px;
    overflow: hidden;
    background: var(--bg-surface);
    color: var(--text-dark);
    box-shadow: 0 10px 20px rgba(9, 18, 36, 0.12);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.deal-media {
    aspect-ratio: 4 / 3;
    height: auto;
    position: relative;
    overflow: hidden;
    background: #dde8ff;
}

.deal-media-link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.deal-media-badges {
    position: absolute;
    z-index: 3;
    inset: 0.35rem 0.35rem auto auto;
    display: flex;
    gap: 0.24rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 78%;
}

.deal-media-discount {
    box-shadow: 0 3px 10px rgba(180, 31, 31, 0.25);
}

.deal-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 2;
}

.deal-image.is-error {
    display: none;
}

.deal-media.has-image-error .deal-image {
    display: none;
}

.deal-image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0.26rem;
    color: #f2f7ff;
    padding: 0.52rem;
    background:
        linear-gradient(180deg, rgba(7, 13, 25, 0.04), rgba(7, 13, 25, 0.42)),
        linear-gradient(140deg, #365897, #1f2f55);
}

.deal-placeholder-type {
    display: inline-flex;
    width: fit-content;
    padding: 0.08rem 0.4rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 0.63rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.deal-placeholder-title {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.25;
    color: #ffffff;
}

.deal-media.placeholder-game .deal-image-placeholder {
    background:
        linear-gradient(180deg, rgba(7, 13, 25, 0.08), rgba(7, 13, 25, 0.52)),
        linear-gradient(135deg, #234273, #182746);
}

.deal-media.placeholder-software .deal-image-placeholder {
    background:
        linear-gradient(180deg, rgba(10, 18, 32, 0.1), rgba(10, 18, 32, 0.55)),
        linear-gradient(135deg, #186287, #11354b);
}

.deal-media.placeholder-gift-card .deal-image-placeholder {
    background:
        linear-gradient(180deg, rgba(22, 13, 7, 0.1), rgba(22, 13, 7, 0.52)),
        linear-gradient(135deg, #8a3f1a, #5a2812);
}

.deal-media.placeholder-ai-tool .deal-image-placeholder {
    background:
        linear-gradient(180deg, rgba(18, 12, 30, 0.1), rgba(18, 12, 30, 0.55)),
        linear-gradient(135deg, #5c33a4, #2a1f62);
}

.deal-media.placeholder-streaming .deal-image-placeholder {
    background:
        linear-gradient(180deg, rgba(10, 22, 18, 0.1), rgba(10, 22, 18, 0.55)),
        linear-gradient(135deg, #157159, #124334);
}

.deal-body {
    padding: 0.56rem;
    display: grid;
    gap: 0.34rem;
    align-content: start;
    flex: 1;
}

.deal-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.28rem;
    margin-bottom: 0;
    flex-wrap: wrap;
}

.provider-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    background: #e4eeff;
    color: #18408c;
    text-decoration: none;
    padding: 0.15rem 0.42rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.deal-title {
    margin: 0;
    font-size: 0.87rem;
    line-height: 1.28;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.deal-title-link {
    color: inherit;
    text-decoration: none;
}

.deal-title-link:hover,
.deal-title-link:focus-visible {
    text-decoration: underline;
}

.deal-tags {
    margin: 0;
    display: flex;
    gap: 0.26rem;
    flex-wrap: wrap;
}

.deal-tags span {
    display: inline-flex;
    padding: 0.08rem 0.34rem;
    border-radius: 8px;
    font-size: 0.67rem;
    color: #36517d;
    background: #e8efff;
}

.deal-pricing {
    margin: 0.04rem 0 0;
}

.deal-price {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0d2f67;
}

.deal-old-price {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.72rem;
    color: #6f7f9f;
    text-decoration: line-through;
}

.deal-footer {
    margin-top: auto;
    display: grid;
    gap: 0.24rem;
}

.deal-updated {
    margin: 0;
    font-size: 0.64rem;
    color: #576a8d;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.deal-disclaimer {
    margin: 0;
    color: #6a7893;
    font-size: 0.62rem;
}

.coupon-box {
    border: 1px dashed #bdd0ef;
    border-radius: 8px;
    padding: 0.28rem 0.34rem;
    margin: 0.08rem 0 0.06rem;
    background: #f4f8ff;
}

.coupon-box.compact {
    border-style: solid;
}

.coupon-box.is-hint {
    border-style: dashed;
    background: #f8fbff;
}

.coupon-inline-note {
    margin: 0.02rem 0 0.04rem;
    display: flex;
    align-items: center;
    gap: 0.22rem;
    flex-wrap: wrap;
    color: #465d86;
    font-size: 0.66rem;
    line-height: 1.25;
}

.coupon-inline-note .coupon-validity {
    font-size: 0.63rem;
}

.coupon-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin-bottom: 0.04rem;
}

.coupon-title {
    margin: 0.12rem 0 0;
    font-size: 0.72rem;
    font-weight: 700;
    color: #173a70;
}

.coupon-compact-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.26rem 0.34rem;
    margin: 0.02rem 0 0.03rem;
}

.coupon-effective-mini {
    font-size: 0.72rem;
    color: #0e6a44;
    font-weight: 800;
}

.effective-price-box {
    margin-top: 0.24rem;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.28rem 0.4rem;
}

.effective-regular {
    font-size: 0.76rem;
    color: #667fa7;
    text-decoration: line-through;
}

.effective-arrow {
    font-size: 0.75rem;
    color: #4a6a9f;
}

.effective-final {
    font-size: 0.91rem;
    color: #0f6a44;
    font-weight: 800;
}

.effective-discount {
    font-size: 0.74rem;
    color: #9d4017;
    background: #ffe9df;
    border-radius: 8px;
    padding: 0.08rem 0.34rem;
    font-weight: 700;
}

.coupon-note {
    margin: 0.1rem 0 0;
    font-size: 0.68rem;
    line-height: 1.3;
}

.coupon-redeem-badge {
    opacity: 0.95;
}

.coupon-code-row {
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem;
    font-size: 0.69rem;
}

.coupon-code-row.compact {
    margin: 0;
}

.coupon-code-row code {
    font-size: 0.69rem;
    padding: 0.05rem 0.24rem;
    border-radius: 8px;
    background: #ebf2ff;
    color: #17407e;
}

.coupon-validity {
    margin: 0;
    color: #415989;
    font-size: 0.66rem;
}

.coupon-box details {
    margin-top: 0.12rem;
    padding: 0.22rem 0.3rem;
    background: rgba(255, 255, 255, 0.55);
    border-color: rgba(131, 162, 209, 0.32);
}

.coupon-box summary {
    font-size: 0.66rem;
}

.coupon-box .offer-list {
    margin-top: 0.25rem;
    padding-left: 0.92rem;
    gap: 0.24rem;
    font-size: 0.68rem;
    color: #3f5786;
    max-height: 100px;
    overflow: auto;
}

.coupon-cta-row {
    margin: 0.14rem 0 0;
}

.coupon-cta-button {
    width: 100%;
    font-size: 0.71rem;
    padding: 0.34rem 0.52rem;
}

.coupon-cta-row.compact .coupon-cta-button.compact {
    width: auto;
    min-width: 100%;
}

.coupon-card {
    border: 1px solid var(--line-light);
    border-radius: 8px;
    background: var(--bg-surface);
    color: var(--text-dark);
    padding: 0.9rem;
    box-shadow: 0 8px 20px rgba(9, 18, 36, 0.1);
}

.coupon-card h2,
.coupon-card h3 {
    margin: 0.15rem 0 0.5rem;
}

.copy-code-btn {
    margin-left: 0;
    border-radius: 8px;
    border: 1px solid #b8c8e8;
    background: #fff;
    color: #193f85;
    font-size: 0.66rem;
    padding: 0.1rem 0.33rem;
    font-weight: 700;
    cursor: pointer;
}

.copy-code-btn:hover {
    background: #f1f6ff;
}

.badge {
    display: inline-flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 0.23rem 0.62rem;
    font-size: 0.7rem;
    letter-spacing: 0.01em;
    font-weight: 800;
}

.badge-discount {
    border-color: rgba(245, 156, 118, 0.52);
    background: linear-gradient(180deg, rgba(246, 172, 144, 0.32), rgba(234, 118, 92, 0.28));
    color: #ffece6;
}

.badge-coupon {
    border-color: rgba(188, 167, 255, 0.48);
    background: linear-gradient(180deg, rgba(192, 174, 255, 0.28), rgba(137, 110, 229, 0.24));
    color: #efe7ff;
}

.badge-highlight {
    background: #fff2de;
    color: #9e4d05;
}

.badge-exclusive {
    background: #f0e8ff;
    color: #5f35ae;
}

.badge-best {
    border-color: rgba(146, 122, 255, 0.55);
    background: linear-gradient(180deg, rgba(159, 132, 255, 0.28), rgba(110, 74, 255, 0.24));
    color: #efe6ff;
}

.badge-best-effective {
    border-color: rgba(131, 196, 255, 0.56);
    background: linear-gradient(180deg, rgba(134, 209, 255, 0.3), rgba(88, 152, 255, 0.24));
    color: #e7f4ff;
}

.badge-neutral {
    background: #e3ecff;
    color: #2a4679;
}

.badge-platform {
    background: #ece4ff;
    color: #554199;
}

.badge-region {
    background: #edf0ff;
    color: #384f90;
}

.badge-availability {
    border-color: rgba(143, 93, 255, 0.38);
    background: linear-gradient(180deg, rgba(143, 93, 255, 0.26), rgba(34, 26, 68, 0.96));
    color: #f1eaff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.effective-price {
    color: #b7a5ff;
    font-weight: 800;
}

.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid #1f6ffc;
    background: linear-gradient(180deg, #2f84ff, #2462f0);
    color: #fff;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.44rem 0.7rem;
}

.deal-cta {
    width: 100%;
}

.button-link:hover {
    background: linear-gradient(180deg, #3b93ff, #2e75ff);
}

.button-link.secondary {
    border-color: #5973a1;
    background: #324768;
}

.button-link.secondary:hover {
    background: #3a5279;
}

.button-link.disabled {
    opacity: 0.6;
    pointer-events: none;
}

.empty-state {
    border: 1px dashed rgba(174, 198, 234, 0.55);
    border-radius: 8px;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.03);
}

.notice-demo {
    border-color: rgba(47, 214, 255, 0.24);
    background: rgba(47, 214, 255, 0.06);
    color: #cfe7ff;
    margin-bottom: 0.62rem;
    font-size: 0.8rem;
    border-left: 3px solid rgba(47, 214, 255, 0.45);
}

.empty-state h3 {
    margin: 0 0 0.4rem;
    color: #f0f5ff;
}

.empty-state p {
    margin: 0;
    color: var(--text-muted);
}

.content-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.content-column {
    border: 1px solid rgba(143, 176, 227, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    padding: 0.8rem;
}

.content-column h3 {
    margin: 0 0 0.65rem;
    color: #fff;
}

.article-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 0.8rem;
}

.article-card {
    border: 1px solid var(--line-light);
    border-radius: 8px;
    background: var(--bg-surface);
    color: var(--text-dark);
    padding: 0.72rem;
    box-shadow: 0 6px 16px rgba(9, 18, 36, 0.08);
}

.article-card h2,
.article-card h4 {
    margin: 0.3rem 0 0.34rem;
    line-height: 1.3;
    font-size: 0.95rem;
}

.article-card-large {
    padding: 0.75rem;
}

.article-meta {
    margin: 0;
    color: #5a6f96;
    font-size: 0.76rem;
}

.article-card-list {
    display: grid;
    gap: 0.55rem;
}

.article-image-placeholder {
    aspect-ratio: 16 / 9;
    min-height: 120px;
    border-radius: 8px;
    background: linear-gradient(140deg, #dbe6ff, #e9edfb);
    color: #5f7092;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.article-layout {
    max-width: 880px;
    margin-inline: auto;
}

.article-teaser {
    font-size: 1.05rem;
    color: #d9e7ff;
}

.tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.article-content {
    color: #dce8ff;
    line-height: 1.7;
}

.article-content strong {
    color: #fff;
}

.market-subpage-news .guide-card {
    display: flex;
    min-height: 230px;
    flex-direction: column;
    gap: 0.55rem;
    padding: 1rem;
}

.guide-card-kicker {
    width: fit-content;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    padding: 0.18rem 0.58rem;
    background: rgba(255, 255, 255, 0.08);
    color: #efe8ff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.guide-topic-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: auto 0 0;
}

.guide-topic-row span {
    border: 1px solid rgba(207, 195, 245, 0.22);
    border-radius: 999px;
    padding: 0.18rem 0.5rem;
    background: rgba(124, 60, 255, 0.14);
    color: #ddd3ff;
    font-size: 0.75rem;
    font-weight: 700;
}

.article-card-action {
    margin: 0;
}

.guide-article {
    max-width: 920px;
    margin-inline: auto;
}

.guide-article-main {
    display: grid;
    gap: 1rem;
}

.guide-article .article-teaser {
    max-width: 760px;
    margin: 0;
    color: #f1ecff;
}

.guide-article .article-content {
    display: grid;
    gap: 0.78rem;
}

.guide-article .article-content p {
    margin: 0;
}

.guide-article-panel {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.045);
    padding: 0.9rem;
}

.guide-article-panel h2 {
    margin-top: 0;
}

.provider-grid,
.trust-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.75rem;
}

.provider-tile {
    border: 1px solid rgba(143, 176, 227, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    padding: 0.7rem;
}

.provider-tile h2,
.provider-tile h3 {
    margin: 0 0 0.34rem;
    font-size: 0.95rem;
}

.trust-grid article {
    border: 1px solid rgba(143, 176, 227, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    padding: 0.85rem;
}

.trust-grid h3 {
    margin-top: 0;
}

.product-hero-grid {
    display: grid;
    grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
    gap: 1rem;
}

.product-cover,
.responsive-image {
    display: block;
    width: 100%;
    border-radius: 8px;
    border: 1px solid rgba(143, 176, 227, 0.3);
    background: rgba(255, 255, 255, 0.05);
}

.product-cover {
    aspect-ratio: 3 / 4;
    max-height: 320px;
    object-fit: contain;
}

.responsive-image {
    aspect-ratio: 16 / 9;
    max-height: 420px;
    object-fit: cover;
}

.product-cover-placeholder {
    aspect-ratio: 3 / 4;
    min-height: 220px;
    border-radius: 8px;
    border: 1px dashed rgba(143, 176, 227, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    background: rgba(255, 255, 255, 0.04);
}

.meta-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.7rem;
}

.product-keyfacts-band .section-head {
    margin-bottom: 0.8rem;
}

.product-facts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.65rem;
    margin: 0;
}

.product-facts-grid div,
.product-guidance-grid > div {
    border: 1px solid rgba(143, 176, 227, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    padding: 0.72rem;
}

.product-facts-grid dt {
    margin: 0 0 0.25rem;
    color: var(--text-muted);
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.product-facts-grid dd {
    margin: 0;
    color: var(--text-main);
    font-size: 0.94rem;
    font-weight: 800;
}

.product-guidance-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 0.65rem;
    margin-top: 0.8rem;
}

.product-guidance-grid h3 {
    margin: 0 0 0.42rem;
    font-size: 0.98rem;
}

.product-guidance-grid p,
.product-guidance-grid ul {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.88rem;
}

.product-guidance-grid ul {
    padding-left: 1.1rem;
}

.product-note-list {
    display: grid;
    gap: 0.42rem;
}

.product-note-list p {
    margin: 0;
}

.hub-link-grid,
.hub-guidance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.hub-link-grid a,
.hub-guidance-grid > div {
    border: 1px solid rgba(143, 176, 227, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    padding: 0.78rem;
}

.hub-link-grid a {
    display: grid;
    gap: 0.28rem;
    color: var(--text-main);
    text-decoration: none;
}

.hub-link-grid a:hover,
.hub-inline-links a:hover {
    border-color: rgba(141, 220, 255, 0.5);
    color: #ffffff;
}

.hub-link-grid strong,
.hub-guidance-grid h3 {
    margin: 0;
    color: #ffffff;
    font-size: 0.98rem;
}

.hub-link-grid span,
.hub-guidance-grid p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.88rem;
}

.hub-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.85rem 0 0;
}

.hub-inline-links a {
    border: 1px solid rgba(143, 176, 227, 0.24);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #dce7ff;
    padding: 0.44rem 0.62rem;
    text-decoration: none;
    font-size: 0.88rem;
}

.table-wrap {
    overflow-x: auto;
}

.compare-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    border: 1px solid rgba(143, 176, 227, 0.3);
    border-radius: 8px;
    overflow: hidden;
    background: #edf3ff;
    color: #102147;
}

.compare-table th,
.compare-table td {
    border: 1px solid #cfdcf7;
    padding: 0.4rem 0.42rem;
    text-align: left;
    vertical-align: top;
}

.compare-table th {
    background: #dbe8ff;
    color: #183562;
    font-size: 0.78rem;
}

.compare-table td {
    font-size: 0.78rem;
}

.event-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 0.28rem;
    margin-top: 0.42rem;
}

.compare-footnote {
    font-size: 0.78rem;
    margin-top: 0.55rem;
}

.product-alerts-section .content-column {
    background: rgba(255, 255, 255, 0.025);
}

.product-alert-grid .content-column h3 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.product-alert-grid .content-column .muted {
    font-size: 0.82rem;
}

.product-alert-grid {
    gap: 0.65rem;
}

.legal-note {
    margin: 0;
}

.offer-list {
    margin: 0;
    padding-left: 1.1rem;
    display: grid;
    gap: 0.4rem;
}

.pagination-nav {
    margin-top: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.pagination-meta {
    color: var(--text-muted);
    font-size: 0.88rem;
}

.faq-list {
    display: grid;
    gap: 0.45rem;
}

.coupon-list li {
    margin-bottom: 0.35rem;
}

details {
    border: 1px solid rgba(143, 176, 227, 0.25);
    border-radius: 8px;
    padding: 0.55rem 0.7rem;
    background: rgba(255, 255, 255, 0.03);
}

summary {
    cursor: pointer;
    font-weight: 700;
}

.muted {
    color: #b7c5e9;
}

.active-sort {
    color: #fff;
    font-weight: 700;
}

.notice {
    border-radius: 8px;
    padding: 0.75rem 0.9rem;
    margin: 0.3rem 0;
    border: 1px solid rgba(143, 176, 227, 0.3);
    background: rgba(255, 255, 255, 0.05);
}

.notice.success {
    border-color: rgba(14, 188, 120, 0.6);
}

.notice.error {
    border-color: rgba(245, 83, 83, 0.7);
}

.notice.warning {
    border-color: rgba(255, 143, 40, 0.65);
}

.legal-content {
    background: rgba(255, 255, 255, 0.02);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 1rem;
}

.surface-card {
    border: 1px solid rgba(143, 176, 227, 0.2);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    padding: 1rem;
}

.hp-field {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.cookie-settings-section .surface-card {
    max-width: 760px;
}

.consent-banner {
    position: relative;
    z-index: 60;
    background: rgba(8, 14, 28, 0.97);
    border-top: 1px solid rgba(143, 176, 227, 0.35);
    box-shadow: inset 0 6px 18px rgba(0, 0, 0, 0.2);
}

.consent-banner.is-hidden {
    display: none;
}

.consent-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 0.9rem 0;
}

.consent-copy p {
    margin: 0.2rem 0;
    color: #c5d7f8;
    font-size: 0.9rem;
}

.consent-copy a {
    color: var(--accent-cyan);
    font-size: 0.9rem;
}

.consent-controls {
    display: grid;
    gap: 0.4rem;
    justify-items: start;
}

.consent-controls .checkbox {
    color: #d8e6ff;
    font-size: 0.84rem;
}

.consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: linear-gradient(180deg, #070d19, #03060d);
    padding: 1.5rem 0;
}

.footer-promo-shell {
    margin-bottom: 0.9rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.footer-grid section h2 {
    margin-top: 0;
    margin-bottom: 0.45rem;
    color: #eef4ff;
    font-size: 1rem;
}

.footer-logo {
    max-width: 160px;
    aspect-ratio: 4 / 1;
    max-height: 46px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.footer-grid p,
.footer-grid li,
.footer-grid a {
    color: #adc1e7;
    font-size: 0.88rem;
}

.footer-grid ul {
    margin: 0;
    padding-left: 1rem;
    display: grid;
    gap: 0.25rem;
}

.footer-grid a {
    text-decoration: none;
}

.footer-grid a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-meta {
    margin-top: 1rem;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-meta p {
    margin: 0.35rem 0;
    color: #9cb1d8;
    font-size: 0.84rem;
}

/* Adminbereich */
body.admin {
    background: #eef2f8;
    color: #102247;
}

.admin-header {
    background: #0f172a;
    color: #fff;
    padding: 0.9rem 0;
}

.admin-nav {
    display: flex;
    gap: 0.6rem;
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
}

.admin-brand {
    font-weight: 700;
    font-size: 0.92rem;
    color: #e8f0ff;
}

.admin-nav nav {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    width: 100%;
    padding-bottom: 0.2rem;
    scrollbar-width: thin;
}

.admin-nav a {
    display: inline-flex;
    align-items: center;
    color: #dbeafe;
    text-decoration: none;
    border: 1px solid rgba(153, 187, 255, 0.2);
    border-radius: 8px;
    padding: 0.36rem 0.56rem;
    background: rgba(255, 255, 255, 0.03);
    white-space: nowrap;
    font-size: 0.86rem;
}

.admin-nav a:hover {
    text-decoration: none;
    background: rgba(47, 117, 255, 0.24);
    border-color: rgba(120, 169, 255, 0.55);
}

.admin-nav a[aria-current="page"] {
    background: rgba(47, 117, 255, 0.3);
    border-color: rgba(143, 188, 255, 0.7);
    color: #ffffff;
}

.admin-nav nav::-webkit-scrollbar {
    height: 7px;
}

.admin-nav nav::-webkit-scrollbar-thumb {
    background: rgba(143, 176, 227, 0.42);
    border-radius: 8px;
}

.admin-nav .logout-form {
    display: inline-flex;
}

.admin-nav .logout-form button {
    padding: 0.34rem 0.6rem;
    font-size: 0.82rem;
    border-radius: 8px;
}

main.container {
    padding-bottom: 2.2rem;
}

body.admin main.container {
    padding-top: 1rem;
}

.card {
    background: #fff;
    border: 1px solid #dde4f3;
    border-radius: 8px;
    padding: 1rem 1.15rem;
    margin-bottom: 1rem;
    color: #102247;
}

.card.narrow {
    max-width: 500px;
}

.simple-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.75rem;
}

.offer-card {
    border: 1px solid #dbe4f4;
    border-radius: 8px;
    background: #fff;
    padding: 0.75rem;
}

.warning {
    color: #9a3412;
}

.form-grid {
    display: grid;
    gap: 0.75rem;
}

label {
    display: grid;
    gap: 0.25rem;
    font-weight: 600;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="datetime-local"],
input[type="search"],
select,
textarea {
    width: 100%;
    border: 1px solid #c9d5eb;
    border-radius: 8px;
    padding: 0.6rem 0.7rem;
    font: inherit;
}

.checkbox {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
}

.actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

button {
    border: 1px solid #1f6ffc;
    border-radius: 8px;
    background: linear-gradient(180deg, #2f84ff, #2462f0);
    color: #fff;
    font: inherit;
    font-weight: 700;
    padding: 0.58rem 0.9rem;
    cursor: pointer;
}

button:hover {
    background: linear-gradient(180deg, #3b93ff, #2e75ff);
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.75rem;
}

th,
td {
    border: 1px solid #e1e7f4;
    padding: 0.52rem;
    text-align: left;
    vertical-align: top;
}

.inline-edit-form {
    border: 1px solid #dbe2f2;
    border-radius: 8px;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
    background: #fff;
}

.relation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.35rem;
}

.relation-grid-products {
    max-height: 300px;
    overflow: auto;
    border: 1px solid #dbe2ea;
    border-radius: 8px;
    padding: 0.7rem;
    background: #fff;
}

.thumb-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: 150px;
    object-fit: cover;
    border-radius: 8px;
}

.logout-form {
    display: inline;
}

@media (max-width: 980px) {
    .header-row {
        grid-template-columns: auto 1fr auto;
    }

    .header-quicklinks {
        display: none;
    }

    .mobile-menu-toggle {
        display: inline-flex;
    }

    .main-nav {
        display: none;
    }

    body.nav-open .main-nav {
        display: block;
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .product-hero-grid {
        grid-template-columns: 1fr;
    }

    .content-grid-two {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .ad-unit-body {
        grid-template-columns: 1fr;
    }

    .consent-inner {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .container {
        width: calc(100% - 1.2rem);
    }

    .header-row {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "brand menu"
            "search search";
    }

    .brand-block {
        grid-area: brand;
    }

    .mobile-menu-toggle {
        grid-area: menu;
    }

    .header-search {
        grid-area: search;
    }

    .brand-logo {
        width: clamp(150px, 45vw, 190px);
        max-width: 190px;
        max-height: 48px;
    }

    .quick-category-tile {
        min-height: 48px;
        padding: 0.32rem 0.5rem;
    }

    .quick-category-tile span {
        display: none;
    }

    .hero-search {
        flex-direction: column;
    }

    .hero-search button {
        width: 100%;
    }

    .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .admin-nav {
        align-items: stretch;
    }

    .admin-nav nav {
        padding-bottom: 0.35rem;
    }
}

/* ================================
/* ================================
   Frontend Redesign - Homepage
   (based on provided reference screenshots)
   ================================ */
body.frontend {
    background:
        radial-gradient(circle at 12% -8%, rgba(87, 68, 230, 0.34), transparent 32%),
        radial-gradient(circle at 86% 6%, rgba(50, 85, 232, 0.22), transparent 36%),
        linear-gradient(180deg, #080c1f 0%, #0d1230 38%, #111738 100%);
    color: #dde4ff;
}

body.frontend .page-shell {
    padding-top: 0.95rem;
    padding-bottom: 2rem;
}

body.frontend .promo-bar {
    background: linear-gradient(90deg, #1f33a8 0%, #2e3ccb 54%, #4f33ce 100%);
    border-bottom: 1px solid rgba(171, 189, 255, 0.2);
}

body.frontend .promo-bar p,
body.frontend .promo-bar a {
    color: #f0f4ff;
}

body.frontend .site-header {
    background: rgba(5, 9, 23, 0.92);
    border-bottom: 1px solid rgba(150, 170, 255, 0.16);
    backdrop-filter: blur(10px);
}

body.frontend .brand-copy strong {
    color: #f3f6ff;
}

body.frontend .brand-copy small {
    color: #9eadd8;
}

body.frontend .header-search input[type="search"] {
    background: rgba(12, 19, 41, 0.9);
    border-color: rgba(145, 169, 255, 0.25);
    color: #edf3ff;
}

body.frontend .header-search input[type="search"]::placeholder {
    color: #8e9ec8;
}

body.frontend .header-search button,
body.frontend .button-link {
    border-color: #4d77ff;
    background: linear-gradient(180deg, #5185ff, #3f67ef);
}

body.frontend .header-quicklinks a,
body.frontend .main-nav-inner a {
    color: #c9d5fb;
}

body.frontend .main-nav {
    border-top-color: rgba(151, 171, 255, 0.16);
    border-bottom-color: rgba(151, 171, 255, 0.16);
}

body.frontend .main-nav-inner a:hover {
    background: rgba(65, 88, 166, 0.36);
    border-color: rgba(130, 156, 244, 0.45);
}

body.frontend .hero-panel,
body.frontend .hub-section {
    border: 1px solid rgba(121, 148, 240, 0.22);
    border-radius: 14px;
    background:
        linear-gradient(160deg, rgba(19, 29, 64, 0.95) 0%, rgba(16, 24, 56, 0.95) 45%, rgba(34, 26, 84, 0.92) 100%);
    box-shadow: 0 16px 34px rgba(4, 8, 23, 0.35);
}

body.frontend .premium-section {
    background:
        linear-gradient(155deg, rgba(23, 35, 77, 0.96) 0%, rgba(32, 27, 88, 0.95) 52%, rgba(48, 31, 108, 0.95) 100%);
}

body.frontend .hero-panel h1,
body.frontend .section-head h2,
body.frontend .article-card h3,
body.frontend .provider-tile h3,
body.frontend .trust-grid h3,
body.frontend summary,
body.frontend .deal-title {
    color: #f2f6ff;
}

body.frontend .hero-panel p,
body.frontend .section-head a,
body.frontend .article-meta,
body.frontend .article-content,
body.frontend .provider-tile p,
body.frontend .trust-grid p,
body.frontend .muted,
body.frontend .deal-updated,
body.frontend .deal-disclaimer {
    color: #a8b6de;
}

body.frontend .section-head a {
    font-weight: 700;
}

body.frontend.page-home .home-hero {
    background:
        radial-gradient(circle at 72% 24%, rgba(125, 78, 255, 0.34), transparent 41%),
        linear-gradient(125deg, rgba(8, 13, 35, 0.96) 0%, rgba(11, 18, 47, 0.94) 48%, rgba(32, 23, 85, 0.94) 100%);
    padding: 1.22rem 1.28rem;
}

body.frontend.page-home .home-hero h1 {
    margin: 0.16rem 0 0.52rem;
    font-size: clamp(1.72rem, 2.72vw, 2.28rem);
}

body.frontend.page-home .home-hero p {
    margin: 0.34rem 0;
}

body.frontend.page-home .home-hero .eyebrow {
    color: #bbcbff;
}

body.frontend.page-home .hero-trust-chips span {
    border-color: rgba(151, 173, 255, 0.33);
    background: rgba(69, 88, 155, 0.28);
    color: #dbe5ff;
}

body.frontend.page-home .hero-search input {
    background: rgba(10, 16, 37, 0.82);
    border-color: rgba(148, 171, 255, 0.34);
    color: #f2f6ff;
}

body.frontend.page-home .hero-search input::placeholder {
    color: #90a0cc;
}

body.frontend.page-home .hero-search {
    margin-top: 0.72rem;
}

body.frontend.page-home .hero-cta-row {
    margin-top: 0.7rem;
}

body.frontend.page-home .hero-featured-grid {
    gap: 0.5rem;
}

body.frontend.page-home .hero-feature-card {
    border: 1px solid rgba(131, 153, 234, 0.32);
    background: rgba(12, 19, 43, 0.68);
    border-radius: 12px;
    padding: 0.72rem 0.78rem;
}

body.frontend.page-home .hero-feature-provider {
    color: #9ab5ff;
}

body.frontend .category-chip {
    border-color: rgba(129, 150, 226, 0.36);
    background: linear-gradient(180deg, rgba(46, 64, 128, 0.55), rgba(28, 42, 90, 0.58));
    color: #d8e3ff;
}

body.frontend .category-chip:hover {
    background: linear-gradient(180deg, rgba(63, 84, 159, 0.72), rgba(39, 58, 120, 0.8));
    border-color: rgba(144, 170, 255, 0.56);
}

body.frontend .deals-grid {
    gap: 0.9rem;
}

body.frontend.page-home .deal-media {
    aspect-ratio: 4 / 2.9;
}

body.frontend .deal-card {
    border: 1px solid rgba(129, 153, 232, 0.28);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(245, 248, 255, 0.95) 0%, rgba(235, 241, 255, 0.95) 100%);
    box-shadow: 0 10px 20px rgba(7, 12, 34, 0.35);
}

body.frontend.page-home .deal-body {
    padding: 0.52rem;
    gap: 0.24rem;
}

body.frontend.page-home .deal-topline {
    gap: 0.2rem;
}

body.frontend .deal-media {
    background: #dbe5ff;
}

body.frontend .provider-pill {
    border: 1px solid #bcd0ff;
    background: #e6efff;
    color: #2b4a95;
}

body.frontend .deal-title,
body.frontend .deal-tags span,
body.frontend .deal-price,
body.frontend .deal-old-price,
body.frontend .deal-updated,
body.frontend .deal-disclaimer,
body.frontend .deal-body,
body.frontend .deal-meta {
    color: #1b2747;
}

body.frontend .deal-tags span {
    border-color: #cddcff;
    background: #edf3ff;
}

body.frontend.page-home .provider-pill {
    padding: 0.11rem 0.34rem;
    font-size: 0.66rem;
}

body.frontend.page-home .deal-title {
    font-size: 0.82rem;
    line-height: 1.24;
}

body.frontend.page-home .deal-tags {
    gap: 0.19rem;
}

body.frontend.page-home .deal-tags span {
    font-size: 0.62rem;
    padding: 0.06rem 0.28rem;
}

body.frontend.page-home .deal-pricing {
    margin: 0;
}

body.frontend .deal-price {
    color: #0f3e98;
}

body.frontend .deal-old-price {
    color: #5d6e95;
}

body.frontend.page-home .deal-price {
    font-size: 1.06rem;
    font-weight: 800;
}

body.frontend.page-home .deal-old-price {
    margin-top: 0;
    font-size: 0.68rem;
}

body.frontend.page-home .deal-footer {
    gap: 0.18rem;
}

body.frontend.page-home .deal-updated {
    font-size: 0.6rem;
}

body.frontend.page-home .deal-cta {
    padding: 0.44rem 0.6rem;
    font-size: 0.78rem;
}

body.frontend .empty-state,
body.frontend .coupon-box,
body.frontend .content-column,
body.frontend .article-card,
body.frontend .provider-tile,
body.frontend .trust-grid article,
body.frontend details {
    border-color: rgba(130, 152, 231, 0.27);
    background: rgba(19, 30, 69, 0.7);
}

body.frontend .empty-state h3,
body.frontend .article-card h3,
body.frontend .provider-tile h3,
body.frontend .trust-grid h3,
body.frontend summary {
    color: #f1f5ff;
}

body.frontend .empty-state.empty-state-soft {
    border: 1px solid rgba(143, 93, 255, 0.28);
    background: linear-gradient(180deg, rgba(23, 18, 48, 0.96), rgba(14, 18, 36, 0.98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 14px 28px rgba(4, 7, 18, 0.22);
}

body.frontend .empty-state.empty-state-soft h3 {
    color: #f4efff;
}

body.frontend .empty-state.empty-state-soft p {
    color: #c5bce4;
}

body.frontend .button-link.secondary {
    border-color: rgba(150, 173, 255, 0.44);
    background: rgba(39, 58, 119, 0.6);
    color: #d9e5ff;
}

body.frontend .button-link.secondary:hover {
    background: rgba(54, 75, 145, 0.75);
}

body.frontend .consent-banner {
    background: rgba(4, 8, 21, 0.97);
    border-top-color: rgba(133, 156, 242, 0.33);
}

body.frontend .site-footer {
    border-top: 1px solid rgba(130, 152, 226, 0.24);
    background: linear-gradient(180deg, rgba(5, 8, 21, 0.99), rgba(3, 6, 16, 0.99));
}

body.frontend .footer-grid section h2 {
    color: #eef3ff;
}

body.frontend .footer-grid p,
body.frontend .footer-grid li,
body.frontend .footer-grid a,
body.frontend .footer-meta p {
    color: #8496bf;
}

body.frontend .footer-grid a:hover {
    color: #b9c8ee;
}

body.frontend .footer-meta {
    border-top-color: rgba(109, 129, 205, 0.21);
}

@media (prefers-reduced-motion: no-preference) {
    body.frontend.page-home .home-hero,
    body.frontend.page-home .hub-section {
        animation: homeFadeIn 340ms ease-out both;
    }

    body.frontend.page-home .deal-card {
        animation: homeCardRise 300ms ease-out both;
    }
}

@keyframes homeFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes homeCardRise {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    body.frontend .hub-section {
        padding: 0.95rem;
    }

    body.frontend.page-home .home-hero {
        padding: 1.06rem;
    }

    body.frontend.page-home .hero-grid {
        gap: 0.82rem;
    }
}

@media (max-width: 700px) {
    body.frontend.page-home .home-hero {
        padding: 0.92rem;
    }

    body.frontend.page-home .home-hero h1 {
        font-size: clamp(1.5rem, 7.2vw, 1.86rem);
    }

    body.frontend.page-home .hero-search {
        margin-top: 0.58rem;
    }

    body.frontend.page-home .hero-feature-card {
        padding: 0.62rem 0.68rem;
    }

    body.frontend.page-home .deal-media {
        aspect-ratio: 4 / 3.05;
    }

    body.frontend .hero-cta-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    body.frontend .button-link,
    body.frontend .button-link.secondary {
        width: 100%;
    }
}

/* ================================
   Homepage Marketplace Rebuild
   ================================ */
body.frontend.page-home {
    background:
        linear-gradient(180deg, #21084a 0%, #18062f 34%, #120423 100%);
    color: #f7f3ff;
}

body.frontend.page-home .page-shell {
    max-width: none;
    width: 100%;
    padding: 0;
}

body.frontend.page-home .promo-bar {
    background: #2b0b63;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.frontend.page-home .promo-bar-inner {
    min-height: 30px;
    font-size: 0.76rem;
}

body.frontend.page-home .site-header {
    background: rgba(24, 6, 47, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

body.frontend.page-home .header-row {
    padding: 0.62rem 0;
}

body.frontend.page-home .brand-badge {
    background: linear-gradient(135deg, #7c3cff, #2f7bff);
}

body.frontend.page-home .header-search input[type="search"] {
    min-height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.14);
}

body.frontend.page-home .header-search button {
    min-height: 40px;
    border-radius: 8px;
    background: #7c3cff;
    border-color: #8e55ff;
}

body.frontend.page-home .main-nav {
    background: rgba(18, 4, 35, 0.64);
    border-color: rgba(255, 255, 255, 0.08);
}

body.frontend.page-home .main-nav-inner {
    padding: 0.44rem 0;
}

body.frontend.page-home .main-nav-inner a {
    padding: 0.34rem 0.58rem;
    font-size: 0.78rem;
    color: #cfc3f5;
}

.marketplace-page {
    width: 100%;
    overflow: hidden;
    background: linear-gradient(180deg, #21084a 0%, #18062f 42%, #120423 100%);
}

.marketplace-band {
    position: relative;
    width: 100%;
}

.marketplace-inner {
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
}

.marketplace-hero-band {
    padding: 22px 0 12px;
    background:
        linear-gradient(90deg, rgba(69, 24, 163, 0.9), rgba(33, 8, 74, 0.86)),
        linear-gradient(180deg, #2b0b63, #21084a);
}

.marketplace-hero {
    min-height: 330px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.72fr);
    gap: 28px;
    align-items: center;
}

.marketplace-hero-copy {
    max-width: 720px;
}

.marketplace-kicker,
.marketplace-section-head p,
.trust-copy p {
    margin: 0 0 8px;
    color: #d5c6ff;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.marketplace-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #f7f3ff;
    font-size: clamp(2.25rem, 4vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: 0;
}

.marketplace-hero-text {
    max-width: 620px;
    margin: 16px 0 0;
    color: #cfc3f5;
    font-size: 1rem;
    line-height: 1.55;
}

.marketplace-search {
    width: min(660px, 100%);
    display: flex;
    gap: 8px;
    margin-top: 22px;
}

.marketplace-search input {
    flex: 1;
    min-width: 0;
    min-height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #f7f3ff;
    padding: 0 14px;
    font: inherit;
}

.marketplace-search input::placeholder {
    color: #bdb1e8;
}

.marketplace-search button,
.marketplace-primary-action,
.marketplace-secondary-action {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f7f3ff;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.marketplace-search button,
.marketplace-primary-action {
    background: #7c3cff;
    border-color: #8e55ff;
    padding: 0 18px;
}

.marketplace-secondary-action {
    background: rgba(255, 255, 255, 0.08);
    padding: 0 16px;
}

.marketplace-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.marketplace-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.marketplace-stats span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #cfc3f5;
    padding: 0.32rem 0.62rem;
    font-size: 0.78rem;
}

.marketplace-stats strong {
    color: #f7f3ff;
}

.hero-deal-panel {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.06);
    padding: 14px;
    box-shadow: 0 24px 48px rgba(4, 0, 13, 0.24);
}

.hero-deal-panel-head,
.marketplace-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.hero-deal-panel-head {
    margin-bottom: 10px;
}

.hero-deal-panel-head span {
    color: #f7f3ff;
    font-weight: 800;
}

.hero-deal-panel-head a,
.marketplace-section-head a {
    color: #cfc3f5;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.hero-deal-stack {
    display: grid;
    gap: 10px;
}

.hero-mini-deal {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
    min-height: 86px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #f7f3ff;
    padding: 8px;
    text-decoration: none;
}

.hero-mini-art {
    display: grid;
    place-items: center;
    overflow: hidden;
    width: 72px;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    background: #32106f;
    color: #f7f3ff;
    font-weight: 900;
}

.hero-mini-art img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-mini-copy {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 3px;
}

.hero-mini-provider,
.hero-mini-copy span:last-child {
    color: #d8cbff;
    font-size: 0.76rem;
    font-weight: 800;
}

.hero-mini-copy strong {
    color: #f7f3ff;
    font-size: 0.9rem;
    line-height: 1.25;
}

.marketplace-ad-band,
.marketplace-quick-band {
    padding: 8px 0;
    background: #21084a;
}

.quick-category-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(114px, 1fr);
    gap: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
}

.quick-category-tile {
    display: grid;
    gap: 1px;
    min-height: 52px;
    align-content: center;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.06));
    border: 1px solid rgba(170, 191, 255, 0.22);
    color: #f7f3ff;
    padding: 0.34rem 0.56rem;
    text-decoration: none;
}

.quick-category-tile strong {
    display: block;
    font-size: 0.8rem;
    line-height: 1.14;
}

.quick-category-tile span {
    color: #cbc1ee;
    font-size: 0.64rem;
    line-height: 1.1;
}

.marketplace-shelf-band {
    padding: 20px 0 28px;
    background: #18062f;
}

.marketplace-shelf-band-alt {
    background: #21084a;
}

.marketplace-section-head {
    margin-bottom: 16px;
}

.marketplace-section-head h2,
.trust-copy h2 {
    margin: 0;
    color: #f7f3ff;
    font-size: 1.55rem;
    line-height: 1.18;
    letter-spacing: 0;
}

.deal-shelf {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, 182px);
    gap: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    padding: 2px 2px 12px;
    scrollbar-width: thin;
}

.deal-shelf .deal-card {
    scroll-snap-align: start;
}

body.frontend.page-home .deal-card {
    min-width: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    background: #120423;
    color: #f7f3ff;
    box-shadow: none;
}

body.frontend.page-home .deal-media {
    aspect-ratio: 1 / 1.18;
    background: #32106f;
}

body.frontend.page-home .deal-image-placeholder {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.5)),
        linear-gradient(140deg, #4518a3, #21084a);
}

body.frontend.page-home .deal-body {
    padding: 8px;
    gap: 5px;
}

body.frontend.page-home .provider-pill {
    border: 0;
    border-radius: 999px;
    background: rgba(126, 178, 255, 0.2);
    color: #d6ebff;
    padding: 0.12rem 0.42rem;
    font-size: 0.68rem;
}

body.frontend.page-home .deal-title {
    color: #f7f3ff;
    font-size: 0.82rem;
    line-height: 1.23;
}

body.frontend.page-home .deal-tags {
    min-height: 18px;
    overflow: hidden;
}

body.frontend.page-home .deal-tags span {
    border: 0;
    background: transparent;
    color: #c4b8ec;
    padding: 0;
    font-size: 0.68rem;
}

body.frontend.page-home .deal-tags span:nth-child(n+3),
body.frontend.page-home .coupon-box,
body.frontend.page-home .deal-updated,
body.frontend.page-home .deal-disclaimer {
    display: none;
}

body.frontend.page-home .deal-price {
    color: #f7f3ff;
    font-size: 1.12rem;
    line-height: 1.1;
}

body.frontend.page-home .deal-old-price {
    color: #c0b4e8;
    font-size: 0.7rem;
}

body.frontend.page-home .deal-footer {
    margin-top: 4px;
}

body.frontend.page-home .deal-cta {
    min-height: 34px;
    border-radius: 8px;
    border-color: rgba(124, 60, 255, 0.72);
    background: #7c3cff;
    color: #f7f3ff;
    font-size: 0.76rem;
    padding: 0 0.5rem;
}

.marketplace-empty {
    display: grid;
    gap: 4px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    color: #cfc3f5;
    padding: 16px;
}

.marketplace-empty strong {
    color: #f7f3ff;
}

.marketplace-empty.inline {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.marketplace-info-band {
    padding: 34px 0;
    background: #18062f;
}

.info-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    gap: 16px;
}

.info-panel,
.trust-tiles article,
.faq-strip details {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
    padding: 16px;
}

.marketplace-section-head.compact {
    margin-bottom: 12px;
}

.marketplace-section-head.compact h2 {
    font-size: 1.18rem;
}

.editorial-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.editorial-columns h3,
.trust-tiles h3 {
    margin: 0 0 8px;
    color: #f7f3ff;
    font-size: 0.95rem;
}

.editorial-link-card {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 10px;
    margin-top: 10px;
}

.editorial-link-card p,
.info-panel .muted,
.trust-tiles p,
.faq-strip p {
    margin: 0;
    color: #c4b8eb;
    font-size: 0.82rem;
}

.editorial-link-card h4 {
    margin: 4px 0 0;
    font-size: 0.9rem;
    line-height: 1.3;
}

.editorial-link-card a {
    color: #f7f3ff;
    text-decoration: none;
}

.provider-chip-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.provider-chip-cloud a {
    display: grid;
    gap: 2px;
    min-width: 112px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
    color: #f7f3ff;
    padding: 0.62rem 0.72rem;
    text-decoration: none;
}

.provider-chip-cloud span {
    color: #c4b8eb;
    font-size: 0.72rem;
}

.marketplace-trust-band {
    padding: 34px 0 44px;
    background: #120423;
}

.trust-layout {
    display: grid;
    grid-template-columns: minmax(240px, 0.55fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.trust-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.faq-strip {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
}

.faq-strip details {
    padding: 11px 14px;
    border-color: rgba(146, 175, 255, 0.32);
    background: linear-gradient(180deg, rgba(60, 36, 122, 0.5), rgba(34, 16, 78, 0.42));
    transition: border-color 0.18s ease, background 0.18s ease;
}

.faq-strip summary {
    color: #eef3ff;
    font-weight: 800;
}

.faq-strip details:hover {
    border-color: rgba(170, 198, 255, 0.45);
    background: linear-gradient(180deg, rgba(72, 45, 142, 0.56), rgba(38, 19, 86, 0.48));
}

.faq-strip details[open] {
    border-color: rgba(188, 211, 255, 0.5);
    background: linear-gradient(180deg, rgba(83, 52, 154, 0.6), rgba(43, 22, 96, 0.54));
}

body.frontend.page-home .site-footer {
    background: #080111;
    border-top-color: rgba(255, 255, 255, 0.08);
}

body.frontend.page-home .footer-grid {
    padding-top: 28px;
    padding-bottom: 18px;
}

body.frontend.page-home .footer-grid section h2 {
    color: #f7f3ff;
}

body.frontend.page-home .footer-grid p,
body.frontend.page-home .footer-grid li,
body.frontend.page-home .footer-grid a,
body.frontend.page-home .footer-meta p {
    color: #c2b5e8;
}

body.frontend.page-home .footer-meta {
    border-top-color: rgba(255, 255, 255, 0.08);
}

@media (prefers-reduced-motion: no-preference) {
    .marketplace-hero,
    .marketplace-band .marketplace-section-head,
    .deal-shelf .deal-card {
        animation: homeFadeIn 300ms ease-out both;
    }
}

@media (max-width: 980px) {
    .marketplace-inner {
        width: min(100% - 28px, 1240px);
    }

    .marketplace-hero {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .hero-deal-panel {
        max-width: none;
    }

    .info-layout,
    .trust-layout {
        grid-template-columns: 1fr;
    }

    .trust-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    body.frontend.page-home .header-row {
        padding: 0.52rem 0;
    }

    .marketplace-hero-band {
        padding: 22px 0 18px;
    }

    .marketplace-hero h1 {
        font-size: 2rem;
    }

    .marketplace-hero-text {
        font-size: 0.92rem;
    }

    .marketplace-search {
        display: grid;
    }

    .marketplace-search button {
        width: 100%;
    }

    .marketplace-stats {
        gap: 6px;
    }

    .hero-mini-deal {
        grid-template-columns: 60px minmax(0, 1fr);
        min-height: 76px;
    }

    .quick-category-rail {
        grid-auto-columns: 128px;
    }

    .deal-shelf {
        grid-auto-columns: minmax(142px, 158px);
        gap: 10px;
    }

    .editorial-columns,
    .trust-tiles {
        grid-template-columns: 1fr;
    }

    .marketplace-empty.inline {
        display: grid;
    }
}

/* ================================
   Marketplace Theme - Non Home
   ================================ */
body.frontend:not(.page-home) {
    background:
        radial-gradient(circle at 14% -8%, rgba(69, 24, 163, 0.28), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(47, 123, 255, 0.16), transparent 35%),
        linear-gradient(180deg, #1d063d 0%, #16052f 44%, #100321 100%);
    color: #f7f3ff;
}

body.frontend:not(.page-home) .promo-bar {
    background: #2b0b63;
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.frontend:not(.page-home) .site-header {
    background: rgba(21, 5, 43, 0.94);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.frontend:not(.page-home) .header-row {
    padding: 0.6rem 0;
}

body.frontend:not(.page-home) .main-nav {
    background: rgba(14, 4, 28, 0.62);
}

body.frontend:not(.page-home) .main-nav-inner {
    padding: 0.44rem 0;
}

body.frontend:not(.page-home) .main-nav-inner a {
    color: #cfc3f5;
    font-size: 0.8rem;
    padding: 0.34rem 0.58rem;
}

body.frontend:not(.page-home) .header-search input[type="search"] {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.14);
    color: #f7f3ff;
}

body.frontend:not(.page-home) .header-search button {
    background: #7c3cff;
    border-color: #8e55ff;
}

body.frontend:not(.page-home) .header-quicklinks a {
    color: #cfc3f5;
}

body.frontend:not(.page-home) .page-shell {
    width: min(1240px, calc(100% - 40px));
    padding-top: 24px;
    padding-bottom: 36px;
}

.market-subpage {
    display: grid;
    gap: 14px;
}

body.frontend:not(.page-home) .market-subhero {
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 18px;
    background:
        linear-gradient(140deg, rgba(59, 19, 138, 0.95), rgba(33, 8, 74, 0.95));
    box-shadow: 0 18px 38px rgba(3, 1, 9, 0.34);
    padding: 1.15rem 1.25rem;
}

body.frontend:not(.page-home) .market-subhero h1 {
    margin: 0.12rem 0 0.4rem;
    color: #f7f3ff;
    letter-spacing: 0;
    font-size: clamp(1.7rem, 3.1vw, 2.6rem);
}

body.frontend:not(.page-home) .market-subhero p {
    color: #cfc3f5;
}

body.frontend:not(.page-home) .market-subhero .eyebrow {
    color: #d6c8ff;
}

body.frontend:not(.page-home) .market-subhero a {
    color: #cfc3f5;
}

body.frontend:not(.page-home) .market-subband {
    border: 0;
    border-radius: 14px;
    padding: 1rem 1.05rem;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 14px 30px rgba(5, 2, 14, 0.2);
}

body.frontend:not(.page-home) .market-results-band,
body.frontend:not(.page-home) .market-editorial-band,
body.frontend:not(.page-home) .market-article-band {
    background: rgba(255, 255, 255, 0.08);
}

body.frontend:not(.page-home) .market-copy-band,
body.frontend:not(.page-home) .market-links-band,
body.frontend:not(.page-home) .market-legal-band,
body.frontend:not(.page-home) .market-faq-band {
    background: rgba(255, 255, 255, 0.05);
}

body.frontend:not(.page-home) .section-head {
    margin-bottom: 0.6rem;
}

body.frontend:not(.page-home) .section-head h2,
body.frontend:not(.page-home) .market-subband h2 {
    color: #f7f3ff;
    letter-spacing: 0;
}

body.frontend:not(.page-home) .section-head a,
body.frontend:not(.page-home) .market-subband a {
    color: #cfc3f5;
}

body.frontend:not(.page-home) .muted,
body.frontend:not(.page-home) .article-meta,
body.frontend:not(.page-home) .article-content,
body.frontend:not(.page-home) .legal-note,
body.frontend:not(.page-home) .coupon-validity,
body.frontend:not(.page-home) .compare-footnote {
    color: #c7baf0;
}

body.frontend:not(.page-home) .filter-panel {
    background: rgba(255, 255, 255, 0.08);
}

body.frontend:not(.page-home) .filter-reset-link {
    color: #cfc3f5;
}

body.frontend:not(.page-home) .filter-form-grid label,
body.frontend:not(.page-home) .form-grid label {
    color: #f7f3ff;
}

body.frontend:not(.page-home) .filter-form-grid input,
body.frontend:not(.page-home) .filter-form-grid select,
body.frontend:not(.page-home) .filter-form-grid textarea,
body.frontend:not(.page-home) .form-grid input,
body.frontend:not(.page-home) .form-grid select,
body.frontend:not(.page-home) .form-grid textarea {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.18);
    color: #f7f3ff;
}

body.frontend:not(.page-home) .filter-form-grid input::placeholder,
body.frontend:not(.page-home) .form-grid input::placeholder,
body.frontend:not(.page-home) .form-grid textarea::placeholder {
    color: #c2b6e8;
}

body.frontend:not(.page-home) .checkbox {
    color: #cfc3f5;
}

body.frontend:not(.page-home) .filter-chip {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: #cfc3f5;
}

body.frontend:not(.page-home) .button-link,
body.frontend:not(.page-home) .actions button,
body.frontend:not(.page-home) .hero-search button {
    border-color: #8e55ff;
    background: #7c3cff;
    color: #f7f3ff;
}

body.frontend:not(.page-home) .button-link.secondary {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: #cfc3f5;
}

body.frontend:not(.page-home) .deals-grid {
    gap: 0.85rem;
}

body.frontend:not(.page-home) .deals-grid .deal-card {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    background: #120423;
    color: #f7f3ff;
    box-shadow: none;
}

body.frontend:not(.page-home) .deals-grid .deal-media {
    background: #32106f;
}

body.frontend:not(.page-home) .deals-grid .deal-body {
    padding: 0.52rem;
    gap: 0.22rem;
}

body.frontend:not(.page-home) .deals-grid .provider-pill {
    border: 0;
    background: rgba(183, 160, 255, 0.2);
    color: #ece2ff;
    padding: 0.1rem 0.42rem;
    font-size: 0.68rem;
}

body.frontend:not(.page-home) .deals-grid .deal-title,
body.frontend:not(.page-home) .deals-grid .deal-title a {
    color: #f7f3ff;
}

body.frontend:not(.page-home) .deals-grid .deal-tags span {
    border: 0;
    background: transparent;
    color: #c5b9ec;
    padding: 0;
    font-size: 0.67rem;
}

body.frontend:not(.page-home) .deals-grid .deal-price {
    color: #f7f3ff;
}

body.frontend:not(.page-home) .deals-grid .deal-old-price,
body.frontend:not(.page-home) .deals-grid .deal-updated,
body.frontend:not(.page-home) .deals-grid .deal-disclaimer {
    color: #b7a8e4;
}

body.frontend:not(.page-home) .pagination-nav {
    margin-top: 0.85rem;
}

body.frontend:not(.page-home) .pagination-meta {
    color: #d9cef8;
}

body.frontend:not(.page-home) .product-hero-grid {
    gap: 1rem;
}

body.frontend:not(.page-home) .product-cover,
body.frontend:not(.page-home) .responsive-image {
    border-radius: 12px;
}

body.frontend:not(.page-home) .meta-badges .badge {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: #ddd4fb;
}

body.frontend:not(.page-home) .table-wrap {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.24);
}

body.frontend:not(.page-home) .compare-table {
    background: #1b1244;
    color: #efe9ff;
}

body.frontend:not(.page-home) .compare-table th,
body.frontend:not(.page-home) .compare-table td {
    border-color: rgba(255, 255, 255, 0.1);
}

body.frontend:not(.page-home) .compare-table th {
    background: rgba(255, 255, 255, 0.08);
    color: #f7f3ff;
}

body.frontend:not(.page-home) .compare-table td {
    background: rgba(13, 8, 34, 0.9);
}

body.frontend:not(.page-home) .compare-table tbody tr:nth-child(even) td {
    background: rgba(19, 12, 46, 0.92);
}

body.frontend:not(.page-home) .compare-table td,
body.frontend:not(.page-home) .compare-table td a,
body.frontend:not(.page-home) .compare-table strong,
body.frontend:not(.page-home) .coupon-title,
body.frontend:not(.page-home) .coupon-code-row,
body.frontend:not(.page-home) .event-grid {
    color: #f7f3ff;
}

body.frontend:not(.page-home) .compare-table .button-link {
    color: #ffffff;
}

body.frontend:not(.page-home) .compare-table .badge {
    font-size: 0.72rem;
    padding: 0.24rem 0.64rem;
    font-weight: 800;
}

body.frontend:not(.page-home) .compare-table .deal-old-price,
body.frontend:not(.page-home) .compare-table .muted,
body.frontend:not(.page-home) .compare-footnote,
body.frontend:not(.page-home) .section-head .muted,
body.frontend:not(.page-home) .market-results-band > .muted {
    color: #ccbeef;
}

body.frontend:not(.page-home) .muted {
    color: #cabced;
}

body.frontend:not(.page-home) .surface-card,
body.frontend:not(.page-home) .content-column,
body.frontend:not(.page-home) .article-card,
body.frontend:not(.page-home) .coupon-card,
body.frontend:not(.page-home) .provider-tile,
body.frontend:not(.page-home) details {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.06);
}

body.frontend:not(.page-home) .provider-grid h2,
body.frontend:not(.page-home) .provider-grid h3,
body.frontend:not(.page-home) .article-card h2,
body.frontend:not(.page-home) .article-card h3,
body.frontend:not(.page-home) .article-card h4,
body.frontend:not(.page-home) .coupon-card h2,
body.frontend:not(.page-home) .coupon-card h3,
body.frontend:not(.page-home) .offer-list a,
body.frontend:not(.page-home) summary {
    color: #f7f3ff;
}

body.frontend:not(.page-home) .article-image-placeholder,
body.frontend:not(.page-home) .product-cover-placeholder {
    background:
        linear-gradient(140deg, rgba(69, 24, 163, 0.85), rgba(33, 8, 74, 0.9));
    color: #f7f3ff;
}

body.frontend:not(.page-home) .guide-card {
    border-color: rgba(255, 255, 255, 0.13);
    background:
        linear-gradient(150deg, rgba(42, 15, 82, 0.72), rgba(15, 4, 32, 0.92));
    color: #efeaff;
    box-shadow: 0 14px 26px rgba(4, 1, 12, 0.24);
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

body.frontend:not(.page-home) .guide-card:hover {
    transform: translateY(-2px);
    border-color: rgba(207, 195, 245, 0.3);
    background:
        linear-gradient(150deg, rgba(56, 20, 111, 0.78), rgba(18, 5, 40, 0.96));
}

body.frontend:not(.page-home) .guide-card p {
    color: #d9cff7;
}

body.frontend:not(.page-home) .guide-card .article-card-action a {
    color: #f5f0ff;
    font-weight: 800;
}

body.frontend:not(.page-home) .guide-article {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.045));
}

body.frontend:not(.page-home) .guide-article .article-content {
    color: #e9e1ff;
}

body.frontend:not(.page-home) .guide-article .offer-list li,
body.frontend:not(.page-home) .guide-article details p {
    color: #ddd3f8;
}

body.frontend:not(.page-home) .guide-article details {
    background: rgba(255, 255, 255, 0.055);
}

body.frontend:not(.page-home) code {
    background: rgba(255, 255, 255, 0.12);
    color: #f7f3ff;
}

body.frontend:not(.page-home) .site-footer {
    background: #080111;
    border-top-color: rgba(255, 255, 255, 0.08);
}

body.frontend:not(.page-home) .footer-grid p,
body.frontend:not(.page-home) .footer-grid li,
body.frontend:not(.page-home) .footer-grid a,
body.frontend:not(.page-home) .footer-meta p {
    color: #b8abd9;
}

body.frontend:not(.page-home) .footer-grid section h2 {
    color: #f7f3ff;
}

body.frontend:not(.page-home) .footer-meta {
    border-top-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 980px) {
    body.frontend:not(.page-home) .page-shell {
        width: min(100% - 28px, 1240px);
        padding-top: 18px;
    }

    body.frontend:not(.page-home) .market-subhero h1 {
        font-size: clamp(1.45rem, 6vw, 2rem);
    }

    body.frontend:not(.page-home) .filter-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.frontend:not(.page-home) .product-alert-grid,
    body.frontend:not(.page-home) .product-guidance-grid,
    body.frontend:not(.page-home) .contact-grid,
    body.frontend:not(.page-home) .content-grid-two {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    body.frontend:not(.page-home) .market-subband,
    body.frontend:not(.page-home) .market-subhero {
        padding: 0.88rem 0.88rem;
    }

    body.frontend:not(.page-home) .filter-form-grid {
        grid-template-columns: 1fr;
    }
}
