/*
Theme Name: UK Competitions Directory
Theme URI: https://byzo.co.uk/
Author: Byzo
Description: Lightweight WordPress theme for a growing UK competitions directory.
Version: 0.6.33
Text Domain: uk-competitions
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
*/

.ukc-article-author {
    margin-top: 32px;
    padding: 24px;
    border: 1px solid var(--ukc-line);
    border-radius: var(--ukc-radius);
    background: var(--ukc-soft);
}

.ukc-article-author h2 {
    margin-top: 0;
}

:root {
    --ukc-ink: #111827;
    --ukc-muted: #5b6472;
    --ukc-soft: #f6f7f9;
    --ukc-panel: #ffffff;
    --ukc-line: #dfe4ea;
    --ukc-primary: #087f8c;
    --ukc-primary-dark: #05616a;
    --ukc-accent: #f5b82e;
    --ukc-rose: #d9486e;
    --ukc-green: #14845f;
    --ukc-radius: 8px;
    --ukc-shadow: 0 14px 35px rgba(17, 24, 39, 0.08);
}

.ukc-organiser-image {
    position: relative;
}

.ukc-organiser-image::after {
    align-items: center;
    background: #05616a;
    border-bottom: 2px solid #f5b82e;
    border-top: 2px solid #f5b82e;
    box-shadow: 0 3px 9px rgba(17, 24, 39, 0.24);
    color: #fff;
    content: "WINNING UK\A winninguk.co.uk";
    display: flex;
    font-size: clamp(0.56rem, 1vw, 0.72rem);
    font-weight: 800;
    left: -8px;
    letter-spacing: 0.03em;
    line-height: 1.05;
    min-height: 28px;
    padding: 1px 8px 1px 52px;
    position: absolute;
    text-align: left;
    top: 52px;
    transform: rotate(-18deg);
    transform-origin: left center;
    white-space: pre-line;
    width: min(66%, 260px);
    z-index: 3;
}

.ukc-organiser-image::before {
    align-items: center;
    background: #087f8c;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #f5b82e;
    color: #fff;
    content: "W";
    display: flex;
    font-size: 0.55rem;
    font-weight: 900;
    height: 16px;
    justify-content: center;
    left: 17px;
    line-height: 1;
    position: absolute;
    top: 40px;
    transform: rotate(-18deg);
    width: 16px;
    z-index: 4;
}

.ukc-mini-thumb.ukc-organiser-image::after {
    border-width: 1px 0;
    content: "WINNING UK";
    font-size: 0.3rem;
    left: -3px;
    min-height: 9px;
    padding: 1px 1px 1px 15px;
    top: 10px;
    width: 46px;
}

.ukc-mini-thumb.ukc-organiser-image::before {
    border-width: 2px;
    box-shadow: 0 0 0 2px #f5b82e;
    font-size: 0.28rem;
    height: 8px;
    left: 4px;
    top: 7px;
    width: 8px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--ukc-soft);
    color: var(--ukc-ink);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
}

.ukc-policy-addendum a {
    color: var(--ukc-primary-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ukc-cookie-settings {
    align-items: center;
    background: #fff;
    border: 1px solid var(--ukc-line);
    border-radius: 50%;
    bottom: 10px;
    box-shadow: var(--ukc-shadow);
    color: var(--ukc-ink);
    cursor: pointer;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    left: 10px;
    padding: 0;
    position: fixed;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
    width: 42px;
    z-index: 999;
}

.ukc-cookie-settings:hover,
.ukc-cookie-settings:focus-visible {
    background: var(--ukc-primary);
    color: #fff;
    transform: translateY(-2px);
}

.ukc-cookie-settings:focus-visible {
    outline: 3px solid rgba(8, 127, 140, 0.3);
    outline-offset: 2px;
}

.ukc-cookie-settings svg {
    height: 23px;
    width: 23px;
}

@media (max-width: 620px) {
    .ukc-cookie-settings {
        height: 38px;
        width: 38px;
    }

    .ukc-cookie-settings svg {
        height: 21px;
        width: 21px;
    }
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    height: auto;
    max-width: 100%;
}

.ukc-container {
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 24px;
}

.ukc-site-header,
.ukc-site-footer {
    background: var(--ukc-panel);
    border-color: var(--ukc-line);
}

.ukc-site-header {
    border-bottom: 1px solid var(--ukc-line);
    position: sticky;
    top: 0;
    z-index: 20;
}

.ukc-header-inner {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    min-height: 76px;
}

.ukc-menu-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--ukc-line);
    border-radius: 6px;
    color: var(--ukc-ink);
    cursor: pointer;
    display: none;
    font: inherit;
    font-weight: 700;
    gap: 9px;
    padding: 9px 12px;
}

.ukc-menu-toggle-icon {
    display: grid;
    gap: 4px;
    width: 20px;
}

.ukc-menu-toggle-icon span {
    background: currentColor;
    border-radius: 2px;
    display: block;
    height: 2px;
    transition: transform 160ms ease, opacity 160ms ease;
}

.ukc-menu-toggle[aria-expanded="true"] .ukc-menu-toggle-icon span:first-child {
    transform: translateY(6px) rotate(45deg);
}

.ukc-menu-toggle[aria-expanded="true"] .ukc-menu-toggle-icon span:nth-child(2) {
    opacity: 0;
}

.ukc-menu-toggle[aria-expanded="true"] .ukc-menu-toggle-icon span:last-child {
    transform: translateY(-6px) rotate(-45deg);
}

.ukc-brand {
    align-items: center;
    color: #0f172a;
    display: inline-flex;
    flex-shrink: 0;
}

.ukc-brand img {
    height: auto;
    width: clamp(205px, 20vw, 275px);
}

.ukc-primary-navigation {
    align-items: center;
    display: flex;
    gap: 6px;
}

.ukc-nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ukc-nav li {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.ukc-nav li::marker {
    content: "";
}

.ukc-nav a {
    border-radius: 6px;
    color: #374151;
    font-size: 0.94rem;
    font-weight: 650;
    padding: 10px 12px;
}

.ukc-nav a:hover,
.ukc-nav .current-menu-item > a,
.ukc-nav .current-menu-ancestor > a {
    background: #eef7f8;
    color: var(--ukc-primary-dark);
}

.ukc-nav .sub-menu {
    background: #fff;
    border: 1px solid var(--ukc-line);
    border-radius: 8px;
    box-shadow: var(--ukc-shadow);
    display: none;
    left: 0;
    list-style: none;
    margin: 0;
    min-width: 205px;
    padding: 7px;
    position: absolute;
    top: calc(100% + 2px);
    z-index: 30;
}

.ukc-nav .sub-menu a {
    display: block;
    white-space: nowrap;
}

.ukc-nav .menu-item-has-children:hover > .sub-menu,
.ukc-nav .menu-item-has-children:focus-within > .sub-menu {
    display: block;
}

.ukc-tracker-nav {
    align-items: center;
    display: inline-flex;
    gap: 7px;
}

.ukc-tracker-nav [data-ukc-tracker-count] {
    align-items: center;
    background: var(--ukc-accent);
    border-radius: 999px;
    color: #172033;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    height: 21px;
    justify-content: center;
    min-width: 21px;
    padding: 0 6px;
}

.ukc-tracker-nav [data-ukc-tracker-count][hidden] {
    display: none;
}

.ukc-nav .ukc-submit-link,
.ukc-button,
.wp-block-button__link {
    background: var(--ukc-primary);
    border: 0;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    line-height: 1.2;
    padding: 12px 16px;
}

.ukc-nav .ukc-submit-link {
    background: var(--ukc-accent);
    color: #172033;
}

.ukc-button:hover,
.wp-block-button__link:hover {
    background: var(--ukc-primary-dark);
}

.ukc-button-secondary {
    background: #172033;
}

.ukc-tracker-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.ukc-detail-tracker {
    margin-top: 10px;
}

.ukc-card-tracker {
    margin-top: 16px;
}

.ukc-tracker-button,
.ukc-share-button,
.ukc-text-button {
    background: #fff;
    border: 1px solid var(--ukc-primary);
    border-radius: 6px;
    color: var(--ukc-primary-dark);
    cursor: pointer;
    font: inherit;
    font-weight: 750;
    padding: 9px 12px;
}

.ukc-tracker-button:hover,
.ukc-tracker-button:focus-visible,
.ukc-share-button:hover,
.ukc-share-button:focus-visible,
.ukc-tracker-button.is-active {
    background: #eef7f8;
    border-color: var(--ukc-primary-dark);
}

.ukc-tracker-button.is-active::before {
    content: "✓ ";
}

.ukc-tracker-entered-button.is-active {
    background: #e8f6ef;
    border-color: var(--ukc-green);
    color: #0d6849;
}

.ukc-share-button {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    justify-content: center;
    min-height: 44px;
}

.ukc-share-button svg {
    height: 17px;
    width: 17px;
}

.ukc-text-button {
    border-color: var(--ukc-line);
    color: #6b2238;
}

.ukc-entrant-tracker {
    margin: 0 auto;
    max-width: 1180px;
    padding: 48px 24px 70px;
}

.ukc-tracker-intro {
    background: #eef7f8;
    border: 1px solid #cce5e7;
    border-radius: var(--ukc-radius);
    margin-bottom: 40px;
    padding: 22px;
}

.ukc-tracker-intro p:first-child {
    font-size: 1.08rem;
    font-weight: 700;
    margin-top: 0;
}

.ukc-tracker-device-note,
.ukc-tracker-closing {
    color: var(--ukc-muted);
    font-size: 0.9rem;
}

.ukc-tracker-section + .ukc-tracker-section {
    border-top: 1px solid var(--ukc-line);
    margin-top: 48px;
    padding-top: 42px;
}

.ukc-tracker-card .ukc-card-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ukc-main {
    min-height: 60vh;
}

.ukc-hero {
    background:
        radial-gradient(circle at 83% 18%, rgba(255, 204, 71, 0.24), transparent 22rem),
        radial-gradient(circle at 8% 88%, rgba(20, 132, 95, 0.13), transparent 24rem),
        var(--ukc-panel);
    border-bottom: 1px solid var(--ukc-line);
    overflow: hidden;
    position: relative;
}

.ukc-home-stage::after {
    border: 1px solid rgba(8, 127, 140, 0.13);
    border-radius: 50%;
    content: "";
    height: 18rem;
    pointer-events: none;
    position: absolute;
    right: -9rem;
    top: -10rem;
    width: 18rem;
}

.ukc-prize-radar { background:#0a5862; color:#effdfb; overflow:hidden; padding:38px 0 42px; position:relative; }
.ukc-prize-radar::before,.ukc-prize-radar::after { border:1px solid rgba(255,255,255,.13); border-radius:50%; content:""; height:26rem; position:absolute; width:26rem; }
.ukc-prize-radar::before { left:-16rem; top:-13rem; }.ukc-prize-radar::after { bottom:-18rem; right:-12rem; }.ukc-prize-radar .ukc-container { position:relative; z-index:1; }
.ukc-radar-heading { align-items:end; display:flex; gap:24px; justify-content:space-between; margin-bottom:18px; }.ukc-radar-heading .ukc-eyebrow { color:#ffd263; }.ukc-radar-heading h2 { font-size:clamp(1.8rem,3vw,2.45rem); line-height:1; margin:0; }.ukc-radar-heading>p { color:rgba(239,253,251,.76); margin:0; max-width:380px; }.ukc-radar-layout { display:grid; gap:18px; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); }
.ukc-radar-lead,.ukc-radar-feed { background:rgba(255,255,255,.96); border-radius:16px; color:var(--ukc-ink); overflow:hidden; }.ukc-radar-lead { display:grid; grid-template-columns:minmax(170px,.65fr) minmax(0,1fr); position:relative; }.ukc-radar-kicker { align-items:center; background:#ffd263; color:#493400; display:flex; font-size:.72rem; font-weight:850; gap:7px; left:0; letter-spacing:.08em; margin:0; padding:9px 13px; position:absolute; text-transform:uppercase; top:0; z-index:1; }.ukc-radar-kicker span { background:#e24a3c; border-radius:999px; box-shadow:0 0 0 4px rgba(226,74,60,.16); height:7px; width:7px; }.ukc-radar-image { background:#fff; display:block; min-height:100%; }.ukc-radar-image img,.ukc-radar-image .ukc-card-fallback { display:block; height:100%; min-height:250px; object-fit:contain; width:100%; }.ukc-radar-lead-copy { display:flex; flex-direction:column; padding:22px; }.ukc-radar-lead h3 { font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.08; margin:0; }.ukc-radar-lead h3 a,.ukc-radar-item h3 a { color:inherit; }.ukc-radar-lead-copy>p { color:var(--ukc-muted); line-height:1.35; margin:9px 0 14px; }.ukc-radar-metrics { border-top:1px solid var(--ukc-line); display:flex; gap:24px; margin-top:auto; padding-top:16px; }.ukc-radar-metrics span { display:grid; gap:3px; }.ukc-radar-metrics small { color:var(--ukc-muted); font-size:.7rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }.ukc-radar-countdown { margin-top:16px; }.ukc-radar-progress { background:#e7eeef; border-radius:999px; height:7px; overflow:hidden; }.ukc-radar-progress span { background:linear-gradient(90deg,#e24a3c,#ef8d35); border-radius:inherit; display:block; height:100%; width:var(--ukc-radar-progress); }.ukc-radar-countdown strong { color:#b83e32; display:block; font-size:.88rem; margin-top:7px; }
.ukc-radar-feed { padding:14px; }.ukc-radar-filter { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:10px; }.ukc-radar-filter button { background:#eff6f5; border:1px solid #d3e1df; border-radius:999px; color:#295b5a; cursor:pointer; font:inherit; font-size:.76rem; font-weight:750; padding:7px 10px; transition:background 150ms ease,color 150ms ease,transform 150ms ease; }.ukc-radar-filter button:hover,.ukc-radar-filter button.is-active { background:var(--ukc-primary); border-color:var(--ukc-primary); color:#fff; transform:translateY(-1px); }.ukc-radar-items { display:grid; column-gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:2px; }.ukc-radar-item { align-items:center; border-bottom:1px solid #e6eeee; display:grid; gap:9px; grid-template-columns:48px minmax(0,1fr); padding:8px 0; }.ukc-radar-item[hidden] { display:none; }.ukc-radar-item-image { background:#fff; border-radius:7px; display:block; height:48px; overflow:hidden; }.ukc-radar-item-image img,.ukc-radar-item-image .ukc-card-fallback { display:block; height:100%; object-fit:contain; width:100%; }.ukc-radar-item p { color:#bb4936; font-size:.72rem; font-weight:800; margin:0 0 3px; }.ukc-radar-item h3 { font-size:.88rem; line-height:1.25; margin:0; }.ukc-radar-empty { color:var(--ukc-muted); margin:16px 0; }.ukc-radar-feed>.ukc-text-link { display:inline-block; margin-top:12px; }

.ukc-hero-inner {
    padding-bottom: 24px;
    padding-top: 38px;
    position: relative;
    z-index: 1;
}

.ukc-hero-grid {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
}

.ukc-eyebrow {
    color: var(--ukc-primary);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.ukc-hero h1,
.ukc-page-title {
    font-size: clamp(2.25rem, 5vw, 4.25rem);
    letter-spacing: 0;
    line-height: 1.03;
    margin: 0;
}

.ukc-hero p,
.ukc-page-intro {
    color: var(--ukc-muted);
    font-size: 1.1rem;
    margin: 18px 0 0;
    max-width: 680px;
}

.ukc-hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 26px;
}

.ukc-hero-text-link {
    font-weight: 750;
}

.ukc-entry-reminder {
    border-top: 1px solid var(--ukc-line);
    color: var(--ukc-muted);
    font-size: 0.82rem;
    font-style: italic;
    margin: 14px 0 0;
    padding-top: 12px;
}

.ukc-badge-expired {
    background: #e5e7eb;
    color: #374151;
}

.ukc-expired-message {
    align-items: flex-start;
    background: #f3f4f6;
    border-left: 4px solid #6b7280;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 20px;
    padding: 13px 15px;
}

.ukc-expired-message a {
    color: var(--ukc-primary-dark);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ukc-related-competitions {
    background: #eef3f5;
    border-top: 1px solid var(--ukc-line);
}

.ukc-archive-guidance {
    border-top: 1px solid var(--ukc-line);
    margin-top: 54px;
    padding-top: 38px;
}

.ukc-archive-guidance > h2 {
    font-size: clamp(1.45rem, 3vw, 2rem);
    margin: 0 0 14px;
}

.ukc-archive-guidance > p {
    color: var(--ukc-muted);
    max-width: 850px;
}

.ukc-hero h1 {
    max-width: 760px;
}

.ukc-hero-heading-accent {
    color: var(--ukc-primary);
    display: inline-block;
    position: relative;
    white-space: nowrap;
    z-index: 0;
}

.ukc-hero-heading-accent::after {
    background: var(--ukc-accent);
    bottom: -0.13em;
    clip-path: polygon(3% 28%, 100% 0, 96% 72%, 0 100%);
    content: "";
    height: 0.13em;
    left: 4%;
    opacity: 0.95;
    position: absolute;
    transform: rotate(-1.2deg);
    width: 92%;
    z-index: -1;
}

.ukc-search {
    display: flex;
    gap: 10px;
    margin-top: 0;
    max-width: 620px;
}

.ukc-section-search {
    margin: -4px 0 24px;
}

.ukc-search input,
.ukc-filter-bar select,
.ukc-filter-bar input {
    background: #fff;
    border: 1px solid #cfd6df;
    border-radius: 6px;
    color: var(--ukc-ink);
    font: inherit;
    min-height: 46px;
    padding: 10px 12px;
    width: 100%;
}

.ukc-hero-panel {
    align-self: stretch;
    background: linear-gradient(135deg, #e7fbfd 0%, #fff6d8 52%, #ffffff 100%);
    border: 1px solid #a8dfe7;
    border-radius: var(--ukc-radius);
    box-shadow: 0 16px 34px rgba(8, 127, 140, 0.12);
    margin-top: 14px;
    padding: 14px;
    position: relative;
}

.ukc-hero-panel::before {
    background: var(--ukc-accent);
    border-radius: 999px;
    content: "";
    height: 7px;
    position: absolute;
    right: 18px;
    top: -4px;
    width: 82px;
}

.ukc-hero-panel .ukc-eyebrow {
    color: #064f58;
    margin-bottom: 8px;
}

.ukc-hero-image {
    aspect-ratio: 16 / 9;
    border: 1px solid #cfe9ed;
    border-radius: var(--ukc-radius);
    box-shadow: var(--ukc-shadow);
    margin: 0;
    overflow: hidden;
    position: relative;
}

.ukc-hero-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ukc-hero-image::after {
    background: linear-gradient(180deg, transparent 55%, rgba(4, 48, 56, 0.45));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.ukc-hero-image-label {
    align-items: center;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 999px;
    bottom: 16px;
    box-shadow: 0 10px 22px rgba(4, 48, 56, 0.22);
    color: #064f58;
    display: flex;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 7px;
    left: 16px;
    letter-spacing: 0.02em;
    padding: 9px 12px;
    position: absolute;
    z-index: 1;
}

.ukc-hero-image-label span {
    color: #c78300;
    font-size: 1rem;
}

.ukc-mini-list {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
}

.ukc-mini-item {
    align-items: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid #bfe5ea;
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.07);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(118px, 36%) minmax(0, 1fr);
    padding: 8px;
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.ukc-mini-item:hover {
    border-color: var(--ukc-primary);
    box-shadow: 0 12px 24px rgba(8, 127, 140, 0.16);
    transform: translateY(-1px);
}

.ukc-mini-thumb {
    background: #fff;
    border: 1px solid #ecf1f4;
    border-radius: 6px;
    display: block;
    height: 88px;
    overflow: hidden;
    padding: 3px;
}

.ukc-mini-thumb img,
.ukc-mini-thumb .ukc-card-fallback {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.ukc-mini-thumb .ukc-card-fallback {
    align-items: center;
    display: flex;
    font-size: 0.65rem;
    justify-content: center;
    text-align: center;
}

.ukc-mini-copy,
.ukc-mini-copy strong,
.ukc-mini-copy > span {
    display: block;
}

.ukc-mini-copy strong {
    display: -webkit-box;
    line-height: 1.25;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ukc-mini-copy > span {
    color: var(--ukc-muted);
    display: -webkit-box;
    font-size: 0.78rem;
    line-height: 1.3;
    margin-top: 3px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ukc-section {
    padding: 58px 0;
}

.ukc-section:nth-of-type(even) {
    background: linear-gradient(90deg, rgba(235, 248, 247, 0.66), rgba(255, 255, 255, 0));
}

.ukc-home-competitions {
    background: #fff;
    padding-top: 44px;
}

.ukc-home-articles {
    background: #fff;
    padding-top: 34px;
}

.ukc-section.ukc-home-opportunities {
    background: linear-gradient(135deg, #073f47 0%, #0b5962 100%);
    color: #fff;
}

.ukc-home-opportunities .ukc-eyebrow,
.ukc-home-opportunities .ukc-section-header p {
    color: #dff7f3;
}

.ukc-home-opportunities .ukc-section-header h2 {
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 20, 24, 0.24);
}

.ukc-home-opportunities .ukc-section-header h2::before {
    background: #f5b942;
}

.ukc-home-opportunities .ukc-button-secondary {
    background: #fff;
    border-color: #fff;
    color: #073f47;
}

.ukc-home-opportunity-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ukc-home-opportunity-card {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: var(--ukc-radius);
    box-shadow: 0 14px 32px rgba(1, 28, 33, 0.22);
    color: var(--ukc-ink);
    display: flex;
    flex-direction: column;
    min-height: 250px;
    padding: 0 26px 26px;
    position: relative;
    text-decoration: none;
    transition: box-shadow 200ms ease, transform 200ms ease;
}

.ukc-home-opportunity-card::before {
    background: var(--ukc-accent);
    border-radius: 999px;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.ukc-home-opportunity-image {
    display: block;
    margin: 0 -26px 20px;
    overflow: hidden;
}

.ukc-home-opportunity-image img {
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    transition: transform 320ms ease;
    width: 100%;
}

.ukc-home-opportunity-card:hover .ukc-home-opportunity-image img,
.ukc-home-opportunity-card:focus-visible .ukc-home-opportunity-image img {
    transform: scale(1.035);
}

.ukc-home-opportunity-testing::before { background: #4db8ad; }
.ukc-home-opportunity-deals::before { background: #ef8f72; }

.ukc-home-opportunity-card:hover,
.ukc-home-opportunity-card:focus-visible {
    box-shadow: 0 20px 38px rgba(1, 28, 33, 0.32);
    transform: translateY(-4px);
}

.ukc-home-opportunity-label {
    color: var(--ukc-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.ukc-home-opportunity-card h3 {
    font-size: 1.35rem;
    margin: 0 0 10px;
}

.ukc-home-opportunity-card p {
    color: var(--ukc-muted);
    margin: 0 0 20px;
}

.ukc-home-opportunity-link {
    color: var(--ukc-link);
    font-weight: 800;
    margin-top: auto;
}

.ukc-home-opportunity-link::after {
    content: " \2192";
}

.ukc-home-opportunity-note {
    color: #d3f1ed;
    font-size: 0.88rem;
    margin: 18px 0 0;
}

@media (max-width: 760px) {
    .ukc-home-opportunity-grid { grid-template-columns: 1fr; }
    .ukc-home-opportunity-card { min-height: 0; }
}

.ukc-section-header {
    align-items: end;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.ukc-section-header h2,
.ukc-content h2 {
    font-size: clamp(1.55rem, 3vw, 2.2rem);
    line-height: 1.15;
    margin: 0;
}

.ukc-section-header h2::before {
    background: var(--ukc-accent);
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 0.5em;
    margin: 0 0.42em 0.1em 0;
    vertical-align: middle;
    width: 0.5em;
}

html.has-ukc-reveal .ukc-reveal-section {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 560ms ease, transform 560ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

html.has-ukc-reveal .ukc-reveal-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.ukc-home-competitions .ukc-card,
.ukc-home-articles .ukc-post-card {
    transition: box-shadow 220ms ease, transform 220ms ease;
}

.ukc-home-competitions .ukc-card:hover,
.ukc-home-articles .ukc-post-card:hover {
    box-shadow: 0 16px 30px rgba(8, 65, 72, 0.14);
    transform: translateY(-5px);
}

@media (prefers-reduced-motion: reduce) {
    html.has-ukc-reveal .ukc-reveal-section,
    html.has-ukc-reveal .ukc-reveal-section.is-visible,
    .ukc-home-competitions .ukc-card,
    .ukc-home-articles .ukc-post-card {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.ukc-section-header p {
    color: var(--ukc-muted);
    margin: 6px 0 0;
}

.ukc-card-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ukc-category-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ukc-category-directory {
    display: grid;
    gap: 0 28px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ukc-category-link {
    align-items: baseline;
    border-bottom: 1px solid var(--ukc-line);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 11px 0;
}

.ukc-category-link:hover .ukc-category-name {
    color: var(--ukc-primary);
}

.ukc-category-name {
    color: var(--ukc-ink);
    font-weight: 700;
    line-height: 1.25;
}

.ukc-category-count {
    color: var(--ukc-muted);
    flex: 0 0 auto;
    font-size: 0.78rem;
}

.ukc-category-toggle {
    background: transparent;
    border: 0;
    color: var(--ukc-primary);
    cursor: pointer;
    display: none;
    font: inherit;
    font-weight: 800;
    margin-top: 14px;
    padding: 8px 0;
}

.ukc-category-toggle:hover,
.ukc-category-toggle:focus-visible {
    color: var(--ukc-primary-dark);
    text-decoration: underline;
}

.ukc-blog-categories {
    margin-top: 24px;
}

.ukc-blog-categories h2 {
    font-size: 1.1rem;
    margin: 0 0 12px;
}

.ukc-blog-category-list,
.ukc-post-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ukc-blog-category-list a,
.ukc-post-categories a {
    align-items: center;
    background: #eef7f6;
    border: 1px solid #cfe5e2;
    border-radius: 999px;
    color: var(--ukc-primary-dark);
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 800;
    gap: 7px;
    line-height: 1.2;
    padding: 8px 12px;
}

.ukc-blog-category-list a:hover,
.ukc-post-categories a:hover {
    background: #dff0ed;
    border-color: var(--ukc-primary);
}

.ukc-blog-category-list small {
    color: var(--ukc-muted);
    font-size: 0.72rem;
}

.ukc-blog-grid {
    margin-top: 28px;
}

.ukc-post-categories {
    gap: 6px;
}

.ukc-post-categories a {
    font-size: 0.72rem;
    padding: 5px 9px;
}

.ukc-card,
.ukc-category-card,
.ukc-post-card {
    background: var(--ukc-panel);
    border: 1px solid var(--ukc-line);
    border-radius: var(--ukc-radius);
    overflow: hidden;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ukc-card:hover,
.ukc-category-card:hover,
.ukc-post-card:hover {
    border-color: #b7c4cf;
    box-shadow: var(--ukc-shadow);
    transform: translateY(-2px);
}

.ukc-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.ukc-card-image {
    aspect-ratio: 3 / 2;
    background: #f3f5f7;
    display: block;
    overflow: hidden;
}

.ukc-card-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ukc-card-fallback {
    align-items: center;
    background: linear-gradient(135deg, #087f8c, #05616a);
    color: #fff;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
}

.ukc-card-fallback::before,
.ukc-card-fallback::after {
    background: rgba(245, 184, 46, 0.85);
    border-radius: 50%;
    content: "";
    height: 90px;
    position: absolute;
    width: 90px;
}

.ukc-card-fallback::before {
    left: -24px;
    top: -30px;
}

.ukc-card-fallback::after {
    bottom: -42px;
    right: -18px;
}

.ukc-card-fallback > span {
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 999px;
    font-size: clamp(1.2rem, 3vw, 2rem);
    font-weight: 900;
    letter-spacing: 0.08em;
    padding: 12px 18px;
    position: relative;
    z-index: 1;
}

.ukc-fallback-cash-prizes { background: linear-gradient(135deg, #087f8c, #14a37f); }
.ukc-fallback-cars-and-vehicles { background: linear-gradient(135deg, #172033, #40516f); }
.ukc-fallback-holidays-and-travel { background: linear-gradient(135deg, #168aad, #52b69a); }
.ukc-fallback-tech-and-gadgets { background: linear-gradient(135deg, #4c3f91, #087f8c); }
.ukc-fallback-beauty-and-lifestyle { background: linear-gradient(135deg, #b23a70, #e08dac); }
.ukc-fallback-property-and-home { background: linear-gradient(135deg, #9c6644, #dda15e); }
.ukc-fallback-food-and-drink { background: linear-gradient(135deg, #bc4749, #f2a65a); }
.ukc-fallback-days-out-and-experiences { background: linear-gradient(135deg, #6a4c93, #1982c4); }

.ukc-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
}

.ukc-card h2,
.ukc-card h3,
.ukc-post-card h2,
.ukc-post-card h3 {
    font-size: 1.18rem;
    line-height: 1.25;
    margin: 0;
}

.ukc-home-article-card h3 {
    font-size: 1.08rem;
}

.ukc-home-article-card h3 a {
    display: block;
}

.ukc-post-date {
    font-size: 0.84rem;
    font-weight: 700;
}

.ukc-card p,
.ukc-post-card p {
    color: var(--ukc-muted);
    margin: 0;
}

.ukc-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ukc-badge {
    align-items: center;
    background: #eef1f4;
    border: 1px solid #d7dde3;
    border-radius: 999px;
    color: #374151;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1;
    padding: 7px 10px;
}

.ukc-badge-primary {
    background: #e8f7f8;
    border-color: #bde3e8;
    color: var(--ukc-primary-dark);
}

.ukc-badge-accent {
    background: #fff3cc;
    border-color: #f1d078;
    color: #5b4207;
}

.ukc-badge-verified {
    background: #e9f8f0;
    border-color: #bae7cd;
    color: var(--ukc-green);
}

.ukc-meta {
    border-top: 1px solid #edf0f3;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
    padding-top: 14px;
}

.ukc-meta span {
    color: var(--ukc-muted);
    display: block;
    font-size: 0.8rem;
}

.ukc-meta strong {
    display: block;
    line-height: 1.25;
}

.ukc-category-card {
    min-height: 126px;
    padding: 20px;
    position: relative;
}

.ukc-category-card::before {
    background: var(--ukc-accent);
    border-radius: 999px;
    content: "";
    height: 9px;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 9px;
}

.ukc-category-card h3 {
    margin: 0 0 6px;
}

.ukc-category-card p {
    color: var(--ukc-muted);
    margin: 0;
}

.ukc-how-grid {
    gap: 24px;
}

.ukc-how-card {
    overflow: visible;
    position: relative;
}

.ukc-how-card:not(:last-child)::after {
    align-items: center;
    background: var(--ukc-accent);
    border: 3px solid var(--ukc-panel);
    border-radius: 999px;
    box-shadow: 0 3px 10px rgba(17, 24, 39, 0.2);
    color: var(--ukc-ink);
    content: "\2192";
    display: flex;
    font-size: 1.35rem;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: -31px;
    top: calc(50% - 18px);
    width: 36px;
    z-index: 2;
}

.ukc-filter-bar {
    align-items: end;
    background: var(--ukc-panel);
    border: 1px solid var(--ukc-line);
    border-radius: var(--ukc-radius);
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 28px 0;
    padding: 16px;
}

.ukc-archive-tools {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 22px;
}

.ukc-archive-categories h2 {
    font-size: 1.15rem;
    margin: 0 0 12px;
}

.ukc-archive-shortcut-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.ukc-archive-shortcut-links a {
    background: #eff6f5;
    border: 1px solid #d3e1df;
    border-radius: 999px;
    color: #295b5a;
    font-size: 0.88rem;
    font-weight: 750;
    padding: 7px 12px;
    text-decoration: none;
}

.ukc-archive-disclosure summary {
    background: #fff;
    border: 1px solid #cbd9d7;
    border-radius: 999px;
    color: #295b5a;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 750;
    list-style: none;
    padding: 7px 13px;
}

.ukc-archive-disclosure summary::-webkit-details-marker {
    display: none;
}

.ukc-archive-disclosure summary::after {
    content: " +";
}

.ukc-archive-disclosure[open] {
    flex-basis: 100%;
    order: 2;
}

.ukc-archive-disclosure[open] summary {
    display: inline-block;
}

.ukc-archive-disclosure[open] summary::after {
    content: " \2212";
}

.ukc-archive-disclosure-panel {
    background: #f8fbfa;
    border: 1px solid var(--ukc-line);
    border-radius: var(--ukc-radius);
    margin-top: 10px;
    padding: 14px;
}

.ukc-archive-disclosure .ukc-filter-bar {
    margin: 0;
}

.ukc-archive-shortcut-links a:hover,
.ukc-archive-shortcut-links a:focus-visible {
    background: var(--ukc-primary);
    border-color: var(--ukc-primary);
    color: #fff;
}

.ukc-filter-bar label {
    color: #3f4754;
    display: block;
    font-size: 0.82rem;
    font-weight: 750;
    margin-bottom: 6px;
}

.ukc-content-wrap {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) 320px;
    padding: 36px 24px;
}

.ukc-competition-content-wrap {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 28px;
}

body.page .ukc-content-wrap {
    grid-template-columns: minmax(0, 1fr);
    max-width: 1040px;
}

.ukc-content,
.ukc-sidebar-panel {
    background: var(--ukc-panel);
    border: 1px solid var(--ukc-line);
    border-radius: var(--ukc-radius);
}

.ukc-content {
    padding: 28px;
}

.ukc-content input,
.ukc-content select,
.ukc-content textarea {
    border: 1px solid #cfd6df;
    border-radius: 6px;
    font: inherit;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

.ukc-content label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}

.ukc-content input[type="checkbox"] {
    min-height: auto;
    width: auto;
}

.ukc-content > *:first-child {
    margin-top: 0;
}

.ukc-about-hero {
    background: var(--ukc-soft);
    border: 1px solid var(--ukc-line);
    border-radius: 12px;
    margin: 20px 0 30px;
    overflow: hidden;
}

.ukc-about-hero img {
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    width: 100%;
}

.ukc-about-hero figcaption {
    border-left: 5px solid var(--ukc-accent);
    color: var(--ukc-muted);
    font-size: 0.92rem;
    font-weight: 650;
    margin: 0;
    padding: 13px 16px;
}

.ukc-about-hero + .ukc-page-intro {
    max-width: none;
}

.ukc-content a {
    color: var(--ukc-primary-dark);
    font-weight: 650;
}

.ukc-inline-image {
    margin: 28px 0;
}

.ukc-inline-image img {
    aspect-ratio: 3 / 2;
    border-radius: var(--ukc-radius);
    object-fit: cover;
    width: 100%;
}

.ukc-inline-image figcaption {
    color: var(--ukc-muted);
    font-size: 0.88rem;
    margin-top: 8px;
    text-align: center;
}

.ukc-content .ukc-button {
    color: #fff;
}

.ukc-text-link {
    display: inline-block;
    margin: 12px 0 0 12px;
}

.ukc-contact-grid {
    display: grid;
    gap: 36px;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    margin-top: 28px;
}

.ukc-contact-aside {
    background: var(--ukc-soft);
    border-radius: var(--ukc-radius);
    padding: 24px;
}

.ukc-contact-aside h2:not(:first-child) {
    margin-top: 32px;
}

.ukc-honeypot {
    left: -10000px;
    position: absolute;
}

.ukc-notice {
    border-radius: 6px;
    font-weight: 700;
    padding: 12px 14px;
}

.ukc-notice-success {
    background: #e7f7ef;
    color: #0d694b;
}

.ukc-notice-error {
    background: #fff0f0;
    color: #a12626;
}

.ukc-sidebar {
    display: grid;
    gap: 18px;
}

.ukc-sidebar-panel {
    padding: 20px;
}

.ukc-sidebar-panel h2,
.ukc-sidebar-panel h3 {
    font-size: 1.1rem;
    margin: 0 0 12px;
}

.ukc-blog-sidebar-ad {
    min-height: 280px;
    overflow: hidden;
    position: sticky;
    top: 24px;
    width: 100%;
}

.ukc-ad-label {
    color: var(--ukc-muted);
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
    text-align: center;
    text-transform: uppercase;
}

.ukc-detail-hero {
    background: var(--ukc-panel);
    border-bottom: 1px solid var(--ukc-line);
}

.ukc-detail-grid {
    align-items: stretch;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    padding: 38px 24px 34px;
}

.ukc-detail-media-column,
.ukc-detail-info-column {
    display: grid;
    gap: 16px;
}

.ukc-detail-media-column {
    align-content: start;
    grid-template-rows: auto;
}

.ukc-detail-image {
    aspect-ratio: 3 / 2;
    align-items: center;
    background: #f3f5f7;
    border-radius: var(--ukc-radius);
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.ukc-detail-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ukc-detail-support-grid {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
}

.ukc-detail-support-grid .ukc-sidebar-panel {
    background: #fbfdff;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.05);
}

.ukc-entry-notes-panel {
    border-color: #b9e4e9;
}

.ukc-operator-panel {
    background: #fffdf7;
    border-color: #f0d58d;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.05);
}

.ukc-detail-meta {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 22px 0 0;
}

.ukc-detail-meta div {
    background: #f7f9fb;
    border: 1px solid #e5e9ee;
    border-radius: 8px;
    padding: 14px;
}

.ukc-detail-meta span {
    color: var(--ukc-muted);
    display: block;
    font-size: 0.82rem;
}

.ukc-detail-actions-panel {
    background: linear-gradient(135deg, #e7fbfd 0%, #fff8df 100%);
    border: 1px solid #b9e4e9;
    border-radius: var(--ukc-radius);
    box-shadow: 0 14px 30px rgba(8, 127, 140, 0.1);
    margin-top: 16px;
    padding: 16px;
}

.ukc-detail-media-column > .ukc-detail-actions-panel {
    margin-top: 0;
}

.ukc-action-label {
    color: #064f58;
    display: block;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    margin-bottom: 9px;
    text-transform: uppercase;
}

.ukc-detail-entry-button {
    align-items: center;
    font-size: 1rem;
    min-height: 48px;
    width: 100%;
}

.ukc-detail-actions-panel .ukc-tracker-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ukc-detail-actions-panel .ukc-tracker-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    text-align: center;
}

.ukc-detail-actions-panel .ukc-share-button {
    margin-top: 9px;
    width: 100%;
}

.ukc-site-footer {
    border-top: 1px solid var(--ukc-line);
}

.ukc-newsletter {
    background: #087f8c;
    color: #fff;
    padding: 48px 0;
}

.ukc-newsletter-inner {
    align-items: center;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
}

.ukc-newsletter .ukc-eyebrow {
    color: #f8d77d;
}

.ukc-newsletter h2 {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    margin: 8px 0 12px;
}

.ukc-newsletter-copy > p:not(.ukc-eyebrow) {
    color: #e3f4f5;
}

.ukc-newsletter-privacy {
    font-size: 0.82rem;
}

.ukc-newsletter-frame {
    background: #fff;
    border: 0;
    border-radius: 12px;
    min-height: 430px;
    width: 100%;
}

.ukc-footer-grid {
    display: grid;
    gap: 30px;
    grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
    padding: 42px 24px;
}

.ukc-audience-band {
    background: #172033;
    color: #fff;
    padding: 54px 0;
}

.ukc-audience-heading {
    margin-bottom: 24px;
}

.ukc-audience-heading .ukc-eyebrow {
    color: #f5b82e;
    margin-bottom: 8px;
}

.ukc-audience-heading h2 {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    margin: 0;
}

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

.ukc-audience-card {
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    display: grid;
    gap: 18px;
    grid-template-columns: auto 1fr;
    padding: 28px;
}

.ukc-audience-entrant {
    background: linear-gradient(135deg, rgba(8, 127, 140, 0.48), rgba(8, 127, 140, 0.15));
}

.ukc-audience-organiser {
    background: linear-gradient(135deg, rgba(245, 184, 46, 0.22), rgba(245, 184, 46, 0.06));
}

.ukc-audience-number {
    color: #f5b82e;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.ukc-audience-label {
    color: #a8e1e6;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.ukc-audience-organiser .ukc-audience-label {
    color: #f8d77d;
}

.ukc-audience-card h3 {
    font-size: 1.35rem;
    line-height: 1.2;
    margin: 0;
}

.ukc-audience-card p:not(.ukc-audience-label) {
    color: #d7dde8;
    margin: 12px 0 20px;
}

.ukc-button-accent {
    background: #f5b82e;
    color: #172033;
}

.ukc-footer-grid p {
    color: var(--ukc-muted);
}

.ukc-footer-brand {
    display: inline-flex;
}

.ukc-footer-brand img {
    width: min(240px, 100%);
}

.ukc-footer-tagline {
    align-items: center;
    color: var(--ukc-ink) !important;
    display: flex;
    font-size: 1.02rem;
    font-weight: 700;
    gap: 10px;
    letter-spacing: -0.015em;
    line-height: 1.35;
    margin: 14px 0 0;
}

.ukc-footer-tagline::before {
    background: var(--ukc-accent);
    border-radius: 999px;
    content: "";
    flex: 0 0 30px;
    height: 4px;
}

.ukc-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.ukc-footer-social a {
    align-items: center;
    background: #fff;
    border: 1px solid var(--ukc-line);
    border-radius: 999px;
    color: var(--ukc-primary-dark);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 800;
    gap: 7px;
    padding: 8px 12px;
    text-decoration: none;
}

.ukc-footer-social a:hover,
.ukc-footer-social a:focus-visible {
    background: var(--ukc-primary-dark);
    border-color: var(--ukc-primary-dark);
    color: #fff;
}

.ukc-footer-social svg {
    height: 18px;
    width: 18px;
}

.ukc-footer-links {
    align-content: start;
    display: grid;
    gap: 12px;
}

.ukc-footer-links h3 {
    margin: 0;
}

.ukc-footer-links ul {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ukc-footer-links a {
    color: var(--ukc-muted);
    text-decoration: none;
}

.ukc-footer-links a:hover,
.ukc-footer-links a:focus-visible {
    color: var(--ukc-primary-dark);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.ukc-footer-heading-link {
    color: inherit;
    text-decoration: none;
}

.ukc-footer-heading-link:hover,
.ukc-footer-heading-link:focus-visible {
    color: var(--ukc-primary-dark);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.ukc-empty {
    background: #fff;
    border: 1px dashed var(--ukc-line);
    border-radius: var(--ukc-radius);
    color: var(--ukc-muted);
    padding: 24px;
}

.navigation.pagination {
    margin: 38px 0 6px;
}

.navigation.pagination .nav-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: center;
}

.navigation.pagination .page-numbers {
    align-items: center;
    background: #fff;
    border: 1px solid #b9c8d3;
    border-radius: 8px;
    color: var(--ukc-primary-dark);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    min-width: 42px;
    padding: 8px 13px;
    text-decoration: none;
}

.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus-visible {
    background: #e7fbfd;
    border-color: var(--ukc-primary);
}

.navigation.pagination .page-numbers.current {
    background: var(--ukc-primary);
    border-color: var(--ukc-primary);
    color: #fff;
}

.navigation.pagination .page-numbers.dots {
    background: transparent;
    border-color: transparent;
}

/* Keep the live radar compact, lead with the prize artwork, and align its intro naturally. */
.ukc-radar-intro { color:rgba(239,253,251,.76); margin:9px 0 0; max-width:520px; }
.ukc-radar-lead { grid-template-columns:minmax(240px,.9fr) minmax(0,.7fr); }
.ukc-radar-image { background:#dceeed; }
.ukc-radar-image img,.ukc-radar-image .ukc-card-fallback { object-fit:cover; }
.ukc-radar-lead h3 { font-size:clamp(1.05rem,1.55vw,1.3rem); line-height:1.12; }
.ukc-radar-lead-copy > p {
    display: block;
    font-size: 0.92rem;
}

.ukc-check-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
    .ukc-radar-heading,.ukc-radar-layout { align-items:flex-start; grid-template-columns:1fr; }.ukc-radar-heading { flex-direction:column; }.ukc-radar-items { grid-template-columns:1fr; }
    .ukc-section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ukc-header-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        padding-bottom: 12px;
        padding-top: 12px;
    }

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

    .ukc-primary-navigation {
        display: none;
        grid-column: 1 / -1;
        width: 100%;
    }

    .ukc-primary-navigation.is-open {
        display: block;
    }

    .ukc-primary-navigation .ukc-nav {
        align-items: stretch;
        border-top: 1px solid var(--ukc-line);
        flex-direction: column;
        padding-top: 10px;
        width: 100%;
    }

    .ukc-primary-navigation .ukc-nav a {
        display: block;
        width: 100%;
    }

    .ukc-primary-navigation .ukc-nav .sub-menu {
        border: 0;
        border-left: 3px solid var(--ukc-line);
        border-radius: 0;
        box-shadow: none;
        display: block;
        margin: 2px 0 6px 14px;
        min-width: 0;
        padding: 0 0 0 7px;
        position: static;
    }

    .ukc-primary-navigation .ukc-nav .sub-menu a {
        font-size: 0.9rem;
        padding: 8px 12px;
        white-space: normal;
    }

    .ukc-primary-navigation .ukc-tracker-nav {
        border-top: 1px solid var(--ukc-line);
        display: flex;
        margin-top: 8px;
        padding: 12px;
        width: 100%;
    }

    .ukc-hero-grid,
    .ukc-detail-grid,
    .ukc-content-wrap,
    .ukc-newsletter-inner,
    .ukc-footer-grid {
        grid-template-columns: 1fr;
    }

    .ukc-detail-support-grid {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .ukc-detail-grid {
        align-items: start;
    }

    .ukc-detail-media-column {
        grid-template-rows: none;
    }

    .ukc-mini-list {
        grid-template-columns: 1fr;
    }

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

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

    .ukc-how-card:nth-child(2)::after {
        bottom: -30px;
        content: "\2193";
        left: calc(50% - 18px);
        right: auto;
        top: auto;
    }

    .ukc-audience-grid {
        grid-template-columns: 1fr;
    }

    .ukc-filter-bar {
        grid-template-columns: 1fr 1fr;
    }

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

@media (max-width: 620px) {
    .ukc-prize-radar { padding:42px 0 48px; }.ukc-radar-lead { grid-template-columns:1fr; }.ukc-radar-image img,.ukc-radar-image .ukc-card-fallback { min-height:210px; }.ukc-radar-lead-copy { padding:22px; }.ukc-radar-metrics { gap:15px; }
    .ukc-container {
        padding: 0 18px;
    }

    .ukc-archive-tools {
        align-items: flex-start;
        margin-top: 14px;
    }

    .ukc-archive-shortcuts {
        flex-basis: 100%;
        min-width: 0;
    }

    .ukc-archive-shortcut-links {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: thin;
    }

    .ukc-archive-shortcut-links a {
        flex: 0 0 auto;
    }

    .ukc-archive-disclosure-panel {
        padding: 12px;
    }

    .ukc-hero-inner,
    .ukc-content-wrap,
    .ukc-detail-grid {
        padding: 36px 18px;
    }

    .ukc-search,
    .ukc-nav {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .ukc-card-grid,
    .ukc-category-grid,
    .ukc-filter-bar,
    .ukc-meta,
    .ukc-detail-meta,
    .ukc-detail-support-grid,
    .ukc-detail-actions-panel .ukc-tracker-actions {
        grid-template-columns: 1fr;
    }

    .ukc-category-directory {
        grid-template-columns: 1fr;
    }

    .ukc-category-directory:not(.is-expanded) .ukc-category-mobile-hidden {
        display: none;
    }

    .ukc-category-toggle {
        display: inline-flex;
    }

    .ukc-how-grid {
        gap: 30px;
    }

    .ukc-how-card:not(:last-child)::after,
    .ukc-how-card:nth-child(2)::after {
        bottom: -33px;
        content: "\2193";
        left: calc(50% - 18px);
        right: auto;
        top: auto;
    }

    .ukc-audience-card {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .ukc-text-link {
        display: block;
        margin-left: 0;
    }
}
